From d0bcf99532b44ed1265766f3b43ff6542b7eb9ea Mon Sep 17 00:00:00 2001 From: Rod S Date: Thu, 23 Dec 2021 17:44:08 -0800 Subject: [PATCH] Fixmore fontchain_lint issues --- colrv1/README.md | 2 +- colrv1/requirements.txt | 1 - colrv1/postproc.py => colrv1_postproc.py | 17 ++++++++++++++++- fonts/Noto-COLRv1-noflags.ttf | Bin 2845336 -> 2846160 bytes map_pua_emoji.py | 10 +++++++--- requirements.txt | 1 + 6 files changed, 25 insertions(+), 6 deletions(-) delete mode 100644 colrv1/requirements.txt rename colrv1/postproc.py => colrv1_postproc.py (70%) diff --git a/colrv1/README.md b/colrv1/README.md index caa84693a..412d63a3f 100644 --- a/colrv1/README.md +++ b/colrv1/README.md @@ -16,6 +16,6 @@ contains emojicompat metadata. ```shell # Assumed to be in a python3 environment with requirements.txt fulfilled - python postproc.py build/NotoColorEmoji-noflags.ttf \ + python colrv1_postproc.py colrv1/build/NotoColorEmoji-noflags.ttf \ PATH_TO/NotoColorEmojiCompat.ttf ``` \ No newline at end of file diff --git a/colrv1/requirements.txt b/colrv1/requirements.txt deleted file mode 100644 index 57afdaa60..000000000 --- a/colrv1/requirements.txt +++ /dev/null @@ -1 +0,0 @@ -nanoemoji >= 0.9.12 # we need latest spec support diff --git a/colrv1/postproc.py b/colrv1_postproc.py similarity index 70% rename from colrv1/postproc.py rename to colrv1_postproc.py index 69b21ee6b..4ae28e6dd 100644 --- a/colrv1/postproc.py +++ b/colrv1_postproc.py @@ -5,6 +5,9 @@ For now substantially based on copying from a correct bitmap build. """ from absl import app from fontTools import ttLib +import map_pua_emoji +from nototools import add_vs_cmap +from nototools import unicode_data def _is_colrv1(font): @@ -46,6 +49,13 @@ def _copy_names(colr_font, cbdt_font): # Amendments _set_name(name_table, 10, "Color emoji font using COLRv1.") _set_name(name_table, 11, "https://github.com/googlefonts/noto-emoji") + _set_name(name_table, 12, "https://github.com/googlefonts/noto-emoji") + + +# CBDT build step: @$(VS_ADDER) -vs 2640 2642 2695 --dstdir '.' -o "$@-with-pua-varsel" "$@-with-pua" +def _add_vs_cmap(colr_font): + emoji_variants = unicode_data.get_unicode_emoji_variants() | {0x2640, 0x2642, 0x2695} + add_vs_cmap.modify_font("COLRv1 Emoji", colr_font, "emoji", emoji_variants) def main(argv): @@ -63,7 +73,12 @@ def main(argv): _copy_emojicompat_data(colr_font, cbdt_font) _copy_names(colr_font, cbdt_font) - colr_font.save('../fonts/Noto-COLRv1-noflags.ttf') + # CBDT build step: @$(PYTHON) $(PUA_ADDER) "$@" "$@-with-pua" + map_pua_emoji.add_pua_cmap_to_font(colr_font) + + _add_vs_cmap(colr_font) + + colr_font.save('fonts/Noto-COLRv1-noflags.ttf') if __name__ == "__main__": diff --git a/fonts/Noto-COLRv1-noflags.ttf b/fonts/Noto-COLRv1-noflags.ttf index 2837ff973d8fe7ce00a3722109c56922e82cac6e..95995dcc9540878c8ff513aa074fadb7f0b23cde 100644 GIT binary patch delta 1370 zcmXZce@xVM9LMqZ`+IkEC~!c4aEJ2ydmuLlrt`N_|JEF zHdx|t(h#|{^u%*^Ub!$H&eZyeDi=cs0^lCU7Ls1p4Z6um0_2KhKfGhI#*vzwokJVL zZy(Rf2zep_NlHHJiLA2;_j@8WHjy;4)+Ulc-enWXBIebBnO`7LKLgx20*sU4m z!RzemmWbbgTg9ISUWh*%ImiPW^p~KXYY&jE=)~jbq4$nRRf9^k%aCdx*&$NBl^0lx zjUsgiFe(~#iY^amNSF7hUNc0mc~OH#(O9~nv0SncB`9}mY(4orUdCSRSB;Hw-$C*S z<73pbKH6s7md5Y-0>oqAx`(BSvCHkL*oyVos6FW3&r2X6v8-( z)A$PWSj2CJ#;@>Pa^joRw?r)#u+ovOYPF$bm0G*V-6?7f(tpjN))09Z{bQVtbMa$x z)==vl7I2yIuZZ9;@C&TJMH87|lEmv6#y*T-0@L_VHNjj7HktU^(8SL!O)ODI5er|| zliqMtk9qe-^}bizt-*FnVZZ?=Tu8wka3d8fuo7uVM+Q8|L>97fCvuRBJgh=K3TE0Z zZ}Ts{$Fwi`hu}<=bYs7s`oGSQ2IrQU_kZx6)&m>oeSw*?Kl%u?i@S_q{Gkptd18@8X7rTv8 delta 560 zcmXZY%}W$<7zgn0Z)VM1Uskt#-6`F*%{B=aTtN^`&4UnkurF6@eR~mkLC@SbGrdJJs{>`8_W`W*FwfPD(6&PKjj2 zQ1%&$KCXA)>FP~8Hti7mB6l;^cqtMzdqV^zJBI zqCEzknLsN-%*nsm2o)1d6&j*w#3=hXZ&gk@>o{kfLgv@3@?I*me+lEvKzMOal)reg l?RU*)b``ovm#Btn$wz*wqstVaD^yQcDM;7M%x;4;_XlH3&gcLD diff --git a/map_pua_emoji.py b/map_pua_emoji.py index bd8e10273..8796562b0 100644 --- a/map_pua_emoji.py +++ b/map_pua_emoji.py @@ -50,9 +50,7 @@ def get_glyph_name_from_gsub(char_seq, font): return None -def add_pua_cmap(source_file, target_file): - """Add PUA characters to the cmap of the first font and save as second.""" - font = ttLib.TTFont(source_file) +def add_pua_cmap_to_font(font): cmap = font_data.get_cmap(font) for pua, (ch1, ch2) in itertools.chain( add_emoji_gsub.EMOJI_KEYCAPS.items(), add_emoji_gsub.EMOJI_FLAGS.items() @@ -61,6 +59,12 @@ def add_pua_cmap(source_file, target_file): glyph_name = get_glyph_name_from_gsub([ch1, ch2], font) if glyph_name is not None: cmap[pua] = glyph_name + + +def add_pua_cmap(source_file, target_file): + """Add PUA characters to the cmap of the first font and save as second.""" + font = ttLib.TTFont(source_file) + add_pua_cmap_to_font(font) font.save(target_file) diff --git a/requirements.txt b/requirements.txt index ea4fcd0b0..ff3f54238 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,2 +1,3 @@ fonttools>=4.7.0 notofonttools>=0.2.16 +nanoemoji >= 0.9.12 # we need latest spec support