Unicode サポートの活用

Office XP リソース キット/国際環境での導入計画/ 国際環境でのメンテナンス

Office XP は、多国語文字エンコード用の標準規格であるUnicode に基づいています。したがって、Office XP にアップグレードすると、言語を超えてドキュメントを共有することがさらに容易になります。また、Office XP の Unicode サポートでは、それ以前のあらゆるバージョンの Office で作成された多国語ドキュメントを表示できます。

さらに Office XP には、古いアプリケーションとデータをやり取りするために、コード ページ ベースのデータから Unicode への変換、およびその逆変換に必要な変換テーブルが用意されています。Office XP には多数の言語をサポートするためのフォントが用意されているため、複数のスクリプトによるテキストを含む多国語ドキュメントを作成できます。

Office XP は Unicode をサポートしているので、Office 97 ドキュメントから多国語テキストをコピーして Office XP ドキュメントに貼り付けると、そのテキストは正しく表示されます。逆に、Office XP ドキュメントからコピーした多国語テキストは、どの Office 97 アプリケーションで作成したドキュメントにも貼り付けることができます (Access と Outlook を除く)。

Office XP では、ドキュメントのテキストだけでなく、プロパティ、ブックマーク、スタイル名、脚注、およびユーザー情報などでも Unicode がサポートされています。Office XP の Unicode サポートにより、ダイアログ ボックス内でも多国語テキストの編集や表示が行えます。たとえば、[開く]ダイアログ ボックスで、ギリシャ文字の作成者名を使用してファイルを検索することができます。

Outlook 2002 では、メール メッセージの本文で Unicode がサポートされます。しかし、Outlook のデータ ([連絡先]、[仕事]、およびメッセージの[宛先]および[件名]など) では、ユーザーのコード ページで定義された文字しか使用できません。

   Windows NT 4.0 と Windows 2000 では Unicode が完全にサポートされています。Windows 98 では、部分的にサポートされています。

VBA で Unicode 値を使用する

Microsoft VBA (Visual Basic® for Applications) 環境では Unicode がサポートされていません。Visual Basic Editor やカスタム ダイアログ ボックスまたはメッセージ ボックスで使用できるのは、オペレーティング システムでサポートされているテキストだけです。

コード ページにない文字を操作するには、**ChrW()**関数を使用できます。ChrW() 関数は、Unicode 値を表す数値を引数とし、対応する文字列を返します。

ローカル言語によるファイル名の使用

Windows 98 と Windows Millennium Edition (Windows Me) ではファイル名に Unicode 文字を使用できませんが、Windows NT と Windows 2000 では使用できます。Windows 98 と Windows Me の場合、ファイル名に使用できるのは、オペレーティング システムのコード ページに存在する文字だけです。

社内のユーザーが複数言語の Windows でファイルを共有する場合は、どの言語のオペレーティング システムでも使用できるようにするため、ファイル名には ASCII 文字 (アクセントなしの Latin スクリプト) を使用してください。

Office XP では、どのアプリケーションについても (Microsoft FrontPage® と Outlook を除く)、Unicode ファイル名のファイルを開いたり保存したりすることができます。

   Microsoft Excel では Unicode ファイル名のファイルを開いたり保存したりすることができますが、新しいファイルを保存するときに、現在のシステムのコード ページに存在しない文字を名前に使用することはできません。

Unicode テキストの印刷と表示

プリンタによっては、複数のコード ページの文字を印刷できないものがあります。特に、組み込みフォントを使用するプリンタの場合、他のスクリプトの文字は組み込みフォントに含まれていない可能性があります。同様に、ユーロ通貨記号などの新しい文字は、特定のフォントに含まれていないことがあります。

Office アプリケーションには、そのようなプリンタでも印刷を可能にするための多くの解決策が用意されていますが、あらゆるケースに対応できるわけではありません。テキストが正しく印刷されない場合は、プリンタ ドライバを更新することによって問題を解決できることがあります。最新のドライバによっても問題が解決されない場合は、プリンタ ドライバのオプションの中から [ソフト フォントをダウンロードする]や[ TrueType フォントをグラフィックとして印刷する] などのオプションを探します。この設定を変更して、再度印刷してみてください。

それでも正しく印刷できない場合、次のレジストリ エントリを作成することによって、ほとんどのプリンタでの印刷上の問題に対処することができます。ただし、印刷の品質は低下する可能性があります。

レジストリの設定により拡張文字を正しく印刷するには
  1. 次のレジストリ サブキーを探します。

    HKEY_CURRENT_USER¥Software¥Microsoft¥Office¥10.0¥Word¥Options

  2. NoWideTextPrintingという新しいエントリを追加し、値を 1に設定します。

Unicode テキストを含むファイルの圧縮

Office XP のテキストは、Unicode の 1 つの形式である UTF-16 で保存されます。Unicode 文字は 2 バイトでエンコードされます (ごくまれに 4 バイトでエンコードされることもあります)。一方、Unicode 以外のシステムでは、1 バイト、または 1 バイトと 2 バイトの混合 (アジアの言語の一部) でエンコードされます。一般に、多国語テキストの含まれた Office XP ファイルのサイズは、Office 97 や Office 2000 のファイルとそれほど変わりません。しかし、以前のバージョンの非 Unicode 版 Office (Office 95 以前) で作成されたファイルに比べると、30 ~ 50 %程度サイズが大きくなっています。

    ファイルに含まれているテキストが英語または西ヨーロッパ言語だけであれば、Office XP アプリケーションによってテキストが圧縮されるため、ファイル サイズはわずかに増加するだけか、または変わりません。

