L2/16-060 Flag tofus Roozbeh Pournader (Google) February 23, 2015 Proposal ======== UTR #51, in its Annex B, should recommend that implementations need to replace all two-letter combinations that don't result in a flag with a flag tofu, perhaps with a larger-than-the-flag question mark over the flag, similar to the image on page 3 of http://www.unicode.org/L2/L2016/16008r3-custom- emoji.pdf. This would be done for all two-letter combinations that the implementations does not show a specicific flag for, both when UTR #51 defines a sequence that the implementations doesn't support, and when UTR #51 doesn't define such a combination. Rationale ========= Presently, a string such as (where the letters in angle brackets are regional indicator symbols) is displayed as on latest public versions of OS X, while it displays as on latest public versions of Android. This is because of ligature mechanism of the fonts that implement the flags: When they can't find a ligature with the first and second glyphs, they continue to try and find ligatures for the second and third glyphs, resulting in South Korea suddenly appearing where it wasn't intended. OS X is not future-proof either. If one displays the sequence on the latest publicly available versions of OS X, it would show . So if in the future the code DA is defined for a new region, and somebody tries to send a flag of "DA" followed by the flag of Serbia to a such a computer, instead of , the recipient will see . (That was probably the state of things for a while when Android was supporting a lot of flags no other platform was supporting yet.) Note that this problem is independent of implementations supporting all UTR #51 flags or not. Even if an implementation supports them all, if ISO 3166, IETF, or CLDR ever define a new region code, a similar problem will exist on all devices that don't support the region yet. Acknowledgments =============== Raph Levien and Agustin Fonts helped with testing on non-Android platforms. Doug Felt and Mark Davis provided early feedback.