gpt4 book ai didi

android - 在 Android 中支持使用 OpenType 字体的复杂文本布局

转载 作者:行者123 更新时间:2023-11-29 20:56:31 24 4
gpt4 key购买 nike

我想要什么

我想在我的 Assets 文件夹中放置一个 OpenType 字体,并使用 Typeface.createFromAsset 在我的 Android 应用程序中为使用 complex text layout (CTL) 的语言呈现 Unicode 文本.

背景

我想为 traditional Mongolian script 做这个,但对于其他语言,如泰语、阿拉伯语、印度语和许多少数民族语言,这是同样的问题(据我所知)。一个OpenType font已经包含正确显示文本所需的信息。问题是并非所有软件都支持 OpenType 渲染。 Some do ,但其他人没有。据我所知,Android 以前没有,但现在可能有?

我的问题

Android Lollipop 现已发布。 Android 是否支持 OpenType 字体?

如果还是一事无成,那么流程是怎样的呢?我听说过 Pango 和 Harfbuzz (which claims to work with Android) 之类的东西,但我还没有找到任何关于如何实现它们的简单说明或教程。我找到的最接近的东西是 Indic text renderer , 但它远非易懂。

StackOverflow 上的相关问题

这些问题表明人们对这个话题很感兴趣,但在我看来还没有得到令人满意的回答。其中一些也已经过时。我想知道是否有当前的解决方案。

我尝试过的

我已经编写了自己的渲染引擎来显示传统的蒙古语 Unicode 文本。但是,如果已经有可用的 OpenType 字体,则为特定语言编写渲染引擎就是在重新发明轮子。此外,它不容易适应其他语言。

最佳答案

如果您想使用 Harfbuzz 来执行此操作,我已经编写了一个使用 Harfbuzz 实现文本整形器的简单指南:http://www.simon-cozens.org/content/duffers-guide-fontconfig-and-harfbuzz

这应该让您从字体选择到知道应该使用哪些字形以及将它们放在输出中的什么位置。

关于android - 在 Android 中支持使用 OpenType 字体的复杂文本布局,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27539237/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com