以前のバージョンの非 Unicode 版 Microsoft Word (Office 2000 より前のバージョン) で作成された英語または西ヨーロッパ言語のファイルを Word 2002 で開いて保存すると、内容が Unicode に変換されます。初めてファイルを保存する時点でファイルが分析されて圧縮可能な領域が記録されるため、ファイルのサイズは一時的に元ファイルの 2 倍になります。次回ファイルを保存する時点では、圧縮が実行され、ファイル サイズは標準に戻ります。

Microsoft PowerPoint® のファイルでは、多くの場合ファイル サイズに対してテキストの占める割合が非常に小さいため、Unicode を使用してもそれほどファイル サイズは増加しません。

多国語テキストのコピー

クリップボードを使用すると、Office アプリケーション間で相互に多国語テキストをコピーできます。RTF、HTML、および Unicode 形式のクリップボードのテキストを、Office アプリケーションに貼り付けることができます。

RTF、HTML、および Unicode の多国語テキスト

Office XP ドキュメントからコピーされたテキストは、RTF、HTML、または Unicode テキスト データとしてクリップボードに保存されます。これによって、アプリケーションで Unicode がサポートされていない場合でも、複数コード ページのデータがサポートされていれば、クリップボード経由で RTF データを受け入れることが可能です。たとえば Word 95 と Word 6.0 は、Word 2002 の多国語テキストを、クリップボード経由で RTF 形式として受け入れます (Word 2000 および Word 97 のテキストも同様)。

どの言語のバージョンの Word 95 と Word 6.0 でも、ほとんどのヨーロッパ言語のテキストを表示できます。しかし、アジアの言語、および右から左へ記述する言語用のバージョンでは、それ以外のアジアの言語または右から左へ記述する他の言語を表示できません。同様に、英語版またはヨーロッパ言語版の Word 6.0 と Word 95 では、アジアの言語または右から左へ記述する言語のテキストを正しく表示できません。

Word 97 はクリップボード経由で RTF および Unicode テキストを受け入れます。また、ヨーロッパのすべての言語およびアジアのほとんどの言語を表示できます。Word 2000 は HTML も受け入れます。また、すべてのアジアの言語および右から左へ記述する言語の内容も正しく処理できます。

Access 2000、Access 2002、Excel 2000、および Excel 2002 では、多国語の Unicode、RTF、HTML テキストをクリップボードにコピーできます。しかし、Access と Excel では RTF の内容が受け入れられません。その代わり、クリップボード経由で HTML 形式のテキストまたは Unicode テキストが受け入れられます。

多国語コード ページ方式の 1 バイト テキスト

ユーザーが、自分のオペレーティング システムとは違うコード ページでエンコードされた 1 バイト (ANSI) テキストを、Office XP ドキュメントに貼り付けることがあるかもしれません。この場合、貼り付け先のアプリケーションによっては、そのテキストが判読不能になることがあります。これは、どのコードページを使って 1 バイト テキストを変換したらよいかを Office が判別できないためです。

たとえば、使用するコード ページをフォントによって指示する、非 Unicode のテキスト エディタからのテキストを貼り付けるとします。テキスト エディタで RTF と 1 バイト テキストだけが提供されると、RTF を受け入れないアプリケーション (Excel など) にテキストを貼り付けたとき、フォント (およびコード ページ)の情報は失われてしまいます。そのため、アプリケーションはオペレーティング システムのコード ページを使用します。その結果、一部の文字のコード ポイントは、予期しない文字や存在しない文字として表示されることになります。

古い多国語ファイルでテキストが破損した場合のトラブルシューティング

古いシステムで作成したファイルを Office XP で正常に開けないことがあります。この問題が発生する原因はいくつか考えられますが、状況ごとに問題を回避するための手順があります。

  • Office 97 より古いドキュメントで、間違った方法で作成された TrueType® フォントが使用されている場合。

    たとえば、Word 95 では正常に表示されていたドキュメントを Word 2002 で開くと、変換結果のドキュメントのテキストは、西ヨーロッパ言語の文字の混合になります。この状況は、Word 95 で使用されていたフォントが内部的には西ヨーロッパ言語とされていて、その結果としてテキスト データが Unicode の西ヨーロッパ言語のテキストに変換されるために発生します。これ以外にも、フォントが関係した同様の問題がいくつかあります。どの場合についても、次の解決策のいずれかを試みることができます。

    • 間違った文字が表示されるフォントを変更する。
    • Office XP に付属のテキストの修復機能を使用する (Word でアドインをインストールし、[ツール] メニューの [壊れたテキストの修復] をクリックする)。
  • 英語版 Windows で中国語などのアジア言語をサポートするために設計された 「シェル」 プログラムによる、Office 97 より前のドキュメントの場合。 

    たとえば、Chinese Star、RichWin、TwinBridge などです。この場合、次の解決策のいずれかを試みてください。

    • Word でドキュメントを開く場合は、Microsoft Office 言語設定ツールの設定を確認して、正しい中国語が有効になっていることを確認する ([スタート] - [プログラム] - [ Microsoft Office ツール] - [ Microsoft Office の言語設定] をクリック)。Word を開始し、[ツール] - [オプション] - [全般]をクリックする。[ Word 6.0/95 文書(英)] オプションの値を適切な値に設定する ([日本語の文字列を含む] など)。
    • PowerPoint で文書を開く場合は、[ツール] - [オプション] - [日本語]をクリックする。オプション [フォントに関連付けたテキストを変換する] で、言語を正しく設定する。
  • ファイルのエンコードが正しく指定されていない HTML ドキュメントの場合。