アカウント名:
パスワード:
GNU libc と XFree86 では、Unicode と JIS X 0208 との変換に、1 文字修正入りの JIS0208.TXT [unicode.org] を使っているようです。その 1 文字修正というのは
0x815F 0x2140 0x005C # REVERSE SOLIDUS
で、これが 0x005C の代わりに U+FF3C FULLWIDTH REVERSE SOLIDUS に置き換えられています。これは、EUC-JP の構成部品として JIS X 0208 を使ったときに ASCII の 0x5c と衝突するのを防ぐためです。
一方、もしフォントに Windows 用のものを使っているとすると、Windows は変換表として CP932 [debian.or.jp] を使っているので、両者の変換表が一致しないところではフォント
GNU libc と XFree86 では、Unicode と JIS X 0208 との変換に、1 文字修正入りの JIS0208.TXT を使っているようです。
方、もしフォントに Windows 用のものを使っているとすると、Windows は変換表として CP932 を使っているので、両者の変換表が一致しないところではフォントがグリフを持っていない可能性があります。
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
犯人はmoriwaka -- Anonymous Coward
Unicode / JIS 変換 (スコア:1)
GNU libc と XFree86 では、Unicode と JIS X 0208 との変換に、1 文字修正入りの JIS0208.TXT [unicode.org] を使っているようです。その 1 文字修正というのは
で、これが 0x005C の代わりに U+FF3C FULLWIDTH REVERSE SOLIDUS に置き換えられています。これは、EUC-JP の構成部品として JIS X 0208 を使ったときに ASCII の 0x5c と衝突するのを防ぐためです。
一方、もしフォントに Windows 用のものを使っているとすると、Windows は変換表として CP932 [debian.or.jp] を使っているので、両者の変換表が一致しないところではフォント
Re:Unicode / JIS 変換 (スコア:1)
JIS0208.TXTって、OBSOLETEにあったんですね。ここまでは見てませんでした。
Qtは変換用テーブルをいくつかある中から指定できるのですが、このあたり、全部調べるのは実は頭が痛いところです。
調査方法さえまだまだ検討しているところなので。
とりあえずは、現状で表示が一番まともなCP932について調べているところですが、
変換テーブルをどれに合わせるのがいいのか、iconv(もしくは他の実装)互換にすべきなのか、いろいろ考えてます。
フォントがグリフを持ってないというのはいろいろ痛い場面もあって、
Xftを使う場合なんてウムラウト付き文字が入ってないフォントとかあると、
Qtはせっかくm17nがマシになってるのに表示されず、意味がなかったりとか。
実はフォントの問題が痛いのは問題が環境依存になること。
特に、修正を頼むTrollTechは国際化、日本語関連の技術力には疑問を持つような場面も少なくないので、
レポートしても向こうで再現できないのでは意味がないですし。
-- Che Che - Bye Bye