From 343e9ffbf4c121ec315d92cc76c33bd855ce3df2 Mon Sep 17 00:00:00 2001 From: Doug Felt <dougfelt@google.com> Date: Sun, 13 Mar 2016 14:56:02 -0700 Subject: [PATCH] Add 'unknown flag' glyph. This uses PUA character U+FE82B for the unknown flag during processing. Currently I don't yet remove this from the cmap when we're done. --- Makefile | 2 ++ png/128/emoji_ufe82b.png | Bin 0 -> 2251 bytes third_party/color_emoji/add_glyphs.py | 13 +++++++++---- 3 files changed, 11 insertions(+), 4 deletions(-) create mode 100644 png/128/emoji_ufe82b.png diff --git a/Makefile b/Makefile index dc450eb53..cbdd6ffa1 100644 --- a/Makefile +++ b/Makefile @@ -43,6 +43,8 @@ RENAMED_FLAGS_DIR := $(BUILD_DIR)/renamed_flags QUANTIZED_DIR := $(BUILD_DIR)/quantized_pngs COMPRESSED_DIR := $(BUILD_DIR)/compressed_pngs +# Unknown flag is PUA fe82b + LIMITED_FLAGS = CN DE ES FR GB IT JP KR RU US SELECTED_FLAGS = AC AD AE AF AG AI AL AM AO AQ AR AS AT AU AW AX AZ \ BA BB BD BE BF BG BH BI BJ BM BN BO BR BS BT BW BY BZ \ diff --git a/png/128/emoji_ufe82b.png b/png/128/emoji_ufe82b.png new file mode 100644 index 0000000000000000000000000000000000000000..90ffa25e62de57b8efb368f7339fef73033c20d1 GIT binary patch literal 2251 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 ZzyNT8I~cU`74854002ovPDHLkV1fXB??M0o literal 0 HcmV?d00001 diff --git a/third_party/color_emoji/add_glyphs.py b/third_party/color_emoji/add_glyphs.py index 2cba6a809..77d5c7e89 100644 --- a/third_party/color_emoji/add_glyphs.py +++ b/third_party/color_emoji/add_glyphs.py @@ -5,8 +5,9 @@ from fontTools import ttx from fontTools.ttLib.tables import otTables from png import PNG -# TODO: replace with actual name once we have a glyph. -MISSING_FLAG_GLYPH_NAME = "u2764" +# PUA character for unknown flag. This avoids the legacy emoji pua values, but +# is in the same area. +UNKNOWN_FLAG_GLYPH_NAME = "uFE82B" sys.path.append( os.path.join(os.path.dirname(__file__), os.pardir, os.pardir)) @@ -166,9 +167,9 @@ def add_lig_sequence(ligatures, seq, n): for (u, filename) in img_pairs: - # print "Adding glyph for U+%s" % ",".join (["%04X" % ord (char) for char in u]) n = glyph_name (u) glyph_names.add(n) + # print "Adding glyph for %s" % n g.append (n) for char in u: @@ -205,6 +206,10 @@ for k in ligatures: have_flags = True break +if have_flags and UNKNOWN_FLAG_GLYPH_NAME not in glyph_names: + raise ValueError( + 'Have flags but no unknown flag glyph "%s"' % UNKNOWN_FLAG_GLYPH_NAME) + # sigh, too many separate files with the same code. # copied from add_emoji_gsub. def _reg_indicator(letter): @@ -233,7 +238,7 @@ if have_flags: for second in regional_names: seq = (first, second) if seq not in ligatures: - add_lig_sequence(ligatures, seq, MISSING_FLAG_GLYPH_NAME) + add_lig_sequence(ligatures, seq, UNKNOWN_FLAG_GLYPH_NAME) keyed_ligatures = collections.defaultdict(list)