フォント埋め込みを使いこなし、デジタル文書作成術をワンランクアップしよう!

更新日:

PDFからテキストを取り出したいときに使えるテクニック

このページの目的

PDF配布で次のような失敗をしたことはありませんか?

  • 客先にPDFを送ったら文字化けしていると叱られた
  • PDFをスマホで表示したら文字がまったく表示されない
  • Microsoft OfficeでPDF保存したら、文字のコピーや検索ができないPDFになった

こんな失敗をしないように、フォント埋め込みについて理解し、その使いこなし術を学びましょう。

ここでは、Office文書へのフォント埋め込みと、PDFへのフォント埋め込みについて調べ、それぞれの問題点や解決策、またフォント埋め込みのメリットとデメリットについて解説します。

この記事は、2023年10月10日に行われた「ちょっと一息・アンテナハウスウェビナー」の内容をもとに、Webページとして適切にするように変更を加えたものです。ウェビナーの録画はYouTubeのアンテナハウスPDFチャンネルで公開されています。次からご視聴いただけます。

フォント埋め込みを使いこなし、デジタル文書作成術をワンランクアップしよう!

広く配布するデジタル文書の制作において、フォント埋め込みを理解して使いこなすのは重要です。

本ウェビナーでは、フォント埋め込みとはどのようなことか、フォントを埋め込むことでどんなメリットがあるのかということを、基本的な事柄から説明します。

フォントの基礎知識

フォントとはなにか? 

コンピュータ内部では文字(テキスト)を扱うときは文字コードという文字の種類に対して与えた番号として扱います。一方、文字を画面に表示・印刷するときには、文字の表示形(字形)が必要です。文字の表示形を「グリフ」と言います。

現在のフォントでは、字形の輪郭を曲線で表し、曲線に囲まれた内部を塗りつぶすデータとして表現される方式が主流です。これをアウトラインフォントと言います。フォントは一定の書体で用意されたアウトラインと関連データをファイルとして用意したものです。

フォントファイルの形式

アウトラインフォントの形式として、初期には、AdobeのType1フォント(Postscriptアウトライン形式)と、その対抗としてMicrosoftとAppleが開発したTrueTypeフォント(TrueTypeアウトライン形式)が普及しました。この二つの主な相違はアウトライン曲線の種類の違いになります。

その後、AdobeとMicrosoftはOpenTypeフォントファイル形式を共同開発しました。これはType1フォントまたはTrueTypeフォントのデータに加えて、高度な組版を行うためのフィーチャテーブルなどのデータをセットにしたものです。

初期のType1フォントやTrueTypeフォントに対して、OpenTypeフォーマットとして提供されるType1フォント・TrueTypeフォントはいわば第2世代と言えます。例えば、Adobeは第1世代のType1フォントの販売・サポートを既に終了しており、現在、Type1フォントといわれるものはOpenTypeフォントファイル形式(ファイルの拡張子:OTF、以下、本記事ではTYPE1.OTFといいます)で提供されています。

一方、TrueTypeフォントを含むOpenTypeフォントファイルの拡張子はTTF、TTCとなっています。これもTrueTypeフォントと呼んでいます。

(参考)さまざまなフォントについての概要(改訂版)

フォントの入手方法

フォントの入手方法は、Windows、iOS、AndroidなどのOSと共に提供されるフォント、フォントメーカーが販売しているフォント、無料フォントに分けられます。

MicrosoftはWindows用のフォントを多種類開発して提供しています。MicrosoftのフォントはWindowsにバンドルされているため、Linuxなどの他のOS環境に同一のフォントを用意するのがライセンスの関係上、難しいという問題があります。

有償フォントの提供元としては、ご承知のとおり、Adobeやモリサワのようなフォントベンダーが多数あります。

この他無償のフォントもいろいろあります。次はその一部です。

フォントはどこにあるか? 

フォントは通常はOSの配下、WindowsではWindows/fontsフォルダにあります。スマホだとiOSやAndroid OSの管理下にあり、OS上にインストールした文書作成アプリや表示アプリから使えるようになっています。

通常は文書ファイルにはフォントが含まれません。

Office文書におけるフォント埋め込み

Microsoft Officeでは文書作成時には、OfficeがインストールされているWindows環境で使えるフォントの一覧の中から、文字列(テキスト)に対して指定するフォントを選択します。

代替フォントによるレイアウト崩れ

Office文書ファイルを別のWindows環境にコピーして編集するとき、作成したときに指定したフォントが使えないことがあります。

そのようなときは、代替フォントが使われます。代替フォントは、システム上にあるフォントの中からアプリケーションが選択します。代替フォントが使われると文字の字形が変わるほか、フォントのメトリックス(寸法パラメータ)が異なると、テキスト配置も変わってしまいます。

