Path: ccsf.homeunix.org!CALA-MUZIK!newsfeed.media.kyoto-u.ac.jp!newshub1.kdd1.nap.home.ne.jp!news.home.ne.jp!news-virt.s-kddi1.home.ne.jp.POSTED!53ab2750!not-for-mail Newsgroups: fj.kanji Subject: Re: Mixi Unicode 文字化け References: <3992273news.pl@rananim.ie.u-ryukyu.ac.jp> Organization: UNIX users From: shirai@unixusers.net (Takashi SHIRAI) Lines: 66 Message-ID: Date: Sun, 14 Aug 2005 12:59:34 GMT NNTP-Posting-Host: 211.135.49.231 X-Complaints-To: abuse@home.ne.jp X-Trace: news-virt.s-kddi1.home.ne.jp 1124024374 211.135.49.231 (Sun, 14 Aug 2005 21:59:34 JST) NNTP-Posting-Date: Sun, 14 Aug 2005 21:59:34 JST Xref: ccsf.homeunix.org fj.kanji:203  しらいです。  fj.kanji なので極力正確な用語を使ってみます。 In article <3992273news.pl@rananim.ie.u-ryukyu.ac.jp>, Shinji KONO wrote: >河野真治 @ 琉球大学情報工学です。 >Mixi って、Mac OS Xの Safari で読んでいると98依存文字(IIとか >ね)はの反転に化けます。IEだと、(藍)になる。Unicode って98 >依存文字含んでいたはずだよな〜 表示できるはずだよな〜 とか思 >ったんだけど、source を見てみると、 > > > >ですか。それじゃぁ、無理だよな。EUC-JP には半角カナもあるの >で、半角カナは化けないです。98依存文字ってMac OS X で入力す >るにはどうすれば良いんだろう?  Windows や PC-98x1 の持っている非 JIS 漢字、即ち JIS X208 に含まれない漢字には、以下の 3 種類があります。(括弧内は所謂 Shift_JIS、正確には Windows-31J での文字コード) a.NEC 特殊文字 (0x8740-0x879c) b.NEC 選定 IBM 拡張文字 (0xed40-0xeefc) c.IBM 拡張文字 (0xfa40-0xfc4b)  PC-98x1 の漢字 ROM には a, b が入っています。c は JIS X208 の定義域の外にあるので、JIS X208 ベースのコード体系である漢 字 ROM には収納出来ません。また、a は PC-9801 の頃は漢字 ROM に入ってません。  漢字 ROM で漢字を表現していた PC-98x1 に対し DOS/V では全 て software で対応してましたので、最初から JIS X208 ベースで はなく Shift_JIS ベースのコード体系で font を持っていました。  なので c のような JIS X208 の定義域を外れたところに拡張文 字を持つことが可能でしたが、この領域は JIS X208 にも EUC-JP にも変換することが出来ません。  で、ローマ数字は a, b, c の全てに存在しますので、河野さん の仰る「98 依存文字」がどれなのか判りませんが、c はそもそも EUC-JP で表現出来ませんので、a か b でしょうね。  EUC-JP と Shift_JIS (又は Windows-J31) と ISO-2022-JP との 間は単純計算で変換出来ますが、Unicode (UCS2 や UTF-8) はこれ らとは全く異なるコード体系なので変換テーブルがないと変換出来 ません。  Mac OS X は UTF-8 ベースなので、API が UTF-8 を要求します。 Safari の内部構造は知りませんが、a や b が正しく表示されない ということは、この領域に対する Unicode 変換テーブルが無いか 壊れているんでしょう。  a の領域は Mac OS では歴史的に「(月)」等の別の記号が割当て られていますので、IE で「(藍)」になるということは多分 a の領 域の「II」なんでしょうね。  この部分の Unicode 変換テーブルは完全に Apple 特殊文字に対 応されているので、どう足掻いても NEC 特殊文字として変換させ ることは出来ないと思います。  なので、既に書かれている文書ではどうしようもありませんが、 これから入力するのであれば b の領域の「II」を使えばいいんじ ゃないでしょうか。  但し、Windows の IME は勝手な正規化を行なってしまい、「II」 のように複数のコードの存在する文字は直接コード入力してもその コードは生成されませんので、場合によっては binary editor が 必要かも知れませんね。 -- しらい たかし