我可以获得纯 TeX 中所有可用字体的列表吗?

我可以获得纯 TeX 中所有可用字体的列表吗?

我需要一个列表,例如:

cmr,,,,, ...cmsscmslcmtt

在哪里可以找到它?

(可用的字体是否取决于 TeX 安装还是在任何地方都相同?)

答案1

Knuth 字体的 CTAN 存储库列出了伟人为生产使用提供的所有内容(格式为“.mf”的文件)。首先,这些是纯文本中可用的极限;有各种字体选择方案可供纯文本用户使用,但我从不确定它们是纯文本用户的克星还是大有帮助。CTAN 字体选择包目录列表显示几个“针对纯文本用户”。可能有些东西我没能在目录中正确分类;欢迎前往 CTAN 维护者列表进行更正。

答案2

如果您只需要安装的名称乳胶字体系列运行:

#!/bin/bash
TL=/usr/local/texlive/2013
echo "create list of font families via \\DeclareFontShape"
find $TL -name '*.fd' -exec cat {} \; | grep '\DeclareFontShape{' | \
   sed -e 's/^.*DeclareFontShape{\([a-zA-Z0-9]*\)}{\([a-zA-Z0-9]*\)}{\([a-zA-Z0-9]*\)}{\([a-zA-Z0-9]*\)}.*$/\2,/g' - | \
   grep -v '\DeclareFontShape{' |sort | uniq  | sed -e '$s/,//g' - >fontList.txt
echo "fontList.txt created"

它创建一个文件,fontList.txt其中包含找到的字体系列的列表:

Acorn,
aealbattar,
aealmateen,
aealmohanadb,
aealmothnna,
aealyermook,
aearab,
aeccr,
aecortoba,
aedimnah,
aefurat,
aegranada,
aegraph,
aehani,
...

以下脚本将创建一个 PDF 文件每一个安装的字体:

#!/bin/bash
find `kpsewhich -expand-var='$TEXMFMAIN'`/fonts/tfm -name '*.tfm' -print | \
  sed 's@.*/@@; s@\.tfm$@@' | \
  xargs sh -c 'for i in "$@"; do (echo $i; echo \\\sample\\\bye) | \
  tex testfont; mv testfont.dvi $i.dvi; dvips $i.dvi; ps2pdf $i.ps; \
  rm -f $i.dvi $i.ps; echo $i.pdf; done' sh

例如:

-rw-r--r--  1 voss users 42201 29. Mai 13:32 Heuristica-BoldItalic-sup-ly1.pdf
-rw-r--r--  1 voss users 42960 29. Mai 13:33 Heuristica-BoldItalic-sup-t1--base.pdf
-rw-r--r--  1 voss users 42754 29. Mai 13:32 Heuristica-BoldItalic-sup-t1.pdf
-rw-r--r--  1 voss users 43362 29. Mai 13:32 Heuristica-BoldItalic-sup-t2a.pdf
...

第一个是:

在此处输入图片描述

注意:它会创建大量的 pdf 文件。当然,您可以根据需要轻松修改 shell 脚本。

相关内容