🐳

matplotlibでフォントが見つからないときの対処(Docker)

2023/01/25に公開

概要

Dockerで構築した環境にてTimes New Romanのフォントを使えないときの対処法

使用した環境

python:3.9.14

解決策

以下のコマンドで必要なパッケージをインストール。

apt update
apt install -y cabextract libfontenc1 libmspack0 xfonts-encodings xfonts-utils
wget http://ftp.de.debian.org/debian/pool/contrib/m/msttcorefonts/ttf-mscorefonts-installer_3.6_all.deb
dpkg -i ttf-mscorefonts-installer_3.6_all.deb
rm ttf-mscorefonts-installer_3.6_all.deb

確認

以下のコマンドでインストールされているフォントの中でTimes_New_Romanという文字列を含むフォントを確認できる。

fc-list | grep Times_New_Roman

出力の中にTimes New Romanの ttfファイルが含まれていればOK.

プラスアルファ

以下のように Dockerfileに上の解決策を書いておけば、イメージ作成時に環境構築が完了する。

FROM python:3.9.14

# install font
RUN apt update
RUN apt install -y cabextract libfontenc1 libmspack0 xfonts-encodings xfonts-utils
RUN wget http://ftp.de.debian.org/debian/pool/contrib/m/msttcorefonts/ttf-mscorefonts-installer_3.6_all.deb
RUN dpkg -i ttf-mscorefonts-installer_3.6_all.deb
RUN rm ttf-mscorefonts-installer_3.6_all.deb

参考
Cannot install the package ttf-mscorefonts-installer - Ask Ubuntu

Discussion