我搜索过babel 手册 有关该包支持的所有具有 RTL 脚本的语言的列表,我只发现两个宏bbl@alscripts
,bbl@rscripts
其定义如下:
\def\bbl@alscripts{,Arabic,Syriac,Thaana,}
\def\bbl@rscripts{% TODO. Base on codes ??
,Imperial Aramaic,Avestan,Cypriot,Hatran,Hebrew,
Old Hungarian,Old Hungarian,Lydian,Mandaean,Manichaean,%
Manichaean,Meroitic Cursive,Meroitic,Old North Arabian,
Nabataean,N'Ko,Orkhon,Palmyrene,Inscriptional Pahlavi,%
Psalter Pahlavi,Phoenician,Inscriptional Parthian,Samaritan,%
Old South Arabian,}
从这两个列表可以看出,它们不包括波斯语或乌尔都语等某些语言,对此有何解释以及 alscript 中的语言和 rscript 中的语言之间的区别。
答案1
它们是脚本,而不是语言。许多语言都使用阿拉伯脚本,脚本语言对(OpenType 称之为“语言系统”)才是区域设置中最重要的部分。具有区域设置文件的语言包括:
- 阿拉伯:阿拉伯语(几个地区)、中部库尔德语、克什米尔语、马赞德兰语、北库尔德语、北卢里语、普什图语、波斯语、旁遮普语、乌尔都语、维吾尔语、乌兹别克语。
- 希伯来语:希伯来语、意第绪语。
- 叙利亚语:叙利亚语
GitHub 存储库中有更多带有 RTL 脚本的语言环境文件。例如,请参阅https://github.com/latex3/babel/issues/176(腓尼基语)。
至于\bbl@rscripts
和之间的区别\bbl@alscripts
之间的区别,这只是 Unicode bidi 算法的技术细节。下面是详细的解释,但不太适合胆小的人:https://unicode.org/reports/tr9/。
2023 年 12 月更新
此外,还有不同程度的覆盖:
- 阿拉伯:俾路支语、埃及阿拉伯语(又名 Masri)、西莱基语、信德语。
- 阿维斯陀语:阿维斯陀语。
- 希伯来语:拉迪诺语。
- 帝国阿拉姆语、帕尔米拉语、纳巴泰语:阿拉姆语。
- 曼达教:古典曼达语。
- 腓尼基人:腓尼基人。
- 撒玛利亚人:撒玛利亚人。
- 塔那: 迪维希语。