nkf

Smultron-3.5.1 + NKFCocoaの仕様検討中

年度末ドタバタしている中SmultronへのNKFCocoaを組み込み中です。迷っているのはUnicode変換表にない文字を含むファイルの扱い。一応、NKFCocoaによるエンコードの判定そのものは組み込んだのですが、Shift_JISを正しく判定することができているにも関わらず読み込めないファイルがいくつかあって収まりが悪い。

nkf-2.0.9リリース UTF-16の判定が....

実に久しぶりnkf-2.0.9にアップデートされました。このところNKFCocoaの開発をしていたこともあってちょくちょくチェックはしていたのですが、正直アップデートされるとは思っていなかったのでちょっとビツクリ。v2.0.8ではUTF-16がBOM付きのみの判定だったのでちょっと期待したのですがリリースノートを読む限りそのあたりは修正されていないようです。ど・こ・ろ・かむしろUTF-16の判定精度が...

ためしてみたところ、これまでできていたBOM付きのUTF-16もASCII判定に...さらに ISO-2022-jpも正しく認識されない場合があるみたいです。

NKFCocoa.Framework公開します

愛用のエディタSmultronのエンコーディング自動判定に手を入れはじめてからずいぶん時間が経ちますが、年末にフト「nkf使えないかな?」って思い立ってNKFCocoaなるものを作成しました。名前どおりnkfのcocoaラッパーです。Cocoaの開発では日本語関連のメソッドは相変わらずの状況なので、まあ多少の役には立つかなと思います。ベースはnkf-2.0.8です。

Smultronの場合だったら、いままでごちゃごちゃやっていたところを

NSError* error = nil;
encoding = [textData guessByNKF:&error];
if (error != nil)
  {
    NSAlert *theAlert = [NSAlert alertWithError:error];
    [theAlert runModal];
    encoding = 0;
  }

程度に集約できてすっきり。APIの詳細は、ドキュメントを参照してください。

ひとつだけショックだったのはnkfではBOMなしUTF-16の自動判定には対応していなかったですね。まあ、それ以外は概ねやりたいことはできました。お悩みの方、バグ含みですがよかったらお試しください。

コンテンツの配信