Re: Mixi Unicode 文字化け
しらいです。
fj.kanji なので極力正確な用語を使ってみます。
In article <3992273news.pl@rananim.ie.u-ryukyu.ac.jp>,
Shinji KONO <kono@ie.u-ryukyu.ac.jp> wrote:
>河野真治 @ 琉球大学情報工学です。
>Mixi って、Mac OS Xの Safari で読んでいると98依存文字(IIとか
>ね)は<?>の反転に化けます。IEだと、(藍)になる。Unicode って98
>依存文字含んでいたはずだよな〜 表示できるはずだよな〜 とか思
>ったんだけど、source を見てみると、
>
> <meta http-equiv="content-type" content="text/html; charset=EUC-JP">
>
>ですか。それじゃぁ、無理だよな。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 が
必要かも知れませんね。
--
しらい たかし
Fnews-brouse 1.9(20180406) -- by Mizuno, MWE <mwe@ccsf.jp>
GnuPG Key ID = ECC8A735
GnuPG Key fingerprint = 9BE6 B9E9 55A5 A499 CD51 946E 9BDC 7870 ECC8 A735