Skip to content

Commit

Permalink
新增一字多音審訂表1999讀音
Browse files Browse the repository at this point in the history
  • Loading branch information
ButTaiwan committed Feb 2, 2023
1 parent 9295357 commit 1d926d0
Show file tree
Hide file tree
Showing 10 changed files with 12,886 additions and 381 deletions.
23 changes: 15 additions & 8 deletions phonetic/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,13 +14,13 @@

考慮到新、舊表有一併程度的並存,本專案同時收錄兩表裡出現的讀音。讀音的順序盡量以常用程度排列,難以判斷時依我個人主觀決定順序。

《國語一字多音審訂表》共收有5317字,凡本表所收之字,就不再收錄其他讀音。例如「法」字已不收ㄈㄚˋ音。
《國語一字多音審訂表(初稿)》共收有5317字,凡本表所收之字,原則上就不再收錄其他讀音(來源F除外,後述)。例如「法」字已不收ㄈㄚˋ音。

例外:《國語一字多音審訂表》不處理變音(一、不)與輕聲化(爸、媽…),這些字有另外收錄多音。

### (B) 教育部: 重編國語辭典

因為《國語一字多音審訂表》只收了5317字,超過此範圍的國字,讀音則以《重編國語辭典》為準。
因為《國語一字多音審訂表(初稿)》只收了5317字,超過此範圍的國字,讀音則以《重編國語辭典》為準。
共蒐集到9955字的讀音。

### (C) 國家教育研究院: 化學命名原則 〈02 元素〉〈化學名詞用字之讀音〉
Expand All @@ -40,6 +40,12 @@

人工另外整理收錄詞末輕聲化造成的輕聲。以及台灣當地地名的特殊讀音(目前僅收加「蚋」ㄌㄚˋ)一字。

#### (F) 教育部: 國語一字多音審訂表 1999年版

後來發現1999年原版《國語一字多音審訂表》收錄高達11,075字,之前因不明原因一直參考到不完整的資料。自 v1.3 起把這些讀音全部補充收錄。

但因為舊版本相容的因素,來自(F)源的讀音只能收在每個字的最後面,舊版本曾經所收的讀音都會完整保留。

## 技術說明

### 程式說明
Expand All @@ -55,10 +61,11 @@ make_ptable.rb 程式用來整理上述來源的讀音,並輸出完全讀音
### 檔案說明

* make_ptable.rb - 讀音整理程式
* phonic_table_A.txt - (A)來源整理後的讀音表
* phonic_table_B.txt - (B)來源整理後的讀音表
* phonic_table_C.txt - (C)來源整理後的讀音表
* phonic_table_D.txt - (D)來源整理後的讀音表
* phonic_table_E.txt - (E)補充輕聲字、地名特殊讀音表
* phonic_table_Z.txt - 綜合A-E的完整讀音表,供字型生成之用
* phonic_table_A.txt - 程式處理(A)來源產出的讀音表:國語一字多音審訂表(初稿)
* phonic_table_B.txt - 程式處理(B)來源產出的讀音表:重編國語辭典
* phonic_table_C.txt - 程式處理(C)來源產出的讀音表:化學名詞用字之讀音
* phonic_table_D.txt - 程式處理(D)來源產出的讀音表:全字庫/新酷音輸入法詞庫
* phonic_table_E.txt - 人工編輯(E)來源的讀音表:補充輕聲字、地名特殊讀音表
* phonic_table_F.txt - 人工編輯(F)來源的讀音表:國語一字多音審訂表 1999
* phonic_table_Z.txt - 綜合A-F的完整讀音表,供字型生成之用
* phonic_types.txt - 整理後所有讀音排列組合列表
36 changes: 34 additions & 2 deletions phonetic/make_ptable.rb
Original file line number Diff line number Diff line change
Expand Up @@ -282,7 +282,7 @@ def make_tableZ
# 讀取上次釋出之最新版本的注音表
# 為了確保與舊版本的相容性,已釋出的讀音順序就不會再異動
# 後來新增的收錄來源若有新增讀音,都必須排在後方
fn = Dir.glob('versions/v*.txt').sort[-1]
fn = Dir.glob('versions/phonic_table_v*.txt').sort[-1]
f = File.open(fn, 'r:utf-8')
f.each { |s|
s.chomp!
Expand Down Expand Up @@ -385,6 +385,25 @@ def make_tableZ
end
}
f.close

# (F) 1999版一字多音審訂表 *因舊版相容考量,加在最後面
f = File.open('phonic_table_F.txt', 'r:utf-8')
f.each { |s|
s.chomp!
s.gsub!(/\s*#.*$/, '')
c, d, e, rs = s.split(/\t/, 4)
read[c] = {} unless read.has_key?(c)
#src[c] = 'F' unless src.has_key?(c)

hit = false
rs.split(/\t/).each { |t|
hit = read[c][t] = 500000 if !read[c].has_key?(t)
ptype[t] = 'F' if !ptype.has_key?(t)
}
src[c] = (src.has_key?(c) ? src[c].gsub(/F/, '')+'F' : 'F') if hit
}
f.close


# 新酷音輸入法辭庫 (用來推測讀音常用順序)
f = File.open('source/tsi.src.txt', 'r:utf-8')
Expand Down Expand Up @@ -444,10 +463,23 @@ def make_tableZ
}

f = File.open('phonic_types.txt', 'w:utf-8')
fn = Dir.glob('versions/phonic_types_v*.txt').sort[-1]

fs = File.open(fn, 'r:utf-8')
fs.each { |s|
s.chomp!
f.puts s
k, v, t = s.split(/\t/, 4)
ptype[k] = nil # 已輸出
}
fs.close

