3

我当前的项目使用了许多字体中不存在的一些符号。到目前为止,我已经发现一些 iOS 渲染为一个盒子,所以我期待迟早会找到一个 Android 也无法渲染的东西,尽管到目前为止它在这方面做得比 iOS 更好。

有没有办法以编程方式检查给定的 Unicode 代码点是否会在屏幕上正确显示,而不是作为空方框等?

如果我可以检测到无法渲染的符号,我可以为它实施一种解决方法,而不是显示一个丑陋的框。

4

2 回答 2

3

对于一般的 unicode 字符,您可以使用PaintCompat.hasGlyph

您仍然应该使用 ianhanniballake 的回答中提到的 EmojiCompat 才能正确呈现表情符号。

于 2017-09-05T05:34:21.630 回答
2

使用Emoji Compat,所有当前的 Unicode 字符都支持回 API 19。它可以与Downloadable Fonts一起使用,确保随着其他 Unicode 字符变得标准化,您的应用程序会自动支持它们。

您可以使用hasEmojiGlyph()确认 Emoji Compat 是否支持特定字符:

EmojiCompat.get().hasEmojiGlyph(charSequence);

注意:你必须在调用它之前初始化 Emoji Compat

EmojiCompat DevByte 视频展示了让事情正常运行的最小步骤。

于 2017-09-02T01:45:35.203 回答