2010年7月9日金曜日

検証できねぇ~

座学でwebをウロウロするのも限界がありまして、Unicodeの正規化によるトラブルの解決法らしきものがいくつか見つかったのですが、残念なことに検証できましぇ~ん。

Win環境で作られたデータのファイル名はNFC(合成文字)なのですが、このデータをOS-Xに持ってくるとファイル名を勝手にNFD(分解文字)に書き換えてしまいます。結果、InDesignやIllustratorのリンクファイル名に半濁音、濁音がありますと別ファイルと認識され、リンクが切れてしまい、いちいち再リンクを取らなくてはならんという面倒な作業が発生するのです。

で、NFDに書き換えられたファイル名をNFCに楽に書き換える方法を調べていたら

Mac OS Xのファイルシステムの文字コード

にPerlで
#!/usr/bin/perl
use Text::Iconv;
$char = Text::Iconv->new( 'UTF-8-MAC', 'UTF-8' )->convert( $char );
でやるやり方が紹介されてました。Mac環境で動作するのでしょうか?


もうひとつ
MacでのUTF-8の取り扱いでリンクされてるApple Developer Technical Q&Aに

Q: Unicode 文字列を合成済みの文字の形式に変換する方法はありますか?

に記されてます。
Mac OS X 10.2 では、Unicode 文字列を合成済みの文字の形式に変換する 2 つの API が導入されています。最も簡単なのは、CFStringNormalize です。
[2003 年 2 月 7 日]とありますから随分前から解決法があったんですね(汗

追記:MacからWinに持ってきたデータは濁点リンクリセットがあるんだけど、InDesign CS2だけなんだよなぁ~。もちっと調べるか。。。

にしても、、、いい加減、戻りてぇ~~~!!!

0 件のコメント: