python和shell脚本to backport和主题苹果颜色表情符号字体。
brew install bash )pip3 install fonttools[repacker]>=4.48.0 )pip3 install afdko )pip3 install libpylzfse )pip3 install Pillow )brew install pngquant )brew install oxipng )brew install freetype imagemagick )brew install librsvg )brew install svgo )Apple Color Emoji.ttc复制到此存储库的根部/System/Library/Fonts然后将其重命名为AppleColorEmoji_macOS.ttc 。AppleColorEmoji_iOS.ttc 。在此处阅读以获取确切的文件路径。source ~/.venv/bin/activate以激活Python脚本的虚拟环境。每次您在此存储库中运行脚本时,请首先运行此。./prepare.sh创建表情符号TTF文件和表。一次运行一次。构建格式: ./apple-prepare.sh <OS> && ./apple.sh [HD]
用macOS替换<OS> (如果同时具有MACOS和iOS字体)或iOS (如果您只有iOS字体)。
如果要构建HD版本(包括160x160图像集),请用HD替换[HD] ,或将其留为正常版本。
执行./apple-prepare.sh <OS> && ./apple.sh将获得[email protected] (用于iOS 10及以上)和[email protected] (for IOS 9及以上)在apple Directory下使用。
表情符号处理某些字体表;主要是GDEF和sbix 。
shift-multi.py对多皮肤的表情符号进行了大小调整并移动,其中包括夫妻和握手,以使它们在iOS 13及以下显示在没有渲染逻辑上以自动将一对放在一起。
GDEF表将每个配对的表情符号映射到某个类别,由脚本修改。这是对表情符号字体最简单的向后兼容解决方案。在此表中,具有1级和3 right left有了存在的这些,即使我们将shift-multi.py应用于字体,iOS 14+上的文本渲染引擎也会尝试再次关闭。另一个脚本remove-class3.py可以确保没有1类和3表情符号,否则用户将可见。
extractor.py从字体中提取PNG表情符号图像。这打开了主题表情符号字体的可能性。
同样在extractor.py中,它检测到类型flip的字形,读取它们所指的实际图像字形ID,将它们编程为程序翻转然后提取它们。 iOS 17.4版本的Apple Color Emoji字体中存在flip文,并且不受任何较低的OS版本的支持。它们用于方向性表情符号 - 苹果每个方向都有一个图像,并且字体使用flip字形来呈现正确的图像。
pngquant和oxipng用于优化图像,几乎没有改变质量。使用此方法,Apple Emoji字体尺寸降低了50%。表情符号图像越简单,实现尺寸的降低就越多。
所有表情符号供应商的主题脚本以TTC格式生成字体。该字体可以由EmjifontManager iOS调整使用,并保证在iOS 6及更高的情况下使用。确保执行./apple-prepare.sh <OS> && ./apple.sh HD
建议将克隆的深度限制为1 ( git clone --depth 1 [email protected]:PoomSmart/EmojiFonts.git ),因为有悠久的投入历史。
cd blobmoji && ./blobmoji.sh以创建主题字体,在blobmoji/blobmoji.ttc上输出。 cd facebook && ./facebook.sh创建主题字体,在facebook/facebook.ttc上输出。 cd fluentui && ./fluentui.sh STYLE (其中STYLE是以下列表之一: Color, Flat, High Contrast )来创建主题字体,以fluentui/fluentui-STYLE.ttc输出。 cd noto-emoji && ./noto-emoji.sh以创建主题字体,在noto-emoji/noto-emoji.ttc上输出。 cd joypixels && ./joypixels.sh创建主题字体,在joypixels/joypixels.ttc上输出。 cd openmoji && ./openmoji.sh创建主题字体,在openmoji/openmoji.ttc上输出。 SamsungColorEmoji.ttf ,并将其放在oneui文件夹中。cd oneui && ./oneui.sh创建主题字体,以oneui/oneui.ttc输出。 tossface文件夹中下载TossFaceFontMac.ttf 。cd tossface && ./tossface.sh创建主题字体,在tossface/tossface.ttc上输出。 cd twemoji && ./twemoji.sh创建主题字体,以twemoji/twemoji.ttc输出。 cd whatsapp && ./whatsapp.sh创建主题字体,在whatsapp/whatsapp.ttc上输出。