Simon Cozens 6e0f6d2dfc Merge commit '7d71975ee699566498f4e4aa7f99e0d4794bfbcb' into lang-v0.7.1 | 5 days ago | |
---|---|---|
.. | ||
.github | 6 months ago | |
Lib | 5 days ago | |
data | 2 years ago | |
snippets | 1 month ago | |
src | 5 days ago | |
tests | 5 days ago | |
.gitignore | 1 year ago | |
AUTHORS.txt | 2 years ago | |
CHANGELOG.md | 1 year ago | |
CONTRIBUTORS.txt | 6 months ago | |
Cargo.toml | 5 days ago | |
LICENSE.txt | 2 years ago | |
README.md | 3 weeks ago | |
build.rs | 5 days ago | |
dev-requirements.txt | 4 months ago | |
pyproject.toml | 5 days ago | |
tox.ini | 5 days ago |
This python module provides an API with data about languages/regions/scripts for use in the language-support categorization of the font families in the Google Fonts collection.
You can also directly access the raw textproto files on the Lib/gflanguages/data
directory:
Most of the code in this project was copied from the gftools
repository (https://github.com/googlefonts/gftools/) so that language/region/script data can be easily available to all our tools without having to also get the large dependency tree of gftools
. The most immediate user of this module is Font Bakery
, which needs to validate language support on font binaries being checked. (see https://github.com/googlefonts/fontbakery/issues/3605)
The second obvious user of this gflanguages
module is gftools
itself.
Language/region/script definitions and the gflanguages
modules are used as a subtree in the google/fonts
repo, on its lang/ directory (https://github.com/google/fonts/tree/main/lang).
This module is the main place to update these definitions, avoiding data duplication and guaranteeing uniformity across tools.
To learn more about how lang metadata affects downstream, see gf-guide/lang.
If there is a sample_text
field for a language, it should contain all of the following fields:
masthead_full
: show off four glyphsmasthead_partial
: show off two glyphsstyles
: a phrase of 40-60 characterstester
: a phrase of 60-90 charactersposter_sm
: a word or phrase of 10-17 charactersposter_md
: a word or phrase of 6-12 charactersposter_lg
: a word or phrase of 3-8 charactersspecimen_48
: a sentence of 50-80 charactersspecimen_36
: a paragraph of 100-120 charactersspecimen_32
: a paragraph of 140-180 charactersspecimen_21
: one or more paragraphs totalling 300-500 charactersspecimen_16
: one or more paragraphs totalling 550-750 charactersGenerally the sample text should be taken from the UN Declaration of Human Rights; if using Eric Muller's XML translations, snippets/lang_sample_text.py
will convert the XML into textproto.
If the UDHR is not available in the language, the sample text should be a "neutral" text (not political or religious) - folk tales are generally good sources. (We recognise that for some liturgical languages, religious texts may be the only extant samples.) In these cases, please add a note:
field with the source of the sample text.