次にWordの文書の例を示します。

3つのブロックに3種類のモリサワフォント(上から順に①AP-OTF 新ゴ Pr6N R (TYPE1.OTF)、②A-OTF 見出ミンMA31 Pr6N MA31 (TYPE1.OTF)、③ヒラギノUD丸ゴ StdN W6(TYPE1.OTF))が指定された文書を異なる環境で表示します。

左は、モリサワフォントがインストールされているWindows環境のWordで作成したもの、右は、同じWord文書を、モリサワフォントがインストールされていないWindows環境のWordで読み込んで表示したものです。

代替フォントによるレイアウトの比較

モリサワフォントのない環境でWordで文書を表示すると代替フォントが使われます。その結果、最初の二つのブロックは、行送りが狭くなっていて、レイアウトが大幅に崩れてしまっていることがわかります。文字のウェイトも変わり、一見すると同一の文書とは思えないほど異なっています。

Office文書へのフォント埋め込み

Microsoft Officeには、文書を保存するときにフォントを埋め込む機能があります。フォント埋め込みを指定すると、文書の作成時に指定したフォントが文書ファイルに取り込まれます。こうすると代替フォントによる字形変化やレイアウトの崩れを避けることができます。

操作方法は、「名前を付けて保存」ダイアログの「ツール」ボタンをクリックします。表示されるメニューで「保存オプション」を選択すると表示されるダイアログで「ファイルにフォントを埋め込む」にチェックします。

保存オプション

こうして作成したdocxファイルの内部を調べると、docxファイル内にfontsフォルダができて、フォントのデータが取り込まれたと思われるファイルができています。普通はdocxファイルの内部を直接見ることはできませんが、拡張子をzipに変更して、解凍すると確認ができます。

フォント埋め込みの効果

Wordで文書を保存(docx)するとき、デフォルトで保存したファイルと、フォント埋め込みを指定して保存したファイルを比較してみました。

オリジナル文書は左ですが、3つのブロックの上から、①Noto Sans JP(TYPE1.OTF)、②Kosugi Maru(TTF)、③游ゴシック Light(Windows 11の標準フォント)を指定しています。この文書ファイルを、別の環境で表示したのが右です。

3種類のWordファイルの比較
フォント埋め込みの効果の比較

フォント埋め込みの効果の比較まとめ

  • Noto Sans JPを指定したブロックは、フォント埋め込みしても、游ゴシックで表示される。
  • Kosugi Maruゴシックのブロックはフォント埋め込みしたときは元の文書と同じだが、フォント埋め込みしないときは、游ゴシックで表示される。
  • 游ゴシックLightはWindows 11に標準で同梱されているため、フォント埋め込み有無にかかわらず元文書と同じように表示される。

Office文書へのフォント埋め込みの制限(問題)

こうしてみると、Noto Sans JP(TYPE1.OTF)は埋め込み指定の効果が無いようです。なぜでしょうか。

調べてみると、Office文書では、AdobeのOpenTypeフォント(つまり、TYPE1.OTFフォント)はフォント埋め込みできないとされています。

以下にMicrosoftのサポートページの告知文を引用します。

You cannot embed an Adobe OpenType font in a document in an Office program

Cannot embed an Adobe OpenType font in an Office document - Microsoft 365 Apps | Microsoft Learn

Adobeのフォントだけではなく、GoogleのNoto Sans JP (TYPE1.OTF)、Noto Serif JP、モリサワのTYPE1.OTF形式フォントもOfficeファイルへのフォント埋め込みができません。

埋め込みフォントの利用制限

Office文書に埋め込んだフォントは、表示に使われるだけで、編集には使えないようです。次の図は、Wordの編集画面です。埋め込みされたKosugi Maru(TTF)で表示されている段落の中に、「電子取引を行った場合、電子データを保存する必要があります。」という文章を挿入しているところです。

Wordの編集画面

編集時に入力したテキストにはKosugi Maru(TTF)を指定できません。

PDFのフォント埋め込み

Office文書からPDFを作成する方法

次にMicrosoft Officeで作成した文書をPDFにするときのフォント埋め込みについて説明します。Officeで編集した文書をPDFにする方法は、いくつかあります。

  1. 「印刷」メニューでプリンターを選択する際に、PDFドライバー(紙に印刷する代わりにPDF文書ファイルとして出力できる仮想プリンター機能)を選択する。
  2. 編集中の文書を「名前を付けて保存」する際にPDF形式を指定する。
  3. サーバーなどで、Officeファイルを一括してPDFにする場合、ダイレクト変換する。
    この例として、弊社製品の『Office Server Document Converter』(OSDC)があります。OSDCについてはこちらをご参照ください。
    Office Server Document Converter 製品ページ

