首页 > 解决方案 > 如何在 Android 中实现自定义文本编码?

问题描述

我想用我自己的文本编码/解码方法显示一种语言(英语除外)。我有我的二进制数据库,其中每个字母表示为 16 位。我也有可用于字符集映射的信息。

问题是有一些额外的字母超出了标准的 unicode 可以显示的范围。所以我想编写自己的字符编码/解码方法。我还想为字符映射设计自己的字体。

我应该如何在 Android 应用程序中解决这个问题?

标签: javaandroidfontscharacter-encoding

解决方案


如何添加自定义字符集

如何添加自定义字符集包含在Ron Hitchens的Java NIO一书中。您可以从支持站点下载Charset 和 CharsetProvider 的示例。请注意,您必须制作一个包含附加的 FQCN 的文件META-INF/services/java.nio.charset.spi.CharsetProvider并将其放入您将制作的文件中。CharsetProviderjar

您可以在 CustomCharsetProvider 上使用https://stackoverflow.com/a/38768564/3902663中的代码。

如何制作自定义字体文件

您可以使用某些字体编辑器(如FontForgeBirdfont.ttf )制作与自定义字符集协调的文件。

如何将自定义字体文件添加到应用程序中

我不熟悉原生 Android 应用程序,但似乎您可以使用Calligraphy在 Android 应用程序中使用附加字体。


推荐阅读