![如何在 XeLaTeX 中获取孟加拉手语 Anusvara、Anji 和 Uu?](https://linux22.com/image/400635/%E5%A6%82%E4%BD%95%E5%9C%A8%20XeLaTeX%20%E4%B8%AD%E8%8E%B7%E5%8F%96%E5%AD%9F%E5%8A%A0%E6%8B%89%E6%89%8B%E8%AF%AD%20Anusvara%E3%80%81Anji%20%E5%92%8C%20Uu%EF%BC%9F.png)
我正在使用基于 MacOS 的 XeLaTeX(版本 4.31)解密古印度手稿。我想输入“Benalgi Sign Anusvara”ং (U+0982)、“Bengali Anji”ঀ (U+0980) 和“Bengali Vowel Sign Uu”ূ (U+09C2)。幸运的是,Arun Debray 的设置对我有用。谢谢!(如何在英文文档中使用孟加拉语文字?)
因此,我尝试稍微修改 Arun Debray 的文件,以显示“Benalgi Sign Anusvara”ং (U+0982),如下所示。
\documentclass[preview, margin=0.5cm]{article}
\usepackage{polyglossia}
\setmainlanguage{english}
\setotherlanguage{bengali}
% Replace this with whatever font you're using
\newfontfamily\bengalifont[Script=Bengali]{Akaash}
\title{\textbengali{ইংরেজি} and Bengali}
\usepackage{newunicodechar} % <=== Added
\newunicodechar{^^^^25bc}{{\symbolfont\symbol{"25BC}}} % <=== Added
\newunicodechar{^^^^0982}{{\symbolfont\symbol{"0982}}} % <=== Added
\defaultfontfeatures{Scale=MatchUppercase} % <=== Added
\newfontfamily\symbolfont{DejaVu Sans Mono} % <=== Added
\begin{document}
\maketitle
First English, \textbengali{তারপর বাংলা}
{^^^^25bc}
{^^^^0982}
\end{document}
不幸的是,结果并不成功。“Benalgi Sign Anusvara”ং (U+0982) 没有出现。甚至现有的孟加拉语字母也因添加线条而损坏。相比之下,它呈现黑色三角形 (U+0982) 没有任何问题。您能给我一些建议来修改这个文件以获得这三个字母吗?提前谢谢!
答案1
U+0982 是孟加拉语字符:
\documentclass{article}
\usepackage{polyglossia}
\usepackage{newunicodechar}
\setmainlanguage{english}
\setotherlanguage{bengali}
% Replace this with whatever font you're using
\newfontfamily\bengalifont[Script=Bengali]{Bangla MN}
\defaultfontfeatures{Scale=MatchUppercase}
\newfontfamily\symbolfont{DejaVu Sans Mono}
\newunicodechar{▼}{{\symbolfont▼}}
\begin{document}
\title{\textbengali{ইংরেজি} and Bengali}
\author{Woonsaan Seok}
\maketitle
First English, \textbengali{তারপর বাংলা}
▼
\textbengali{^^^^0982}
\end{document}
答案2
根据评论,安吉在字体中很少实现。
在 98 多种带有孟加拉语 Unicode 块的字体中,我发现只有三种字体具有该功能:
解决方法是,如果您的主要字体是 FreeSerif,则可以\anji
使用 Noto Serif Bengali 字体制作宏。两者都是衬线字体,因此可以很好地混合。
平均能量损失
\documentclass{article}
\usepackage{xcolor}\usepackage{fontspec}
\setmainfont{FreeSerif}[Script=Bengali,Colour=blue]
\newfontface\anjifont{Noto Serif Bengali}[Colour=red]
\newcommand\anji{{\anjifont ঀ}}
\begin{document}
\anji\ সৌরজগৎ বলতে সূর্য এবং এর সাথে মহাকর্ষীয়ভাবে আবদ্ধ সকল জ্যোতির্বৈজ্ঞানিক বস্তুকে বোঝায়। %from Wikipedia
\end{document}
如果需要,可以调整尺寸。
答案3
newunicodechar
似乎会导致您报告的问题。请尽量避免使用它。对于 Anji,它仅适用于某些字体。无论出于何种原因,它都适用于 Noto Serif Bengali(https://www.google.com/get/noto/#serif-beng),但不是 Akaash。