Markdown を貼り付けるか、.md ファイルをドロップするか、ファイルを開いてください
日本語用のフォントを PDF に埋め込んで組版します。□ の文字化けや、漢字が中国語の字形になる中華フォントを避けるための方法です。
Markdown を貼り付けるか、.md ファイルをドロップするか、ファイルを開いてください
Markdown を PDF にしたとき、日本語で起きやすいトラブルは 2 つあります。1 つは文字化け。日本語が □ や ■ の「豆腐」になったり、一部の文字だけが抜け落ちたりする現象です。もう 1 つは中華フォント。文字は読めるものの、「直」「骨」「角」「刃」「今」「令」などの漢字が中国語の字形で表示され、どこか違和感のある見た目になる現象です。
どちらも原因はフォントの選ばれ方にあります。このツールは、PDF に日本語用に作られたフォントを埋め込み、そのフォントで組版します。どのフォントを使うかはページの言語から決まり、この日本語ページでは日本語の字形が使われます。文字は画像ではなく本物のテキストとして入るので、選択も検索もできます。
漢字は日本語・中国語・韓国語で同じ文字コードを共有していますが、字形は地域ごとに少しずつ異なります。PDF を作るツールや OS が選んだフォントに日本語の文字が入っていなければ、その文字は □ などに置き換わって文字化けになります。一方、日本語の文字も含む中国語向けの CJK フォントが先に選ばれると、文字は表示されても中国語の字形になり、いわゆる中華フォントになります。コードブロックの等幅フォントだけこの状態になる、というのもよくあるケースです。
PDF には日本語用に設計されたフォントが埋め込まれ、どのフォントを使うかはページの言語で決まります。使った文字だけを含むようにフォントはサブセット化され、ファイルサイズも抑えられます。日本語・中国語・韓国語のフォントは、文書にその文字が含まれているときだけダウンロードされます。コンパクトなサブセットに入っていない珍しい漢字が出てきた場合は、空の □ を出す代わりにフルセットのフォントを読み込みます。
ブラウザの印刷機能を使うタイプの変換ツールは、パソコンにインストールされているフォントに仕上がりが左右されます。同じ Markdown でも、Windows と Mac、あるいは OS の言語設定によって、字形が変わったり文字化けしたりするのはそのためです。このツールは PDF にフォントを埋め込んで組版するので、閲覧する側の環境にも依存しません。
日本語の文章なのに、漢字が中国語向けフォントの字形で表示されてしまう現象、またはそのフォントを指す呼び方です。「直」「骨」「角」「刃」「今」「令」「化」「写」「画」「誤」「返」などは、日本語と中国語で字形の違いが目立つ代表的な漢字です。文字そのものは同じなので読めはしますが、日本語の文書としては不自然に見えます。
PDF を作ったツールが、日本語用ではなく中国語用の CJK フォントを優先して使ったためです。漢字は日中韓で文字コードを共有しているので、どの字形になるかは使われたフォント次第です。このツールは、ページの言語に合わせて日本語用のフォントを選んで埋め込みます。
印刷の仕組みを使って PDF を作る拡張機能は、パソコンに入っているフォントと設定に左右されます。とくにコードブロックの等幅フォントに日本語が含まれていないと、そこだけ文字化けしたり中華フォントになったりしがちです。.md ファイルをこのページにドロップすれば、フォントを埋め込んだ PDF をブラウザ内で作れます。
ChatGPT がコードを実行して作る PDF では、日本語の文字を含まないフォントが使われることが多く、そのため日本語が ■ や □ になります。回答を Markdown で出してもらい、ここに貼り付けて変換すれば、日本語用のフォントで組版された PDF になります。
できます。文字は画像ではなく本物のテキストとして埋め込まれるので、選択・コピー・検索ができます。フォントは使った文字だけにサブセット化されるので、ファイルサイズも大きくなりすぎません。
普段使う文字はコンパクトなサブセットで賄い、そこに含まれない文字が文書に出てきた場合は、□ を出す代わりにフルセットのフォントを読み込みます。それでもフォントに存在しない文字があるときは、画面に通知が表示されます。
表・コード・数式を保ったまま ChatGPT の回答を PDF 化
Claude の回答やアーティファクトを Mermaid 図ごと PDF に
Google Gemini の回答を組版された PDF で保存
図はベクターのまま、図中の文字も選択できる PDF に