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上輸出。