マイクロソフトの罠

2017年3月 4日 (土)

PowerPoint で貼り付けると勝手に中国語フォントになる

パワーポイント2003の頃から伝統的に放置されているバグ。2016にアップグレードしたのに残っていた。マイクロソフトは日本語ユーザーをどれほどバカにしているのか。
あれこれ調べてもいい対策が無かったので、自分で試して見つけた対策を綴っておく。
Windows版の話で、Mac OS版は使っていないので分からない。

■ 現象

書式情報を持たない文字を貼り付け(ペースト)すると、既定のフォントではなく、中国語のフォント「PMingLiU」や「SimSun」に勝手になってしまう。
書式情報を持たない文字とは、メモ帳やExcelの数式バー(上の方にあるセルの内容を入力するボックス)からコピーしたり切り取った文字。

■ 発生条件

漢字のみ6文字以上。ただし、日本特有の漢字を含んでいると発生しない場合がある。
なので、

  • 5文字以下では発生しない
  • ひらがな、カタカナが含まれていれば発生しない
  • 日本語特有の漢字(国、画、湾、化、学など)を含んでいると発生しない場合がある(含んでいても発生する場合がある)
  • ExcelのセルやWord からコピーまたは切り取りした文字には、フォントやサイズ、色などの書式情報が付いているので発生しない
  • Windowsのコントロールパネルから、中国語フォントを無効にしていても発生する(Windowsに標準で用意してあるシステムフォントは、削除はでず無効にするしか許されない)。
  • Officeの設定、ファイルタブ > オプション > 言語 > 編集言語の選択に、中国語が無くても発生する

■ 回避方法 (Microsoft Office PowerPoint 2016 の場合)

  1. デザインタブに切り替え
  2. 右のほうにあるバリエーションの右端の下向き▼「その他」を選択
  3. フォントを選択
  4. フォントパターンの一覧から、既定のフォントにしたいフォントパターンを選択
  5. フォント一覧が閉じてしまったら、再度バリエーションの右端の下向き▼からフォント一覧を開く
  6. フォント一覧のいちばん下にある「フォントのカスタマイズ」を選択
  7. 開いた設定ダイアログ(小窓のポップアップウィンドウ)の「保存」を選択して閉じる
    ※設定内容の変更は不要
  8. フォント一覧が閉じてしまったら、再び、バリエーションの右端の下向き▼からフォント一覧を開く
  9. 「ユーザー定義」という見出しの下に「ユーザー定義○」(○は数字)というパターン(設定)が作成されているので、それを選択して適用する

■ 回避方法 (2007 の場合)

  1. デザインタブに切り替え
  2. 右のほうにあるフォント(テーマのフォント)を選択
  3. 新しいテーマのフォント パターンの作成(C)を選択
  4. 保存(S)を選択
  5. 「ユーザー定義○」(○は数字)という設定が作成されているので、それを選択して適用する

■ その他、注意点など

  • フォント一覧の見出し「Office」の下にあるフォント(組み込みフォントパターン)なら全部「勝手に中国語フォント問題」が発生するようだ
  • ユーザー定義のフォントパターンを適用して文字を貼り付けて問題なかったとしても、テーマのフォントパターンを「Office」の下にある組み込みフォントパターンに切り替えると、全て中国語フォントに化けて「勝手に中国語フォント問題」が再び発生(ゾンビのように…ではなくキョンシーのように)
  • ユーザー定義のフォントパターンを指定したテーマを保存して、「既定のテーマ」に指定できるが、「既定のテーマ」とは新規作成した時に自動的に適用されるテーマという意味ではないので、新規作成するたびにテーマを指定する必要がある

フォント以外にも、画面比率(16:9ワイド)などを使いやすい設定に変更したファイルを作っておき、「名前を付けて保存」したほうが新規作成するよりよさそう。

この解決方法で未確認なのは、学校や会社などでファイルをやり取りした場合にどうなるか。
ファイルの作成者と受け取り者との間で、インストールしてあるフォントの違い、ユーザー定義のフォントパターンの違いがあったらどうなるかは確認できていない。

■ 蛇足

マイクロソフトのサポート情報に下記のような項目がある。

PowerPoint 2010 プレゼンテーションで日本語の漢字が日本語テキストではなく中国語テキストとして表示される

しかし、解決方法というのは、「自動言語検出機能が原因なので無効にする」というもので、「自動言語検出機能」のバグを修正するものではない。
テキストの貼り付けを、「Officeの既定のフォント」「Officeの編集言語」「Windowsの有効なフォント」「Windowsの表示言語」に従えば全く問題ないのに、「自動言語検出機能」が働くと「Officeの既定のフォントではない」「Officeの編集言語ではない」「Windowsの有効なフォントではない」「Windowsの表示言語ではない」言語・フォントになってしまう。
「それが仕様だ、バグではない」という説明にユーザーが納得すると考えているようだ。

PowerPoint 2010の解決方法の内容は、「レジストリ キーを変更」するもので、キーの中に「Office 2010」のバージョンを指す「14.0」がある。それなら、他のバージョンも同様の方法で対応できる可能性がある。
だからといって、憶測でレジストリキーを編集するようなバカな真似はできない。Officeの不具合を解決しようとしたらWindowsに不具合が発生するなんてことになりかねない。

製品名バージョン番号
Office 2003 11
Office 2007 12
Office 2010 14 (不吉な13は避けられた)
Office 2013 15
Office 2016 16

他に、外字が中国語フォントになってしまうトラブルの解決方法に、中国語フォントファイルの拡張子を変えて、Windowsに認識させなくするという強引な方法もあるが現実的ではない。

Windows Vista 上の 2007 Office プログラムまたは Office 2003 プログラムで外字 (EUDC) が中国語フォント MingLiU_HKSCS の文字に置き換えられる

マイクロソフトの罠

世の中には、マイクロソフト製品(ウィンドウズやオフィスやインターネット・エクスプローラー)に苦しめられ、恨みや怨念を抱いている人がいる。
WEBエンジニアや、WEBデザイナーにとって「IE対策」が不要だったら、どんなに労働生産性が高いだろうか。IEのク○ッ。

マイクロソフトの企業理念、ポリシー、流儀は、「バグなんて無くせるわけがない」「無くせないなら放っておいたまま、さっさと発売した方が儲かる」「バグなんて気が向いた時に、気が向いたものだけアップデートで対応すればいい」「アップデートやアップグレードに不具合があってユーザーに不利益があっても、そんなの知ったこっちゃない」「だってバグなんて無くせないんだから」だそうだ。マイクロソフトの元社員が、そんな本を出して儲けている。

そんなマイクロソフト製品への愚痴を綴るカテゴリー。