次に(1)、(2)について具体的な操作、フォント埋め込みしないPDFとフォント埋め込みしたPDFの比較をしてみます。

(参考)PDFの作り方 ~PDFってどうやって作るの?~

PDFドライバーのフォント埋め込み操作例

Microsoft Wordで編集し、PDF作成ソフトとして、弊社製品の『Antenna House PDF Driver』(以下、『PDF Driver』)を使用する場合の操作例を紹介します。

Wordの印刷メニューでプリンタードライバーのリストが表示されるので、その中から「Antenna House PDF Driver 8.0」を選択します。

Wordの印刷メニューで表示されるプリンタードライバーのリスト

次にプリンターのプロパティをクリックします。

プリンターのプロパティ

表示されるダイアログで、フォントを埋め込むかどうかを指定します。

表示されるダイアログで、フォントを埋め込むかどうかを指定

フォント埋め込みしたPDFとフォント埋め込みしないPDFの表示

Wordで横書き文書と縦書き文書を作成し、2種類のWord文書から、『PDF Driver』で、フォントを埋め込まないPDF、フォントを埋め込んだPDFを作成します。

フォント埋め込みしたPDFとフォント埋め込みしないPDFで表示の違いを比較してみます。Windowsでは違いが分かりにくいので、スマホ(Android 13)で表示してみると次のようになりました。

フォント埋め込みしたPDFとフォント埋め込みしないPDFで表示の違いを比較
フォント埋め込みしたPDFとフォント埋め込みしないPDFで表示の違いを比較

表示の違い比較まとめ

  • 横書き、縦書きに関わらず、フォント埋め込みすると文字が正しく表示される。しかし、フォント埋め込みしないと、モリサワフォントを指定した部分は、日本語文字(かな・漢字)が見えなくなってしまう。
  • 游明朝を指定している「サンプル文書」という見出しは、フォント埋め込みの有無に関わらず表示される。埋め込まなくても正しく表示されるか、正しく表示されないかは、フォント依存になっていることがわかる。

Microsoft OfficeのPDF保存機能

Microsoft Officeでは編集中の文書を「名前を付けて保存」でPDF形式を指定できます。これは、前項で説明した、「印刷」メニューからプリンターとしてPDFドライバーを選択する方法とは異なり、Microsoft Officeに内蔵されている機能です。

次の操作はMicrosoft Wordの操作です。

①「ファイル」⇒「名前を付けて保存」でPDFを選択する(左)。

②「オプション」ボタンをクリックする(右)。

「名前を付けて保存」でPDF形式を指定

③表示されるダイアログでPDF保存のオプションを選択する。

PDF保存のオプション

オプションで、PDFの設定は、暗号化を別として、3パターン(上の図左からデフォルト、PDF/A、設定なし)の指定ができます。

Officeの名前を付けてPDF保存したPDFファイルの制限(問題)

OfficeのPDF保存機能で作成したPDFを同じように、スマホ(Android 13)で表示してみました。結果は次のとおりです。

縦書きの文字がPDFに表示されない

縦書きレイアウトを指定した文書をPDFにすると、段落の日本語文字(かな・漢字)が表示されないことがあります。

Officeの名前を付けてPDF保存したPDFで表示の違いを比較(縦書き)
Officeの名前を付けてPDF保存したPDFで表示の違いを比較(縦書き)
問題が発生するフォント
Noto Sans JP (TYPE1.OTF)/ Serif JP Font(TYPE1.OTF)
モリサワのOpenType(TYPE1.OTF)フォント
問題が発生しないフォント
Noto Sans JP(TTF)フォント
游明朝(TrueType)
游ゴシック(TrueType)

同じNoto FontでもTrueType(TTF)形式のNoto Sans JP (TTF)フォントを指定すると問題が発生しません。

PDFで文字が画像になる

横書きのサンプル文書をPDFとして保存したものをスマホで表示すると、すべての文字が一見正しく表示されています。

Officeの名前を付けてPDF保存したPDFで表示の違いを比較(横書き)
Officeの名前を付けてPDF保存したPDFで表示の違いを比較(横書き)

しかし、調べてみると、フォントによってはPDFの中の文字がすべて画像になってしまっています。

問題が発生するフォント
Noto Sans JP (TYPE1.OTF)/ Serif JP Font(TYPE1.OTF)
Adobeの源ノ角ゴシック(TYPE1.OTF)
問題が発生しないフォント
游明朝(TrueType)

どうやら、Microsoft OfficeのPDF保存では、PDF保存オプションに関わらず、TYPE1.OTFフォントを指定した部分のテキストを画像化してしまうようです。これは、上述のMicrosoft Supportの告知文に関係するMicrosoft Officeのアプリケーションとしての制約ではないかと考えられます。

