HFS+のNFD

HFS+のNFD

[1] Mac OS で使われているファイルシステム HFS Plus では、 ファイル名の表記に NFD の変種を使っています。

[21] よく「Mac では NFD を使う」と不正確に説明されますが、 実際には Unicode の本来の NFD とは微妙に違っています。

仕様書

処理モデル

Unicode の版

[24] Unicodeの版によって正規化の挙動は変わります。

[6] Mac OS の 8.1 から MacOS X の 10.2.x までは、 Unicode 2.1 に基づいていました。 Mac OS X の 10.3 からは、 Unicode 3.2 に基づいています。この両者の分解には一部差異があり、 >>4 の表にもその違いの記述があります。 >>3

NFKD との差異

[2] この分解はおおむね NFD で使う正準分解によっているようですが、 U+2000 から U+2FFF にある句読点記号の類は無変換となっています。 これは旧来の Mac OS符号化方式との往復変換の都合と説明されています >>3

[25] >>1 句読点やCJK互換漢字に例外があります。また U+F900 から U+FAFF にあるCJK互換漢字についても無変換となっています。

[26] CJK互換漢字が除外されているので、 NFCNFD のように一部の旧字体新字体文字化けすることがありません。

呼称

[20] UTF-8 と本正規化方式の組み合わせを UTF-8-MAC と呼ぶことがあります。

歴史

[10] Unicode ConsortiumCJK互換漢字以外だけの NFC/NFD の変種が提案されたことがありましたが、 規格化されませんでした。

[13] Unicode::Normalize::Mac - search.cpan.org ( 版) http://search.cpan.org/dist/Encode-UTF8Mac/lib/Unicode/Normalize/Mac.pm

相互運用性

[8] 他のファイル・システムの類では正規化を行わなかったり、 NFC を採用していたりするため、ファイル名レベルでの互換性が無く、 不便であると非難されることがあります。

[9] 日本語の場合、仮名濁点半濁点正準分解され、 他の OS で正しく表示・処理されないことがあります。 濁点問題

メモ

[15] HFS Plus - Wikipedia, the free encyclopedia ( ( 版)) http://en.wikipedia.org/wiki/HFS_Plus

[16] Technical Note TN1150: HFS Plus Volume Format ( ( 版)) https://developer.apple.com/legacy/library/technotes/tn/tn1150.html

[17] UNICODE DECOMPOSITION TABLE ( ( 版)) https://developer.apple.com/legacy/library/technotes/tn/tn1150table.html

[18] ( ( 版)) http://www.unicode.org/review/pr-7.txt

[19] Resolved Public Review Issues ( ( 版)) http://www.unicode.org/review/resolved-pri.html#pri7

[27] HFS+のテキストエンコーディング – ものかの, , https://tama-san.com/hfsplus/