小写 p 下方带点

小写 p 下方带点

是否可以在 p 下方放置一个点?我指的是 ḥ 中的点。据我所知,这个字符不在 unicode 中(应该在 Latin Extended Supplemental 中,看表格),因此我的问题来了:

是否有可能生成非unicode的符号?

顺便说一句,我正在使用 LuaLaTeX 进行编译,并使用 fontspec 编译 EBGaramond 字体

\documentclass{article}
\usepackage{fontspec}
\setmainfont{EB Garamond}
\begin{document}
\d{p}
\d{o}
\d{g}
\d{n}
\end{document}

答案1

如果字体设计师没有为字符设置锚点,则组合字符有时需要一些帮助。

\documentclass{article}
\usepackage{fontspec}
\setmainfont{EB Garamond}

\DeclareRobustCommand{\pdb}{%
  p\llap{^^^^0323\kern0.4\fontcharwd\font`p}%
}
\DeclareRobustCommand{\gdb}{%
  g\llap{\lower0.9\fontchardp\font`g\hbox{^^^^0323\kern0.5\fontcharwd\font`g}}%
}

\begin{document}

\pdb\d{o}\gdb\d{n}

\end{document}

这里,组合字符 U+0323 COMBINING DOT BELOW 被单独放置在零宽度框中,因此它不会组合。在末尾添加了合适的字距,使字符向左移动。

恐怕调整量必须根据字体来计算。

如果要将 p 下方的点向下移动,请使用 的定义\gdb作为模板。

在此处输入图片描述

答案2

可选参数\stackunder指定间隙。

\documentclass{article}
\usepackage{stackengine}
\begin{document}
ha\stackunder[-1.5pt]{p}{.}\stackunder[0pt]{p}{.}y
\end{document}

在此处输入图片描述

答案3

有一个组合下方点 (U+0323)字符,但它在 EB Garamond 中看起来不太好(它适用于 H,但不适用于 P)。但是,您可以调整字距以使其适合 P 字母:

%!TEX program = lualatex
\documentclass{article}
\usepackage{fontspec}
\setmainfont{EB Garamond}
\newcommand{\mydoT}[1]{#1\kern -.2em \char"0323\relax}
\begin{document}
\Huge 
p\char"0323\relax
    
p\kern -.2em \char"0323\relax

\mydoT{p}
\end{document}

在此处输入图片描述

答案4

您可以使用原始字体将点放在 p 下方\vtop。您可以将点放置\kern在相对于 p 字符的任意位置。我的宏将点放在 p 的字干下方(在 Computer Modern 中)。当您使用其他字体时,可能需要进行一些修改。

\def\dotp{\leavevmode\vtop{\offinterlineskip\hbox{p}\kern.07em\hbox{.}}}

Test: pa\dotp a

相关内容