如何在梵文中获取 visarga 符号

如何在梵文中获取 visarga 符号

这是我的代码

\documentclass[letterpaper,12pt]{article}
\usepackage{fancyhdr}
\usepackage{footnpag}
\usepackage{fontspec}
\usepackage{polyglossia}
\usepackage[total={6.5in,8.75in},top=1.2in,left=1.1in]{geometry}
\pagestyle{fancy}

\newcommand{\san}{
\catcode`\^=12
\catcode`\~=12
\fontspec[Script=Devanagari,Mapping=velthuis-sanskrit]{Shobhika Bold}}

\begin{document}
{\san .h}
\end{document}

我只想获取 visarga 符号。上述代码的输出是一个圆圈,后面跟着一个 visarga 符号。 在此处输入图片描述

答案1

你能说说为什么要这样做吗?根据天城文的规则,visarga 本身没有意义;它应该附加在辅音上。

无论如何,搜索“独立组合字符”会得到一些结果(例如更具体地说是 XeTeX,)以及使用的建议U+00A0 不间断空格因为基本字符似乎避免使用虚线圆圈,所以使用xelatexlualatex,至少使用问题中提到的字体(Shobhika)和我尝试过的其他几种字体:

\documentclass{article}
\usepackage{fontspec}
\usepackage{polyglossia}
\newfontfamily{\shob}{Shobhika Bold}[Script=Devanagari, Renderer=HarfBuzz]
\newcommand{\visarga}{\shob \char"00A0\char"0903}
\begin{document}
\visarga
\end{document}

输出

但是,请注意,这(按照指示)会用空格呈现它:

\documentclass{article}
\usepackage{fontspec}
\usepackage{polyglossia}

\newfontfamily{\shob}{Shobhika Bold}[Script=Devanagari, Renderer=HarfBuzz]

\newcommand{\visarga}{\shob \char"00A0\char"0903}
\newcommand{\ka}{\shob \char"0915}

\begin{document}
\ka\visarga\ka
\end{document}

输出 2,注意空间

如果您尝试做一些奇怪的事情(根据问题的定义,可能是正确的!)并且不想要空格,您可能需要不同的解决方案。也许您想要的只是简单地使用 visarga \char"0915,并让它与前面的辅音正常结合?

\documentclass{article}
\usepackage{fontspec}
\usepackage{polyglossia}

\newfontfamily{\shob}{Shobhika Bold}[Script=Devanagari, Renderer=HarfBuzz]

\newcommand{\visarga}{\char"0903}
\newcommand{\ka}{\char"0915}

\begin{document}
\shob \ka\visarga\ka
\end{document}

输出 3

但是,您可能就像.h在问题中一样,所以您可能不会问这个问题,如果这是可以接受的。相反,另一种解决方案是使用U+200C ZERO WIDTH NON-JOINERU+200D ZERO WIDTH JOINER作为基本字符。这似乎有效(排版 visarga,没有虚线圆圈或空格)并且可能就是您想要的:

\documentclass{article}
\usepackage{fontspec}
\usepackage{polyglossia}

\newfontfamily{\shob}{Shobhika Bold}[Script=Devanagari, Renderer=HarfBuzz]

\newcommand{\visarga}{\shob \char"200C\char"0903}
\newcommand{\ka}{\shob \char"0915} % Or, {\san ka} as in the question.

\begin{document}
\ka\visarga\ka
\end{document}

输出四,似乎适用于所有用途

相关内容