banner of sumi
  • 角色
  • 書架
  • 雜項
  • 連結
  • 木
ud20456.677042
  • 🏳️‍🌈🇵🇸🇺🇦🇹🇼
  • 死刑廢止
  • 天皇制廢止
  • 刑法{174,175}廢止
  • 青少年條例廢止
/sundry

2023-218 esperantoの文字種を減らす

incomplete

動機

esperanto は國際語を指向するにしては音素が多過ぎるし, 表記法もうざったい. そこで音を減らして改善を試みる. 最小對が十分少ないなら同一視しても良からう.

手順

  • やること: 單詞一覽の中から最小對を探す
  • 單詞一覽: Wiktionary:Frequency lists/Esperanto/Wikipedia 2023
    • 暖かみの有る手動 copy&paste で txt に
程序
const fs = require('fs');

const words = fs.readFileSync('./wikipedia-esperanto-frequent-2023.txt', 'utf-8').split('\n')
console.assert(words.length == 15000)

const pairs = [
  ['ĝ', 'ĵ'],
  ['j', 'ĵ'],
  ['c', 'ĉ'],
  ['h', 'ĥ'],
  ['ĥ', 'k'],
  ['dz', 'z'],
];

const unique = xs =>
  Array.from(new Set(xs));

const wordsFiltered = unique(words
  // ignore capitalisation (but not acronym)
  .map(w => /^[A-ZĈĜĤĴŜŬ][a-zĉĝĥĵŝŭ]+/.test(w) ? w.toLowerCase() : w)
  // ignore plural noun, verb, and adjective (provided enough length)
  .map(w => w.replace(/(?<=...)(oj|aj?|[iao](s|nta|ta)|us?|i)$/, 'o'))
)

for (const [a, b] of pairs) {
  console.log(`-- ${a} & ${b}  --`)
  for (const w0 of wordsFiltered)
    for (w1 of wordsFiltered)
      if (w0 != w1 && w0 == w1.replaceEach(a, b))
        console.log(`${w0}, ${w1}`);
}

結果

-- ĝ & ĵ  --
aĵo, aĝo
-- j & ĵ  --
havaĵo, havajo
altaĵo, altajo
ĵuro, juro
taĵo, tajo
maĵoro, majoro
-- c & ĉ  --
ĉi, ci
aĉeto, aceto
ĉelo, celo
lanĉo, lanco
plaĉo, placo
ĉaro, caro
niĉo, nico
konĉerto, koncerto
romanĉo, romanco
kruĉo, kruco
ĉiĉerono, cicerono
akĉento, akcento
-- h & ĥ  --
ĥoro, horo
-- ĥ & k  --
kemio, ĥemio
arkitekturo, arĥitekturo
tekniko, teĥniko
arkitekto, arĥitekto
roko, roĥo
teknologio, teĥnologio
arkeologio, arĥeologio
koro, ĥoro
monarkio, monarĥio
arkivo, arĥivo
mikaelo, miĥaelo
mekaniko, meĥaniko
arkeologo, arĥeologo
mekanismo, meĥanismo
monarko, monarĥo
monako, monaĥo
kolero, ĥolero
eko, eĥo
monakejo, monaĥejo
kano, ĥano
paroko, paroĥo
kaoso, ĥaoso
koralo, ĥoralo
-- dz & z  --

結論

全部の對について意味を調べむとしたが多過ぎて諦めた.
  • (ĝ, ĵ) は統合して良ささう
    • 解決策が分からん…
  • (j, ĝ=ĵ), (c, ĉ) は維持
  • (ĥ, k) は既にほぼ統合濟み
    • roĥo→roko (人名なので衝突を許容)
    • ĥoro→koro, koro→kero
    • eĥo→eko, eko→komenco
    • ĥano→kano (人名なので衝突を許容)