TeX Live 2021 でローカルのレガシーなフォントが利用できない

TeX Live 2021 でローカルのレガシーなフォントが利用できない

- ひとみ さん の投稿
返信数: 3
当方 macOS Big Sur の TeX Live で LuaLaTeX を利用しています。

TEXMF-LOCAL に Optima (Classico) をインストールして、それを利用
しようとし、次のソースを lualatex でタイプセットしました。

\documentclass{article}
\begin{document}
\usefont{T1}{uop}{m}{n}Optima
\end{document}

ところが、TeX Live 2021 では PDF ファイルが出力されませんでした。
TeX Live 2020 の lualatex を絶対パスで指定して実行したところ、PDF
は出力され、Optima フォントも利用されていました。ふたつの場
でのログファイルは添付のとおりです。

どうしてこのような問題が起きるのでしょうか。

# トピックを書いているうちに、「Optima を(数式でも)使いたい」
# という目的は、fontspec を利用することで解決、特に数式で使う
# 場合は、
\newfontfamily{\optimafont}{URWClassico}[NFSSFamily=optima]
\DeclareMathAlphabet{\mathrm}{\encodingdefault}{optima}{m}{n}
# とすれば解決できるとわかったのですが、やはりレガシーなフォント
# が利用できないのは疑問なので、質問いたします。
ひとみ さん への返信

Re: TeX Live 2021 でローカルのレガシーなフォントが利用できない

- ut の投稿

# LuaTeX も fontspec も使ったことがないので、まったく的外れなことを言ってるかも
# 知れません…。

LuaLaTeX で fontspec を使うのではなくて type1 フォントを使おうという場合には、
map の組み込みが必要なのでしょうか?

もしもこの推測が合っているとして、TeX Live 2020 では updmap をしていたのに、
今回 TeX Live 2021 では updmap をしていない、ということはありませんか?

# 添付されてらっしゃる test-2021.log の末尾に:
#
# ! error:  (file URWClassico-Regular-lf-t1--base) (type 3): font URWClassico-Regu
# lar-lf-t1--base at 600 not found
#
# とあるのですが、classico.map [2014/08/28] にはちゃんと:
#
# URWClassico-Regular-lf-t1--base URWClassico-Regular "AutoEnc_tyth7dgn7qz3ayony2dmdyallb ReEncodeFont" <[clsc_tyth7d.enc <URWClassico-Regular.pfb
#
# というエントリがあるので、この map が組み込めてないのではないでしょうか?

ひとみ さん への返信

Re: TeX Live 2021 でローカルのレガシーなフォントが利用できない

- 和田 勇 の投稿

lualatex test で以下のメッセージ表記されていませんか

    This is LuaHBTeX, Version 1.13.2 (TeX Live 2021)
    ... snip ...
    (/Users/i-wada/Library/texmf/tex/latex/classico/t1uop.fd) [1{/usr/local/texlive
    /2021/texmf-var/fonts/map/pdftex/updmap/pdftex.map}] (./test.aux))               ← pdftex.map に注目
    ... snip ...
    kpathsea: Running mktexpk --mfmode / --bdpi 600 --mag 1+0/600 --dpi 600 URWClassico-Regular-lf-t1--base
    mktexpk: don't know how to create bitmap font for URWClassico-Regular-lf-t1--base.
    mktexpk: perhaps URWClassico-Regular-lf-t1--base is missing from the map file.  ← map ファイルに記述が無い
    kpathsea: Appending font creation commands to missfont.log.

    ! error:  (file URWClassico-Regular-lf-t1--base) (type 3): font URWClassico-Reg
    ular-lf-t1--base at 600 not found
    !  ==&gt; Fatal error occurred, no output PDF file produced!

pdftex.map の記述を調べてみる(以下を bash / zsh で実行)

    a=/usr/local/texlive/2021/texmf-var/fonts/map/pdftex/updmap/pdftex.map
    b=/usr/local/texlive/2020/texmf-var/fonts/map/pdftex/updmap/pdftex.map

    grep URWClassico $a $b
     結果は 2020 側のみで検索されると思います

https://www.ctan.org/tex-archive/fonts/urw/classico/README 抜粋

    To install this package on a TDS-compliant
    TeX system, download the file
    "tex-archive"/install/fonts/classico.tds.zip where the
    preferred URL for "tex-archive" is http://mirrors.ctan.org.
    Unzip the archive at the root of an appropriate texmf tree,
    likely a personal or local tree. If necessary, update the   ← ここから
    file-name database (e.g., texhash). Update the font-map
    files by enabling the Map file classico.map.         ← ここまで

対策(実験) 以下を bash / zsh で実行し test.tex と同じところにひとまず置く

    cp $a pdftex.map
    grep URWClassico $b &gt;&gt; pdftex.map

    lualatex test

うまくいったら適切なところへ設置 & 来年以降忘れないように覚えておく

和田 勇 への返信

Re: TeX Live 2021 でローカルのレガシーなフォントが利用できない

- ひとみ さん の投稿
お二方回答ありがとうございました。

結局。TeX Live 2021 の pdftex.map に URWClassico が含まれていなかったことが原因で、
sudo updmap-sys --enable Map classico.map
を実行したら解消しました。ありがとうございました。