Collection of flags for BCP 47 region codes in SVG / PNG
This package is a collection of flags for geographic region and sub-region codes. The regions are based on the data from BCP 47 and selected sub-regions (US states, Canadian provinces and territories, and some sub-regions of Great Britain) are based on ISO 3166-2:US, ISO 3166-2:CA, and ISO-3166-2:GB.
Most people think of these regions from BCP 47 as country flags, but there are a few codes / flags that do not correspond to countries. The flags are in SVG and PNG format and named by their BCP 47 region code, which for countries is the same as ISO 3166-2 country code. In case of sub-regions, ISO 3166-2 is used for naming the files; e.g.
US-DE.pngis the flag of the State of Delaware.
The canonical way to get all BCP 47 region codes is to look for records in
language-subtag-registry(which is downloaded from IANA Language Subtag Registry) with the following fields:
Type: region Subtag: [A-Z]{2} AND NOT Description: Private use AND NOT Deprecated: .*
Regions not in that repository can be added to
language-subtag-private. One such region has been added.
Some regions do not have their own flag. In such cases, they are symlinked to the best flag to represent them, which in most cases is the flag of their regional or political parent. These are listed in file
ALIASES.
The sub-regions currently covered are:
The flags are downloaded from Wikipedia. When Wikipedia flags were copyrighted, we worked we Wikipedia editors to either relicense them, or drew / sourced and uploaded new public-domain versions. In particular, the license for these flags were resolved for the initial import:
regions.pylists all regions and some selected sub-regions with their metadata.
regions-wp.pyshows the Wikipedia URL for the flag page.
missing.shshows all such regions that we don't have flags for.
make-aliases.shmakes symlinks for regions that use flag of another region.
download-wp.pydownloads missing flags from Wikipedia and generating optimized SVG and PNG versions.
You can use the waveflag script from the Noto fonts project to wave PNG flags.
If new regions are needed, update
language-subtag-registryfrom IANA Language Subtag Registry, or add new regions to
language-subtag-privatebefore. Then update
data/ALIASESand
data/ALIASES-WPas needed.
If a specific flag on Wikipedia flag is under Creative Commons, work with Wikipedia editors to relicense it to public domain. If the flag is not explicitly marked
public_domainbut otherwise exempt from Copyright (typically, because of national laws), make a note of it in file
COPYING.
To download missing flags, run
download-wp.py.
To update to latest flags from Wikipedia, delete the
html,
svg, and
pngdirectories, then run
make-aliases.shfollowed by
download-wp.py.
See file
COPYINGfor details.