10.10以降のnfc nfd問題

今日とてもおかしな事象に出会いました.

ターミナル(bash)でファイル名の補完機能が働かないことです.


例えば,デスクトップに二つのファイル("パット.txt", ”abcパット.txt")があるとします.

これらのファイルを開くときに,

$ open パット.txt

$ open abcパット.txt

としますが,

普通は補完機能を使って,"$ open パ"まで打ち込んだ後,タブキーでファイル名を補完します.

今日,"$ open ab"の後タブキーでファイル名を補完でき,開くことができるのに,

"$ open パ",の後タブキーでファイル名を補完できないことに気がつきました.

この理由を.nfdの問題かも知れないと思いました.

従来のmacでは,nfdを使い,このパの文字は,ハと〇の重ね文字ですが,

これを調べるために,ファイル名をコピぺして,そのコードを調べたところ,

重ね文字ではないことが見つかりました.

いつ頃か,macはnfdを使わなくなったのでしょうか.

たいしたことでは,ありませんが,ファイル名の補完機能が使えないのも気持ち悪いです.


よろしくお願いいたします.

田中

iMac, OS X Yosemite (10.10), null

投稿日 2016/04/12 02:12

返信
返信: 22

2016/04/13 17:05 chandana への返信

UTF-8-MACというエンコーディングはないことも承知してるし、

iconvの指定から来ていて、俗称であることも承知してます。


Normalizationのやり方とエンコーディングは別の話であることも承知の上。

でもutf8(NFDの変種)・・・とか言う呼び方も変だし

他にピッタリ来る呼び方がないのも事実。


言葉を混乱させると世界が混乱する、ということへの覚え書きでした。

そこまで考えなくていいんじゃないの?


(なんか一部の人がすごくweb上で違和感論むき出しにしてるみたいですけど。。。)

そっちの方がメンドイですね・・・


Appleがわざわざiconvに組み込んだ引数の名前がUTF-8-MACなのだし、

MacユーザがPOSIXレベルでFileSystemがらみの話をするなら

UTF-8-MACで通じれば別にいいんでね? と私は思ってます。

2016/04/13 20:50 chandana への返信

全くおっしゃるとおりだと思います。


なので、


正規化は NFD ではなく UTF-8-MAC です。両者は異なるので注意してください。


というのは本当はおかしな話。自分でも分かってますよ。しかしながら、説明としては楽なんですよね...。個人的には思うところも多々ありますが、用語を正確に書くということには賛成なので、今後は表記を改めるようにします。ありがとうございます。


でも、しっくり来る言葉がないんですよね...。


QA1173 (日本語版)

http://web.archive.org/web/20110523042115/http://developer.apple.com/jp/qa/qa2001/qa1173.html


QA1173 (日本語版) に倣って「Normal Form D の変形」?これも今ひとつかな...。「変形」だけもらって「Normalization Form D の変形」か「NFD の変形」あるいは「変形 NFD」あたりでしょうかね。他所では「Modified NFD」としてる人もいますね。さて、どうしましょう。


私としては誤った処理による文字化けを起こさない方が重要なので、名称については多数派に従いたいなというのが正直なところです。どなたかキラキラした名前を考えてください。


それか、下手に口出しせず、文字化けしないようひたすら神に祈ろうかな。おっと、Safari ではフォームに「示偏の神: U+FA19」をペーストすると「ネ偏の神: U+795E」に文字化け (笑)

2016/04/13 21:34 Hiro__S への返信

追記: キーボードで入力した文字は正規化処理を施してないので、NFC ではなく合成済みが正解かな。


ーーーーー


あと、折角なんでこれも貼っておきます。


Unicode 正規化の参考資料


UAX #15: Unicode Normalization Forms (Previous Version からで古い版を掘ることができます)

http://www.unicode.org/reports/tr15/


CompositionExclusions-8.0.0.txt (これ結構重要な資料)

http://www.unicode.org/Public/UNIDATA/CompositionExclusions.txt


Unicode正規化とは

http://nomenclator.la.coocan.jp/unicode/normalization.htm

2016/04/14 08:52 chandana への返信

非常に重要な参考文献を追加しておきます。



Technical Note TN1150 HFS Plus Volume Format

http://web.archive.org/web/20111007165707/http://developer.apple.com/library/mac/#technotes/tn/tn1150.html


cf.

Technical Note TN1150 HFS Plus Volume Format

> Unicode Subtleties




Technical Note TN1150 HFS Plus Volume Format (日本語版)

http://web.archive.org/web/20110723135644/http://developer.apple.com/jp/technotes/tn1150.html


cf.

Technical Note TN1150 HFS Plus Volume Format

> Unicode に関する微妙な問題

このスレッドはシステム、またはAppleコミュニティチームによってロックされました。 問題解決の参考になる情報であれば、どの投稿にでも投票いただけます。またコミュニティで他の回答を検索することもできます。

10.10以降のnfc nfd問題

Apple サポートコミュニティへようこそ
Apple ユーザ同士でお使いの製品について助け合うフォーラムです。Apple Account を使ってご参加ください。