角色列表

角色列表

我正在寻找来自语音转录系统的某些变音符号德语瑞士语言书(瑞士德语语言地图集)。该系统类似于有时被称为条顿主义者。以下是 Rudolf Hotzenköcherle (1962) 拍摄的(质量较差的)照片:德语瑞士语入门. B部分。伯尔尼,第87、80页:

b/p 系列 e 系列

角色列表

以下字符尚未采用 Unicode(例如,您可以在N4081:在 UCS 中对“Teuthonista”语音字符进行编码的修订提案):

  • 下方括号内的点
  • 下面的括号分音符
  • 下方有 lenis 标记(与 ogonek 相似的变音符号)
  • 下方带括号的 lenis 标记
  • 下方有双镜头标记
  • 下方带括号的双引号

这个是 Unicode 的,但是我还没能在 LaTeX 中找到一个很好的解决方案:

  • U+0353 结合以下 x

这些是可用的tipa(为了完整性,我在这里仅列出它们):

  • \textsubdot
  • \textsubumlaut
  • \textsyllabic(下方有竖线)

我初步的糟糕解决方案

基于tipaman.pdf,我实现了这个:

初步的丑陋解决方案

使用以下代码:

\documentclass{scrartcl}
\usepackage{tipa}
\begin{document}
\tipaLoweraccent[.2ex]{\textsf{\super{x}}}{b}
b
\textsyllabic{b}
\tipaUpperaccent[.4ex]{\super{b}}{p}
\tipaLoweraccent[.2ex]{\textsf{\super{x}}}{p}
p
\=p
\textsuperscript{p}p
pp\par
\tipaLoweraccent[.2ex]{\textsf{\super{\textit{\textiota\textiota}}}}{i}
\tipaUpperaccent[.4ex]{\super{i}}{e}
\textsubumlaut{e}
\tipaLoweraccent[.2ex]{\textsf{\super{($\cdot\cdot$)}}}{e}
\textsubdot{e}
\tipaLoweraccent[.2ex]{\textsf{\super{($\cdot$)}}}{e}
e
\tipaLoweraccent[.2ex]{\textsf{\super{(\textit{\textiota})}}}{e}
\textpolhook{e}
\tipaLoweraccent[.2ex]{\textsf{\super{(\textit{\textiota\textiota})}}}{e}
\tipaLoweraccent[.2ex]{\textsf{\super{\textit{\textiota\textiota}}}}{e}
\ae{}
\textsubumlaut{a}
\end{document}

我怎样才能得到更好的结果?括号太大了。这\textiota是一个非常粗糙的解决方案(我认为更接近 ogonek 的东西会更接近上图)。

答案1

支持条顿主义者已添加到 2014 年(或大约)发布的 Unicode 标准 7.0 版中。因此,在现代 LaTeX 环境中,您可以直接插入这些特殊字符,例如通过它们的 Unicode 代码点,使用 的符号表示\char"1AB7combining open mark below

困难的部分是找到一种真正支持条顿主义者. 即使是为语言学家制作的字体Brill 字体君主制或者Junicode不完全支持这些字体(据我所知)。据我所知,唯一完全支持 Teuthonista 的公开字体是诺托衬线由谷歌委托,它确实提供了所有字符和标记,并且在印刷上几乎正确,除了变音符号的括号放错了位置(见下图)。

要编译的示例xelatex

\documentclass{article}
\usepackage{fontspec}
\setmainfont{Noto Serif}

\begin{document}

b\char"0353{} b b\char"0329{} p\char"1DE8{} p\char"0353{} p p\char"0304{} \textsuperscript{p}p pp

i\char"1AB8{} e\char"0365{} e\char"0324{} e\char"0324\char"1ABD{} e\char"0323{} e\char"0323\char"1ABD{} e{} e\char"1AB7\char"1ABD{} e\char"1AB7{} e\char"1AB8\char"1ABD{} e\char"1AB8{} æ a\char"0324{}

\end{document}

结果(上面两行是 Noto Serif):

在此处输入图片描述

答案2

可以再稍微调整一下但是......

输出

\documentclass{scrartcl}
\usepackage{tipa,graphics}
\makeatletter
\providecommand\xloweraccent{\@ifnextchar[{\lower@accent x\empty}%
  {\lower@accent x\empty[\z@]}}

\def\brak#1{\xloweraccent{%
\raisebox{-.3ex}{\resizebox{!}{.6ex}{\bfseries(}}%
{\fontencoding{T3}\selectfont\char12}%
\raisebox{-.3ex}{\resizebox{!}{.6ex}{\bfseries)}}%
}{#1}}


\def\brakk#1{\xloweraccent{%
\raisebox{-.3ex}{\resizebox{!}{.6ex}{\bfseries(}}%
\scalebox{.7}{\fontencoding{T3}\selectfont\char12\kern-.1em\char12}%
\raisebox{-.3ex}{\resizebox{!}{.6ex}{\bfseries)}}%
}{#1}}


\def\tipakk#1{\xloweraccent{%
{\fontencoding{T3}\selectfont\char12\kern-.1em\char12}%
}{#1}}


\def\brauml#1{\xloweraccent[.3ex]{%
\raisebox{1.1ex}{\resizebox{!}{.6ex}{\bfseries(}}%
{\kern-.1em\fontencoding{T3}\selectfont\char4\kern-.1em}%
\raisebox{1.1ex}{\resizebox{!}{.6ex}{\bfseries)}}%
}{#1}}

\def\bradot#1{\xloweraccent[.3ex]{%
\raisebox{1.1ex}{\resizebox{!}{.6ex}{\bfseries(}}%
{\kern-.1em\fontencoding{T3}\selectfont\char10\kern-.1em}%
\raisebox{1.1ex}{\resizebox{!}{.6ex}{\bfseries)}}%
}{#1}}

\makeatother

\begin{document}

\tipaLoweraccent[.2ex]{\tiny\textsf{x}}{b}
b
\textsyllabic{b}
\tipaUpperaccent[.3ex]{\tiny b}{p}
\tipaLoweraccent[.2ex]{\tiny\textsf{x}}{p}
p
\=p
\textsuperscript{p}p
pp\par
\tipakk{i}
\tipaUpperaccent[.3ex]{\tiny i}{e}
\textsubumlaut{e}
\brauml{e}
\textsubdot{e}
\bradot{e}
e
\brak{e}
\textpolhook{e}
\brakk{e}
\tipakk{e}
\ae{}
\textsubumlaut{a}
\end{document}

答案3

非常感谢,David Carlisle!从您的回答中了解了它的工作原理后,我能够做出自己的调整:我使用分别由 、 和tipa生成的字符\textsublhalfring\textsubrhalfring而不是括号和 x \textovercross。我还强制括号内的变音符号始终直立,因此斜体时字距不会混乱。

包含斜体字符的屏幕截图

\documentclass{scrartcl}
\usepackage{tipa,graphicx}

\newcommand{\subpardot}[1]{\tipaLoweraccent[.2ex]
  {\upshape\fontencoding{T3}\selectfont
    \char21
    \raisebox{-1.15ex}{\kern-.12em\char10\kern-.09em}%
    \kern-.05em\char20}
  {#1}}

\newcommand{\subpardotdot}[1]{\tipaLoweraccent[.2ex]
  {\upshape\fontencoding{T3}\selectfont
    \char21
    \raisebox{-1.15ex}{\kern-.19em\char4}%
    \kern-.18em\char20}
  {#1}}

\newcommand{\subhook}[1]{\tipaloweraccent[.2ex]{12}{#1}}

\newcommand{\subparhook}[1]{\tipaLoweraccent[.17ex]
  {\upshape\fontencoding{T3}\selectfont
    \char21
    \kern-.1em\raisebox{.5ex}{\char12}%
    \kern-.1em\char20}
  {#1}}

\newcommand{\subhookhook}[1]{\tipaloweraccent[.2ex]
  {12\kern-.1em\char12}
  {#1}}

\newcommand{\subparhookhook}[1]{\tipaLoweraccent[.17ex]
  {\upshape\fontencoding{T3}\selectfont
    \char21
    \kern-.1em\raisebox{.45ex}{\scalebox{.7}{\char12\kern-.1em\char12}}%
    \kern-.1em\char20}
  {#1}}

\newcommand{\subx}[1]{\tipaloweraccent[.15ex]{24}{#1}}

\begin{document}

\subx{b}
b
\textsyllabic{b}
\tipaUpperaccent[.3ex]{\tiny b}{p}
\subx{p}
p
\=p
\textsuperscript{p}p
pp

\subhookhook{i}
\tipaUpperaccent[.3ex]{\tiny i}{e}
\textsubumlaut{e}
\subpardotdot{e}
\textsubdot{e}
\subpardot{e}
e
\subparhook{e}
\subhook{e}
\subparhookhook{e}
\subhookhook{e}
\ae{}
\textsubumlaut{a}

\emph{\subx{b}
  b
  \textsyllabic{b}
  \tipaUpperaccent[.3ex]{\tiny b}{p}
  \subx{p}
  p
  \=p
  \textsuperscript{p}p
  pp}

\emph{\subhookhook{i}
  \tipaUpperaccent[.3ex]{\tiny i}{e}
  \textsubumlaut{e}
  \subpardotdot{e}
  \textsubdot{e}
  \subpardot{e}
  e
  \subparhook{e}
  \subhook{e}
  \subparhookhook{e}
  \subhookhook{e}
  \ae{}
  \textsubumlaut{a}}

\end{document}

答案4

HarfBuzz 字体渲染引擎现在被 LuaLatex 和 XeLatex 所使用,因此两个编译器都有望产生类似的输出。

使用 Noto Serif 字体组第 2 版(通过 LuaLatex 编译)可得到三种随机字体:

路拉泰克斯

XeLatex 几乎与输出相匹配,但在少数情况下未对齐,其中变音符号被解释为可堆叠:

赛莱特

平均能量损失

\documentclass{article}
\usepackage{fontspec}
\newcommand\fname{NotoSerif-ExtraCondensedMediumItalic.ttf}
\setmainfont{\fname}
\newcommand\fnameb{NotoSerif-SemiCondensedExtraBold.ttf}
\newfontface{\ffb}{\fnameb}
\newcommand\fnamec{Noto Serif}
\newfontface{\ffc}{\fnamec}

\begin{document}
LuaLatex + \fname 

b\char"0353{} b b\char"0329{} p\char"1DE8{} p\char"0353{} p p\char"0304{} \textsuperscript{p}p pp

i\char"1AB8{} e\char"0365{} e\char"0324{} e\char"0324\char"1ABD{} e\char"0323{} e\char"0323\char"1ABD{} e{} e\char"1AB7\char"1ABD{} e\char"1AB7{} e\char"1AB8\char"1ABD{} e\char"1AB8{} æ a\char"0324{}
\bigskip

\ffb
LuaLatex + \fnameb 

b\char"0353{} b b\char"0329{} p\char"1DE8{} p\char"0353{} p p\char"0304{} \textsuperscript{p}p pp

i\char"1AB8{} e\char"0365{} e\char"0324{} e\char"0324\char"1ABD{} e\char"0323{} e\char"0323\char"1ABD{} e{} e\char"1AB7\char"1ABD{} e\char"1AB7{} e\char"1AB8\char"1ABD{} e\char"1AB8{} æ a\char"0324{}
\bigskip

\ffc
LuaLatex + \fnamec

b\char"0353{} b b\char"0329{} p\char"1DE8{} p\char"0353{} p p\char"0304{} \textsuperscript{p}p pp

i\char"1AB8{} e\char"0365{} e\char"0324{} e\char"0324\char"1ABD{} e\char"0323{} e\char"0323\char"1ABD{} e{} e\char"1AB7\char"1ABD{} e\char"1AB7{} e\char"1AB8\char"1ABD{} e\char"1AB8{} æ a\char"0324{}
\bigskip

\end{document}

**附录**

XeLatex 有一个解决办法:

  1. 先在下方加上括号。这样就可以在堆叠方面立即修复点下方的问题:e\char"1ABD{}\char"0323{}

  2. 下面的括号 + 下面的分音符可以单独使用,因此将它们重叠:e\char"1ABD{}\llap{e\char"0324{}}

xelatex 解决方案

平均能量损失

\documentclass{article}
\usepackage{fontspec}
\newcommand\fname{NotoSerif-ExtraCondensedMediumItalic.ttf}
\setmainfont{\fname}
\newcommand\fnameb{NotoSerif-SemiCondensedExtraBold.ttf}
\newfontface{\ffb}{\fnameb}
\newcommand\fnamec{Noto Serif}
\newfontface{\ffc}{\fnamec}

\begin{document}
XeLatex + \fname 

b\char"0353{} b b\char"0329{} p\char"1DE8{} p\char"0353{} p p\char"0304{} \textsuperscript{p}p pp

i\char"1AB8{} 
e\char"0365{} 
e\char"0324{} 
e\char"1ABD{}\llap{e\char"0324{}}
%e\char"1ABB{}\char"1AB4{}
e\char"0323{} 
e\char"1ABD{}\char"0323{}
e{} 
e\char"1AB7\char"1ABD{} 
e\char"1AB7{} 
e\char"1AB8\char"1ABD{} 
e\char"1AB8{} 
æ 
a\char"0324{}
\bigskip

\ffb
XeLatex + \fnameb 

b\char"0353{} b b\char"0329{} p\char"1DE8{} p\char"0353{} p p\char"0304{} \textsuperscript{p}p pp

i\char"1AB8{} 
e\char"0365{} 
e\char"0324{} 
e\char"1ABD{}\llap{e\char"0324{}}
e\char"0323{} 
e\char"1ABD{}\char"0323{}
e{} 
e\char"1AB7\char"1ABD{} 
e\char"1AB7{} 
e\char"1AB8\char"1ABD{} 
e\char"1AB8{} 
æ 
a\char"0324{}
\bigskip

\ffc
XeLatex + \fnamec

b\char"0353{} b b\char"0329{} p\char"1DE8{} p\char"0353{} p p\char"0304{} \textsuperscript{p}p pp

i\char"1AB8{} 
e\char"0365{} 
e\char"0324{} 
e\char"1ABD{}\llap{e\char"0324{}}
e\char"0323{} 
e\char"1ABD{}\char"0323{}
e{} 
e\char"1AB7\char"1ABD{} 
e\char"1AB7{} 
e\char"1AB8\char"1ABD{} 
e\char"1AB8{} 
æ 
a\char"0324{}
\bigskip



\end{document}

相关内容