梅威瑟:
\documentclass{article}
\usepackage{iftex}
\ifXeTeX\else
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\fi
\usepackage{libertine}
\begin{document}
\ifXeTeX \addfontfeatures{Variant=01} \fi
ÖÜ
\end{document}
如果您使用 XeLaTeX 编译此文件,则会得到外观不同的 Ö 和 Ü 字符。Libertine 的创建者非常乐意提供这个替代版本,对于匈牙利人来说,这个版本看起来并不奇怪。有没有办法在 PDFLaTeX 中将其用作默认的 Ö 和 Ü?
答案1
应该创建一个新的字体集otftotfm
;作为概念证明,我尝试这样做
otftotfm -e texnansx --no-updmap --coding-scheme='EXTENDED TEX FONT ENCODING - LATIN' --feature=kern --feature=liga --feature=lnum --feature=tnum --feature=ss01 LinLibertine_R.otf LinLibertineT-tlf-t1
并收到以下输出
LinLibertineT-tlf-t1--base LinLibertineO "AutoEnc_l6dd3wk7q223pbmgrvq427ywmd ReEncodeFont" <[a_l6dd3w.enc <LinLibertineO.pfb
我在测试文件中将其作为参数添加到\pdfmapline
。与 Bob Tennent 最初调用的差异(可以在.enc
生成otftotfm
并在 运行期间读取的文件中找到pdflatex
)在于我添加了选项--feature=ss01
。
这是测试文件
\documentclass{article}
\pdfmapline{LinLibertineT-tlf-t1--base LinLibertineO "AutoEnc_l6dd3wk7q223pbmgrvq427ywmd ReEncodeFont" <[a_l6dd3w.enc <LinLibertineO.pfb}
\usepackage{iftex}
\ifXeTeX\else
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\fi
\usepackage{libertine}
\begin{document}
\ifXeTeX \addfontfeatures{Variant=01} \fi
ÖÜ
\end{document}
我在创建了各种字体的目录中运行了此程序。以下是输出。
当然,这会覆盖发行版中的文件,因此应创建一个全新的字体系列(更改-tlf-
名称或类似内容),并添加合适的样式文件等等。我对直立字体所做的操作应重复用于该系列的其他字体。
绝对不适合胆小的人。使用 XeLaTeX。