Linux Libertine 中没有“oe”字符的重音符号。尝试形成此字符时,(尖音)重音位于“e”一半的中心。我试图让重音位于整个连字符的中心。
我尝试添加一个功能文件来定位重音,但尚未让它执行任何操作。我想知道我的语法是否有问题 - 还是其他什么问题。
这是我使用 lualatex 进行的最小测试(使用两种方式命名角色):
\documentclass{article}
\usepackage{fontspec}
\setmainfont[FeatureFile=linlib.fea,RawFeature=+mlig;]{Linux Libertine O}
\begin{document}
\'{\oe}
\'œ
\end{document}
功能文件如下:
#linlib.fea
languagesystem DFLT dflt;
languagesystem latn dflt;
lookup markMarkPositioninglookup100 {
lookupflag 0;
markClass [\acutecomb \uni0341 ] <anchor -191 682> @TOP_MARK;
pos base [\oe ] <anchor 250 644> mark @TOP_MARK;
} markMarkPositioninglookup100;
feature mlig {
script DFLT; # tested with and without these script/language lines
language latn dflt ;
lookup markMarkPositioninglookup100;
} mlig;
我也尝试过使用重音连字符的代码:
lookup markLigPositioninglookup100 {
lookupflag 0;
markClass [\acutecomb \uni0341 ] <anchor -191 682> @TOP_MARKS;
position ligature oe
<anchor NULL> # no mark above the 'o' half
ligComponent # specify mark for 'e' half
<anchor 50 644> mark @TOP_MARKS # mark above left side of 'e'
;
} markLigPositioninglookup100;
但一切都无济于事:重音仍然牢牢地集中在“e”上。
有任何想法吗?
答案1
如果您不介意像这样写字形,您可以在功能文件中使用字距调整´œ
:
\documentclass{article}
\usepackage{fontspec}
\setmainfont[FeatureFile=linlib.fea,RawFeature=+mlig;]{Linux Libertine O}
\begin{document}
hell´œworld
\end{document}
使用此功能文件:
languagesystem DFLT dflt ;
languagesystem latn dflt ;
feature kern {
position acute <200 0 -400 0> oe ;
} kern;
答案2
我不知道 lualatex,但在常规 LaTeX 中,它的运行完全符合预期:
\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{libertine}
\begin{document}
\'{œ}
\end{document}