在 LuaTex 中创建包含字体信息的版权页文件

在 LuaTex 中创建包含字体信息的版权页文件

有没有办法在 LuaTex 中自动生成版权信息?

理想情况下,我想自动生成一个文件(纯文本),列出不同的字体和字体系列确实出现在 tex(LuaTex)文档中,以防乳胶替换丢失的字体或未声明特定的字体系列。

谢谢你!

答案1

您可以pdffonts输入一个脚本,以便在编译文档后自动生成您想要的文本文件texfonts.sh

#!/bin/sh
set -e

INFILE="$1"

latexmk -pdf -lualatex "$INFILE"
pdffonts "${INFILE%.tex}.pdf" > "${INFILE%.tex}-fonts.txt"

这是一个用于演示的示例文件test.tex

\documentclass{article}

\usepackage{fontspec}
\setmainfont{TeX Gyre Pagella}
\setsansfont{TeX Gyre Heros}
\setmonofont{TeX Gyre Cursor}
\newfontfamily{\chinesefont}{FandolFang}
\newfontfamily{\greekfont}{EB Garamond}

\usepackage{sectsty}
\allsectionsfont{\sffamily}

\usepackage{lipsum}


\begin{document}

\section{Hello}
\lipsum[1]

\subsection{Unicode}

\begin{tabular}{ll}
    Greek & {\greekfont λόγος} \\
    Mandarin & {\chinesefont 我们爱狗。} \\
\end{tabular}

\subsection{World}
\textbf{\lipsum[2]}

\section{Code}
\verb|\relax\bye|

\end{document}

运行sh texfonts.sh test,将会有两个输出:文本文件test-fonts.txt和PDF。

test-fonts.txt

name                                     type              encoding         emb sub uni object ID
---------------------------------------- ----------------- ---------------- --- --- --- ---------
DETGWH+TeXGyreHeros-Bold-Identity-H      CID Type 0C       Identity-H       yes yes yes      5  0
FHSMPY+TeXGyrePagella-Regular-Identity-H CID Type 0C       Identity-H       yes yes yes      7  0
NRRIPR+EBGaramond12-Regular-Identity-H   CID Type 0C       Identity-H       yes yes yes      9  0
OAALEX+FandolFang-Regular-Identity-H     CID Type 0C       Identity-H       yes yes no      11  0
JRCOOU+TeXGyrePagella-Bold-Identity-H    CID Type 0C       Identity-H       yes yes yes     13  0
VTYOBX+TeXGyreCursor-Regular-Identity-H  CID Type 0C       Identity-H       yes yes yes     15  0

在此处输入图片描述

相关内容