更新日2015/08/05 この記事は約 6 分で読めます。

文字印刷されない!その理由と対策方法とは?

画面

画面上では確かに表示されているのに、印刷したりすると、別の文字になってしまったり空白になってしまったりしたことはありませんか?
Excelにはちゃんと打って、しかもちゃんと表示されているのに何故?と思っている方も多いのでは。

実はPCで使われる文字というのは、全てのアプリケーションで共通に使えるとは限らないのです。
今回は、「文字」にまつわるお話をしたいと思います。

PCに表示される文字とは

PCに表示される文字は、「文字コード」によって決められています。

「文字コード」とは、PCが文字を認識するために、それぞれの文字ひとつひとつに割り当てられた番号(住所といってもいいと思います)のことで、これらのコードを割り振られた規格を「エンコード」とよんでいます。

現在日本のPCで一般的に使われているのは規格は「シフトJISコード」と「Unicode」の2種類です。

「シフトJISコード」は日本の経済産業省が規定しているもので、数年ごとに改訂が行われています。

一方の「Unicode」はゼロックス、Microsoft、Apple、HPなど主要IT企業などが参加してつくられたユニコードコンソシアームによって制定された規格で、日本語以外の漢字圏言語や他の欧州圏言語などを網羅しているのが特徴です。

現在リリースされているOSのほとんどはUnicode対応となっていますので、知らず知らずのうちにこちらを使っているユーザーが今は多いのではないでしょうか。

文字一覧表をだしてみる

UnicodeやシフトJISコードについては、文字一覧表を見てみるとよくわかります。

ウィンドウズで標準についているIMEで文字一覧をみてみましょう。

IME

タスクバーの「ツール」からIMEパッドを選びます。

一覧

左に並ぶアイコンの中から、上から2番目、文字一覧を選びます。

文字カテゴリーの下に「Unicode(基本多言語面)」……「シフトJIS」などのフォルダ表示がでます。

Unicode一覧表

Unicodeの場合は、「Unicode(基本多言語面)」をクリックしCJK統合漢字

シフトJIS

シフトJISの場合は「シフトJIS」をクリックし漢字1

をそれぞれとりあえず選びます。

ここでは「北」の字を選択してみます。

すると、右下に表示が出ています。

実はこれが、それぞれの文字に当てはめられているコードで、ご覧の通り、Unicode、JISそれぞれで表記が違っています。

通常、このIMEパッドは、入力したい文字が変換一覧にない場合使用しますが、

手書き

よく使われるのが左アイコンの一番上、手書きの機能ではないでしょうか。

この機能でほぼ足りるとは思いますが、難しい漢字などで見当たらない場合も出てきます。

その場合は上記のUnicodeやJISの表で調べることもできます。

UnicodeとシフトJISの決定的違い

違い

さて、先ほどの「北」の字ですが、「Unicode」では「U+5317」の「住所」が割り振られています。

Unicodeコード位置

左の列に「U+5310」「U+5320」…と並んでいます。

一番上の行には0からA、B、C…と並んでいます。

「U+5317」とは、「U+5310」の行と一番上の「7」がぶつかったところにあるという意味になります。

シフトJIS位置

シフトJISの「0×966B」についても、「0×9660」の行と一番上の「B」がぶつかったところにあるという意味になります。

さて、UnicodeとシフトJISという2つのコードですが、両者の間で決定的な違いは、扱っている文字の数です。

Unicodeの漢字表記の頭についている「CJK」とは「China・Japan・Korea」という漢字文化圏の国を指す表記で、日本で使用されている常用漢字以外にも他の漢字圏で使用されている漢字も網羅されていることになり、その数はJIS系の漢字網羅数を上回っています。

Unicodeしかない

例えば「U+7360」の文字について、シフトJISの方はコードが表示されていません。

すなわち、シフトJISではこの文字はない、ということです。

アプリケーションやフォントにより、使える漢字が異なってくる?

まず結論をいってしまうと、これだけ多彩な文字を扱えるUnicodeですが、全ての漢字を使えるワケではありません。

使用するアプリケーションやフォントが対応していなければ、意図どおりに表示・印刷できません。

Excelでの表示

先ほどの漢字をExcel2010に入力してみました。

B列には使用したフォントを表示してあります。

本来はB列と同じ形の書体にならなければいけないのですが、「MS Pゴシック」と「小塚ゴシックPr6N H」以外は違う書体で表示されています。

すなわち、ここで使用したフォントの中で上記2書体以外はこの漢字に対応していない、ということになります。

ちなみに、今回使用した2010以前のExcelでは、場合によっては漢字そのものが「□」など別のもので表示されることもあります。

