组合来自 unicode 输入的多个变音符号

组合来自 unicode 输入的多个变音符号

在这个例子中,我无法组合多个变音符号:

\documentclass{article}  

%\usepackage[utf8]{inputenc}
%\usepackage{fontspec}

\begin{document}

Ā́ Łōgī́ zǭ́ze

\end{document}

尖音符应该始终显示在所有其他符号上方,但它们会打印在其他变音符号上方。这是在 xelatex 中:

在此处输入图片描述

这是 lualatex 中更糟糕的输出:

在此处输入图片描述

它应该是:

在此处输入图片描述

答案1

使用组合变音符号 unicode 块,您可以手动构建符号序列。它们将遵循您指定的顺序。

序列顺序

它们会堆积起来(或堆积在下面),达到您指定的数量。

堆积如山

因此,如果需要,您可以创建自己的组合。

手动添加标记:

第一行是从 MWE 粘贴的普通文本;第二行是手动建立的标记。

手动添加重音符号

这变成了寻找正确标记的情况。

代码

\documentclass[12pt]{article}
\usepackage[no-math]{fontspec}
\setmainfont{Noto Serif}
\newcommand\cdmacute{\symbol{"0301}}
\newcommand\cdmmacron{\symbol{"0304}}
\newcommand\cdmhook{\symbol{"0309}}
\newcommand\cdmring{\symbol{"030A}}
\newcommand\cdmdoublea{\symbol{"030B}}
\newcommand\cdmhacek{\symbol{"030C}}
\newcommand\cdmsolidus{\symbol{"0337}}
\newcommand\cdmseagull{\symbol{"033C}}
\newcommand\cdmsquare{\symbol{"033B}}
\newcommand\cdmbridge{\symbol{"033A}}
\newcommand\cdmbreve{\symbol{"032E}}
\newcommand\cdmogonek{\symbol{"0328}}

\begin{document}\
\noindent Ā́ Łōgī́ zǭ́ze 

A\cdmmacron\cdmacute\ L\cdmsolidus o\cdmmacron gi\cdmmacron\cdmacute\  zo\cdmmacron\cdmacute\cdmogonek ze

A\cdmacute\cdmmacron A\cdmmacron\cdmacute

o\symbol{"0302}\symbol{"032B}

\vspace{12pt}
A\cdmhook\cdmring\cdmdoublea\cdmhacek\cdmacute\cdmseagull\cdmsquare\cdmbridge\cdmbreve
\vspace{12pt}

A\cdmsolidus B\cdmsolidus C\cdmsolidus

 L\cdmsolidus

\end{document}

如果需要的话,可以通过该ucharclasses包从另一种字体中引入重音符号(或字母)。

相关内容