我需要使用特定字体(New Aster LT Standard),但文本中的 2 个字符出现了问题。一个是名称“Dąbrówka”上的波兰 ogonek,另一个是名称“Matanić”中的重音 c。奇怪的是,该字体似乎有 ogonek 变音符号(参见 PDF 图像的第 2 行),但组合使用时无法正确显示,只能单独显示。我的序言中有 和\usepackage[utf8]{inputenc}
。\usepackage[T1]{fontenc}
我必须使用 XeLaTeX 进行编译。我的 .tex 文档采用 UTF8 编码。我尝试了各种方法(参见示例),但都不起作用(参见屏幕截图)。
帮助?
\documentclass{article}
\usepackage{fontspec}
\usepackage{polyglossia}
\setmainfont{New Aster LT Std}
\setmainlanguage{french}
\setotherlanguage{polish}
\begin{document}
Johannes Dąbrówka. A. Matanić.
\par
Johannes Da˛brówka. A. Matani\'c.
\par
Johannes D\k{a}brówka. A. Matani\'{c}.
\par
\end{document}
答案1
您可以尝试以下任一方法:
加载现代字体fontspec
并输入字符 ą (U+0105)。在 XeLaTeX 或 LuaLaTeX 中,您也可以写^^^^0105
。
字体可能还支持组合重音 ą (a + U+0328)。您也可以将其键入为a^^^^0328
。Latin Modern Roman 没有此重音,但 New Computer Modern 有。
LaTeX 命令是\k{a}
。如果这对您的字体不起作用,但^^^^0105
可以,您可以尝试加载uninormalize
以转换为 NFC 格式。
如果您的字体包含非组合 ogonek ˛ (U+02DB),您可能能够将其与 TeX 基元 叠加\accent"02DB a
。对于 Latin Modern Roman,下面的 ogonek 位置错误,但上面的重音应该更好。
\documentclass{article}
\tracinglostchars=2 % Warn if a font does not contain a character!
\usepackage{newcomputermodern}
\newcommand\aogonek{\accent a ^^^^02db}
\begin{document}
^^^^0105
a^^^^0328
\accent"02DB a
\k{a}
\end{document}
在 PDFTeX 中,a-with-ogonek 属于 T1 编码。预组合字符和 应该可以正常工作,\k{a}
但组合重音符在 PDFTeX 中通常不起作用。
所有相同的方法也应该适用于,按照您尝试它们的顺序,ć (U+0107)、ć (c + U+0301) \'{c}
、、、\accent"02CA c
或\accent"00B4 c
。
答案2
使用具有您需要的字母的字体,例如 TexGyre。 (使用 TexGyre)
但如果你真的需要使用该字体,你可以使用以下方法定义新字母newunicodechar
4。
% !TeX program = xelatex
\documentclass[xetex,twoside]{article}
\tracinglostchars=3 % Warn if a font does not contain a character
\usepackage{fontspec}
%\setmainfont[Ligatures=TeX]{TeX Gyre Pagella}
\setmainfont[Ligatures=TeX]{New Aster LT Std}
\usepackage{polyglossia}
\setmainlanguage{french}
\setotherlanguage{polish}
\usepackage{newunicodechar}
\makeatletter
\newunicodechar{ć}{\add@accent{`^^^^00b4}{c}}
\newunicodechar{ó}{\add@accent{`^^^^00b4}{o}}
\newunicodechar{á}{\add@accent{`^^^^00b4}{a}}
\newunicodechar{ą}{\add@accent{`^^^^02db}{a}}
\makeatother
\begin{document}
Johannes Dąbrówka. A. Matanić.\par
\end{document}
(带(旧款)新款 Aster LT Std)
(带newunicodechar
)