一般的にこれらを「文字化け」と呼んでいますが、これらはExcelのみならず他のアプリケーションでも起こりえますし、フォントによって発生の有無も左右されてきます。

印刷されない文字はどう対処すればいいか?

では、このような文字を正確に使いたい場合にどう対処すればよいのでしょうか。

まず一つは、アプリケーションやフォントに関しては、「その時点で販売している最新のもの」を使用すること、です。

最新のものであればあるほど、これらのコードに対応するように開発が行われています。

以前は化けてしまって表示すらできなかった漢字が多かったのですが、だいぶ改善されているようです。

次にあげられるのは、各フォントメーカーが販売している「外字専門フォント」を購入して使うことです。

ただし、これらは必ずしも必要な漢字全てを網羅しているとはいえないうえに、使えるフォントが限られていますので注意が必要です。

それでもどうしても使いたいとなると、最後の手段としては、その文字をつくるしかありません。

外字エディター

Windowsでは、標準で「外字エディター」というものがついています。

Unicode私用領域

シフトJIS外字

これらを使用すると、文字コード表のなかにあらかじめ設定されている外字領域(Unicodeでは「私的領域」、シフトJISでは「外字」)に自分で造った文字をはめ込んで使用することができるようになります。

外字エディター2

ただし、ご覧のように、ヒトマスずつ黒く塗りつぶして文字を作っていくので、慣れないと相当な時間がかかり、複雑な漢字の場合はなおさら困難を伴うことを覚悟しなければなりません。

そこまでできないという方には、外字作成ソフトも市販されています。

TTEdit(True Type用) 8,000円(税抜)

OTEdit(OpenType用) 12,000円(税抜)

いずれも株式会社武蔵システムより発売(http://opentype.jp/

あとは、もしAdobe Illsutratorなどをお持ちなら、似た文字をアウトライン化(文字の輪郭を画像化する処理)して組み合わせて作成、そのあとにJPEGなどの画像として保存し直し、取り込む、という手も使えますので、状況に応じて使い分けるのもいいでしょう。

外字使用時の注意

いずれかの手段で外字を作成した場合、注意しなければならないことがあります。

それは、文字コード表に登録して使えるようになるのは、そのコード表を使用しているPCのみ、ということです。

例えば、Excelで住所録などを作成し、その際に「外字」を使用したとします。

そのExcelを外部の印刷業者などに渡して宛名印字してもらおうとしたら、外字部分に関しては、使えません

あくまでも外字が登録されているのはそのPCのみで(ネットワークで外字を共有しているところの場合はそのネットワーク内のみ)、外の環境には対応していないのです。

仮に業者の方で同じコード上に外字登録などを行っていた場合には、別の文字に置き換わって出力されてしまうという事故もおきかねません。

そのことを知らずにデータを作成する方が多いので、この点は是非とも注意しておきたいと思います。

今回はPCで使用する文字について、「文字コード」を中心にお話しましたが、これについてはもっと深い話がまだまだあります。
今回はあくまで日常業務などで使うときに知っておかねばならない最低限のみに絞ってご紹介してみました。

「文字印刷されない!その理由と対策方法とは?」への4件のコメント

  1. 児玉 隆 より:

    ウィンドウズ10をインストール後,外字の中の1字だけが,文字化けして上手く印刷できません。画面では正常です。PDF化すれば普通に印刷できます。印刷の文字化けは,リコーのレーザープリンタ複合機,キャノンのインクジェット,共に現れます。時間に余裕ができたら対処に取り組みたいと思いますが,もしヒントがあればお願いします。

    1. リコーですが「IPSiO GELJET プリンターには、外字やバーコード フォントを登録することができません。そのため、アプリケーション側で TrueType フォントの展開処理を変更したり、イメージ データに変換して印刷することによって、正しく印刷される可能性があります。」とあります。
      機種名がわかりませんので、上記から判断すると、外字登録をすると印刷出来るようです。

      こちらをご参照されると解決できるかも知れません。
      http://goo.gl/QXt23E

  2. サワジ ヒロシ より:

    ウインドウズ10で外字を作成し、エクセルに文章を入力しましたが、画面上ではその外字文字は表示されていますが、印刷でプリントしようとしても外字部分だけ印刷されません。プリンターはキヤノンMG5530です。対応策がありましたら教えていただければ助かります。

    1. 下記をお試しください。
      プリンタドライバの設定でTrueTypeフォントをプリンタフォントに置き換える設定があります。
      通常TrueTypeフォントを印刷する際は、置き換えない設定に変更する必要がありますので、ご使用のプリンタドライバの説明書、またはヘルプファイルをご確認下さい。
      印刷すると外字部分が抜ける

文字印刷されない!その理由と対策方法とは?へコメントをする

※メールアドレスは公開されません。