Skip to content

Incorrect Glyph Substitution for Flag Emoji Tag Sequences #463

@babelstone

Description

@babelstone

Flag Emoji Tag Sequences are a mechanism for displaying flag emoji for country subdivisions using a sequence of U+1F3F4 BLACK FLAG followed by several alphanumeric tag characters and terminated by the Cancel Tag (E007F) character (see http://www.unicode.org/reports/tr51/proposed.html). The "BabelStone Flags" font (downloadable from http://www.babelstone.co.uk/Fonts/Flags.html) supports a number of flag emoji tag sequences for country subdivisions (e.g. <1F3F4 E0067 E0062 E0065 E006E E007F> = GB-EN for the England flag), and it also supports two-letter tag sequences for country flags (e.g. <1F3F4 E0067 E0062 E007F> = GB for UK flag) even though using such tag sequences may not be conformant to the Unicode Standard.

It has been observed on the latest version of Firefox that tag sequences for country subdivisions that are not supported in the BabelStone Flags font may be displayed with glyphs mapping to other tag sequences that include part of the unsupported tag sequence (see attached screenshot
firefox_flags
). For example, the tag sequence <1F3F4 E0075 E0073 E0064 E0065 E007F> (= US-DE for the US State of Delaware flag) which is not supported in BabelStone Flags is displayed with the flag of Germany (DE), which is mapped to the sequence <1F3F4 E0064 E0065 E007F> in the font. As the shorter DE sequence is not a substring of the longer US-DE sequence this should not happen.

This issue can be replicated by installing the BabelStone Flags font and loading Charlotte Buff's test page (http://randomguy32.de/unicode/misc/emoji/subregion-flags/) which lists all possible country subdivision tag sequences. You should see that national flags such as DE (Germany) and ES (Spain) are substituted for sequences which include tag sequences such as "de" (E0064 E0065) and "es" (E0065 E0073). I copied this test file into Word 2016, which also supports emoji flag tag sequences, and it displays correctly (only country subdivision flags supported in the font are displayed).

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions