Firemonkey 在 iOS 平台能显示更多的 emoji 字符

使用 Firmonkey 在显示 emoji 字符时,有些 emoji 并无法显示彩色,见下图:

 

经查 FMX 源码,是因为判断 emoji 的字符区段不足造成的,经过修改后,便可显示,见下图:

 

修改方法:

将 FMX.FontGlyphs.iOS.pas 复制到自己的工程目录下。

找到 function TIOSFontGlyphManager.DoGetGlyph 修改下面代码:

  LImageChar := ((Char >= $1F0A0) and (Char <= $1F0FF)) or ((Char >= $1F300) and (Char <= $1F5FF)) or
    ((Char >= $2196) and (Char <= $2199)) or // <---- 加入此行,此区段是箭头符号 "↖↗↘↙" 区段
    ((Char >= $1F600) and (Char <= $1F64F)) or ((Char >= $1F680) and (Char <= $1F6FF)) or
    ((Char >= $1F700) and (Char <= $1F77F));

 

如果需要其它 emoji 字符区段,请查阅下方网站,自行加入。

emoji 字符参考:

http://unicode.org/emoji/charts/full-emoji-list.html

http://emojipedia.org/apple/ios-9.1/

http://www.unicode.org/Public/emoji/2.0//emoji-data.txt

posted @ 2016-01-14 14:29  龟山Aone  阅读(1232)  评论(0编辑  收藏  举报