トップ «前の日記(2003-11-21) 最新 次の日記(2003-11-27)» 編集

十日日記


2003-11-23

Link hfsplusの夜

kernel 2.4.20でもHFS+(HFS-Plus)ファイルシステムを利用するためのパッチが岡本さんによって紹介されている。日本語ファイル名は化けるが、おかげでHFS+パーティションもマウントできるようになった。この機能は私がLinux/PPCを使いだして以来熱望していたもので、アレキサンダがぜんまいねずみに再会したような気持ちだ。

ところで、日本語ファイルが化けないようにNative Language Supportを使用したパッチを岡本さんは配布されている。このパッチを適用して作成しなおしたモジュールを使用すると、さわるフォルダーによってはデバッガーに落ちてしまう。もう少し詳しく見てみるため、以下ではhfsplus-20030702をhfplus、岡本さんのパッチをあてたものをhfsplus_nlsと簡単に書くこととしよう。

hfsplusではファイル文字列はUTF-8で表示される。日本語名ファイルを含むディレクトリにてhfsplusでls > out.txtしたものを見てみると、たとえば「ヒ??レッシ??センター000907.txt」のようになっている。たしかHFS-Plusでは濁点のカタカナは複数のコードポイントを使って表現すると飯森さんのページで目にしていたから、そのせいだろう。

話の概略としては、hfsplusではHFS+で保存されるUTF-16 NFDをUTF-8 NFDで表示している。これをhfsplus_nlsではEUC-JPに変換するのだが、こちらはNFCを前提としているために一部の文字が変換されない――ということだろう。解決策としては、hfsplusの側で変換テーブルをもたせてUTF-16 NFDからUTF-8 NFCに変換するのが最もよさそうだ。というか、NFDならアクサンつきの文字も複数のコードポイントで表現されているのだから、Macでファイル名に欧文文字を使用した場合にも同じ問題が出てくるはずだ。このあたり、現行のhfsplusは対応しているのだろうか。

もっとも、それでもhfsplus_nlsの動作についてよくわからないところはある。たとえば「ビットシステム000913fax.txt」をlsさせると落ちる。ところが「ビットシステム.txt」だと、lsしても0ファイルと出るものの落ちはしない。もちろん、「システム000913fax.txt」だと正常に表示される。濁点ファイルがあったとしても、必ずしも落ちるわけではない。というより落ちない場合がほとんどだ。なぜ特定のファイル名で落ちてしまうのだろう。

参考にしたページ。「Technote 1150 HFS Plus Volume Format」「使いこなそうユニコード」「[sugj-tech:2864] ではじまるスレッド」「[macosx-jp:09731]ではじまるスレッド」「UTF-8 and Unicode FAQ for Unix/Linux」「Linux UTF8 ML msg00192以降」など。このあたりの話は、Sambaではすでに話題となり、解決されているようだ。

それにしても、ここいらであれこれ悩む時間的損失を考えると、とっととMac OS Xに移行したほうが安くつきそうではある。Mac OS Xだとext2が読めないので躊躇していたのだが、いつのまにかプロジェクトができていて、この点でも問題がなくなりつつある。

Tags: Linux
[]


プロフィール

渡辺 慎太郎(na@10days.org)

分野別表示

Admin | Client | Dev | Excel | Linux | PC | PDA | Web | iPad | web | 家電 | 文具 | | 英語 | 言語 | | 音楽

月別表示

1999|07|
2003|05|06|07|08|09|10|11|12|
2004|01|02|03|04|05|06|07|09|10|11|12|
2005|01|02|03|04|05|06|07|08|09|10|11|12|
2006|01|02|03|04|05|06|07|08|09|10|11|12|
2007|01|02|03|04|05|06|07|08|09|10|11|12|
2008|01|02|03|04|05|06|07|08|09|10|11|12|
2009|01|02|03|04|05|06|07|08|09|10|11|12|
2010|01|02|03|04|05|06|07|08|09|10|11|12|
2011|01|02|03|04|05|06|07|08|09|10|11|12|

最近の記事

雨量情報 dictionary.com Yahoo google Yahoo! 路線情報 東京アメッシュ l-mura l-aka l-momo 目次 r-mura r-aka r-daidai r-kiiro asahi.com nogulabo r-sora r-midori r-midori r-momo