執筆・検証: MD Converter編集部
Markdown PDFで日本語フォントが変わる・文字化けする原因
MarkdownをPDFにすると日本語フォントが変わる、文字化けする、記号が四角になる原因と、配布先でも読めるPDFにする確認方法を解説します。
フォントの変更と文字化けは別の問題
MarkdownをPDFにしたとき、「日本語フォントが変わった」と「文字が読めなくなった」は分けて考える必要があります。見た目だけが別の書体になった場合はフォントの読み込みや代替フォントの問題です。□や豆腐のような四角、疑問符、意味不明な文字列になる場合は、文字を収録していないフォントや文字コードも確認します。
利用している変換環境のプレビューと保存結果を見比べながら、次の順に切り分けます。
原因1:指定フォントが端末にない
CSSでフォント名を指定しても、そのフォントが端末にインストールされていなければ、ブラウザは利用可能な別のフォントへ置き換えます。
body {
font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN",
"Yu Gothic", sans-serif;
}
このように複数の候補と最後の総称ファミリーを書くと、環境に合う書体へ段階的に切り替えられます。ただし、WindowsとmacOSで完全に同じ見た目になるとは限りません。特定フォントの再現が必須なら、WebフォントやPDFへの埋め込み状況まで確認が必要です。
原因2:Webフォントの読み込み前に保存した
Webフォントはページ表示後にネットワークから読み込まれます。読み込みが完了する前に印刷すると、一時的な代替フォントのままPDFへ保存される場合があります。プレビューを開き、文字の形が安定してから保存してください。
広告ブロッカー、社内ネットワーク、Content Security Policy、オフライン環境によってフォント配信先へ接続できないこともあります。開発者ツールを使える場合は、Networkでフォントファイルが成功しているか確認します。配布の確実性を重視するなら、外部通信へ依存しないフォント構成も検討します。
原因3:フォントに必要な文字が含まれていない
欧文専用フォントには日本語の字形がありません。その場合、英数字と日本語で別のフォントが混ざったり、対応する代替フォントが見つからず四角で表示されたりします。
特に確認したい文字は次のとおりです。
- 漢字、ひらがな、カタカナ
- 丸数字やローマ数字などの機種依存文字
- 絵文字
- 数学記号、矢印、単位記号
- 人名や地名に使う異体字
本文が読めても、見出しの絵文字だけ消えることがあります。装飾用の記号に意味を持たせず、重要な内容は通常の文字でも伝わるようにします。
原因4:原稿の文字コードがUTF-8ではない
古いテキストファイルを読み込んだ時点で文字が崩れている場合は、PDFではなく原稿の文字コードが原因かもしれません。Shift_JISなどで保存されたファイルをUTF-8として読むと、文字化けが起きます。
エディタで文字コードを確認し、元ファイルのコピーをUTF-8として保存してから再度読み込みます。変換後に壊れた文字列を手作業で直すより、入力段階の文字コードを統一する方が安全です。
原因5:太字やウェイトだけ別の見た目になる
通常の太さは読み込めても、太字のファイルが用意されていない場合、ブラウザが疑似的に太くしたり別フォントへ切り替えたりします。細字から極太まで多くのウェイトを指定すると、読み込み量も増えます。
文書では本文、強調、見出しに必要な2〜3段階へ絞り、プレビューで漢字の形と文字幅を確認します。フォントが変わると1行の文字数も変わり、改ページ位置までずれる点に注意してください。
PDFにフォントが入っているか確認する
PDF閲覧ソフトのプロパティには、使用フォントと埋め込み状態を表示する機能があります。別端末でだけ文字化けする場合は、PDFにフォントが埋め込まれているか確認します。埋め込まれていなくても標準的な日本語フォントへ適切に代替される場合はありますが、特殊なフォントほど作成環境との差が出やすくなります。
フォントにはライセンスがあり、PDFへの埋め込みや再配布が制限されることもあります。業務資料で独自フォントを使う場合は利用条件も確認してください。
配布前の確認手順
症状から原因を絞る
| 症状 | 最初に確認すること |
|---|---|
| 日本語だけ別の書体になる | 指定フォントに日本語字形があるか |
| 一部の漢字が四角になる | 異体字・旧字体を収録しているか |
| 読み込み直後だけ書体が変わる | Webフォントの読込完了を待ったか |
| 原稿の時点で文字化けしている | .mdの文字コードがUTF-8か |
| 別PCでだけ崩れる | PDFへのフォント埋め込み状況 |
フォント問題を調べるときは、本文を短くした検証用Markdownを作り、通常文字、太字、英数字、記号、問題の漢字を1ページへ並べます。長い原稿で試すより、どの文字・ウェイトで代替が起きたかを比較しやすくなります。
標準フォントへ戻して基準を作る
まずゴシックまたは明朝の標準設定、白背景、通常の文字サイズでPDFを保存します。それが正常なら、問題はMarkdown構文ではなく選択したフォントや外部配信にあります。フォント、太さ、文字サイズを一つずつ戻し、崩れた変更を特定してください。
- 原稿をUTF-8で保存する
- 日本語を収録したフォントを選ぶ
- プレビューでWebフォントの読み込みを待つ
- 太字、記号、絵文字、異体字を確認する
- 保存したPDFを一度閉じて開き直す
- 可能なら別OSまたは別端末でも開く
- PDFのフォント情報と埋め込み状態を確認する
まず装飾の少ない標準フォントで正常に保存できるか試し、その後に希望のフォントへ切り替えると原因を見つけやすくなります。読み手へ確実に届けることを優先し、特殊な書体は表紙や大見出しだけに限定する方法も有効です。
フォント変更後は改ページも見直す
同じ文字サイズでも、フォントによって文字幅、行の高さ、句読点の位置が変わります。フォントだけを変更したつもりでも、表の列幅や1ページに入る行数が変わり、見出しがページ末尾へ移動することがあります。
最終フォントを決めた後に、目次のページ番号、表のはみ出し、コードブロック、画像キャプションをもう一度確認します。日本語と英数字が混在する資料では、数字だけが細く見えないか、括弧や記号の基準線が不自然でないかも見ると仕上がりが安定します。フォント調整を含むPDF変換全体の手順はMarkdownを印刷・PDFに変換する方法で解説しています。
よくある質問(FAQ)
Q. 絵文字だけ白黒になったり四角になったりするのはなぜですか
カラー絵文字への対応状況は、ブラウザ、OS、PDFを開く環境によって異なるためです。本文が正常でも絵文字だけ代替が起きることがあるので、絵文字単体で意味を伝える書き方は避けてください。見た目の再現が重要な記号は、通常の文字への置き換えや、ライセンスを確認したうえで画像にする方法が安全です。
Q. ファイル名の文字コードを直せば本文の文字化けも直りますか
直りません。ファイル名と本文の中身は別々の情報で、ファイル名を変更しても中のバイト列は変換されないためです。本文が化けている場合は、元のファイルを正しい文字コードで開き直し、その内容をUTF-8として保存してから再度読み込んでください。