Smultron-3.5.1+NKFCocoa公開します
Posted 2月 25th, 2009 by hippos
なんとかできました。オリジナルと違う点は次のとおり。まだまだバギーですので問題があればご連絡ください。
エンコードの判定順
オリジナルでは
- NSString:stringWithContentsOfFile:
- HTML/charset
- XML/encoding
- Unicode BOM
- 環境設定で指定してデフォルトエンコーディング
- NSUTF8StringEncoding
- NSISOLatin1StringEncoding
- NSString:defaultCStringEncoding
の順で逐次変換してうまく変換できたエンコードを採用します。+NKFCocoaでは、
- HTML/charset
- XML/encoding
- Unicode BOM
- NSData:guessByNKF(NKFCocoa)
- NSString:stringWithContentsOfFile:
- 環境設定で指定してデフォルトエンコーディング
- NSUTF8StringEncoding
- NSISOLatin1StringEncoding
- NSString:defaultCStringEncoding
の順でエンコードを判定します。
読み込み時自動変換
判定したエンコードを使用してNSString:initWithContentsOfFile:encoding:errorしたときエラーになればNSData:stringByNKFWithOptions:error(NKFCocoa>で変換を試みます。ただし、変換をトライするのは判定したエンコードが、Shift_JIS/ISO-2022-JP/EUC-JPの場合に限ります。
保存時の変換
編集したテキストデータがNSString:canBeConvertedToEncoding==FALSEの場合、アラートを表示し現在のエンコードを使用してNSData:stringByNKFWithOptions:errorで変換します。
保存時のエンコード指定
「別名で保存...」「コピーを保存...」でドキュメントを保存する場合、保存パネルからエンコードを指定できるように修正。(この時エンコード指定可能なリストは環境設定で選択しているエンコードのみ)この操作は、「テキストエンコーディング」メニューから編集中のドキュメントのエンコードを変更する操作と同等です。また、保存パネルにある、”拡張子を省略した場合は.txtを使用"は、環境変数で「別名で保存するとき付加する文字列」を設定している場合は無効になります。
ダウンロード
パッチを作るには修正が大きかったので丸ごとお願いします。また、 ソースにはNKFCocoaは同梱していません。別途ダウンロードしてください。
| 添付 | サイズ |
|---|---|
| Smultron-3.5.1_With_NKFCocoa.zip(Sorce) | 4.21 MB |
| Smultron-32bit-Univarsal.zip | 5.77 MB |
| Smultron-intel.zip | 5.58 MB |
この記事のトラックバックURL:
http://hippos-lab.com/blog/trackback/300






最近のコメント
34 weeks 2 days ago
51 weeks 2 days ago
51 weeks 2 days ago
1年 16 weeks ago
1年 16 weeks ago
1年 16 weeks ago
1年 28 weeks ago
1年 28 weeks ago
2 years 8 weeks ago
2 years 17 weeks ago