为 polyglossia 添加完整的非英语 Unicode 语言(孟加拉语)支持

为 polyglossia 添加完整的非英语 Unicode 语言(孟加拉语)支持

正如我们所看到的这个问题孟加拉语(孟加拉语) 支持多语是不完整的。

主要的薄弱环节是,

  1. 支持数字。
  2. 支持其他语言相关领域,如日期。

对于第一个问题,目前的解决方案是,

  1. 发现这里定义自己的接口。要解决的问题越来越多,最终人们会想放弃。
  2. 根据建议这里(接近结尾)重新定义\@arabic(可能\@alph)的含义。正如那里正确指出的那样,这是一种冒险的做法。

我更喜欢第二种方法。但我已经为使用这种方法付出了代价。我发现我甚至不能使用这些方法labelref更改选项enumitem

如果我决定通过添加来做出贡献孟加拉语(孟加拉语) 支持多语,我应该从哪里开始呢?

我知道这肯定是某种表格。如果我能找到正确的表格,这个任务就会容易得多。

答案1

为 polyglossia 的开发做出贡献以添加孟加拉语 (Bangla) 支持是一个好主意!首先,您应该熟悉该软件包的结构和代码库。Polyglossia 的源代码可以在 GitHub 上找到https://github.com/reutenauer/polyglossia

接下来,您可以查找 polyglossia 已支持的其他语言的示例,以了解它们的实现方式。例如,您可以研究印地语的代码,该语言具有与孟加拉语类似的功能,例如支持数字和日期。

要添加对孟加拉语数字的支持,您需要创建一个表格,将标准阿拉伯数字映射到相应的孟加拉语数字。然后,您可以修改现有的多语种数字格式代码,以便在呈现孟加拉语文本时使用此表格。

要添加对其他语言相关领域(例如日期)的支持,您可能需要创建能够处理孟加拉语特定功能的新代码。这可能涉及修改现有的日期处理代码,或创建能够处理孟加拉语特定日期格式的新函数。

完成这些更改后,您可以向 GitHub 上的 polyglossia 项目提交拉取请求。请务必记录您的更改并解释其工作原理,并包含任何相关的测试用例,以确保您的更改不会引入新的错误或回归。

总而言之,您可以采取以下一些步骤来开始:

  • 熟悉 polyglossia 包及其代码。您可以在 CTAN 上找到源代码和文档(https://ctan.org/pkg/polyglossia)。

  • 确定孟加拉语支持目前不完整或缺失的领域,例如数字和日期格式。

  • 研究孟加拉语及其书写系统,了解该语言的具体需求。这将涉及了解文字及其字符,以及与数字和日期相关的任何特殊规则或惯例。

  • 查看多语种中的其他语言模块,了解它们如何实现对数字和日期的支持。这将让您了解可能需要创建哪些类型的表格或数据结构来支持孟加拉语。

  • 首先创建一个表格或数据结构,将阿拉伯数字映射到相应的孟加拉语。这将用于替换 @arabic 的默认定义,使 polyglossia 能够正确地用孟加拉语排版数字。

  • 通过创建一个包含数字的孟加拉语简单文档(例如带有编号项目符号的项目列表)来测试您的更改。

  • 一旦数字正常工作,就继续添加对日期和其他语言特定功能的支持。这可能涉及创建额外的表或数据结构来处理月份和日期名称等内容,或修改某些命令(如 \today)的格式。

  • 最后,将您的更改提交给多语言维护人员以供审核并纳入未来的版本中。

请记住,这是一项复杂的任务,可能需要花费一些时间和精力才能完成。不过,孟加拉语社区和整个 LaTeX 社区都会非常感激您的贡献。

相关内容