使用 xeTeX 和 GFS Porson 时,我无法在文本模式下使用 digamma (ϝ),尽管字体似乎有字符 (U+03DD 希腊小写字母 DIGAMMA,UTF-8:0xCF 0x9D,UTF-16:0x03DD)。或者这是一个数学符号?类似问题没有帮助,我不想切换到数学字体,因为\digamma
如果我加载\usepackage{mathspec}
或不阻止\usepackage{MnSymbol}
加载它就会发生这种情况。
PS:GFS Porson 实际上没有 digamma,我搞错了。替换不会自动选择,所以我想从类似的字体中选择字符。
最简单的示例(包括其他一些不起作用的东西)
% -*- mode: latex; TeX-engine: xetex; coding: utf-8; -*-
\documentclass{scrartcl}
\PassOptionsToPackage{no-math}{fontspec}
\PreventPackageFromLoading{MnSymbol}
\usepackage{newunicodechar}
\usepackage[no-sscript]{xltxtra}
\usepackage{polyglossia}
\setmainlanguage[variant=ancient]{greek}
\newfontfamily\greekfont{GFS Porson}
% \usepackage{mathspec}
% \DeclareUnicodeCharacter{0370}{{\digamma}}
\newunicodechar{ϝ}{\greekfont^^^^0370}
\begin{document}
% \begin{greek}
μῆνιν ἄειδε θεά \digamma ,\\
ϝ\\
{\char"C3}\\
\symbol{^0370}\\
\textdigamma
% \end{greek}
\end{document}
答案1
找到具有所需字形的字体(不是 GFS Porson,它没有它)并使用\newunicodechar
它来选择它。
\documentclass{scrartcl}
\usepackage[no-math]{fontspec}
\usepackage{polyglossia}
\usepackage{newunicodechar}
\setmainlanguage[variant=ancient]{greek}
\setmainfont{GFS Porson}
\newfontfamily{\greekfont}{GFS Porson}
\newfontfamily\digammafont{Libertinus Serif}
\newunicodechar{ϝ}{{\digammafont\itshape ϝ}}
\begin{document}
μῆνιν ἄειδε θεά ϝ
\end{document}
不要加载xltxtra
:可能唯一需要的功能就是sscript
禁用。扭曲越少越好。
您可能需要调整所选替代字体的比例。