Skip to main content

A python API for evaluating language support in the Google Fonts collection.

Project description

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.

Sample text rules

If there is a sample_text field for a language, it should contain all of the following fields:

  • masthead_full: show off four glyphs
  • masthead_partial: show off two glyphs
  • styles: a phrase of 40-60 characters
  • tester: a phrase of 60-90 characters
  • poster_sm: a word or phrase of 10-17 characters
  • poster_md: a word or phrase of 6-12 characters
  • poster_lg: a word or phrase of 3-8 characters
  • specimen_48: a sentence of 50-80 characters
  • specimen_36: a paragraph of 100-120 characters
  • specimen_32: a paragraph of 140-180 characters
  • specimen_21: one or more paragraphs totalling 300-500 characters
  • specimen_16: one or more paragraphs totalling 550-750 characters

Generally 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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

gflanguages-0.7.0.tar.gz (838.5 kB view details)

Uploaded Source

Built Distribution

gflanguages-0.7.0-py3-none-any.whl (1.4 MB view details)

Uploaded Python 3

File details

Details for the file gflanguages-0.7.0.tar.gz.

File metadata

  • Download URL: gflanguages-0.7.0.tar.gz
  • Upload date:
  • Size: 838.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.0.0 CPython/3.12.7

File hashes

Hashes for gflanguages-0.7.0.tar.gz
Algorithm Hash digest
SHA256 384b713d7d61b00e2af0bd7a91c35c418cc7c43bc613bada5ba778684c88feff
MD5 d04946bade224b155b05f32251df6488
BLAKE2b-256 7175057c5a38f3855561d77f6fb42cd806b4b4a33cd41981e23b1bcffc99fdce

See more details on using hashes here.

Provenance

File details

Details for the file gflanguages-0.7.0-py3-none-any.whl.

File metadata

  • Download URL: gflanguages-0.7.0-py3-none-any.whl
  • Upload date:
  • Size: 1.4 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.0.0 CPython/3.12.7

File hashes

Hashes for gflanguages-0.7.0-py3-none-any.whl
Algorithm Hash digest
SHA256 20d964439a662753567a2a575188ad0f29da86684ff7c8e866a60ea16d9299ca
MD5 4637933a4615dd5a91cc0a77ddbdded2
BLAKE2b-256 676cc53f5230bfe00a485167ef2335185bc8d1559a56c09def8e6b11d8aa7abf

See more details on using hashes here.

Provenance

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page