使用 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