#script #iso #codes #representation #name #language #systems

codes-iso-15924

此软件包包含对 ISO 15924 编码规范的实施,用于表示文字名称

4 个版本

0.1.3 2022 年 12 月 25 日
0.1.2 2022 年 12 月 23 日
0.1.1 2022 年 12 月 9 日
0.1.0 2022 年 12 月 9 日

#1255文本处理


vidyut-lipi 使用

MIT 许可证

49KB
797

软件包 codes-iso-15924

此软件包包含对 ISO 15924 信息与文献 — 表示文字名称的编码规范的实施。

crates.io docs.rs

ISO 15924,表示文字名称的编码,是一个国际标准,定义了书写系统或文字的编码(“用于一种或多种语言的书写形式的图形字符集”)。每个文字系统都分配了一个四字母代码和一个数字代码。

尽可能的情况下,编码来自 ISO 639-2,其中文字名称与使用该文字的语言名称相同(例如:Gujarātī ISO 639 guj,ISO 15924 Gujr)。优先考虑 639-2 书目代码,这与其他情况下通常更受偏好的术语代码不同。

四字母 ISO 15924 代码纳入 IANA 语言子标签注册处用于 IETF 语言标签,因此可用于使用此类语言标签的文件格式。例如,它们可用于 HTML 和 XML,以帮助 Web 浏览器确定使用哪种字体显示外文文本。这样就可以区分,例如,使用西里尔文(sr-Cyrl)或拉丁文(sr-Latn)书写的塞尔维亚语,或者将罗马化或转写文本标记为如此。

有关 API 设计的说明,请参阅仓库 README

示例

use codes_iso_15924::ScriptCode;

let code = ScriptCode::Rohg;

assert_eq!(code.code(), "Rohg");
assert_eq!(code.numeric_code(), 167);
assert_eq!(code.name(), "Hanifi Rohingya");
assert_eq!(code.property_value_alias(), Some("Hanifi_Rohingya"));
assert_eq!(code.unicode_version(), "11.0");
assert_eq!(code.date_string(),"2017-11-21");

功能

默认情况下,只启用了 serde 功能。

  • serde - 启用 ScriptCode 类型的序列化。

变更

版本 0.1.3

  • 针对 codes-common 中的新 build 模块进行优化

版本 0.1.2

  • 实现了 StandardizedFixedLengthCode 特性。

版本 0.1.1

  • 使用新的 codes-common CSV 处理框架。

版本 0.1.0

  • 初始发布

待办事项

待定

依赖项

~0.4–2.6MB
~43K SLoC