Se kong ge:动态生成 Ge'ezunicode

enter image description here

嗨。如果你看上面的图片,你会看到一组非常奇怪的字符显示与一些拉丁字符。奇怪的是厄立特里亚字符。他们是我们在我国使用的字符。因此,为了直截了当,我希望创建甚至是最简单的软件,甚至可能是一个批处理文件 (如果可能的话),以帮助我使这些字符在网络上适用,并使 PC 理解和显示它们时被键入。

谢谢

27

您的问题是“如何创建一种语言”,因此我将描述一种新语言(或更准确地说,是书写系统)所需的所有内容。您特别询问厄立特里亚字母,因此我将提供有关现代系统如何支持厄立特里亚字母的具体示例,并尝试为您提供缺少的部分的指针。答案很长,并提供了很多链接来支持这两个解释。

要使用像Ge'ez这样的脚本来工作,您需要使用代码来支持 a /a>(也称为 Ethiopic,该脚本用于在埃塞俄比亚编写 Amharic 和在厄立特里亚编写 Tigrinya)。您需要一些东西。首先是一种编码字符的方法;一组表示每个字符的数字,计算机可以用来表示文本。幸运的是,Unicode

现在,Unicode 只是一个character set;当字符和数字之间的抽象映射时,它将提供一个更有效的 UTF 编码。要将这些字符作为字节序列进行实际传输,您可以使用character encoding。有很多编码;其中一些,例如ASCIIISO-8859-1仅覆盖完整 Unicode 字符集的子集,而其他的

如果您使用的编码没有覆盖 Unicode 的全部范围,或者您没有很好的方法来键入这些字符,并且您正在编写 HTML 或 XML,则可以使用numeric character references来代替。为此,您可以在&#;之间编写要引用的字符的 Unicode 代码点。您可以在十进制中编写数字,或者在十六进制中编写

现在,您有了一个字符集,并且有了一种对其进行编码的方法,因此您需要一种显示它的方法。某些脚本更容易在其他脚本中显示。对于所有脚本,您需要一个font;一个定义每个字符外观的文件。字体包含一个字形集合,或每个字符的绘图。一些脚本,例如Latin alphabet(在之前使用的字母)相对简单。

幸运的是,Ge 'ez 是一个相当简单的书写系统,不需要任何专门的渲染支持或高级字体系统。每个字符都是一个单独的字形,不需要任何重新排序。因此,大多数计算机上已经可用的渲染系统显示的普通OpenType字体将完成这项工作。但是您仍然需要字体才能显示>字符。要创建

对于 Ethiopic,您不需要创建自己的。Windows / Vista 中已经有numerous fonts available版本,其中包含 Ethiopic 字符,但我建议使用来自SIL(夏季语言学研究所)的Abyssinica SIL,这对于少数民族语言和书写系统来说是很多伟大的工作。他们的字体在free license下可用。

有了字体后,您将能够查看埃塞俄比亚文字。但是其他阅读您的文档的人可能没有这些字体(如果他们使用的是旧版本的 Windows 或 Mac OS X,如果他们没有安装 Windows 附带的所有字体等),在这种情况下,这些字符可能会在其计算机上显示为框或问号。您可以给这些人一个可再发行的字体,例如 Abyssinica SIL,或者他们可以购买一个

在一个网页上,你可以使用web fonts和 ai来从你的样式表中链接到一个字体,让你的网络浏览器加载该网页的所有字体。all the way back to IE 6,你可以在最近的版本中支持不同的网络浏览器支持不同的字体文件格式 (EOT3)。

@font-face {
    font-family: 'abyssinica_silregular';
    src: url('abyssinicasil-r.eot');
    src: url('abyssinicasil-r.eot?#iefix') format('embedded-opentype'),
         url('abyssinicasil-r.woff') format('woff'),
         url('abyssinicasil-r.ttf') format('truetype'),
         url('abyssinicasil-r.svg#abyssinica_silregular') format('svg');
    font-weight: normal;
    font-style: normal;
}

既然您已经知道如何编码埃塞俄比亚文,查看埃塞俄比亚文字符以及共享包含埃塞俄比亚文字符的文档,那么您可能希望将它们键入文档中。如果您使用 HTML,则可以只键入上述数字字符引用。在其他文档中,您可以从所有这些字符的图表中复制并粘贴字符,例如 Wikipedia 页面。但这将变得非常麻烦。根据您的系统和设置,您还可以使用

要完全支持在您的计算机上键入脚本,您需要使用0input method键布局来创建一个,您可以在 Mac 上使用一个,您可以使用简单的键盘布局来键入两个字符。Dead keys

