[netatalk-ja:0362] Re: OS9でタイプ-50のエラーが出るファイルの文字

HAT hat @ fa2.so-net.ne.jp
2014年 7月 31日 (木) 23:37:44 JST


HATです。
ちょっと状況がわからないのですが...

> netatalk3.1.3でクライアントがOS9で「タイプ-50」のエラーでコピーできない
> ファイルがあります。ダイアログには操作を続けるか、
> 中止するかのボタンがありますが
> 「続ける」をしてもコピーが続かないので、少し困っています。

これはMac OS 9からnetatalk3.1.3へコピーした場合の話ですか。
方向を明示してください。

> ログには以下のように出ています
> Jul 31 17:10:40.832580 afpd[1828] {charcnv.c:1001} (E:Default):
> Conversion failed ( MAC_JAPANESE to CH_UCS2 )
> Jul 31 17:10:40.832675 afpd[1828] {desktop.c:781} (E:AFPDaemon):
> conversion from MAC_JAPANESE to UTF8 for ?X?E?F?[?f????
> ?n?C?t?l?[?V??? failed.

書いてあるとおりで、MacJapaneseからUnicodeへの変換で失敗しています。
これはMacJapaneseとしては不正な文字列を受け取った場合に発生するエラーです。

> 原因のファイルを調べてみると、
> Illustrator8.0のプラグインフォルダにある「テキストフィルタ」内の
> 「スウェーデン語 ハイフネーショ 」と
> 「フィンランド語 ハイフネーショ 」が原因だと分かりました。

スウェーデン語とかフィンランド語の知識がないのでわからないのですが、
スウェーデン語では特殊なルールのハイフンがあるようですね。
https://ja.wikipedia.org/wiki/%E3%82%BD%E3%83%95%E3%83%88%E3%83%8F%E3%82%A4%E3%83%95%E3%83%B3

Unicodeのコード表を調べてみますと...
http://www.unicode.org/Public/UNIDATA/UnicodeData.txt

ハイフン文字がたくさんあります。どれなんでしょうねえ。
002D;HYPHEN-MINUS;Pd;0;ES;;;;;N;;;;;
00AD;SOFT HYPHEN;Cf;0;BN;;;;;N;;;;;
058A;ARMENIAN HYPHEN;Pd;0;ON;;;;;N;;;;;
1400;CANADIAN SYLLABICS HYPHEN;Pd;0;ON;;;;;N;;;;;
1806;MONGOLIAN TODO SOFT HYPHEN;Pd;0;ON;;;;;N;;;;;
2010;HYPHEN;Pd;0;ON;;;;;N;;;;;
2011;NON-BREAKING HYPHEN;Pd;0;ON;<noBreak> 2010;;;;N;;;;;
2027;HYPHENATION POINT;Po;0;ON;;;;;N;;;;;
2043;HYPHEN BULLET;Po;0;ON;;;;;N;;;;;
207B;SUPERSCRIPT MINUS;Sm;0;ES;<super> 2212;;;;N;SUPERSCRIPT HYPHEN-MINUS;;;;
208B;SUBSCRIPT MINUS;Sm;0;ES;<sub> 2212;;;;N;SUBSCRIPT HYPHEN-MINUS;;;;
2E17;DOUBLE OBLIQUE HYPHEN;Pd;0;ON;;;;;N;;;;;
2E1A;HYPHEN WITH DIAERESIS;Pd;0;ON;;;;;N;;;;;
2E40;DOUBLE HYPHEN;Pd;0;ON;;;;;N;;;;;
30A0;KATAKANA-HIRAGANA DOUBLE HYPHEN;Pd;0;ON;;;;;N;;;;;
FE63;SMALL HYPHEN-MINUS;Pd;0;ES;<small> 002D;;;;N;;;;;
FF0D;FULLWIDTH HYPHEN-MINUS;Pd;0;ES;<wide> 002D;;;;N;;;;;
E002D;TAG HYPHEN-MINUS;Cf;0;BN;;;;;N;;;;;


これらのファイル名は、どういう経緯でOS9のファイルシステム上に誕生したのでしょうか。

Mac OS 9上でIllustrator8.0インストールしたときにできたのでしょうか。
それともMac OS Xで作られたHFS+上のファイルをMac OS 9からみたのでしょうか。

状況がよく把握できませんが、日本語版Mac OS 9はHFS+上にMacJapaneseで
扱えないファイル名があった場合の処理に問題があります。
本来ならば、MacJapaneseでない文字があれば、manglingの処理をしなければ
なりませんが、一部の文字でその処理を行わないため、不正のファイル名になり
ます。
このあたりは昔のウチのページで説明しています。web.archive.orgに残っていました。http://web.archive.org/web/20050213092125/http://www003.upp.so-net.ne.jp/hat/netatalk/
このページの「本家Appleのmangleは変」の項を読んでください。
残念ながら肝心な画像ファイルがアーカイブに残ってないので、このメールに
添付しておきます。

> このフォルダには他の言語用のハイフネーション用ファイルもあり
> その場合は文字数の関係で全て表示されています。
> 
> 例:オランダ語 ハイフネーション
> 
> 問題になる2つのファイル名の最後にはスペースのような文字があり
> これを削除すると問題なくコピーできるのですが、
> 逆にこのスペースのような文字を問題のないファイルに付け加えるとエラーに
> な ります。
> 
> どの文字が原因なのか調べたいのですが、うまくいきません。
> 
> DsikCopyでこのフォルダをOSXに持ってくると、以下のようにファイル名自体が
> 文字化けを起こしてしまい、よくわかりません。
> 
> ÉtÉBÉìÉâÉìÉhåÍ ÉnÉCÉtÉlÅ[ÉVÉáÉ
> ÉXÉEÉFÅ[ÉfÉìåÍ ÉnÉCÉtÉlÅ[ÉVÉáÉ
> 
> ちなみにOSX Server 10.4.11でそのファイルをコピーすると
> ファイル名の空白は消えて、文字化けも起こらずコピーができます

これは、何から何へコピーしたのでしょうか。

> DiskCopyでファイルをドラッグ&ドロップすると
> ファイル名の最後にÉとつきます。
> 
> 添付するファイルは、
> aaaaaaa[]というテキストエディッタで作成したファイルと
> 新規[]というミミカキエディットで作成したファイルで
> その中にエラーの元になる文字?をペーストしてあります

何も添付されてないのでわかりまえん。

> 
> この空白はいったい何なのでしょうか?
> また、エラーを回避できないでしょうか?

少なくともMacJapaneseには存在しない文字だと思います。
MacJapaneseに存在しない文字はUnicodeに変換できないので、回避できません。

-- 
HAT


netatalk-ja メーリングリストの案内