Skip to content

Commit

Permalink
feat: add new modifications (nk2028/tshet-uinh-data#8 (comment))
Browse files Browse the repository at this point in the history
  • Loading branch information
untunt committed Nov 10, 2024
1 parent 782a949 commit 50baf73
Show file tree
Hide file tree
Showing 6 changed files with 69 additions and 58 deletions.
22 changes: 11 additions & 11 deletions all_chars.tsv
Original file line number Diff line number Diff line change
Expand Up @@ -12278,17 +12278,17 @@
1627 𠳋 小塊說文作𨺫
1627 𨺫 見上注(小塊說文作𨺫)
1627 𩝡 黏也
1628 蹇 跛也屯難也又姓秦有蹇叔九輦切十一
1628 謇 吃又止言
1628 搴 取也
1628 𢷘 上同(取也)
1628 𠐻 偃𠐻傲也
1628 𢵈 𢵈搌醜長皃搌丑輦切
1628 𦂇 𦂇縮
1628 𡾰 𡾰嵼山屈曲也
1628 藆 爾雅釋草云藆藅
1628 𩽜 魚名
1628 䙭 䙭袴
1628a 蹇 跛也屯難也又姓秦有蹇叔九輦切十一
1628a 謇 吃又止言
1628a 搴 取也
1628a 𢷘 上同(取也)
1628a 𠐻 偃𠐻傲也
1628a 𦂇 𦂇縮
1628a 𡾰 𡾰嵼山屈曲也
1628a 藆 爾雅釋草云藆藅
1628a 𩽜 魚名
1628a 䙭 䙭袴
1628b 𢵈 𢵈搌醜長皃搌丑輦切
1629 善 良也大也佳也說文作譱吉也又姓呂氏春秋云善卷堯師常演切十一
1629 譱 見上注篆文又作善(良也大也佳也說文作譱吉也又姓呂氏春秋云善卷堯師常演切十一)
1629 墠 除地曰墠
Expand Down
15 changes: 8 additions & 7 deletions all_rimes.tsv
Original file line number Diff line number Diff line change
Expand Up @@ -398,7 +398,7 @@
397 泥開一咍平 蟹攝 蟹開一平咍泥 上平聲16咍 上平10灰 奴來 neoj noj nai noi nɑ̆i nɒi nɑi nəi nəi nəi nəj nəj nəj nʌi
398 端開一咍平 蟹攝 蟹開一平咍端 上平聲16咍 上平10灰 丁來 teoj toj tai toi tɑ̆i tɒi tɑi təi təi təi təj təj təj tʌi
399 昌三尤平 流攝 流開三平尤昌 上平聲16咍 上平10灰 昌來⟨求⟩ tjhu tsyhuw chju tcou tɕʰi̯ə̯u tɕʰĭəu tɕʰi̯ou tɕʰiu tɕʰɨu tɕʰiu tɕʰu tɕʰu tɕʰɨu tɕʰu
400 滂三C尤上 流攝 流開三上有敷 上平聲16咍 上平10灰 普才⦅來⦆⟨求⟩ phuq phjuwX phiux phiov pʰi̯ə̯u pʰĭəu pʰi̯ou pʰiu pʰɨu pʰiu pʰʋú pʰú pʰɨú pʰuʔ
400 滂三C尤平 流攝 流開三平尤敷 上平聲16咍 上平10灰 普才⦅來⦆⟨求⟩ phu phjuw phiu phiou pʰi̯ə̯u pʰĭəu pʰi̯ou pʰiu pʰɨu pʰiu pʰʋu pʰu pʰɨu pʰu
401 章開三真平 臻攝 臻開三平眞章 側(職)鄰 tjin tsyin cjin tjin tɕi̯ĕn tɕĭĕn tɕin tɕin tɕin tɕin tɕin tɕin tɕin tɕin
402 徹開三真平 臻攝 臻開三平眞徹 丑人 trhin trhin thrin thyn ȶʰi̯ĕn ȶʰĭĕn ȶʰin ʈʰin ʈʰin ʈʰin ʈʰin ʈʰin ʈʰin ʈʰin
403 影開三A真平 臻攝 ˙臻開三平眞影 於真 qin 'jin qjin in ʔi̯ĕn ĭĕn ʔin ʔin ʔin ʔin ʔin ʔin ʔin ʔin
Expand Down Expand Up @@ -564,7 +564,7 @@
563 幫二山平 山攝 山合二平山幫 上平聲28山 上平15刪 方閑 peen pean pren paen păn pæn pan pɯæn pɣɛn pᵚɛn peˤn ᵱeˤn pɛn pɛ˞n
564 來開二山平 山攝 山開二平山來 上平聲28山 上平15刪 力閑 leen lean lren laen lăn læn lan lɯæn lɣɛn lᵚɛn ɫeˤn ɫeˤn lɛn ɭɛ˞n
565 孃開二山平 山攝 山開二平山泥 上平聲28山 上平15刪 女閑 nreen nrean nren naen ȵăn næn nan ɳɯæn ɳɣɛn ɳᵚɛn ɳeˤn ɳeˤn ɳɛn ɳɛ˞n
566 初開二山平 山攝 山開二平山初 上平聲28山 上平15刪 充山 tsrheen tsrhean chj'ren chaen tʂʰăn tʃʰæn tʃʰan tʂʰɯæn tʂʰɣɛn tʂʰᵚɛn tʂʰeˤn tʂʰeˤn tʂʰɛn tʂʰɛ˞n
566 昌開三仙平 山攝 山開三平仙昌 上平聲28山 上平15刪 充山 tjhien tsyhen chjen tcen tɕʰi̯ɛn tɕʰĭɛn tɕʰi̯æn tɕʰiɛn tɕʰiᴇn tɕʰiᴇn tɕʰen tɕʰen tɕʰien tɕʰiɛn
567 影合二山平 山攝 山合二平山影 上平聲28山 上平15刪 委鰥 qween 'wean qruen oen ʔwăn wæn ʔuan ʔʷɯæn ʔʷɣɛn ʔʷᵚɛn ʔweˤn ʡweˤn ʔuɛn ʔʷɛ˞n
568 澄合二山平 山攝 山合二平山澄 上平聲28山 上平15刪 墜頑 drween drwean druen doen ȡʱwăn ȡʱwæn ȡuan ɖʷɯæn ɖʷɣɛn ɖʷᵚɛn ɖweˤn ɖweˤn ɖuɛn ɖʷɛ˞n
569 來合三支平 止攝 止合三平支來 上平聲28山 上平15刪 力頑⟨規⟩ lwie ljwe lye lve ljwie̯ lĭwe li̯ui lʷiɛ lʷiᴇ lʷie lwie lwie lye ɭʷie
Expand Down Expand Up @@ -1042,7 +1042,7 @@
1041 心開一覃平 咸攝 咸開一平覃心 下平聲20幽 下平11尤 山幽⟨函⟩ som som som som sɑ̆m sɒm sɑm səm səm səm səm səm səm sɔm
1042 疑開三A幽平 流攝 ˙流開三平幽疑 下平聲20幽 下平11尤 語虯 ngiw ngjiw ngy ngyu ŋi̯ĕu ŋiəu ŋiou ŋɨu ŋiu ŋɨu ŋiw ŋiw ŋiw ŋiu
1043a 曉開三A幽平 流攝 ˙流開三平幽曉 下平聲20幽 下平11尤 香幽 hiw xjiw hy xyu xi̯ĕu xiəu xiou hɨu hiu hɨu xiw xiw xiw xiu
1043b 曉開三B幽平 流攝 流開三平幽曉 下平聲20幽 下平11尤 香幽 hyiw xjiw hy xyu xi̯ĕu xiəu xiou hɨu hiu hɨu xɹiw xɹiw xɨiw xiu
1043b 曉開三B幽平 流攝 流開三平幽曉 下平聲20幽 下平11尤 香⦅許⦆幽(彪) hyiw xjiw hy xyu xi̯ĕu xiəu xiou hɨu hiu hɨu xɹiw xɹiw xɨiw xiu
1044 明三B幽平 流攝 流開三平幽明 下平聲20幽 下平11尤 武彪 myiw mjiw my myu mi̯ĕu miəu miou mɨu miu mɨu mɹiw mɹiw mɨiw miu
1045 清開三侵平 深攝 深開三平侵清 下平聲21侵 下平12侵 七林 tshim tshim chim cim tsʰi̯əm tsʰĭĕm tsʰim tsʰim tsʰim tsʰim tsʰim tsʰim tsʰim tsʰim
1046 邪開三侵平 深攝 深開三平侵邪 下平聲21侵 下平12侵 徐林 zim zim zsim szim zi̯əm zĭĕm zim zim zim zim zim zim zim zim
Expand Down Expand Up @@ -1280,7 +1280,7 @@
1278 精合三脂上 止攝 止合三上旨精 上聲5旨 上声4紙 遵誄 tswiq tswijX cyix zvii tswi tswi tsi̯ui tsʷi tsʷi tsʷi tswí tswí tsyí tsʷiʔ
1279 知開三脂上 止攝 止開三上旨知 上聲5旨 上声4紙 豬几 triq trijX triix tyy ȶi ȶi ȶi ʈi ʈi ʈi ʈí ʈí ʈí ʈiʔ
1280 徹開三脂上 止攝 止開三上旨徹 上聲5旨 上声4紙 楮几 trhiq trhijX thriix thyy ȶʰi ȶʰi ȶʰi ʈʰi ʈʰi ʈʰi ʈʰí ʈʰí ʈʰí ʈʰiʔ
1281 章開三脂上 止攝 止開三上旨章 上聲5旨 上声4紙 止姊 tjiq tsyijX cjiix tjii tɕi tɕi tɕi tɕi tɕi tɕi tɕí tɕí tɕí tɕiʔ
1281 莊開三之上 止攝 止開三上止莊 上聲5旨 上声4紙 止姊 tsryq tsriX crix triio tʂi tʃĭə tʃi tʂɨ tʂɨ tʂɨ tʂɨ́ tʂɨ́ tʂɨ́ tʂi˞ɯʔ
1282 曉合三A脂上 止攝 ˙止合三上旨曉 上聲5旨 上声4紙 火癸 hwiq xjwijX hjyix xvii xjwi xwi xi̯ui hʷi hʷi hʷi xwí xwí xyí xʷiʔ
1283 羣合三B脂上 止攝 止合三上旨羣 上聲5旨 上声4紙 暨軌 guiq gwijX gyix gwyy ɡʱjwi ɡʱwi ɡi̯ui ɡʷɯi ɡʷɣi ɡʷɨi ɡɹwí ɡɹwí ɡʉí ɡʷi˞iʔ
1284 羣開三B脂上 止攝 止開三上旨羣 上聲5旨 上声4紙 暨几 gyiq gijX giix gyy ɡʱji ɡʱi ɡi ɡɯi ɡɣi ɡɨi ɡɹí ɡɹí ɡɨí ɡi˞iʔ
Expand Down Expand Up @@ -1629,7 +1629,8 @@
1625 清開三仙上 山攝 山開三上獮清 上聲28獮 上声16銑 士⟨七⟩演 tshienq tshjenX chienx cieen tsʰi̯ɛn tsʰĭɛn tsʰi̯æn tsʰiɛn tsʰiᴇn tsʰiᴇn tsʰjén tsʰjén tsʰién tsʰiɛnʔ
1626 昌開三仙上 山攝 山開三上獮昌 上聲28獮 上声16銑 昌善 tjhienq tsyhenX chjenx tceen tɕʰi̯ɛn tɕʰĭɛn tɕʰi̯æn tɕʰiɛn tɕʰiᴇn tɕʰiᴇn tɕʰén tɕʰén tɕʰién tɕʰiɛnʔ
1627 溪開三A仙上 山攝 ˙山開三上獮溪 上聲28獮 上声16銑 去演 khienq khjienX khjenx qieen kʰi̯ɛn kʰĭɛn kʰi̯æn kʰiɛn kʰiᴇn kʰiᴇn kʰjén kʰjén kʰién kʰiɛnʔ
1628 見開三B仙上 山攝 山開三上獮見 上聲28獮 上声16銑 九輦 kyenq kjenX kienx kyeen ki̯ɛn kĭɛn ki̯æn kɯiɛn kɣiᴇn kɨᴇn kɹén kɹén kɨén ki˞ɛnʔ
1628a 見開三B仙上 山攝 山開三上獮見 上聲28獮 上声16銑 九輦 kyenq kjenX kienx kyeen ki̯ɛn kĭɛn ki̯æn kɯiɛn kɣiᴇn kɨᴇn kɹén kɹén kɨén ki˞ɛnʔ
1628b 見開三A仙上 山攝 ˙山開三上獮見 上聲28獮 上声16銑 九輦(善) kienq kjienX kjenx kieen ki̯ɛn kĭɛn ki̯æn kiɛn kiᴇn kiᴇn kjén kjén kién kiɛnʔ
1629 常開三仙上 山攝 山開三上獮禅 上聲28獮 上声16銑 常演 djienq dzyenX zjenx zjeen ʑi̯ɛn ʑĭɛn ʑi̯æn dʑiɛn dʑiᴇn dʑiᴇn dʑén dʑén dʑién dʑiɛnʔ
1630 精開三仙上 山攝 山開三上獮精 上聲28獮 上声16銑 即淺 tsienq tsjenX cienx zieen tsi̯ɛn tsĭɛn tsi̯æn tsiɛn tsiᴇn tsiᴇn tsjén tsjén tsién tsiɛnʔ
1631 日開三仙上 山攝 山開三上獮日 上聲28獮 上声16銑 人善 njienq nyenX njenx reen ȵʑi̯ɛn nʑĭɛn ȵi̯æn ȵiɛn ȵiᴇn ȵiᴇn ɲén ɲén ɲién ɲiɛnʔ
Expand Down Expand Up @@ -3527,7 +3528,7 @@
3519 幫三B仙入 山攝 山合三入薛幫 入聲17薛 入声9屑 方別 pyet pjet piet pyet pi̯ɛt pĭɛt pi̯æt pɯiɛt pɣiᴇt pɨᴇt pɹet pɹet pɨet pi˞ɛt
3520 生合三仙入 山攝 山合三入薛生 入聲17薛 入声9屑 所劣 sruet srjwet sryet shwet ʂi̯wɛt ʃĭwɛt ʃi̯uæt ʂʷiɛt ʂʷiᴇt ʂʷɨᴇt ʂwet ʂwet ʂʉet ʂʷi˞ɛt
3521a 見開三A仙入 山攝 ˙山開三入薛見 入聲17薛 入声9屑 居列 kiet kjiet kjet kiet ki̯ɛt kĭɛt ki̯æt kiɛt kiᴇt kiᴇt kjet kjet kiet kiɛt
3521b 見開三B仙入 山攝 山開三入薛見 入聲17薛 入声9屑 居列 kyet kjet kiet kyet ki̯ɛt kĭɛt ki̯æt kɯiɛt kɣiᴇt kɨᴇt kɹet kɹet kɨet ki˞ɛt
3521b 見開三B仙入 山攝 山開三入薛見 入聲17薛 入声9屑 居列(?) kyet kjet kiet kyet ki̯ɛt kĭɛt ki̯æt kɯiɛt kɣiᴇt kɨᴇt kɹet kɹet kɨet ki˞ɛt
3522 書開三仙入 山攝 山開三入薛書 入聲17薛 入声9屑 識列 sjiet syet sjet sjet ɕi̯ɛt ɕĭɛt ɕi̯æt ɕiɛt ɕiᴇt ɕiᴇt ɕet ɕet ɕiet ɕiɛt
3523 孃合三仙入 山攝 山合三入薛泥 入聲17薛 入声9屑 女劣 nrwiet nrjwet nryet nwet ȵi̯wɛt nĭwɛt ni̯uæt ɳʷiɛt ɳʷiᴇt ɳʷiᴇt ɳwet ɳwet ɳyet ɳʷiɛt
3524 曉合三A仙入 山攝 ˙山合三入薛曉 入聲17薛 入声9屑 許劣 hwiet xjwiet hjyet xvet xi̯wɛt xĭwɛt xi̯uæt hʷiɛt hʷiᴇt hʷiᴇt xjwet xjwet xyet xʷiɛt
Expand Down Expand Up @@ -3715,7 +3716,7 @@
3706 孃開三蒸入 曾攝 曾開三入職泥 入聲24職 入声13職 女力 nryk nrik nrik niok ȵi̯ək nĭək ni̯ək ɳɨk ɳɨk ɳɨk ɳɨk ɳɨk ɳɨk ɳiɯk
3707 初開三蒸入 曾攝 曾開三入職初 入聲24職 入声13職 初力 tsrhyk tsrhik chrik chok tʂʰi̯ək tʃʰĭək tʃʰi̯ək tʂʰɨk tʂʰɨk tʂʰɨk tʂʰɨk tʂʰɨk tʂʰɨk tʂʰi˞ɯk
3708a 影開三C蒸入 曾攝 曾開三入職影 入聲24職 入声13職 於力 qyk 'ik qik iok ʔi̯ək ĭək ʔi̯ək ʔɨk ʔɨk ʔɨk ʔɨk ʔɨk ʔɨk ʔɯk
3708b 影開三B蒸入 曾攝 曾開三入職影 入聲24職 入声13職 於力 qyik 'ik qik iok ʔi̯ək ĭək ʔi̯ək ʔɨk ʔɨk ʔɨk ʔɹɨk ʔɹɨk ʔɨik ʔi˞ɯk
3708b 影開三B蒸入 曾攝 曾開三入職影 入聲24職 入声13職 於力(棘) qyik 'ik qik iok ʔi̯ək ĭək ʔi̯ək ʔɨk ʔɨk ʔɨk ʔɹɨk ʔɹɨk ʔɨik ʔi˞ɯk
3709 生開三蒸入 曾攝 曾開三入職生 入聲24職 入声13職 所力 sryk srik srik shok ʂi̯ək ʃĭək ʃi̯ək ʂɨk ʂɨk ʂɨk ʂɨk ʂɨk ʂɨk ʂi˞ɯk
3710 溪開三C蒸入 曾攝 曾開三入職溪 入聲24職 入声13職 丘力 khyk khik khik qiok kʰi̯ək kʰĭək kʰi̯ək kʰɨk kʰɨk kʰɨk kʰɨk kʰɨk kʰɨk kʰɯk
3711 見開三C蒸入 曾攝 曾開三入職見 入聲24職 入声13職 紀力 kyk kik kik kiok ki̯ək kĭək ki̯ək kɨk kɨk kɨk kɨk kɨk kɨk kɯk
Expand Down
4 changes: 2 additions & 2 deletions deriver.html
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,6 @@
<script src="deriver_schemas.js"></script>
<script src="deriver_main.js"></script>
<script>
downloadLines(getAllRimes(), 'all_rimes.tsv');
downloadLines(getAllChars(), 'all_chars.tsv');
downloadLines(getAll(getRimes), 'all_rimes.tsv');
downloadLines(getAll(getChars), 'all_chars.tsv');
</script>
17 changes: 15 additions & 2 deletions deriver_consts.js
Original file line number Diff line number Diff line change
Expand Up @@ -171,8 +171,17 @@ const 廣韻韻目字to平水韻目 = Object.fromEntries(Object.entries({
'入声17洽': '洽狎乏',
}).flatMap(([平水韻目, 廣韻韻目字s]) => [...廣韻韻目字s].map(廣韻韻目字 => [廣韻韻目字, 平水韻目])));

const 小韻拆分patch = {
// 原小韻號: [拆分後小韻號pair, 拆至第二個小韻的字頭列表]
'1628': [['1628a', '1628b'], ['𢵈']],
'2767b': [['2767b', '2767c'], ['娎']],
};

const 音韻地位patch = Object.fromEntries([
['400', '滂三C尤上'],
['400', '滂三C尤平'],
['566', '昌開三仙平'],
['1281', '莊開三之上'],
['1628b', '見開三A仙上'],
['1830', '並三A宵平'],
['2767c', '澄開三仙入'],
['3062', '清合一灰平'],
Expand Down Expand Up @@ -265,10 +274,14 @@ const 反切patch = {
3795: '都搕⟨榼⟩',
3845: '七⟨士⟩洽',
3854: '五夾⦅洽⦆⟨冷⟩',
// Extended:
// Added after TshetUinh.js 0.15.1
597: '崇⟨?⟩玄⟨?⟩',
'1043b': '香⦅許⦆幽(彪)',
'1628b': '九輦(善)',
1763: '作⦅子⦆⟨千⟩可',
'3521b': '居列(?)',
3670: '之⦅志⦆⟨?⟩役',
'3708b': '於力(棘)',
};

const propsRimeToDelete = Object.fromEntries([
Expand Down
29 changes: 13 additions & 16 deletions deriver_main.js
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ const recon2params = {
'msoeg': { r化元音記號: '\u02DE', 通江宕攝韻尾: 'ɴ/q', 聲調記號: '上ʔ 去h', 章組: '腭噝音 tɕ', 莊三韻母起始: '普通', 覺韻: '中元音', 宕攝入聲附加: '無' },
};

function getRime(小韻號, from小韻號 = null) {
function getRimes(小韻號, from小韻號 = null) {
let firstEntry = TshetUinh.資料.廣韻.get小韻(from小韻號 || 小韻號)[0];
let 音韻地位 = 音韻地位patch[小韻號] || propsRimeToDelete[小韻號] || firstEntry.音韻地位;
let line = {
Expand All @@ -47,14 +47,17 @@ function getRime(小韻號, from小韻號 = null) {
Object.keys(recon2schema).forEach(recon => {
line[recon] = recon2schema[recon](音韻地位, firstEntry.字頭, recon2params[recon]);
});
return line;
return [line];
}

function getChars(小韻號, from小韻號 = null) {
const lines = [];
let entries = TshetUinh.資料.廣韻.get小韻(from小韻號 || 小韻號);
if (小韻號 === '2767b') entries = entries.slice(0, 1);
else if (小韻號 === '2767c') entries = entries.slice(1);
if (from小韻號) {
let isFirst小韻號 = 小韻號 === 小韻拆分patch[from小韻號][0][0];
let second小韻字頭s = 小韻拆分patch[from小韻號][1];
entries = entries.filter(entry => isFirst小韻號 ^ second小韻字頭s.includes(entry.字頭));
}
entries.forEach(entry => {
let { 字頭, 釋義 } = entry;
lines.push({ 小韻號, 字頭, 釋義 });
Expand All @@ -66,20 +69,14 @@ function getChars(小韻號, from小韻號 = null) {
return lines;
}

function getAllRimes() {
let lines = [];
for (const rimeNum of TshetUinh.資料.廣韻.iter小韻號()) {
lines.push(getRime(rimeNum));
if (rimeNum === '2767b') lines.push(getRime('2767c', rimeNum));
}
return lines;
}

function getAllChars() {
function getAll(func) {
let lines = [];
for (const rimeNum of TshetUinh.資料.廣韻.iter小韻號()) {
lines.push(...getChars(rimeNum));
if (rimeNum === '2767b') lines.push(...getChars('2767c', rimeNum));
if (小韻拆分patch[rimeNum]) {
小韻拆分patch[rimeNum][0].forEach(newRimeNum => lines.push(...func(newRimeNum, rimeNum)));
} else {
lines.push(...func(rimeNum));
}
}
return lines;
}
Expand Down
Loading

0 comments on commit 50baf73

Please sign in to comment.