• 締切済み

vistaのjis2004の文字化け

windows vistaでは、jis2004が採用になり、大きく以下の3つの変更があったと思います。  (1)字形変更  (2)文字追加  (3)4バイトコードの追加 (1)字形変更では、フォントの変更だけなので影響がないと認識していましたが、send mail(linux)を使用し(1)字形変更の文字(例えば鴎外)等を入力し、vistaから、メールを送ると文字化けが発生し、「鷗外」と表示されます。 メーラから見ると「偀翌」などとまったく違う文字が表示されます。 こういった文字化けは、なぜ発生するのでしょうか?また、解決策等がありましたら教えて下さい。 (vistaのメーラからXPのメーラに送信した場合は、上記文字化けは発生しません。)

みんなの回答

  • garamond
  • ベストアンサー率53% (1119/2111)
回答No.3

字形が変更されたのは、Unicodeで一つのコードしか与えられていなかったものです。 「葛」「祇」「卿」などは、JIS X 0208 の字体を JIS X 0213:2004 の字体で置き換えました。 したがって、VistaのMS書体ではXPまでのMS書体で使えた「葛」「祇」「卿」は使えなくなったのです。 これに対し、ここでは表示できませんが、「區鳥」はJIS第一・第二水準には含まれていませんでしたが、Unicodeでは別のコードに定義されていて、ワープロソフトで「変換」はできなくても、入力して表示・印刷することはできたのです。 ここで「鴎」を表外漢字字体表によって「區鳥」で置き換えてしまうと、全く同じ字が別々のコードで重複して存在することになります。 シフトJISでIBM拡張文字、たとえば“ハシゴ高”が#EEE0と#FBFCに重複しても、一方を入力すると自動的にコードが他方に置換されるようになっている場合は別ですが、別コードに同字体が併存したのでは、検索も両方で行わないと欠落が生じます。 またユーザーが「區鳥」を選択する方途が保障され、ないしIMEの変換辞書がそれをサポートするということがあれば、「鴎」を抹殺しないで“放置”してもよいということになります。 ただしその結果、「區鳥」が機種依存文字であることはこれまでと変わりないということになります。

  • tabide
  • ベストアンサー率44% (148/331)
回答No.2

#1です。 > しかも、XP側では、両方のコードとも同一の字形に割り当てられているということですよね?(「辻」はXPでは、両コードとも一点しんにょうに割り当てられている) いえ。「辻」はXP、Vistaとも、 Unicode: U+8FBB Shift_JIS: 92D2 の一つだけです。「辻」に限らず、しんにょうが1点か2点かは、完全に実装フォントに依存します(この程度の差異は、文字コードでは元々、原則として区別しません)。 今回、VistaはJIS X 0213:2004の例示字形(表外漢字字体表に合わせたもの)に合わせて標準フォントの字形を一括変更したため、「字形変更」と言われているに過ぎません。 一方、XP以前でもU+9D0Eは[区鳥]、U+9DD7は[區鳥]の字体で表示されます。「メモ帳」や「MS Word」等のUnicodeアプリケーションでご確認ください。 > 「[イ英]翌」 これは私にも全く分かりません。どうも二重、三重に「コード化け」しているようで、私にも追跡できませんでした。 # [イ英]はJIS第1・第2水準に含まれていない「機種依存文字」です。OKWaveでは入力時に弾かれました。

hahihuke
質問者

お礼

なるほど、実装フォントで、対応しているのですね。

  • tabide
  • ベストアンサー率44% (148/331)
回答No.1

Linux側の仕様は存じませんが、「字形変更」について少し誤解があるようですので一言。 今回のVistaにおける「字形変更」とは、「辻」の「1点しんにょう→2点しんにょう」や、「噌」の「ソ→ハ」など、点画の微細な変更のことを指します。 Unicodeでは、[区鳥]はU+9D0E、[區鳥]はU+9DD7で、そもそもコードが異なります。また、[區鳥]は既にXPにも実装されています(Unicodeアプリでしか使えませんが。これはVistaでも同様)。 Linux絡みで動作が「おかしく」なるのは、[區鳥]がJIS X 0208非収録字(厳密には「非収録」とはいえないのですが、現実の実装では……ということ)であるため、Linux側で対応できていないからでしょう。

hahihuke
質問者

補足

なるほど、そもそもコードが違うのですね。 しかも、XP側では、両方のコードとも同一の字形に割り当てられているということですよね?(「辻」はXPでは、両コードとも一点しんにょうに割り当てられている) しかし、Linuxで、「鷗外」と表示される理由はわかりましたが、XPで参照した場合、なぜ「偀翌」と表示されるのでしょうか? 「鷗外」をXPで見れば、「鴎外」と表示されるのではないのですか?

関連するQ&A

専門家に質問してみよう