Closed doraTeX closed 9 years ago
「編集」メニューに「Unicode 正規化」というメニュー項目を創設。その中にサブメニュー項目として
を設置。文字列を選択してこれらを実行すると,正規化が実行されて,さらに確認のために文字情報パネルが起動する。 Command+Z による Undo にも対応。
※ NFKC_Casefold のサポートには ICU ライブラリが必要で,それを添付すると容量が無用に増大するので断念。OS X 付属の /usr/lib/libicucore.dylib をアプリケーションから簡単に使えればよいのだが……。
OS X 付属の /usr/lib/libicucore.dylib をアプリケーションから使う方法をようやく確立できました。 Ver. 1.9.9 beta 2 で NFKC_Casefold による正規化をサポートしました。
各正規化の挙動の違いを見るには,次のような文字列群の正規化を試してみると分かりやすいでしょう。
Unicode 正規化を試してみました(5文字のうち最後のひとつは普段使っている Osaka では表示できないのでヒラギノ角ゴ ProN にして確認)。正規化自体についてよくわかっていないのですが、とりあえず最後の NFKC_Casefold で「予期しない理由で終了しました」となりました。コンソールには以下のように出ています。
15/08/24 18:59:45.060 [0x0-0x112112].com.loveinequality.TeX2img: dyld: lazy symbol binding failed: Symbol not found: _unorm2_getNFKCCasefoldInstance
15/08/24 18:59:45.060 [0x0-0x112112].com.loveinequality.TeX2img: Referenced from: /Users/**********/Downloads/TeX2imgMac199b2/TeX2img.app/Contents/MacOS/TeX2img
15/08/24 18:59:45.060 [0x0-0x112112].com.loveinequality.TeX2img: Expected in: /usr/lib/libicucore.A.dylib
15/08/24 18:59:45.060 [0x0-0x112112].com.loveinequality.TeX2img: dyld: Symbol not found: _unorm2_getNFKCCasefoldInstance
15/08/24 18:59:45.060 [0x0-0x112112].com.loveinequality.TeX2img: Referenced from: /Users/**********/Downloads/TeX2imgMac199b2/TeX2img.app/Contents/MacOS/TeX2img
15/08/24 18:59:45.060 [0x0-0x112112].com.loveinequality.TeX2img: Expected in: /usr/lib/libicucore.A.dylib
15/08/24 18:59:45.791 com.apple.launchd.peruser.502: ([0x0-0x112112].com.loveinequality.TeX2img[1446]) Job appears to have crashed: Trace/BPT trap: 5
15/08/24 18:59:45.931 ReportCrash: Saved crash report for TeX2img[1446] version ??? (1.9.9b2) to /Users/**********/Library/Logs/DiagnosticReports/TeX2img_2015-08-24-185945_*****-no-iMac.crash
ご報告ありがとうございます。 Ver. 1.9.9 beta 3 で修正できたのではないかと思います。
Ver. 1.9.9 beta 3 で修正できたのではないかと思います。
今度は正常に文字情報が表示されました。ありがとうございます。
ここで得られた NFKC Casefold による正規化機能の実装法の知見を活かして,同じ機能を CotEditor にも搭載する Pull Request を行ったところ,めでたく採用して頂けました。
NFKC Casefold に加え,Modified NFD による正規化機能も,CotEditor Ver. 2.2.2 にて採用されました。
「編集」メニューに Unicode 正規化機能を設ける。