パスワードを忘れた? アカウント作成
14253 story

Windows Vistaの文字セット問題 124

ストーリー by yoosee
日本語処理は本当にややこしい 部門より

yejunkiee 曰く、

文字コード界隈ではよく知られている京都大学の安岡孝一助教授が、 Vistaで化ける字,化けない字 Vistaで化ける字,化けない字(続報)という記事をITProに 書いている。 Windowsでは文字コードにUnicodeを使いながら JIS X 0213を サポートするという方式を取っており、それによって CP932, JIS X 0212, JIS X 0213もみんなまとめてUnicodeで扱うということになっているらしい。 幾つかの文字に関しては字体がXPとVistaでは異なるものが出てきているという ことで、記事ではおそらくその全てを調査しているようだ。 これを見ると、漢字データを扱うアプリの担当者は大変だろうなぁと つくづく思ってしまう。

この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。
  • by Stealth (5277) on 2006年12月26日 10時58分 (#1082540)

    ここでは,本来表示されるべき文字の形が少し違ったものが表示されるケースも“文字化け”として扱う。

    勝手に「文字化け」の意味を拡大解釈した上でタイトルとして使うのはどうなのかと。この記事は XP と Vista では字形が変わるという問題だけ言っていてソリューションを一切説明していない辺りが微妙すぎます。

    わざとなのか知らないのかは知りませんが (おそらく後者)、Vista で採用されている MS 明朝/ゴシック 3.2 は XP や Server 2003 にも提供されます。このため、XP 環境でも Vista と同じ字形での表示は可能となります。

    さらに移行期間中の措置として、XP で採用されている MS 明朝/ゴシック 2.5 を Vista や Longhorn Server へ提供することも決まっています。このため、ソフトウェア側が対応していなくても Vista 側でも JIS90 を普通に表示することが可能です。

    また、OpenType Feature Tag を利用して JIS90 のグリフで表示することも可能とされていますので、MS 明朝/ゴシック 3.2 を入れた後でも (ソフト側でしっかり制御していれば) JIS90 の字形のままということも出来ますし、JIS2000 の字形で表示する事もできます。

    という話は結構前からアナウンスされているので、こうした記事を書く以上はここまでしっかり書いて欲しいのですが。続報には書くかと思っていたのですが、結局書かれていない辺りがなんとも。

    おそらくこの辺りは Windows Update の推奨更新で出てくるのではないかと思いますが、この形で出てきた場合には SUS による一括配布などを利用する事で企業内でも特に問題の無い移行が行えるのではないかと思います。

    文字合成に関しては「同じ扱いをしなければいけない」のは今更過ぎる話だし、MS 明朝/ゴシック 3.2 を入れることで XP 側に字形が存在していないコードポイントにも字形が入るわけで Vista と同じ扱いで構わなくなるだけ。

    問題をわざと大きくしようとしているとしか見えない煽り記事でしょう。

    • 勝手に「文字化け」の意味を拡大解釈した上でタイトルとして使うのはどうなのかと。

      一般ユーザの視点に立っただけでしょう。日経 IT Pro から「そのように書いてほしい」と頼まれた可能性もあるでしょうし。

      この記事は XP と Vista では字形が変わるという問題だけ言っていてソリューションを一切説明していない辺りが微妙すぎます。

      安岡氏の続報には

      文字化けする1054字のうち,純粋に文字コードの問題なのは図6と図9の303字だけで,残り751字(図1〜5,7,8,10,11)は単にフォントの問題だ。つまり,この751字に関しては,XP以前のパソコンでも,フォントを入れ換えればVistaと同じ字形にできる。

      と書いてありますから、「一切説明していない」は言い過ぎでしょう。

      そもそも、日経 IT Pro では『複数の事象を混同しがちなVistaの文字問題 [nikkeibp.co.jp]』という記事を 12/15 時点で提供しており、『Windows Vistaの新文字セットが引き起こすトラブル [nikkeibp.co.jp]』という特番サイトも設置しているわけで、安岡氏が全てを説明する必要はないのです。安岡氏の記事だけを抜き出したタレコミ者と編集者には問題があるかもしれませんが。

      親コメント
    • 勝手に「文字化け」の意味を拡大解釈した上でタイトルとして使うのはどうなのかと。この記事は XP と Vista では字形が変わるという問題だけ言っていてソリューションを一切説明していない辺りが微妙すぎます。

      わざとなのか知らないのかは知りませんが (おそらく後者)、


      あの・・(^^;
      文字コードモヒカン族最右翼の安岡センセが知らない可能性は0.00001%もないと思いますよ。

      さらにいうと、解決策は統一的な解決策はなくて、アプリ依存になってしまうので、
      適当に解決策の1つをあげて読者に間違った安心感を与えてしまうのは余計問題だと思います。

      てゆーか、ここまで親切に問題点を指摘してくれたらアプリ設計の見直しぐらい自分でやれよ。とかオモタ。

      #この人の本の文字コードオタクっぷりはマジで感動するからぜひ読んでみそ。
      親コメント
    • WindowsOS以外についてはどうなるんでしょうか?
      日本語以外の環境で開発され、後に国際化され日本語も扱うようになるアプリケーションについては?
      WindowsOSであっても、日本語版以外の環境に日本語を扱えるように設定するときに問題発生するのかしないのか?
      しっかり制御されていないソフトに付いては今のうちから対応をはじめる必要があるのでは?

      いずれの場合についても大問題になりそうですので、早めに「現状でも面倒な文字化け問題が、今後は更に拡大する」と警鐘を鳴らすことは重要なことだと思いましたが、素人判断ですかね?
      --
      -+- 想像力を超え「創造力」をも凌駕する、それが『妄想力』!! -+-
      親コメント
      • by Stealth (5277) on 2006年12月26日 11時39分 (#1082559)

        WindowsOS以外についてはどうなるんでしょうか?

        Windows 以外の OS は、そもそもメイリオや MS 明朝/ゴシックといったフォントはライセンス上利用できないので、メイリオや MS 明朝/ゴシックフォント固有の話は全く関係ないのではないでしょうか。それぞれの OS 上で利用しているフォントデータが JIS78 しか対応していなければ JIS78 の字形になるでしょう。それだけのことです。

        GTK+ for Win32 などは Windows 固有の部分にこうした辺りの管理を乗せるかもしれませんが、それは Windows 固有部分の話であって Windows 以外の OS の話ではありません。

        日本語以外の環境で開発され、後に国際化され日本語も扱うようになるアプリケーションについては?

        日本語以外の環境で開発されて I18N 化された物に関しては、OpenType Feature Tag はそもそも日本語固有の話ではないですから利用したらいいだけですし、そうしたソフトが JIS90 が表示できなかったりしても、別に何の問題も発生しないかと思います。今まで JIS90 に依存していたとも思えませんから。どうでしょうか。

        WindowsOSであっても、日本語版以外の環境に日本語を扱えるように設定するときに問題発生するのかしないのか?

        日本語版以外の環境で日本語を扱えるようにする場合に問題が発生するのではないかということですが、具体的にどのような問題が発生すると思いますか? 私にはそういった状況が想像できませんが。組み合わせ可能文字って、Unicode 1.0 からの話ですから今更感は全く拭えない話ですし。

        しっかり制御されていないソフトに付いては今のうちから対応をはじめる必要があるのでは?

        しっかり制御する必要があるソフトは今から対応する必要はあるでしょう。そうでしょう。そして、OpenType Feature Tag に対応したフォントは Windows Vista RTM に付いて来ていますし、そうしたソフトを作成しているベンダは MSDN なりでとっくに入手しているでしょう。Windows Vista 対応の Windows SDK も出ていますし、これを Visual Studio 2005 へ組み込んで利用できるようになっていますので、開発環境として不足している点は全くないでしょう。

        元記事は読まれていますか? 非常に重要な問題として警鐘を鳴らすことは確かに大切ですが、元記事では XP 向けに Vista 互換フォントが提供されること、逆に Vista 向けに XP 互換フォントが提供されること、MS 明朝/ゴシック 3.2 でも JIS90 字形が利用できることといった点は全く書かれていません。そうした点を全く説明せずに問題だけ挙げ、解決手段に全く触れていないのが最大の問題です。これじゃ FUD でしょう。

        親コメント
        • by Anonymous Coward on 2006年12月26日 13時35分 (#1082618)

          kamuy氏が指摘しているのは、例えば「Vistaのメモ帳で作成したテキスト(と作成者は思っている)データが、他の環境で作成者の意図どおりに正常に表示できるか」という話だと思います。OpenType Feature Tagというものについて深くは知りませんが、それは前述のようなテキストデータに付与されるものなのでしょうか?

          ほとんどのWebアプリケーションは、最終的にはHTMLで記述された(XMLかもしれないけど)文字情報としてサーバー-クライアント間でデータをやりとりします。サーバー側とクライアント側で全く同じコード体系を使用する場合を除けば、必ず文字コードの変換を行なう必要があります。その際、コードポイントと字形は1対1で対応していないと不具合が発生する場合が多々あります。円マークやWavedashの問題などは典型的でしょう。

          Vistaクライアントが送出する可能性のあるサロゲートペアを使用する文字をきちんとハンドリングできるWebアプリはかなり少数だと思います。「他のOSではメイリオなどのWindows固有のフォントは提供されないのでそもそも問題にならない」というのは、明らかに論点がずれている、もしくは問題を過小評価していると思います。

          親コメント
  • by T.Sawamoto (4142) on 2006年12月26日 15時53分 (#1082689)
    今ちょうど手元にVistaマシンがあるので、CharNextW/CharPrevWが合成文字及びサロゲート・ペアをどう扱うのかを試してみました。
    結果としてはVistaでも従来同様、CharNextW/CharPrevWはサロゲート・ペアを2文字として扱うようです。
    合成文字のほうは複数ワードを1文字として移動してくれます。
    (どちらもWindows2000と同じ動作)

     L"\x30D5\x309A"(合成文字"プ") : 1回で2ワード分移動
     L"\x0075\x0308\x0304"(合成文字"ǖ") : 1回で3ワード分移動
     L"\xD840\xDC0B"(サロゲート・ペア"��") : 1回で1ワード分のみ移動

    てっきりCharNextW/CharPrevWで1文字として扱ってくれると思っていたので、この動作は意外でした。(互換性を考慮したためなのでしょうか?)
    この超基本的なAPIがサロゲート・ペア対応していないとなると、アプリでの対応はあまり期待できなさそうな……。
  • U+10000 以上のサロゲートペア領域についてですが,

    まず,XP では「・」と表示されます. また,別の文字を使えば,同じフォルダ内に「・.txt」「・.txt」と見えるファイルを作成することができます. おそらくはフォントが無い,というだけで,内部の処理は UTF-16 対応しているように見えます.

    あと,2000 では「□□」と表示されます. 1文字として認識されていないようです.

    あと,Vista で U+10000 以上の領域で増えているのは,JIS に収録されている漢字だけではありません. JIS で定義されていない漢字(例えば,吉野家の吉 = 土 + 口,など)もあります. IME では候補には上がってこないようですが,

    • web ページからコピー&ペースト
    • IMEパッドを利用
    で,入力できたりします.
  • by Anonymous Coward on 2006年12月26日 13時06分 (#1082605)
    見ると、字形の変更の多くは、
    JIS規格の例示字形の変更に伴って起こったものでしょうし
    元を正せば、国語審議会が正字と異体字を入れ替えてしまったのが
    原因のような気がします。
  • by Anonymous Coward on 2006年12月26日 10時31分 (#1082517)
    世間的にそうなのか、専門家の間だけで通用する言い方なのか、元記事の筆者だけが使ってるのか知りませんが、ともかくそういう言い方をするんですね。
    • 字体が違うだけなのか字が違うのかという話は非常にびみょーな問題なので、そんな単純に言い切るのはうかつ過ぎます。

      「文字化け」の例として、「辻」という字がありますが、XPではしんにょうの点は1つ、Vistaでは2つだそうです。点2つの辻さんは「自分の名前が正しく表示される」と喜ぶでしょうが、点1つの辻さんは「自分の名前が文字化けする」と怒るでしょうね。

      # 83JISで懲りなかったのかと小一時間........

      親コメント
      • by Anonymous Coward on 2006年12月26日 10時46分 (#1082532)
        気分の問題だけならいいのですが、戸籍に異体字で登録されていて
        預金口座開設時に誤って正字で登録されていると本人確認が出来ないと
        いうことで預金が下ろせないことがあったりします。昔は(といっても数年前)
        そこまで厳しくなかったので解ったはいたのですが放っておいたら
        ついこの間銀行の窓口で変更しないと定期を解約できないと言われてしまいました。
        親コメント
      • えーと、本名に「辻」の字がある立場として、またかよという感想です。
        というのも、自身の戸籍は登録(出生)時は、二点しんにょうの辻だったのですが、数年前に戸籍謄本を取る必要があり確認してみたところ、いつの間にか勝手に一点しんにょうの辻に変えられていました。
        役所に聞いたところ、台帳の電算化に伴い、出来るだけ異字体を排除すべく処理を行ったとのこと。
        変更時に世帯主に「登録字形を変えるがいいか?」という確認の手紙を出して、変えるなという返事が来た人以外を変更していったとのことです。
        #言われてみれば(変更されたとされる)当時は扶養家族の身でした。

        で、今は一点しんにょうの「辻」を使っていますが、これがVistaに乗り換えると今まで書いた文書を表示・プリントさせると勝手に二点しんにょうになるわけです。
        それを役所に持っていっても、今度は受理されないということになります。

        このように字形の問題は繊細かつ、その字を使っていない人が考える以上の問題になります。
        他のコメントツリーにあるように、銀行口座の登録とか住民基本台帳とか、対応部署は結構頭の痛い問題でしょう。
        個人的には「読めりゃいいじゃん」と思うんですがねえ…。

        あーそうそう、字体が変わると画数も変わるんで、占い好きな方々にとっては大問題ですね。:-p
        #姓名判断したら、一点と二点で正反対の結果が出たのでID
        親コメント
      • by Anonymous Coward on 2006年12月26日 10時41分 (#1082524)
        > 点1つの辻さんは「自分の名前が文字化けする」と怒るでしょうね。

        それを「文字化けする」って言わないんじゃないでしょうか?

        点1つの辻さんは「自分の名前の漢字が出てこない」というのではないかな。
        親コメント
    • by sinn (8383) on 2006年12月26日 10時41分 (#1082523) ホームページ
      世間的にどうかとか専門家がどうとかいう話なのかな?
      記事の一番最初に「ここでは,本来表示されるべき文字の形が少し違ったものが表示されるケースも“文字化け”として扱う。」と書いてあるのですから、記事中だけの話でしょう。

      親コメント
    • by TarZ (28055) on 2006年12月26日 10時44分 (#1082528) 日記
      続報の方で、「ここでは本来表示されるべき文字の形が少し違ったものが
      表示されるケースも“文字化け”として扱う」と補足されてはいますが、
      これを「文字が化ける」というのは誤解を招きそうな。
      (コンピュータ業界で「文字化け」というのは、今回のとは別の事象を指す
      ことが多いですから)

      普通に、「字体が変わる」ではいけなかったんですかね。
      親コメント
    • by Anonymous Coward on 2006年12月26日 11時51分 (#1082569)
      印刷業界だと字体が変わるのを文字化けということがあります。
      #もちろん印刷会社にもよると思いますが。
      親コメント
  • 「フォント間の字体の違い」の問題と「最新のJISとMSのSJISに収録された文字の違い」の問題と「XPではUnicodeのサロゲートペアが扱えない」問題が立て続けに扱われているので、読みにくいですね。

    特に「フォント間の字体の違い」を「文字化け」と評するのは、どうかと。

    --
    # For man might be free./人は自由になれるかもしれないから。
  • by nInfo (14824) on 2006年12月26日 13時44分 (#1082625)
    Mac OS Xではずっと前に実装済みで、ある程度は問題を解決していること。
    >アップルは「Mac OS X」で「Shift_JIS X 0213」に対応しています。
    >Windows Vistaでもファイルの入出力ぐらいは「Shift_JIS-2004」
    >をサポートしてくれても良かったのではないかと思っています。
    VistaでUnicode以外の選択肢はなかったのか?──京大の安岡助教授が語る [nikkeibp.co.jp]
    • by Anonymous Coward on 2006年12月26日 15時28分 (#1082673)
      ただね、MacがWindwos並みに企業に食い込んでいたら十分に問題になった話ではありますが。

      まあ、どっかでやっちゃうしかないんですけど、こういうのって下手に互換性云々とか言わないでエイ、ヤーで変えたほうが実はダメージが少なくなるもんなんだよね。

      親コメント
  • by Anonymous Coward on 2006年12月26日 10時45分 (#1082530)
    字形が変わるというのはある意味、フォントの問題に過ぎないわけで、
    これまでも標準以外のフォントを使えば同様の問題は起きる可能性があった。
    またデータ(文字コード)が勝手に改竄されない限りは、
    乱暴に言えば表示上の問題でしかなかった。

    自分もまだ大まかな話しか聞いていないけれど、Vista への移行ではこれに加えて、
    サポートするコード空間の拡張があって、
    例えば Web アプリ等で Vista から文字入力を受け付ける際、
    うまく処理できなくなる可能性もあると聞いている。

    またローカルで動作するアプリに関しても、
    例えばこれまでも、内部で SJis しか扱えないアプリに
    補助漢字を入力できないなんて問題があったのだけれど、
    同じような問題が再度起こる可能性もあるようだ。

    何にせよまだリリース版の Vista を触った人間は限られているし、
    βを含めてもあらゆるアプリのあらゆる機能が試されたとはとても言えないだろう。
    その上俺の得た情報も伝聞の伝聞、何が起こるかびくびくしつつ、
    どんなレイヤーでどんな問題が起こり得るのか、できるだけ整理したいとは考えるのが今は精一杯。
    • # どこにつけようかと迷いましたが参考話程度なのでここに。

      Vistaの正式版を評価利用中ですが、追加された文字をVistaのMS-IMEで入力しようとすると、
      環境依存文字(Unicode)と変換候補リストに表示されます。

      以下の文字が新規追加文字です。
      (MS-IMEいわく"デザイン差"の文字)
      俱 剝 
      親コメント
      • ・・三つめの文字でぶっちぎれたー!!!

        続き。

        これらが通常の字体です。
        倶 剥 叱 呑 嘘 妍 屏 并 痩 繋

        たとえば、倶楽部(くらぶ)と変換しようとすると、環境依存字体の「倶」を含んだ変換候補も表示されるといった具合。

        話は変わり、Webアプリの分野。
        ASP.NETであれば、ValidateRequest="true"の場合、これらの文字をPOSTすると例外が戻されます。
        How To: ASP.NET でクロスサイト スクリプトを防止する方法 [microsoft.com]
        もちろん、.Netのこのチェックのみでは漏れがあるので、Webアプリ独自のチェックと併用している場合が多いでしょう。
        ただ、ValidateRequest="false"にして、独自のチェックのみを行っている場合は要注意でしょうか。
        Webアプリといっても他のシステムとの連携もあるでしょうから難しいところですね。

        #Insert前のフィルタリングで「叱」の別字体以降がちょん切られたのかな。
        #プレビューの段階では表示されていたのですが。
        親コメント
  • 字形の問題であれば、WindowsXP互換フォントのようなものを用意できれば解決できそうだけど。

    #すんません。よく分かってません。
    • by TarZ (28055) on 2006年12月26日 11時01分 (#1082542) 日記
      互換フォントは提供されます。ただし、あくまで暫定措置としてです。
      問題は先延ばしにされますが、いつかは移行しなければならないことに
      かわりはありません。

      Impress PC Watch [impress.co.jp]
      また、JIS2004への移行支援として、JIS2004の内容を含む旧JIS90互換MS書体(MSゴシック体、MS明朝体)をWindows Vistaに提供。
      Microsoftのダウンロードセンターから入手して、字体を旧版にしたい
      全てのクライアントにインストールしないといけないので、それなりに
      大変な作業になります。
      個人ならPC 1台に入れればいいでしょうけど、役所などでは混乱必至。
      親コメント
      • そこで文章を切ってしまうとそういう形に見えますが……。

        また、JIS2004への移行支援として、JIS2004の内容を含む旧JIS90互換MS書体(MSゴシック体、MS明朝体)をWindows Vistaに提供。また、Windows XP/Server 2003/VistaにはJIS2004MS書体をWindows Updateにて提供することでサポートし、徐々に移行を進めていくと語った。

        「Windows Vista に提供」は 「Vista に組み込まれて出荷される」に置き換えて読むとわかりやすくなるかと思いますが、その後の提供は Windows Update 経由ですよ。

        親コメント
  • でも新しい用語が乱立すると混乱するので、今まで使ってた言葉を拡大解釈して使うのはやむを得ないのでは。
    XPでも同じフォントを使えるようになる、とのことですがそれでは話が逆。
    今まで使ってたものを使えるようにするのが筋だと思うのですが。

    >漢字データを扱うアプリの担当者は大変
    データ(文字コード)が変更になるわけではないので・・。
    「既存のシステムで拡張になった部分も対応できるようにしろ」という話ならともかく、アプリではなくWindowsでのアプリ一般の見た目の話なのでは。
    名称や住所を特に重要に扱うアプリ(DTP関係 DM業者)なら大変かもしれませんが。
  • by Anonymous Coward on 2006年12月26日 11時32分 (#1082556)

    Windows上で漢字を扱うシステムとしては、おそらく国内最大規模であろう住基ネットでは問題出ないのかな?

    ほら貝の情報 [horagai.com]によると、住基ネットはXKP [xkp.or.jp]や専用の文字コード/フォントを使ってるみたいだけど、そのあたりのアーキテクチャはVistaと整合性取れてるの?

  • by Anonymous Coward on 2006年12月26日 12時32分 (#1082589)
    ざっと見た感じ、ちといい加減な作りというかいい加減というか
    もう少し準備をしてから公表すべきではないかと思います。

    #ユーザーテストといえばいつものユーザーテストでしょうけど。
    #早々こんな [excite.co.jp]話も出てますがいつものことと言えばいつもの事ですけど
  • 企業内で文書やメールをやり取りするようなケースでは、こーいう細かいところでクレームがあがってきたりして、サポート部署は大変ですよね...

    ざっとみるかぎり
    a. Vistaとそれ以前で多少形がかわる文字
    b. Vistaでは表示されるが、それ以前の環境では表示されない文字
    の2パターンで、「XP以前の環境では表示されるがVistaでは表示されない」というパターンはないようですね。

    a. はすっとぼけていればよさそうですが;-) b.は案外問題になるかもしれません。
    「xx部から来たメールが読めない!」
    とかいうユーザが来て、しらべたらxx部ではVistaだったりとか...

    対策としては、Vista側で互換性のあるフォントをつかう(ってか、それしか使用NG)ってことでいいのかな。
    • by Rodin (28411) on 2006年12月26日 21時19分 (#1082925)
      外字エディタで初めて作成した文字は「眞頁」です。
      「顛」末書で出したら上司に怒られました。

      メール以外でも半角カタカナや機種依存文字を使うな!と注意する
      人の多いこと・・・ウチもお客もWindowsしか使わんでしょーが。

      ドライバの標準設定で、MS明朝/MSゴシックを独自の置換フォントで
      印刷するプリンタが結構あります。
      この機能により丸囲み数字すら印字できなくなる機種もありました。

      VB6.0以前で作成したソフトでは(シフト)JISコード割当のない文字を
      使用できず、変換しても「?」になります。
      「WordやExcelで使える文字がなぜ使えない!」って言われてもねぇ。

      と、このようにフォントや文字コードは苦い思い出が多いです。
      その度に外字エディタによる力技で解決してきましたが、3番目の
      置換フォントが設定で回避できると知ったときはもうガックリ。
      --
      匠気だけでは商機なく、正気なだけでは勝機なし。
      親コメント
  • by Stealth (5277) on 2006年12月26日 14時59分 (#1082661)

    Microsoft のサイトで参考となりそうな文書 [microsoft.com]を見つけたので置いておきます。

    上記のところにおいてある PDF のタイムスタンプ的には 11/28 なのですが、JIS2004対応について [msdn.com]の blog エントリ自体は 12/18 だったりします。

    このストーリーを読む上では重要な文書に思えます。

    しかし、この文書を良く見てみると MS 明朝/ゴシックが Ver 2.3 → Ver 5.0 になってるのですが、バージョン飛びすぎ。

typodupeerror

海軍に入るくらいなら海賊になった方がいい -- Steven Paul Jobs

読み込み中...