如果您需要的字符多于修饰符和死键所支持的字符,例如键入中文或日文,则需要一种成熟的输入法。输入法允许您运行任意代码以将某人键入的内容映射到其生成的文本中;例如,在日语输入法中,您可以键入您正在编写的内容的语音表示形式,它将向您显示与该表示形式匹配的可能字符的下拉列表,允许您选择

用于 Ethiopic 的standard input method支持 Windows 的输入 /a>,因此您可以在 Windows 上使用它来支持死键。它看起来像 Ethiopic 最流行的现有输入法是Keyman,它是一种在 Mac 和 Windows 上运行的商业输入法,此外还有一个在 Linux 上运行的免费变体KMFL。SIL 具有3

如果你只需要支持一个网站上的输入,你也可以在 JavaScript 中提供一个基于输入的方法,通过在 JavaScript 中编写一个输入法,它可以从某人输入到 Ethiopic 中。我不知道任何现有的框架;但是,我发现KoreanJapanese输入法在 JavaScript 中实现。你可以看看那些是如何实现的。

有了上述所有内容(字符集,编码,字体,渲染支持和输入法),您将能够在脚本中创建,共享和查看文档。如果这就是您所需要的,那就太好了;上面将允许您使用给定脚本中的文档。但是,要在计算机上完全支持一种语言,而不仅仅是其脚本或编写系统,还需要另外两个部分:locale进行本地化。

区域设置指定程序应如何在给定的脚本,语言,文化和 / 或编码中使用十进制语言来操作文本。程序可以执行许多常见的文本处理操作:显示数字,显示日期和时间,对字符串或名称进行排序等。这些工作方式可能会根据使用该程序的人的语言,脚本和文化而有所不同;例如,在瑞典语中,“ü”与“y”一起排序,而在英语和德语中,它可能不会与

命名区域设置的最广泛使用的标准是RFC 4646 (BCP 47)。区域设置通常以“ln-CC”指定,语言代码为ln,国家代码为CC:美国塞尔维亚语为 en-US,英国英语为 en-UK,法国法语为 fr-FR。

有多种不同的格式来定义特定区域设置所具有的规则。Windows 使用 NLP 文件,可以使用Microsoft Locale Builder创建自定义格式。可以使用localedef创建 POSIX(Unix / Linux)区域设置。如今,许多系统都朝着Unicode Common Locale Data Registry的方向发展,该格式为Unicode Common Locale Data Registry指定了许多语言环境的标准化格式。

最后,要完全支持一种语言,您需要将软件本身翻译成该语言。当然,有许多软件,每个软件都包含许多需要翻译的字符串。某些软件不是为翻译而设计的;它不是internationalized。某些软件只能由创建它的人翻译;字符串已内置到程序中,并且可能无法由第三方轻松修改以本地化软件。但是,可以将其本地化为其他语言。

例如,Mac OS X 上的应用程序可以将其本地化数据存储在应用程序包中的单独文件中4>。有一个名为 AppleGlot 的工具(您需要注册Mac Developer Program并转到下载区域以找到它),它可以帮助您提取该数据,为文件提供所有需要翻译的字符串,并允许您将其与应用程序再次结合使用。对于开源软件,例如您可以在 Linux 上使用大量翻译

当然,没有人可以完成上述所有操作;需要许多人共同努力才能在现代计算机系统上建立对新语言的支持。这一切都旨在对给定语言的语言支持中的所有组件进行高级介绍,并提供参考资料,以帮助您跟进要处理的任面,并演示 Tigrinya 和 Ge 'ez 脚本。

4

如果它们是 Unicode 字符,它们应该像任何其他语言的字符一样可显示。我用 Google 搜索了一下,发现了这个,希望它们和你要问的是一样的:

.

看到了吗?在 Web 浏览器或其他程序上显示它们不需要额外的工作。

这些是 Unicode Ethiopic 集(U + 1200..U + 137C)中的字符,以 UTF-8 编码:

第 1 行:

= 0xE1 0x8B 0xA8 = U + 12E8 = ETHIOPIC SYLLABLE YA

= 0xE1 0x8B 0xA9 = U + 12E9 = 埃塞俄比亚 SYLLABLE YU

= 0xE1 0x8B 0xAA = U + 12EA = THIOPIC SYLLABLE YI

= 0xE1 0x8B 0xAB = U + 12EB = THIOPIC SYLLABLE YAA

= 0xE1 0x8B 0xAC = U + 12EC = THIOPIC SYLLABLE YEE

= 0xE1 0x8B 0xAD = U + 12ED = THIOPIC SYLLABLE YE

= 0xE1 0x8B 0xAE = U + 12EE = THIOPIC SYLLABLE YO

第 2 行:

= 0xE1 0x8B 0xB8 = U + 12F8 = ETHIOPIC SYLLABLE DDA

