![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
So, some time ago I noticed -- I don't recall how, it's very odd this ever came up -- that my computer supported some nonstandard flag emoji; specifically, US state flags. Today I decided to explore this some more to see just what it supports.
Now I'm sure somewhere on the system is a file listing exactly what it has, or that this is documented somewhere online, but I don't know where I'd find either of those, so I just did some experimentation. I'm assuming that it's the OS (on some level) that's responsible for handling this? If it's the desktop environment, well, I'm running MATE 1.26.0; maybe that's what's doing it rather than Linux Mint per se. Regardless, I'm assuming it's some sort of lower-level feature of the system.
Now, likely not everyone reading this is familiar with how flags in Unicode work, so let me summarize that briefly. Unicode, for obvious reasons, didn't want to add national flags as characters, so instead there are "regional indicator symbols" corresponding to the letters A-Z. If you put two of these together, you get a country's flag as per its two-letter country code (which comes from ISO 3166). So if I put the U regional indicator followed by the S regional indicator, I get 🇺🇸. (Hopefully that appears for you!)
This works well enough for national flags, but then people wanted flags for England, Scotland, and Wales. So the Unicode consortium devised a separate hacky system to handle flags for subnational entities, and I'm just going to skip going into that, but suffice it to say it involves spelling out the ISO 3166 code for the subnational entity with certain other special characters (that had once had a different special use which has since been deprecated, although don't worry they added this new use in a compatible way just in case).
The thing to note here is that officially, the only supported flags for subnational entities are England, Scotland, and Wales. If a system -- such as my computer -- supports anything further, like US states, that is decidedly unofficial; it is, as they say, not recommended for general interchange.
So, with all that out of the way, what -- beyond the officially supported flags -- does my system support?
Well, the first thing to note is that actually the national flags don't even seem to work in all applications; they don't work in the terminal emulator, specifically. They seem to work everywhere else, though! Like whether or not they work in Vim depends on whether it's terminal Vim or graphical Vim. Huh! And yet, the subnational flags England, Scotland, and Wales work everywhere, including on the command line. Some real inconsistency there!
But what about beyond the standard? For national flags, it appears to only support the standard ones; no SU for Soviet Union, alas. For subnational flags though, it has a little bit more.
As already mentioned, it supports US states. Not all of these are up to date, I should note; of course it's no surprise that it wouldn't have the new flags for Utah and Minnesota, which only just changed, but it still has the old flag for Mississippi! Now I got this computer back in 2017 but I update the OS whenever it tells me to, so these days it's running Mint 21.3. I guess probably it's MATE that's responsible for the flags, then, since like I said I'm running MATE 1.26, and that came out back in 2021; it's entirely believable that they wouldn't have gotten the flag updated, even if they did have months to do it. Apparently MATE 1.28 is now out, hopefully that got it up to date, although it still came out before the Utah and Minnesota changes so I guess those would still be out of date.
In addition to the US states, Washington DC also works, but the US territories don't, not even Puerto Rico. Interestingly it has this question-mark-flag that it uses for any flags it doesn't know; this applies to both national and subnational flags.
But it does support more than just England and the US -- Canadian provinces work, and so do Canadian territories! Canada gets its territories but not the US, huh? Completing North America, the flags of Mexican states are also supported, as well as the federal district of Mexico City.
Outside of North America, while I didn't try everything, I wasn't able to find anything that works except the United Kingdom. (No Australia, even!) And the flags of its subdivisions -- England, Scotland, and Wales -- are actually standard, not an extension.
But wait... what if I tried Northern Ireland? Northern Ireland doesn't have an official flag, because it's a contentious political issue. But if you try to make my computer display one, by spelling out "gbnir" in the appropriate special characters... yup, it the Ulster Banner! Interesting.
Anyway those are the subnational flags my computer supports. Quite North-America-centric! But hey -- none of this is standard, so they're not under any particular obligation to do more!
Now I'm sure somewhere on the system is a file listing exactly what it has, or that this is documented somewhere online, but I don't know where I'd find either of those, so I just did some experimentation. I'm assuming that it's the OS (on some level) that's responsible for handling this? If it's the desktop environment, well, I'm running MATE 1.26.0; maybe that's what's doing it rather than Linux Mint per se. Regardless, I'm assuming it's some sort of lower-level feature of the system.
Now, likely not everyone reading this is familiar with how flags in Unicode work, so let me summarize that briefly. Unicode, for obvious reasons, didn't want to add national flags as characters, so instead there are "regional indicator symbols" corresponding to the letters A-Z. If you put two of these together, you get a country's flag as per its two-letter country code (which comes from ISO 3166). So if I put the U regional indicator followed by the S regional indicator, I get 🇺🇸. (Hopefully that appears for you!)
This works well enough for national flags, but then people wanted flags for England, Scotland, and Wales. So the Unicode consortium devised a separate hacky system to handle flags for subnational entities, and I'm just going to skip going into that, but suffice it to say it involves spelling out the ISO 3166 code for the subnational entity with certain other special characters (that had once had a different special use which has since been deprecated, although don't worry they added this new use in a compatible way just in case).
The thing to note here is that officially, the only supported flags for subnational entities are England, Scotland, and Wales. If a system -- such as my computer -- supports anything further, like US states, that is decidedly unofficial; it is, as they say, not recommended for general interchange.
So, with all that out of the way, what -- beyond the officially supported flags -- does my system support?
Well, the first thing to note is that actually the national flags don't even seem to work in all applications; they don't work in the terminal emulator, specifically. They seem to work everywhere else, though! Like whether or not they work in Vim depends on whether it's terminal Vim or graphical Vim. Huh! And yet, the subnational flags England, Scotland, and Wales work everywhere, including on the command line. Some real inconsistency there!
But what about beyond the standard? For national flags, it appears to only support the standard ones; no SU for Soviet Union, alas. For subnational flags though, it has a little bit more.
As already mentioned, it supports US states. Not all of these are up to date, I should note; of course it's no surprise that it wouldn't have the new flags for Utah and Minnesota, which only just changed, but it still has the old flag for Mississippi! Now I got this computer back in 2017 but I update the OS whenever it tells me to, so these days it's running Mint 21.3. I guess probably it's MATE that's responsible for the flags, then, since like I said I'm running MATE 1.26, and that came out back in 2021; it's entirely believable that they wouldn't have gotten the flag updated, even if they did have months to do it. Apparently MATE 1.28 is now out, hopefully that got it up to date, although it still came out before the Utah and Minnesota changes so I guess those would still be out of date.
In addition to the US states, Washington DC also works, but the US territories don't, not even Puerto Rico. Interestingly it has this question-mark-flag that it uses for any flags it doesn't know; this applies to both national and subnational flags.
But it does support more than just England and the US -- Canadian provinces work, and so do Canadian territories! Canada gets its territories but not the US, huh? Completing North America, the flags of Mexican states are also supported, as well as the federal district of Mexico City.
Outside of North America, while I didn't try everything, I wasn't able to find anything that works except the United Kingdom. (No Australia, even!) And the flags of its subdivisions -- England, Scotland, and Wales -- are actually standard, not an extension.
But wait... what if I tried Northern Ireland? Northern Ireland doesn't have an official flag, because it's a contentious political issue. But if you try to make my computer display one, by spelling out "gbnir" in the appropriate special characters... yup, it the Ulster Banner! Interesting.
Anyway those are the subnational flags my computer supports. Quite North-America-centric! But hey -- none of this is standard, so they're not under any particular obligation to do more!