需求:
在Android中使用ios的Emoji表情(嫌弃Android系统本身的Emoji没有ios的圆润好看)
思路一 :
直接使用ios的Emoji.ttf替换android的系统Emoji.ttf,但是如果直接导入ios的Emoji.ttf,会使打包的.apk文件体积大10M,不推荐。
思路二 :
提取ios的Emoji.ttf中常用表情,自己随意选择想要提取的哪些Emoji表情,打包成ttf,导入assets中使用。
实现遇到的主要问题:
在方法二中,最重要的是Emoji.ttf中单个表情的提取,以及提取完成后整个表情集合的打包.ttf文件。找了一天才发现的工具:EmojiTools,而且这个工具还有个版本的坑,只能1.9的版本用来提取,1.7的版本用来打包。(刚开始找的大部分工具都有或多火少的问题,如打不开.ttf文件,或者打开了也只能浏览不能提取等)
提取准备工作:
将ios的表情文件,android的表情文件,以及工具文件放在磁盘根目录(必须是根目录,否则解压不成功)
开始解压:
打开Emoji-Tools-1.9.1,选择AppleColorEmoji.ttf,点击Start Extraction,开始解压,解压完成后会生成ExtractedEmojis文件夹,里面包含了表情包里的所有图片。然后解压emojione-android.ttf文件。
提取:
新建一个ExtractedEmojis文件夹。然后打开ExtractedEmojisApple文件夹,在这个文件夹里找到自己想用的emoji,提取到ExtractedEmojis文件夹里,最后将font.ttx文件和EmojiTools.info一起放到ExtractedEmojis文件夹里。
打包:
打开Emoji-Tools-1.7.jar,选择ExtractedEmojis文件夹,点击Start Packaging开始打包,最后会生成一个NotoColorEmoji.ttf文件,里面就只包含了我选择了的emoji。
使用:
将打包好的文件放在assets目录下,使用TypefaceManager类加载,然后给TextView设置setTypeface就大功告成了。这样项目体积只多了几百K,就可以使用自己想用的表情了。
工具下载:
https://emojipedia.org/ 可以下载各个系统,各个版本的表情包文件,包括Apple.Google,Microsoft等等。可以去下载自己喜欢的emoji表情提取出来做成自己喜欢的emoji表情包。
文章里使用的四个文件 链接: https://pan.baidu.com/s/1pMRjO0b 密码: k645
备注:
这里之前解压的android表情包并未使用,是因为我使用方式是通过TextVIew加载第三方字体。也可以通过解压android的表情包,替换里面要修改的图片,然后将font.ttx里对应的字段一并修改后,打包替换android系统的.ttf文件。
第一次写简书,有很多不会和写的不好的东西望各位大佬见谅。有什么问题都可以留言,看见了就回。