我可以检查一下Unicode代码点是否可以在Android下显示?

时间:2017-09-02 01:31:07

标签: android unicode fonts glyph codepoint

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

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

如果我能够检测到无法呈现的符号,我可以为它实现一种解决方法,而不是显示一个丑陋的盒子。

2 个答案:

答案 0 :(得分:2)

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

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

EmojiCompat.get().hasEmojiGlyph(charSequence);
  

注意:在调用此文件之前,您必须拥有initialized Emoji Compat

EmojiCompat DevByte video显示了一系列最简单的步骤。

答案 1 :(得分:2)

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

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