在丹麦语的旧文本中,字母组合Qv
很常见,并且或多或少Qu
与英语相似。现在代码
\documentclass{memoir}
\usepackage{fontspec}
\setmainfont[Ligatures={Common}]{Linux Libertine O}
\begin{document}
Quarante.
Qvinde.
\end{document}
在字母组合中产生连字Qu
,但在字母组合中不产生连字Qv
(见下文)。是否可以使下部Q
看起来像上部Q
无需手动修改 Linux Libertine。我实际上认为答案是“不”,但问一问也无妨。
答案1
长尾 Q 在 Linux Libertine 中不是独立的字形;它实际上与 u 捆绑在一个字符中。因此,您必须创建字形。我不是 Fontforge 专家,但它相当简单。
前往sourceforge中的字体下载页面并获取源文件; http://sourceforge.net/projects/linuxlibertine/files/linuxlibertine/5.3.0/
使用 FontForge 打开 LinLibertine_R.sfd
转到字形
Q_u
[视图 > 转到]选择字形中的所有内容并复制
z
打开一个空的 unicode 槽 [例如,小写字母 旁边的槽] 并粘贴它。选择并删除
u
表单转到
v
字形,复制引用并将其粘贴回新的 unicode 插槽。相应地放置引用v
,即与字形中的右线距离相同Q_u
。在本例中为:15。
打开元素 > 字形信息并命名
Q_v
打开元素 > 字体信息 > 查找 > GSUB > 'liga' 标准连字符 > 'liga' 标准连字符 1
创建新连字:在左行添加
Q_v
。在右行添加 Q、空格、v
打开文件 > 生成字体。选择一个目录。选择 OpenType CFF 并强制字形名称为 TeX。将其命名为
LinLibertine_R.otf
。保存。忽略 FontForge 关于极值点等的投诉。创建系统 Linux Libertine 字体的备份。删除原始字体并用新字体替换它们。检查它是否正常工作。
\documentclass[12pt]{article} \usepackage{fontspec} \setmainfont[Mapping=tex-text,Ligatures=TeX]{Linux Libertine O} \begin{document} Qvest \end{document}
- 现在您只拥有罗马字母的字形。重复以下说明:a) 大写小写字母 + 小型大写字母 [
Q_u.sc
] b) 小写小写字母 [q.sc_u.sc
] - 常规文件已处理完毕。现在对斜体、粗体、粗体斜体和 Display 系列执行相同操作。
编辑1
我修改了常规字体(包括 Qv 和 qv 的小写字母)。待修改:斜体、粗体等。
编辑2
添加了指标:
打开指标 > 按类别设置字距 > 'kern' 小型大写字母
在包含该类别的第一行中搜索
v.sc
。添加Q_v.sc
和q.sc_v.sc
字形用拉丁和的度量重复
Q_v
。
下载常规字体 [otf 和 sdf] 文件这里。
答案2
这太丑了,需要进行大量调整才能正常工作。此外,它很可能会在长篇文本中产生可怕的结果,并破坏 LaTeX 所有出色的排版功能。不过,我不能错过这个证明 egreg 错误的机会。:-D
(即使他显然已经知道这是可能的,并且可以比我做得更优雅。)
\documentclass{memoir}
\usepackage{tikz}
\usepackage{fontspec}
\setmainfont[Ligatures={Common}]{Linux Libertine O}
\newcommand*\Qv{%
\mbox{}%\raisebox{-0.365\height}[0pt][0pt]{%
\raisebox{-0.26\height}[\height][0pt]{%
\begin{tikzpicture}[x=1pt,y=1pt]
\node[inner sep=0pt,outer sep=0pt] at (0,0) {Qu};
\node[fill=white,inner sep=0.5pt] at (3.6,0) {v};
\end{tikzpicture}}\hspace{-3pt}%
}
\begin{document}
Quarante.
Qvinde.
\Qv{}inde.
\end{document}