1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Render×Typstで日本語フォント(IPA明朝)を使う

Last updated at Posted at 2025-06-23

はじめまして。モナディコスという屋号でマニュアル代理作成及び作業効率化ツール作成を始めました。
マニュアル代理作成ではTypstを使用しています。それを応用して手軽にマニュアルを無料作成できる無料自動マニュアル作成ツールを作成しています。
Renderで現在稼働中なのですが、運用するにあたり日本語フォントでこけたのでメモです。

背景

  • 無料自動マニュアル作成ツールをTypst×flask×Renderで作成中
  • Render上(Linux)ではデフォルトで日本語フォントが含まれていない
  • Render.com 上でアプリをデプロイし、Typst を使って PDF を自動生成したい。
  • 日本語テキスト(例:明朝体)を含むPDFを生成するには、日本語フォントを手動でインストールしてキャッシュさせる必要がある。

結論

  1. .fonts に日本語フォント(例:IPA明朝)の .ttf を配置
  2. fc-cache -fv .fonts を実行してキャッシュを再構築
  3. Typstで明朝体のPDFがRender上でも正常に出力できたことを確認

やったこと

  1. render.yaml の設定(抜粋)
    今回使用したフォントはIPA明朝です。色々ありますが、TTFファイルの4書体パック(Ver.003.03)をRender上でcurlコマンドでダウンロードしています。
services:
  - type: web
    name: monadikos_LP_app
    runtime: python
    rootDir: project
    buildCommand: |
      mkdir -p typst
      curl -L https://github.com/typst/typst/releases/download/v0.13.1/typst-x86_64-unknown-linux-musl.tar.xz -o typst.tar.xz
      tar -xf typst.tar.xz
      cp typst*/typst typst/typst
      mkdir -p .fonts
      curl -LO https://moji.or.jp/wp-content/ipafont/IPAfont/IPAfont00303.zip
      unzip IPAfont00303.zip -d .fonts
      fc-cache -fv .fonts
      pip install -r requirements.txt
    startCommand: |
      export HOME=$(pwd)
      export PATH="$PATH:$(pwd)/typst"
      export FONTCONFIG_PATH="$(pwd)/.fonts"
      gunicorn app:app

なお、HOMEのパスを書き換えていますが、これをしないとFONTCONFIG_PATHを設定してもフォントが読み込まれません。

buildCommandは主にファイルの展開
startCommandは環境変数の設定およびアプリの実行
という使い分けで理解しておいた方がよい(一敗)

2.Typst 側のフォント指定

#text(
    ...
    font: "IPAMincho"
    ...
)

Renderのダッシュボード>MANAGE>ShellからサーバーにSSHログインし
例えばfc-list : familyコマンドでフォントがIPA明朝で設定されているか確認しても表示されない。
なぜなら、実行中の環境(IPA明朝がインストールされた環境)とSSHログインした環境は別物だから。

以上がRender(Linux)でTypstに日本語フォント(IPA明朝)を適応する方法です。

ちなみに無料自動マニュアル作成ツールを使うと、こんなのが出てきます。ちゃんと日本語で出力されています。
image.png

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?