logo

フォントと言語

PDF の生成では、フォントの取り扱いが重要な課題となります。puppeteer などの headless ブラウザを使用して PDF を生成する場合、使用するフォントはその環境にインストールされている必要があります。 pdfg では豊富なフォントをあらかじめ用意しており、さらにそれらに含まれないフォントも手軽に追加できます。

サポートしているフォントと言語

日本語

日本語はNoto Sans JPNoto Serif JPのすべてのスタイル(Thin 100からBlack 900まで)をサポートしています。 そのため、ゴシック体と明朝体の両方を任意の font-weight で使用できます。

日本語以外の言語

pdfg では日本語を含め、Noto フォントを中心に多くのフォントをサポートしています。 各フォントは基本的にBold 600Regular 400のスタイルを用意しています。

NotoEmoji-Regular.ttf         NotoSansJP-Bold.ttf           NotoSansThai-Bold.ttf         NotoSerifJP-Regular.ttf
NotoKufiArabic-Bold.ttf       NotoSansJP-ExtraBold.ttf      NotoSansThai-Regular.ttf      NotoSerifJP-SemiBold.ttf
NotoKufiArabic-Regular.ttf    NotoSansJP-ExtraLight.ttf     NotoSerif-Bold.ttf            NotoSerifKR-Bold.ttf
NotoNaskhArabic-Bold.ttf      NotoSansJP-Light.ttf          NotoSerif-Regular.ttf         NotoSerifKR-Regular.ttf
NotoNaskhArabic-Regular.ttf   NotoSansJP-Medium.ttf         NotoSerifBengali-Bold.ttf     NotoSerifSC-Regular.ttf
NotoSans-Bold.ttf             NotoSansJP-Regular.ttf        NotoSerifBengali-Regular.ttf  NotoSerifTC-Regular.ttf
NotoSans-Regular.ttf          NotoSansJP-SemiBold.ttf       NotoSerifJP-Black.ttf         NotoSerifThai-Bold.ttf
NotoSansArabic-Bold.ttf       NotoSansJP-Thin.ttf           NotoSerifJP-Bold.ttf          NotoSerifThai-Regular.ttf
NotoSansArabic-Regular.ttf    NotoSansKR-Bold.ttf           NotoSerifJP-ExtraBold.ttf     Roboto-Bold.ttf
NotoSansBengali-Bold.ttf      NotoSansKR-Regular.ttf        NotoSerifJP-ExtraLight.ttf    Roboto-Regular.ttf
NotoSansBengali-Regular.ttf   NotoSansSC-Regular.ttf        NotoSerifJP-Light.ttf
NotoSansJP-Black.ttf          NotoSansTC-Regular.ttf        NotoSerifJP-Medium.ttf

以下はこれらのフォントでサポートされる言語の一覧です。

1. ヨーロッパ言語群

英語 / フランス語 / ドイツ語 / イタリア語 / スペイン語 / ポルトガル語 / オランダ語 / デンマーク語 / スウェーデン語 / ノルウェー語 / フィンランド語 / アイスランド語 / エストニア語 / ラトビア語 / リトアニア語 / ポーランド語 / チェコ語 / スロバキア語 / ハンガリー語 / ルーマニア語 / トルコ語 / クロアチア語 / セルビア語 / ブルガリア語 / アルバニア語 / ギリシャ語

2. キリル文字使用言語群

ロシア語 / ウクライナ語 / ベラルーシ語 / カザフ語 / キルギス語 / モンゴル語(キリル文字) / タジク語

3. 東アジア言語群

日本語 \ 中国語(簡体字) \ 中国語(繁体字) \ 韓国語

4. 東南アジア言語群

タイ語 \ ベトナム語 \ インドネシア語 \ マレー語 \ タガログ語(フィリピン語)

5. 南アジア言語群

ベンガル語 \ ヒンディー語 \ グジャラート語 \ パンジャーブ語 \ タミル語 \ テルグ語 \ カンナダ語 \ マラヤーラム語 \ シンハラ語

6. 中東・アラビア語圏

アラビア語 \ ペルシャ語 \ ウルドゥー語 \ ヘブライ語

7. アフリカ言語群

スワヒリ語 \ アムハラ語 \ ハウサ語 \ ヨルバ語 \ イボ語 \ ズールー語

8. アメリカ先住民言語群

チェロキー語 \ その他の先住民言語

9. その他

エスペラント \ 絵文字

カスタムフォントの使用

サポート対象外の言語や別のフォントを使用したい場合、任意のフォントをダッシュボードからアップロードして使用できます。 以下では、アルメニア語のフォントを使用する例を示します。

1. フォントのアップロード

ダッシュボードから.ttfなどのフォントファイルをアップロードします。

2. HTML 内でのフォント指定

styleタグの中で@font-faceを使用してフォントを指定します。

<!DOCTYPE html>
<html lang="hy">
  <head>
    <style>
      @font-face {
        font-family: "Noto Sans Armenian";
        src: url("NotoSansArmenian-Regular.ttf") format("truetype");
      }
      body {
        font-family: "Noto Sans Armenian";
      }
    </style>
  </head>
  <body>
    <h1>Բարև աշխարհ</h1>
  </body>
</html>