如何将 (缺失的) digamma 与 GFS Porson 一起使用?

如何将 (缺失的) digamma 与 GFS Porson 一起使用?

使用 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禁用。扭曲越少越好。

您可能需要调整所选替代字体的比例。

在此处输入图片描述

相关内容