7

非常简洁,我可以在我的 Windows 机器上使用任何可用的 TrueType 字体与 MikTex 和XeTeX

%!TEX TS-program = xelatex
%!TEX encoding = UTF-8 Unicode
\documentclass[]{article}
\usepackage{xltxtra,fontspec,xunicode}
\defaultfontfeatures{Scale=MatchLowercase}
\title{Fonttest}   
\begin{document} 
  \section{Section Title} {
    \setromanfont{Palatino Linotype}
      The quick brown fox jumps over the lazy dog.
  }
  \section{Section Title} {
    \setromanfont{ProggyCleanTTSZBP}
      The quick brown fox jumps over the lazy dog.
  }
\end{document}

有没有办法为每种可用字体自动生成字体测试页?这样我就不必手动为每种可用字体键入测试页了吗?

实际上,我什至不知道如何获得所需的长字体名称\setromanfont——除了从屏幕上输入它。显然,Windows 目录只列出了文件名。也许这可以在 TeX 本身中完成,但我可以用 Python 脚本或类似的东西来管理它。

4

3 回答 3

8
fc-list  | cut -d\  -f2-99 | cut -d: -f1 | sort -u
于 2015-01-25T23:53:27.703 回答
0

不是一个成功的答案,而是一个想法。您所要做的就是遍历所有已安装的字体系列,其中存在 API 函数:EnumFontFamiliesEx.

于 2011-03-03T22:27:20.017 回答
0

两步法

1.构建可用字体列表

为此,可以使用albatrosstexlive 等 tex 发行版中包含的命令行工具。它旨在查找包含某些字形的字体,例如,如果您想用英文排版文本,您可以使用类似

 albatross -b 3 T h e

(用T h e你的字体应该能够排版的任何字形替换)

这将为您提供字体名称列表

2.制作测试页

您可以获取在第 1 步中生成的字体名称列表,然后让 Latex 对其进行迭代

% !TeX TS-program = xelatex

\documentclass{article}

\usepackage{pgffor}
\usepackage{fontspec}
\newcommand{\testphrase}{The quick brown fox jumps over the lazy dog.}

\begin{document}

\foreach \x in {
  Adobe Caslon Pro, 
  Adobe Garamond Pro,
  % many more fonts here
  Zapfino}{
  \section{\x}
  \begingroup
    \setmainfont{\x}
    \testphrase
  \endgroup
}
\end{document}

在此处输入图像描述

于 2021-04-06T23:31:10.813 回答