1 # eng_dic_maker.py for nvdajp_jtalk
\r
2 # -*- coding: utf-8 -*-
\r
3 # since 2010-12-05 by Takuya Nishimoto
\r
4 # bep-eng.dic is available at:
\r
5 # http://cpansearch.perl.org/src/MASH/Lingua-JA-Yomi-0.01/lib/Lingua/JA/bep-eng.dic
\r
6 from __future__ import unicode_literals
\r
8 IN_FILE_DEFAULT = 'c:/work/nvda/bep-eng.dic'
\r
9 OUT_FILE = 'nvdajp-eng-dic.csv'
\r
14 from alpha2mb import alpha2mb
\r
16 def make_dic(IN_FILE, CODE, THISDIR):
\r
20 ['acrobat', 'アクロバット'],
\r
21 ['adobe', 'アドビー', "1/4", 1000],
\r
22 ['about', 'アバウト', '2/4'],
\r
23 ['ass', 'アス', "1/2", 10000],
\r
24 ['azure', 'アジュール', None, 100],
\r
25 ['api', 'エーピーアイ', None, 500],
\r
31 ['console', 'コンソール'],
\r
33 ['cygwin', 'シグウィン'],
\r
34 ['choose', 'チュウズ', None, 1000],
\r
37 ['doxygen', 'ドキシゲン'],
\r
38 ['explorer', 'エクスプローラ'],
\r
41 ['editions', 'エディションズ'],
\r
42 ['essentials', 'エセンシャルズ'],
\r
43 ['extentions', 'エクステンションズ'],
\r
44 ['firefox', 'ファイアフォックス'],
\r
46 ['foryou', 'フォーユー'],
\r
47 ['folders', 'フォルダーズ'],
\r
49 ['failed', 'フェイルド'],
\r
50 ['guide', 'ガイド', None, 1000],
\r
56 ['internet', 'インターネット'],
\r
57 ['insert', 'インサート'],
\r
59 ['impaired', 'インペアド'],
\r
64 ['kddi', 'ケーディーディーアイ'],
\r
65 ['manage', 'マネイジ', None, 1000],
\r
68 ['media', 'メディア', "1/3", 1000],
\r
72 ['operation', 'オペレーション', None, 1000],
\r
75 ['radio', 'ラジオ', "1/3", 800],
\r
77 ['skype', 'スカイプ', "2/4"],
\r
79 ['setup', 'セットアップ'],
\r
80 ['systems', 'システムズ'],
\r
81 ['shared', 'シェアード'],
\r
85 ['tunes', 'チューンズ', '1/4', 10],
\r
86 ['tools', 'ツールズ', '1/4'],
\r
87 ['togetter', 'トゥギャッター'],
\r
88 ['tube', 'チューブ', '1/3', 600],
\r
89 ['update', 'アップデート'],
\r
92 ['version', 'バージョン'],
\r
93 ['vantage', 'バンテージ'],
\r
95 ['welcome', 'ウェルカム'],
\r
96 ['windows', 'ウィンドウズ'],
\r
98 ['you', 'ユー', None, 660],
\r
102 ['jis', 'ジス', "1/2", 1000],
\r
103 ['audio', 'オーディオ', "1/4", 610],
\r
104 ['suite', 'スイート', "2/4", 1000],
\r
105 ['opensource', 'オープンソース', None, 1000],
\r
106 ['notepad', 'ノートパッド', None, 1000],
\r
107 ['guidebook', 'ガイドブック', None, 1000],
\r
108 ['blog', 'ブログ', None, 1000],
\r
109 ['matlab', 'マトラブ', None, 1000],
\r
110 ['keyboard', 'キーボード', None, 1000],
\r
111 ['plugins', 'プラグインズ', None, 1000],
\r
112 ['facebook', 'フェイスブック', None, 1000],
\r
113 ['desktop', 'デスクトップ', None, 1000],
\r
114 ['output', 'アウトプット', None, 1000],
\r
115 ['nullsoft', 'ヌルソフト', None, 1000],
\r
116 ['cygdrive', 'シグドライブ', None, 1000],
\r
117 ['ustream', 'ユーストリーム', None, 1000],
\r
118 ['ubuntu', 'ウブンツー', None, 1000],
\r
119 ['ware', 'ウェアー', None, 1000],
\r
121 ['time', 'タイム', None, 1000],
\r
122 ['home', 'ホーム', None, 1000],
\r
123 ['wikipedia', 'ウイキペディーア', "0/8", 1000],
\r
124 ['tepco', 'テプコ', "1/3", 1000],
\r
125 ['yahoo', 'ヤフー', "2/3", 1000],
\r
126 ['japan', 'ジャパン', "2/3", 1000],
\r
127 ['japanese', 'ジャパニーズ', "3/5", 900],
\r
128 ['favorites', 'フェイバリッツ', "1/6"],
\r
129 ['documents', 'ドキュメンツ', "1/5"],
\r
130 ['settings', 'セッティングズ', "1/6"],
\r
131 ['redistributable', 'リディストリビュータブル', "6/10"],
\r
134 ['mouse', 'マウス', "1/3", 500],
\r
136 ['pref', 'プリフ', "1/3", 1000],
\r
137 ['anpi', 'アンピ', "1/3", 1000],
\r
138 ['asian', 'アジアン', "1/4", 1000],
\r
139 ['asahi', 'アサヒ', "1/3", 1000],
\r
140 ['edu', 'エデュー', "1/3", 1000],
\r
141 ['gamba', 'ガンバ', "1/3", 1000],
\r
142 ['genpatsu', 'ゲンパツ', "1/4", 1000],
\r
143 ['hinan', 'ヒナン', "1/3", 1000],
\r
144 ['horijun', 'ホリジュン', "1/4", 1000],
\r
145 ['inosenaoki', 'イノセナオキ', "1/7", 1000],
\r
146 ['kahoku', 'カホク', "1/3", 1000],
\r
147 ['kurogen', 'クロゲン', "1/4", 1000],
\r
148 ['medic', 'メディック', "1/4", 1000],
\r
149 ['mizu', 'ミズ', "2/2", 1000],
\r
150 ['minpo', 'ミンポー', "1/4", 1000],
\r
151 ['seikatsu', 'セーカツ', "1/4", 1000],
\r
152 ['sagasu', 'サガス', "1/3", 1000],
\r
153 ['shimpo', 'シンポー', "1/4", 1000],
\r
154 ['shimbun', 'シンブン', "1/4", 1000],
\r
155 ['teiden', 'テーデン', "1/4", 1000],
\r
156 ['tokuho', 'トクホー', "1/4", 1000],
\r
157 ['takeyama', 'タケヤマ', "1/4", 1000],
\r
158 ['takeshi', 'タケシ', "1/3", 1000],
\r
160 ['hokkaido', 'ホッカイドー', None, 1000],
\r
161 ['yamagata', 'ヤマガタ', None, 1000],
\r
162 ['akita', 'アキタ', None, 1000],
\r
163 ['aomori', 'アオモリ', None, 1000],
\r
164 ['iwate', 'イワテ', None, 1000],
\r
165 ['tsukuba', 'ツクバ', None, 1000],
\r
166 ['oshu', 'オーシュー', None, 1000],
\r
167 ['hachinohe', 'ハチノヘ', None, 1000],
\r
168 ['kesennuma', 'ケセンヌマ', None, 1000],
\r
169 ['kantei', 'カンテー', None, 1000],
\r
170 ['saigai', 'サイガイ', None, 1000],
\r
171 ['tochigi', 'トチギ', None, 1000],
\r
172 ['kashima', 'カシマ', None, 1000],
\r
173 ['morioka', 'モリオカ', "2/4", 1000],
\r
174 ['miyagi', 'ミヤギ', "1/3", 1000],
\r
175 ['fukushima', 'フクシマ', "2/4", 1000],
\r
176 ['niigata', 'ニーガタ', "0/4", 1000],
\r
177 ['asshuku', 'アッシュク', "0/4", ],
\r
178 ['mei', 'メイ', "1/2", 100],
\r
180 ['akb', 'エーケービー', "1/6", 1000],
\r
181 ['npo', 'エヌピーオー', "2/6", 1000],
\r
182 ['nec', 'エヌイーシー', "1/6", ],
\r
183 ['nvda', 'エヌブイディーエー', "1/8", 1000],
\r
184 ['nico', 'ニコ', "1/2", 1000],
\r
185 ['jp', 'ジェーピー', "1/4", 1000],
\r
186 ['co', 'シーオー', "1/4", 1000],
\r
187 ['usb', 'ユーエスビー', "1/6", 1000],
\r
188 ['faq', 'エフエーキュー', "1/6", 1000],
\r
189 ['iaea', 'アイエーイーエー', "7/8", 1000],
\r
190 ['sjis', 'エスジス', "0/4", 1000],
\r
191 ['euc', 'イーユーシー', "1/6", 1000],
\r
192 ['au', 'エーユー', "1/4", 600],
\r
193 ['id', 'アイディー', "3/4", 1000],
\r
194 ['it', 'アイティー', "3/4", 1000],
\r
195 ['adsl', 'エーディーエスエル' "1/8", ],
\r
196 ['ime', 'アイエムイー', "0/6", 600],
\r
197 ['files', 'ファイルズ', "1/4", 600],
\r
198 ['docs', 'ドックス', "1/4", 600],
\r
199 ['page', 'ページ', "1/3", 600],
\r
200 ['everyone', 'エブリワン', "1/5"],
\r
201 ['users', 'ユーザーズ', "1/5"],
\r
202 ['allowed', 'アラウド', "2/4"],
\r
203 ['designed', 'デザインド', "2/5"],
\r
204 ['database', 'データベース', "1/5"],
\r
205 ['butt', 'バットゥ', "1/4", 10000],
\r
206 ['opened', 'オープンド', "1/5"],
\r
207 ['closed', 'クローズド', "2/5"],
\r
208 ['layered', 'レイヤード', '1/5'],
\r
209 ['required', 'リクワイアード', '3/7'],
\r
210 ['iconified', 'アイコニファイド', '1/8'],
\r
211 ['focusable', 'フォウカサブル', '1/6'],
\r
212 ['editable', 'エディタブル', '1/5'],
\r
213 ['draggable', 'ドゥラッガブル', '2/6'],
\r
214 ['contains', 'コンテインズ', '3/6'],
\r
215 ['errors', 'エラーズ'],
\r
216 ['previously', 'プリビアスリ'],
\r
217 ['entered', 'エンタード'],
\r
219 ['toggles', 'トグルズ'],
\r
220 ['clicks', 'クリックス'],
\r
221 ['unlocks', 'アンロックス'],
\r
223 ['controls', 'コントゥロウルズ'],
\r
224 ['currently', 'カレントリ'],
\r
227 ['characters', 'キャラクターズ'],
\r
229 ['cycles', 'サイクルズ'],
\r
230 ['levels', 'レベルズ'],
\r
231 ['speaks', 'スピークス'],
\r
232 ['untitled', 'アンタイトルド'],
\r
233 ['flanger', 'フランジャー'],
\r
234 ['resample', 'リサンプル'],
\r
238 ['unicode', 'ユニコウドゥ'],
\r
239 ['drivers', 'ドゥライバーズ'],
\r
240 ['unicode', 'ユニコウドゥ'],
\r
246 for line in open(IN_FILE):
\r
247 if line[0] == '#': continue
\r
248 a1, a2 = line.rstrip().decode('UTF-8').split(' ')
\r
249 a1 = re.sub("'", "\\'", a1)
\r
251 if not k.has_key(a1):
\r
255 with open(path.join(THISDIR, OUT_FILE), "w") as file:
\r
258 alpha_count = len(k)
\r
259 k1 = alpha2mb(k.lower())
\r
262 mora_count = len(y)
\r
263 pros = "1/%d" % mora_count
\r
265 cost = DEFAULT_COST
\r
266 if alpha_count <= 2: cost = cost * 5
\r
267 # override by entry
\r
269 if i[2] != None: pros = i[2]
\r
270 if len(i) >= 4: cost = i[3]
\r
271 # 表層形,左文脈ID,右文脈ID,コスト,品詞,品詞細分類1,品詞細分類2,品詞細分類3,活用形,活用型,原形,読み,発音
\r
272 s = "%s,,,%d,名詞,一般,*,*,*,*,%s,%s,%s,%s,C0\n" % (k1,cost,k1,y,y,pros)
\r
273 file.write(s.encode(CODE))
\r
275 if __name__ == '__main__':
\r
276 make_dic(IN_FILE_DEFAULT)
\r