android – 在所有字体中是否缺少任何unicode字符的字形?

android – 在所有字体中是否缺少任何unicode字符的字形?,第1张

概述参见英文答案 > Is there a “glyph not found” character?                                    8个 在Android上,我希望能够检测所使用的字体是否可以显示某个字符,但据我所知,这是不可能的,如 Check if custom font can display character所示的常规方法 为了检测这个,我正在写一个我 参见英文答案 > Is there a “glyph not found” character?8个
在AndroID上,我希望能够检测所使用的字体是否可以显示某个字符,但据我所知,这是不可能的,如 Check if custom font can display character所示的常规方法

为了检测这个,我正在写一个我要检查的字符到一个位图,然后我写另一个我知道的字符丢失到另一个位图并比较位图的内容.如果它们相等则缺少角色.

问题是,是否有任何unicode角色的字形(或多或少)保证在AndroID手机上常用的字体上缺失?

在维基百科上阅读它时,Unicode replacement character听起来很有希望:

It is used to indicate problems when a system is not able to render a
stream of data to a correct symbol. It is most commonly seen when a
Font does not contain a character,but is also seen when the data is
invalID and does not match any character

但是经过一些测试后,我发现这个角色并不是用来表示我的windows 7计算机或我测试过的AndroID手机(Motorola Atrix)上缺少的字形.

解决方法 用于呈现所用字体中缺少的字形的字形没有任何指定的Unicode值.在实际字体中,字形ID 0应始终为 .notdef glyph,用于缺少字形的所有字符.但是,这些信息不可能来自AndroID上的字体,因此无法直接使用.notdef字形.

在Unicode中有许多保留/未分配的代码点,我的有限测试表明这些代码点是使用.notdef字形呈现的.因此,通过使用@L_502_4@(Devanagari block中间的保留代码点),我可以检测到我想要测试的字体中是否存在其他有效的已知字符.

这不是一个未来的证明解决方案,因为Unicode Consortium将来可能会将新的字形添加到保留的代码点.但是对于我的需求来说,它已经足够好了,因为我想做的事情是在不久的将来不再相关的临时事情.

更新:

看看U 0978的解决方案并不长久.该字符在Unicode 7.0版本的June 2014中添加.另一个选项是使用unicode中存在的字形,但不太可能以普通字体使用.

Early Dynastic Cuneiform块中的U+124AB可能是许多字体中根本不存在的东西.

总结

以上是内存溢出为你收集整理的android – 在所有字体中是否缺少任何unicode字符的字形?全部内容,希望文章能够帮你解决android – 在所有字体中是否缺少任何unicode字符的字形?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1135070.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-30
下一篇 2022-05-30

发表评论

登录后才能评论

评论列表(0条)

保存