ブログトップ 記事一覧 ログイン 無料ブログ開設

Mac OS Xの文字コード問題に関するメモ このページをアンテナに追加 RSSフィード

2011-03-10

EUC-JPのページにおけるWindows外字がめんどくさいことになっている件


  • EUC-JPのページにおけるWindows外字の扱いが、ややこしいことになっている。まあ、もともと外字なので化けることがあるのは当然とも言えるのだけれど、化け方のバリエーションが豊富で、どういう理屈で化けているのかがわかりにくい。以下、はてなmixiで目に付いた文字化けについて、ざっとまとめてみようと思う。

f:id:NAOI:20110310174342p:image

f:id:NAOI:20110310174446p:image

  • mixiの日記でMac OS XSafariから「﨑」を入力すると、豆腐に化ける。Safariで豆腐に見えているこの字は、Firefoxでは「凬」と表示される(下図)。

f:id:NAOI:20110310174633p:image

  • 前回のエントリで述べたように、SafariにおけるIBM拡張文字の扱いは謎の独自仕様だが、mixiサーバはこれをeucJP-msIBM拡張文字と見なした上でCP51932のNEC選定IBM拡張文字に変換しているようだ(下図)。

f:id:NAOI:20110310174447p:image

f:id:NAOI:20110310174448p:image

f:id:NAOI:20110310174449p:image

  • はてなダイアリーの「その場編集」画面でSafariから「﨑」を入力して「保存」ボタンを押すと豆腐に化けるが、これはFirefoxからは「﨑」に見える(下図)。

f:id:NAOI:20110310174452p:image

  • この場面では、はてなサーバは、Safari独自のIBM拡張文字を理解した上でCP51932のNEC選定IBM拡張文字に変換しているように見える(下図)。(括弧内追記。コメント欄でえむけいさんより『「その場編集」モードで化けないのははてなIBM-eucJPを解釈しているからではなく、ブラウザがUTF-8で送信しているからのようです』とのご指摘がありました)

f:id:NAOI:20110310174451p:image

f:id:NAOI:20110310174450p:image

  • ちょっと前にkoikekaishoさんから「﨑がSafariで豆腐になるんだよね」という話を聞いたのをきっかけとして、検証したりしているうちに話がふくらんでしまったエントリ。結論としては、EUC-JPのページにおけるWindows外字は数値文字参照で表現するのが安全だと思う。

*1PerlのEncodeモジュールについては、twitterで@nalshさんからご教示いただきました(http://twitter.com/nalsh/status/43276900684005376)。ありがとうございます。

2011-02-25

SafariEUC-JPがわからない


  • Safariの「EUC(日本語)」が、わからない。CP51932でもeucJP-msでもないし、JIS X 0208の国際基準版・漢字用8ビット符号でもない。
  • IBM拡張文字の扱いはeucJP-msに似ているのだが、互換性はまったくない(下図)。

f:id:NAOI:20110225133611p:image

f:id:NAOI:20110225133610p:image

f:id:NAOI:20110302152223p:image

  • 補助漢字をサポートしているFirefoxの画面を、比較用に載せておく(下図)。

f:id:NAOI:20110302155237p:image

2010-12-09

Mac OS X 10.5のMailでドコモ発のメール本文が表示されないトラブル


  • 以下の図はいずれも、「メール」を表すiモード絵文字(キャリア外字)と「マジ!?」のデコメ絵文字(添付画像)を含むドコモ発のメッセージ。まず、下図はYahooアカウント宛のメッセージをウェブの「Yahoo!メール」で受信し表示したもの。

f:id:NAOI:20101209160203j:image

f:id:NAOI:20101209170317p:image

  • 下図は、(yahoo以外のアカウントの例として)MobileMeアカウント宛に送ったメッセージをMac OS X 10.6のMailで表示したもの。上と似ているが、この「〓」は、Mailで表示する際に化けているわけではなく、ドコモのサーバで変換済みの文字。

f:id:NAOI:20101209170336p:image

f:id:NAOI:20101209170349p:image

  • とりあえずの対策は「Mac OS X 10.5のMailでyahooアカウントを使っている人は、ドコモから本文なしのメールが届いたらウェブで確認してみましょう」ってことかな。

2010-10-14

InDesign CS5フォントを変えようとすると


  • 2011年4月27日追記。このバグInDesign CS5 7.0.4で修正されたようです。
  • InDesign CS5でaalt属性を持つ文字のフォントを変更しようとすると、ロックされて変更できない、あるいは変更後に化けることがある。このトラブルは、「変更前のフォント」が、モリサワPro、ヒラギノPro/ProNなどの場合に発生する*1
  • 下図はCS4CS5の比較。CS5モリサワPro(またはヒラギノなど)、aaltという条件が重なると、フォントを変更しようとしても、ほとんど場合、ロックされる。下図青字は、フォントの変更の際に(文字化けを防ぐために)異体字属性が調整されているケース。

f:id:NAOI:20101018122340p:image

  • このようなロックは「不要なはずのロック」だが、Cmd+Optionで強制的にフォントを変更(オーバーライド)すると、異体字属性の調整が行われないので、文字化けする可能性がある(下図)。オーバーライドというのは、基本的に「文字化け覚悟の手段」であると考えるべきだろう。

f:id:NAOI:20101018122355p:image

  • InDesign CS5でaalt属性を持つ文字をモリサワProやヒラギノPro/ProNなどから変更しても、ロックされないことが、まれにある。そのような場合は、文字化けする(下図)*2。つまり、ロックされるか化けるか以外に道はない。

f:id:NAOI:20101014162314p:image

  • より複雑な化け方もある。たとえば、リュウミンPr6NからProに変更し、またPr6Nに戻すと化ける、というパターン(下図)*3。こうなると、もう何が何だかわからない。

f:id:NAOI:20101014162333p:image

*1:おそらく変更前のフォントのcmapがUniJIS-UTF32系またはUniJIS2004-UTF32系「以外」の場合に問題が起こるのではないかと思う。つまり、変更前のフォントが小塚なら問題なし。ヒラギノ全滅。モリサワだとProはダメだが、Pr6/Pr6Nならだいじょうぶ。

*2:化ける場合、「変更前のグリフ」を維持すべきなのに、「変更前のグリフの親字のグリフ」を再現してしまうようだ。たぶん「変更前のグリフの親字のグリフ」を変更後のフォントで再現するためになんらかのタグが必要である場合は(そのタグが付いて)文字化けし、そうでない場合はロックされるのではないか。

*3:この例では、最初からリュウミンProで入力した場合は、Pr6Nに変えると、化けるのではなくロックされる。

2010-10-12

InDesign CS4ヒラギノの矢印が文字化け


f:id:NAOI:20101012171147p:image