= 0xE1 0x8B 0xBA = U + 12FA = ETHIOPIC SYLLABLE DDI

= 0xE1 0x8B 0xBB = U + 12FB = ETHIOPIC SYLLABLE DDAA

= 0xE1 0x8B 0xBC = U + 12FC = ETHIOPIC SYLLABLE DDEE

= 0xE1 0x8B 0xBD = U + 12FD = THIOPIC SYLLABLE DDE

= 0xE1 0x8B 0xBE = U + 12FE = THIOPIC SYLLABLE DDO

4

如今,在网页上使用埃塞俄比亚字符主要是字体问题。(您可能也有方便输入它们的问题,但这取决于您的创作环境。使用 Windows 7 的人至少有一种字体包含它们,但旧电脑通常缺少这种字体。以下字体包含它们 (可能还有其他字体):

Code 2000,是免费软件,作者已经消失,所以状态模糊

Unifont,一个免费的位图字体

FreeSerif,免费字体

Nyala,随某些版本的 Windows 一起分发

SunExt-A,免费字体

Fixedsys Excelsior,一个免费的位图字体,我想(没有测试)

我可能会使用 FreeSerif 作为可下载的字体,@font-face

2

刚刚遇到了同样的问题,但有一个简单的解决方案:谷歌现在提供了许多语言的 webfonts,也是 ethiopon:http://www.google.com/fonts/earlyaccess

本站系公益性非盈利分享网址,本文来自用户投稿,不代表边看边学立场,如若转载,请注明出处

(180)
Able和can的区别:无法在UICollectionView中单击UICollectionViewCell
上一篇
Clc r:在 Tee-clc.MacOS中更改默认凭据
下一篇

相关推荐

  • android 视频编码深入理解MediaCodec API

    Android 视频编码是指将原始视频数据经过压缩编码后,生成新的视频数据,以便减少视频文件的体积,提高传输速度,以及更好地在 Android 设备上播放。…

    2023-01-13 10:58:18
    0 29 62
  • cv小敢:如何利用CV小敢提升职业技能?

    cv小敢(Computer Vision Tiny-YOLO)是一种轻量级的物体检测算法,它可以在资源受限的设备上运行,如嵌入式设备、智能手机等。它是基于YOLO(You Only Look Once)算法的一个变体,由Joseph Redmon和Ali Farhadi开发,旨在提高深度学习模型的性能,同时减少模型的大小和计算复杂度。…

    2023-02-09 13:08:59
    0 61 51
  • coremail论客邮箱Coremail论客邮箱

    Coremail论客邮箱是一款专业的企业邮箱服务,可以满足企业对安全、可靠性和高效性的要求。它拥有强大的安全性能,可以提供多种安全保护,包括防止邮件被窃取、拦截恶意邮件、防止跨站脚本攻击等。此外,它还支持多种企业级功能,如组织架构管理、收发邮件管理、文件共享管理、联系人管理等,可以帮助企业提高工作效率,提升企业形象。…

    2023-02-25 04:36:55
    0 12 45
  • linux 编译静态库:```ar cr libtest.a *.o```4. 完成!

    我们要创建一个源文件,比如:mylib.c,内容如下:#include…

    2023-03-19 08:46:39
    0 45 22
  • canvas下载安装:Unleash the Power of Canvas to Create Amazing Visuals

    Canvas是一种HTML5技术,可以在网页上创建和绘制2D图形。它是一个JavaScript API,可以使用JavaScript代码来绘制图形,并且可以添加各种效果,如阴影,渐变,动画等。…

    2023-03-08 00:48:14
    0 92 22
  • class定位:The Benefits of Using Class Selectors for Element Locati

    示例示例class定位是一种CSS布局技术,用于指定HTML元素的位置,可以使元素放置在页面的任何位置。代码示例:…

    2023-03-06 07:16:44
    0 35 30
  • cvt加速技巧:如何使用CVT加速技巧提升网络性能?

    cvt加速技巧是一种用于提升计算机程序运行性能的技术。它可以帮助程序员更有效地利用处理器的资源,从而提高程序的性能。cvt加速技巧的主要原理是:在程序运行时,将处理器的资源(如内存、寄存器、流水线等)分解成小块,然后将这些小块重新组合,使其可以更有效地执行程序代码。…

    2023-01-21 04:33:16
    0 71 60
  • security code怎么填保护您的数据和隐私

    示例示例code是一种防止自动提交表单的安全措施,通常会在表单中显示一个图片,用户需要输入图片中显示的字符。以下是一个简单的 code代码示例:…

    2023-03-20 09:31:54
    0 81 45

发表评论

登录 后才能评论

评论列表(68条)