回避策

この問題の発生を避ける方法は次の二通りあります。

  1. TrueType アウトラインフォントを使用するとOfficeのPDF保存で作成するPDFにフォント埋め込みができるので、Type1形式のOpenTypeフォントを使わないようにする。
  2. OfficeのPDF保存機能を使わずに、『Antenna House PDF Driver V8.0』などのPDFドライバーを使ってOffice文書をPDFにする。

テキスト文字列の画像化を考える

Microsoft Officeの名前を付けて保存機能でPDF化すると、TYPE1.OTFフォントが埋め込まれず、文字が画像化されてしまいます。このメリット、デメリットについて考えてみましょう。

画像化のメリットとデメリット

画像化のメリット

画像化すると良い点もあります。

  • 文字列を画像化すると字形や文字配置は確保できる。さらにページを丸ごと画像化してしまえば、フォントがなくてもページのレイアウトは完全に再現できる
  • テキストをコピーして利用されないようにできる

画像化のデメリット

しかし、画像化するとテキストの文字コードが利用できなくなるため、次のような問題が生じます。

  • テキストを検索できない
  • テキストの読み上げができない
  • テキストをコピーできず、コンテンツ(テキスト)の再利用に支障がある
  • テキストの一部の文字を削除したり、変更したりできない

このように文字を画像化してしまうとPDFを利用する上では大きな支障が生じます。テキストを画像化したPDFはアクセシブルなPDFとは到底言えません。

(参考)PDFからテキストをコピーするにはどうしますか? コピーできないことがあるのはなぜ?

商業印刷用PDFの例外

商業印刷用のPDFでは印刷工程に渡す際にフォントのアウトライン化を行うことがあります。これはテキスト画像化の一種です。

しかし、これは、高精度な商業印刷物を作成するためのPDFを制作工程から印刷工程へのデータ受け渡しの用途に限定されています。配布するためのものはありません。

まとめ

ここではフォント埋め込みに関して、Office文書へのフォント埋め込みと、PDFへのフォント埋め込みについて調べてみました。フォント埋め込みによって、文書を閲覧する環境で、作成時と同じ見栄えを保持できます。しかし、注意が必要な点もあります。

埋め込みできるフォントと埋め込みできないフォント

  1. Microsoft OfficeでOffice文書保存時に埋め込みができるのはTrueTypeフォントに限られます。OpenTypeのType1フォント(TYPE1.OTF)フォントは埋め込みできません。
  2. またMicrosoft OfficeからPDFを作成するとき、PDFドライバーでは、TYPE1.OTFフォントの埋め込みができるのにもかかわらず、Officeの名前を付けて保存ではTYPE1.OTFの埋め込みができません。
  3. (1)と(2)は、Officeアプリケーションの機能的制約と考えられます。
  4. (2)については、『PDF Driver』を始めとするサードパーティのPDFドライバーを使えば、TYPE.OTFフォントを指定した文書を正しくPDFにできます。

フォント埋め込みのメリットとデメリット

フォント埋め込みのメリット

PDFをはじめとするデジタル文書にフォントを埋め込むと、文字の形やレイアウトがその文書を表示する環境が何であっても同じになります。特に長い年月が経過してもPDFの見かけを保証できる点が、フォント埋め込みの大きなメリットと言えます。

PDFのフォント埋め込みではPDF内のテキストをグリフの並びとして表現します。日本語の場合、文字の種類が多いので、文書中で使われている文字のグリフだけからなるサブセットを作成して埋め込みするのが一般的です。

また、文字コードとグリフの対応テーブル(ToUnicodeCMAP)を用意します。これにより、PDFを表示したとき選択したグリフを文字コード列に変換してテキスト抽出が可能となります。

フォント埋め込みのデメリット

フォント埋め込みした文書は、フォントのデータを取り込む分ファイルサイズが大きくなります。なお、日本語フォントなどでは、実際に使われている文字のデータのみ埋め込む(サブセット埋め込み)ので極端に大きくなることはありません。

フォント埋め込みするには、フォントのライセンスで埋め込みが許諾されている必要があり、埋め込みフォントは、OfficeやPDF編集ツールで本文を編集するためには使えないのが普通です。

参考資料

サポート終了間近!? フォントのフォーマットに注意
https://www.morisawa.co.jp/blogs/MVP/7401
Source Han Sans(Adobe)
Source Han Sansの紹介:オープンソースのPan-CJK書体
https://blog.typekit.com/alternate/source-han-sans-jp/
Google Fonts
https://fonts.google.com/
Google Noto font
https://fonts.google.com/noto
STIX Fonts
https://www.stixfonts.org/
IPAfont
https://moji.or.jp/ipafont/

関連情報