\documentclass[twoside, openany]{book}
\usepackage[dvipsnames,svgnames,x11names]{xcolor}
\usepackage[dvips]{graphicx}
\usepackage{lipsum}
\special{papersize=145mm,220mm}
\textwidth=113mm \textheight=180mm
\topmargin=-14mm
\footskip=11mm
\oddsidemargin=-12.6mm
\evensidemargin=-6.4mm
\newfont{\weird}{abcr8r at 14pt}
\begin{document}
{\weird 1234567890 abcd}
\medskip
\lipsum
\end{document}
出版商需要带有页码的页面样式和带有 EuropaDemi 字体的标题(他们没有自己的样式文件,甚至几乎从不使用 LaTeX 手稿!)
我采用了此字体 EuropeDemi.otf,经过创建 afm-、tfm-、ttf- 和 vf- 文件进行一些转换后,我创建了新的 TTFONTS 文件夹并将其添加到配置中。因此,我已将此字体指定为某个新的字体系列“abc”。
TFM 文件夹中有 5 个文件:abcr8r、abcr8t、abcr7t、abcr6a 和 rabcr6a(尽管没有检测到它们的用法有差异)
为了进行文本化,我需要 LateX->Dvips (和俄语编码)
但在 *.dvi 和 *.ps 中,这些新字体字母看起来像是光栅化的,边距很差。不过,如果我增加分辨率或增加字母大小,Microsoft Word 中的原始 EuropeDemi.otf 看起来就没问题了。
1) 有人知道原因和修复/避免的方法吗?也许有一些“内部”方法可以添加此字体(例如软件包,而不是我自己创建这些文件)。
2) tfm 文件名中的数字 6、7、8(abcr8r、abcr8t、abcr7t、abcr6a 和 rabcr6a)是什么意思?对于页码,我需要 14pt,对于标题则需要更大
谢谢
答案1
如果 XeLaTeX 是一种选择,那么您可以通过为您的操作系统安装它并使用 来轻松使用该字体fontspec
。这样做的好处是允许您使用\special
pdfLaTeX 无法使用的 ,因为 XeLaTeX 的处理过程.tex
是多阶段的,类似于使用 LaTeX 然后在编译后转换为 PDF 的过程。
我没有您的字体,但这里有一个我有的字体示例。请注意,我们需要为指定一个非默认驱动程序,以便geometry
允许 s \special
。默认值是xetex
,但您的评论表明这可能不太适合您的代码,您可能希望指定替代方案。我之所以使用,是geometry
因为建议这样做,而不是手动设置布局尺寸,并且会自动确保将适当的选项传递给后端驱动程序。
\documentclass[twoside, openany]{book}
\usepackage[dvipsnames,svgnames,x11names]{xcolor}
\usepackage{graphicx}
\usepackage{lipsum}
\usepackage{geometry}
\geometry{driver=dvipdfm,,papersize={145mm,220mm},textheight=180mm,footskip=11mm,inner=12.8mm,outer=19mm,verbose}
\usepackage{fontspec}
\newfontfamily\myweirdfont{Neris Light}
\DeclareRobustCommand\weird{\fontsize{14pt}{18pt}\myweirdfont}
\begin{document}
{\weird 1234567890 abcd\par}
\medskip
\lipsum
\end{document}
我没有任何西里尔文可供测试,但polyglossia
可以使用或babel
也可以工作。fontspec
可以在需要时切换到西里尔文脚本。请参阅fontspec
的手册,如果适用,polyglossia
请参阅 的。
请注意,此解决方案要求您的.tex
文件采用 UTF-8 编码。如果您在使用标准 TeX 连字符(如 等)时遇到任何问题--
,---
则可能是您使用的是旧版本的fontspec
。在这种情况下,只需添加
\defaultfontfeatures{Ligatures=TeX}
现在是默认设置,但以前并非如此。
答案2
Dvips 无法处理 ttf 字体,只能处理 pk 和 Type1 (pfb) 字体;因此,在没有合理的 pfb 的情况下,它会回退到 Metafont,或者在您的情况下,
ttf2pk
生成并包含光栅字体。你需要阅读字体名称文档这解释了受 Lore 8.3 格式(例如 DOS 和 VAX)约束的字体的“标准”命名方案。在这种情况下,8r 是 8 位原始;8t 是 8 位 Cork TeX 编码;7t 是 7 位 Old TeX 编码;6a 是 T2A Cyrillic 编码。所有 8 位 TeX 字体都需要一个编码标识符来使用适当的字母/脚本。
因此,如果您想采用旧的 [La]TeX+dvips 方式,您需要:
sourcefontname.pfb
和sourcefontname.afm
文件。您可以通过使用 FontForge 等处理字体来获取这些文件。tfm
按照 LY1 的说明,使用适当的编码为你的字体制作文件拖船, 例如:
afm2tfm [源字体名称] -T T2A.enc -v [目标字体名称].vpl >> [目标字体名称].map pltotf [目标字体名称].vpl
您应该获得一个targetfontname.tfm
和一个targetfontname.map
文件,您应该安装它们;以及一个targetfontname.vpl
您可以丢弃的临时文件。
或者,您也可以使用该afm2pl
工具。
afm2pl -p T2A.enc [sourcefontname] [targetfontname]
pltotf [targetfontname]
将
pfb
文件放入/fonts/type1/foundry"
、将tfm
文件放入/fonts/tfm/foundry
、并将放入目录map
中,然后在系统上/fonts/map/dvips
执行。updmap --add targetfontname.map
在源代码中加载 [targetfontname] 并照常执行 LaTeX 和 dvips。此过程还会为 pdflatex 设置字体。
如果你决定这样做,我鼓励你遵循字体名称为字体命名。这只是一个标准化的问题。
如果您使用非基于 TeXLive 的实现(如 MikTeX),字体实用程序的语法可能会有所不同。请查看您的文档以了解详细信息。