pmapobj.sort_by{|k, v| v}.each { |k, v|
next if !ptype[k]
f.puts "#{k}\t#{v}\t#{ptype[k]}"
}
f.close

f.close
end

make_tableA
Expand Down
20 changes: 10 additions & 10 deletions phonetic/phonic_table_C.txt
Original file line number Diff line number Diff line change
Expand Up @@ -43,12 +43,12 @@
鎝 939D C ㄊㄚˇ # CB ㄊㄚˇ ㄙㄚˋ
釕 91D5 C ㄌㄧㄠˇ # CB ㄌㄧㄠˇ ㄌㄧㄠˋ
銠 92A0 C ㄌㄠˇ
鈀 9200 C ㄅㄚ # CB ㄅㄚ ㄅㄚˇ
鈀 9200 C ㄅㄚ # CBF ㄅㄚ ㄅㄚˇ ㄆㄚˊ
銀 9280 C ㄧㄣˊ
鎘 9398 C ㄍㄜˊ # CB ㄍㄜˊ ㄌㄧˋ
銦 92A6 C ㄧㄣ
錫 932B C ㄒㄧˊ
銻 92BB C ㄊㄧˋ # AC ㄊㄧˋ ㄊㄧˊ
銻 92BB C ㄊㄧˋ # ACF ㄊㄧˋ ㄊㄧˊ ㄊㄧ
碲 78B2 C ㄉㄧˋ
碘 7898 C ㄉㄧㄢˇ
氙 6C19 C ㄒㄧㄢ
Expand All @@ -69,7 +69,7 @@
銩 92A9 C ㄉㄧㄡ
鐿 943F C ㄧˋ
鎦 93A6 C ㄌㄧㄡˊ
鉿 927F C ㄏㄚ
鉿 927F C ㄏㄚ # CBF ㄏㄚ ㄏㄜˊ
鉭 926D C ㄉㄢˋ
鎢 93A2 C ㄨ
錸 9338 C ㄌㄞˊ
Expand All @@ -93,7 +93,7 @@
錼 933C C ㄋㄞˋ
鈽 923D C ㄅㄨˋ
鋂 92C2 C ㄇㄟˊ
鋦 92E6 C ㄐㄩˊ
鋦 92E6 C ㄐㄩˊ # CBF ㄐㄩˊ ㄐㄩ
鉳 9273 C ㄅㄟˇ
鉲 9272 C ㄎㄚˇ
鑀 9440 C ㄞˋ
Expand Down Expand Up @@ -134,7 +134,7 @@
哚 54DA C ㄉㄨㄛˇ
咯 54AF C ㄌㄨㄛˋ # AC ˙ㄌㄛ ㄍㄜ ㄎㄚˇ ㄌㄨㄛˋ
哌 54CC C ㄆㄞˋ
哢 54E2 C ㄋㄨㄥˋ
哢 54E2 C ㄋㄨㄥˋ # CF ㄋㄨㄥˋ ㄌㄨㄥˋ
唑 5511 C ㄗㄨㄛˋ
啶 5576 C ㄉㄧㄥˋ
唍 550D C ㄨㄢˊ
Expand All @@ -154,20 +154,20 @@
噻 567B C ㄙㄞˋ
嚀 5680 C ㄋㄧㄥˊ
垻 57BB C ㄅㄟˋ
炔 7094 C ㄑㄩㄝ # CB ㄑㄩㄝ ㄍㄨㄟˋ
炔 7094 C ㄑㄩㄝ # CBF ㄑㄩㄝ ㄍㄨㄟˋ ㄐㄩㄝˊ
烷 70F7 C ㄨㄢˊ
烯 70EF C ㄒㄧ
烴 70F4 C ㄊㄧㄥ # CB ㄊㄧㄥ ㄑㄧㄥ
肟 809F C ㄨ
肼 80BC C ㄐㄧㄥˇ
肽 80BD C ㄊㄞˋ
胂 80C2 C ㄕㄣ
胜 80DC C ㄕㄥ
胜 80DC C ㄕㄥ # CBF ㄕㄥ ㄒㄧㄥ
胍 80CD C ㄍㄨㄚ
脒 8112 C ㄇㄧˇ
胩 80E9 C ㄎㄚˇ
胺 80FA C ㄢ
胲 80F2 C ㄏㄞˋ
胲 80F2 C ㄏㄞˋ # CF ㄏㄞˋ ㄍㄞ
脎 810E C ㄕㄚ
脲 8132 C ㄋㄧㄠˋ
腈 8148 C ㄑㄧㄥ
Expand All @@ -181,7 +181,7 @@
芘 8298 C ㄅㄧˇ # CB ㄅㄧˇ ㄅㄧˋ ㄆㄧˊ
苊 82CA C ㄜˋ
苯 82EF C ㄅㄣˇ
苨 82E8 C ㄋㄧˊ
苨 82E8 C ㄋㄧˊ # CF ㄋㄧˊ ㄋㄧˇ
茀 8300 C ㄈㄨˊ
茬 832C C ㄗㄞˋ # CB ㄗㄞˋ ㄔㄚˊ
苝 82DD C ㄅㄟˇ
Expand Down Expand Up @@ -229,4 +229,4 @@
鋞 92DE C ㄐㄧㄥˋ
鎓 9393 C ㄨㄥ
鏻 93FB C ㄌㄧㄣˊ
巰 5DF0 C ㄑㄧㄡˊ
巰 5DF0 C ㄑㄧㄡˊ # CF ㄑㄧㄡˊ ㄌㄧㄡˊ
Loading

0 comments on commit 1d926d0

Please sign in to comment.