Closed Umichang closed 4 months ago
当方の環境 windows 11 Pro 23H2 22631.3672 ATOK Passport版最新ATOKを利用。
ダウンロードしたそのままのデータをインポートした結果 main.atok_utf-8.txt main.atok_utf-8.txt.log
ダウンロードしたデータをShift-JISに変更してインポートした結果 main.atok.txt main.atok.txt.log ※「う゛」について変換時に破損するため「れう゛ぃ」と「う゛ぃんせんと」につては別途修正した
~参考情報~
ファイル作成時に文字コード指定が無いので、OSのデフォルト文字コードが採用されている可能性あり。 https://atok.com/other/support/howtouse/mac/dc/pgs/dc_word_file.htm
辞書から抽出した場合Unicode出力を指定しなければ、Shift-JISで出力される。 main.atok.export.txt
一括登録時に、文字コードを指定するオプションは無し。(出力時はある)
対処方針としてはゔをう゛と変換した上でiconvではcp932に変換するのが丸そう?
sed 's/ゔ/う゛/'
(後ろにgオプションをつけないのは登録語彙の汚染を防ぐため)
ただ、上記だとsedに依存するのでrubyのワンライナーの方が良い。老人なのでsedで片付けたがる
つまりMakefileの23〜24行目を
.txt.atok.txt:
userdic-ng msime atok < $< | sed 's/ゔ/う゛/' | iconv -f UTF-16LE -t CP932 | ruby -pe 'sub("\n", "\r\n")' > $@
とすればいけそう。あとで試す。
文字コード変換方法をEmEditorで開いてエンコード保存(Shift-JIS)とした場合に「う゛」が破損した模様。
Powershellで以下を実施した場合は「う゛」は「ヴ」に変換された
Get-Content -Encoding utf8 ".\main.atok_utf-8.txt" | Out-File -Encoding shift-jis ".\main.atok_shift-jis.txt"
main.atok_shift-jis.txt
Get-Content -Encoding utf8 ".\main.atok_utf-8.txt" | Out-File -Encoding ansi ".\main.atok_ansi.txt"
main.atok_ansi.txt
ATOK(Windows版)で辞書登録する際に「ヴ」で登録すると自動的に「う゛」に変換された。
https://app.warp.dev/block/aXtUK6tvDbe21unzJBklr2 iconvがwarningを吐いてるけど実際にドロップしている行はなさそう(目視でvta.txtのみを確認) ほんとに大丈夫?
問題
UTF-8版のユーザー辞書テキストを登録できないバージョンのATOK辞書ユーティリティが存在する…?(macOS版最新であれば当然対応しているため、古いWindows版か)
確認事項
ワークアラウンド