Skip to content

Commit

Permalink
Transition glyphset definitions to yaml files
Browse files Browse the repository at this point in the history
  • Loading branch information
yanone committed Mar 7, 2024
1 parent 6e2b9f7 commit bfd0bb6
Show file tree
Hide file tree
Showing 33 changed files with 324 additions and 316 deletions.
30 changes: 14 additions & 16 deletions GLYPHSETS.md
Original file line number Diff line number Diff line change
Expand Up @@ -163,16 +163,16 @@ The resulting glyphset can be found here: [.nam](/GF_glyphsets/Greek/nam/GF_Gree
>
> **Scholarly Use:** Variable Letterforms for Ancient Texts, Papyri
>
> * Archaic UC `ϘϚϜϞϠϺ`
> * Archaic UC `ϘϚϜϞϠϺ`
> * Archaic LC `ϙϛϝϟϡϻ`
> * Variant Letterforms `κρςΣ`, `Θϐϑϒϓϔϕϖε϶`
> * Additional Letter `ϳ`
> * Additional Letter `ϳ`
> * Additional Archaic Letters for Bactrian `Ϸϸ`
> * Symbols `ϼ ☧`
> * Editorial Symbols `ϽϾϿ`
> * Ancient Greek Mathematical Character `⟀ ⟁`
> * Ancient Greek Acrophonic Numerals `𐅀𐅁𐅂𐅃𐅆𐅇𐅈𐅉𐅊𐅋𐅌𐅍𐅎𐅏𐅐𐅑𐅒𐅓𐅔𐅕𐅖𐅗𐅘𐅙𐅚𐅛𐅜𐅝𐅞𐅟𐅠𐅡𐅢𐅣𐅤𐅥𐅦𐅧𐅨𐅩𐅪𐅫𐅬𐅭𐅮𐅯𐅰𐅱𐅲𐅳𐅴`
> * Geometric shape ``
> * Ancient Greek Acrophonic Numerals `𐅀𐅁𐅂𐅃𐅆𐅇𐅈𐅉𐅊𐅋𐅌𐅍𐅎𐅏𐅐𐅑𐅒𐅓𐅔𐅕𐅖𐅗𐅘𐅙𐅚𐅛𐅜𐅝𐅞𐅟𐅠𐅡𐅢𐅣𐅤𐅥𐅦𐅧𐅨𐅩𐅪𐅫𐅬𐅭𐅮𐅯𐅰𐅱𐅲𐅳𐅴`
> * Geometric shape ``
> * Astrological symbols `★☉☊☋☌☍☽☾☿♀♁♂♃♄♅♆♇♈♉♊♋♌♍♎♏♐♑♒♓`
`GF_Greek_Archaic` is **statically** defined as:
Expand All @@ -196,12 +196,12 @@ The resulting glyphset can be found here: [.nam](/GF_glyphsets/Greek/nam/GF_Gree
> Coptic `U+03E2``U+03EF`, Coptic Unicode block `U+2C80``U+2CFF`
>
> * Coptic Letters `ϢϣϤϥϦϧϨϩϪϫϬϭϮϯ`
> * Bohairic Coptic UC ` ⲀⲂⲄⲆⲈⲊⲌⲎⲐⲒⲔⲖⲘⲚⲜⲞⲠⲢⲤⲦⲨⲪⲬⲮⲰ`
> * Bohairic Coptic UC ` ⲀⲂⲄⲆⲈⲊⲌⲎⲐⲒⲔⲖⲘⲚⲜⲞⲠⲢⲤⲦⲨⲪⲬⲮⲰ`
> * Bohairic Coptic LC ` ⲁⲃⲅⲇⲉⲋⲍⲏⲑⲓⲕⲗⲙⲛⲝⲟⲡⲣⲥⲧⲩⲫⲭⲯⲱ `
> * Old Coptic and Dialect Letters UC` ⲲⲴⲶⲸⲺⲼⲾⳀⳂⳄⳆⳈⳊⳌⳎⳐⳒⳔⳖⳘⳚ`
> * Old Coptic and Dialect Letters LC ` ⲳⲵⲷⲹⲻⲽⲿⳁⳃⳅⳇⳉⳋⳍⳏⳑⳓⳕⳗⳙⳛ `
> * Old Nubian Letters ` ⳜⳞⳠⳢⳝⳟⳡⳣ `
> * Symbols ` ⳤ⳥⳦⳧⳨⳩⳪ `
> * Symbols ` ⳤ⳥⳦⳧⳨⳩⳪ `
> * Cryptogrammic Letters ` ⳫⳬⳭⳮ⳯⳰⳱ `
> * Combining Marks ` ⳯⳰⳱ `
> * Bohairic Coptic Letters ` Ⳳⳳ `
Expand Down Expand Up @@ -251,12 +251,12 @@ The resulting glyphset can be found here: [.nam](/GF_glyphsets/Greek/nam/GF_Gree
> _Description partially salvaged from old README, so languages manually listed here (if any) may be outdated or irrelevant and need to be replaced by language code lists:_
>
> **General Use:** Small Caps for Core and Plus sets, Superscript Letters
>
>
> * Core .sc `άέήίΰαβγδεζηθικλμνξοπρςστυφχψωϊϋόύώ`
> * Plus .sc `ἀἁἂἃἄἅἆἇἐἑἒἓἔἕἠἡἢἣἤἥἦἧἰἱἲἳἴἵἶἷὀὁὂὃὄὅὐὑὒὓὔὕὖὗὠὡὢὣὤὥὦὧὰάὲέὴήὶίὸόὺύὼώᾀᾁᾂᾃᾄᾅᾆᾇᾐᾑᾒᾓᾔᾕᾖᾗᾠᾡᾢᾣᾤᾥᾦᾧᾰᾱᾲᾳᾴᾶᾷιῂῃῄῆῇῐῑῒΐῖῗῠῡῢΰῤῥῦῧῲῳῴῶῷ Ϗ`
> * Archaic Numerals .sc `ϛ ϟ ϡ ϝ`
> * Iota Adscript as ss01 .sc `ᾈᾉᾊᾋᾌᾍᾎᾏᾘᾙᾚᾛᾜᾝᾞᾟᾨᾩᾪᾫᾬᾭᾮᾯᾼῌῼ`
> * Superior Letters .sups `ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩαβγδεζηθικλμνξοπρςστυφχψω`
> * Superior Letters .sups `ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩαβγδεζηθικλμνξοπρςστυφχψω`
> * Ligatures `λλ γγ`
`GF_Greek_Expert` is **statically** defined as:
Expand Down Expand Up @@ -307,25 +307,25 @@ The resulting glyphset can be found here: [.nam](/GF_glyphsets/Greek/nam/GF_Gree
> **Scholarly Use:** Extended Polytonic Greek, for scholarly edition of ancient texts (Ancient and Roman Greece studies, Byzantine studies, Greek Biblical studies)
>
> **[Learn how to draw good Polytonic Greek at irenevl.github.io/Polytonic-tutorial](https://irenevl.github.io/Polytonic-tutorial/)**
>
>
> **N.B.** List of characters from GF Latin Plus and Pro sets that are prerequisites to this set.
>
> № | char | nice name (Glyphs App) | uni name | set
> ---|---|---|---|---
> 1|²|twosuperior|uni00B2|GF Latin Plus
> 1|²|twosuperior|uni00B2|GF Latin Plus
> 2|³|threesuperior|uni00B3|GF Latin Plus
> 3|¹|onesuperior|uni00B9|GF Latin Plus
> 3|¹|onesuperior|uni00B9|GF Latin Plus
> 4|⁰|zerosuperior|uni0270|GF Latin Pro
> 5|†|dagger|uni2020|GF Latin Plus
> 6|‡|daggerdbl|uni2021|GF Latin Plus
> 7|⁴|foursuperior|uni2074|GF Latin Plus
> 8|⁵|fivesuperior|uni2075|GF Latin Pro
> 9|⁶|sixsuperior|uni2076|GF Latin Pro
> 10|⁷|sevensuperior|uni2077|GF Latin Pro
> 10|⁷|sevensuperior|uni2077|GF Latin Pro
> 11|⁸|eightsuperior|uni2078|GF Latin Pro
> 12|⁹|ninesuperior|uni2079|GF Latin Pro
> 12|⁹|ninesuperior|uni2079|GF Latin Pro
> 13|₀|zeroinferior|uni2080|GF Latin Pro
> 14|₁|oneinferior|uni2081|GF Latin Pro
> 14|₁|oneinferior|uni2081|GF Latin Pro
> 15|₂|twoinferior|uni2082|GF Latin Pro
> 16|₃|threeinferior|uni2083|GF Latin Pro
> 17|₄|fourinferior|uni2084|GF Latin Pro
Expand Down Expand Up @@ -1070,8 +1070,6 @@ The resulting glyphset can be found here: [.nam](/GF_glyphsets/Latin/nam/GF_Lati
> _Description partially salvaged from old README, so languages manually listed here (if any) may be outdated or irrelevant and need to be replaced by language code lists:_
>
> Languages of Europe and the Americas with >5M speakers, with manually curated exceptions. This set is the minimal set required for all families meant to be onboarded into Google Fonts.
>
> **This below is taken from the old README and is not accurate, as it lists languages that accidentally happen to be covered under this glyphset but are not actually intended to be covered here. This set needs more consideration:** Acheron, Achinese, Afrikaans, Anuta, Aragonese, Arbëreshë Albanian, Arvanitika Albanian, Ashéninka Perené, Balinese, Bari, Basque, Bosnian, Breton, Caquinte, Caribbean Hindustani, Cashibo-Cacataibo, Catalan, Central Aymara, Central Kurdish, Chamorro, Chavacano, Chiltepec Chinantec, Chuukese, Cimbrian, Cofán, Cook Islands Māori, Cornish, Corsican, Creek, Crimean Tatar, Croatian, Czech, Danish, Dehu, Dutch, Eastern Abnaki, English, Ese Ejja, Faroese, Filipino, Finnish, French, Friulian, Galician, Ganda, Garifuna, Ga’anda, German, Gheg Albanian, Gooniyandi, Guadeloupean Creole French, Haitian, Hawaiian, Ho-Chunk, Hopi, Hungarian, Hän, Icelandic, Iloko, Inari Sami, Irish, Istro Romanian, Italian, Javanese, Jola-Fonyi, Kabuverdianu, Kaonde, Karelian, Kashubian, Khasi, Konzo, Kven Finnish, Kölsch, Ladin, Latgalian, Ligurian, Lithuanian, Lombard, Low German, Lower Sorbian, Lule Sami, Luxembourgish, Macedo-Romanian, Makhuwa, Malagasy, Maltese, Manx, Maori, Mapudungun, Marshallese, Matsés, Meriam Mir, Meru, Mohawk, Montagnais, Montenegrin, Munsee, Mískito, Neapolitan, Niuean, Nomatsiguenga, Northern Kurdish, Norwegian, Nyanja, Occitan, Ojitlán Chinantec, Oroqen, Palauan, Papantla Totonac, Papiamento, Pedi, Picard, Pichis Ashéninka, Piemontese, Pijin, Pipil, Polish, Portuguese, Potawatomi, Purepecha, Quechua, Romanian, Romansh, Samoan, Sango, Sangu (Tanzania), Saramaccan, Sardinian, Scottish Gaelic, Seri, Sicilian, Silesian, Slovak, Slovenian, Southern Aymara, Southern Sami, Southern Sotho, Spanish, Sranan Tongo, Standard Estonian, Standard Latvian, Sundanese, Swedish, Swiss German, Tagalog, Tahitian, Teso, Tetum, Tetun Dili, Tiv, Tokelau, Tonga (Tonga Islands), Tonga (Zambia), Tosk Albanian, Tswana, Turkish, Turkmen, Uab Meto, Upper Sorbian, Venetian, Veps, Võro, Walloon, Waray (Philippines), Wayuu, Welsh, Western Abnaki, Western Frisian, Wolof, Yanesha', Yao, Yapese, Yucateco, Zapotec, Záparo.
`GF_Latin_Core` is **statically** defined as:

Expand Down
58 changes: 41 additions & 17 deletions Lib/glyphsets/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,11 @@
GF Glyph Database
"""

import yaml
import plistlib
import os
import gflanguages
from fontTools.unicodedata.Scripts import NAMES as SCRIPT_NAMES
from glyphsets.definitions import glyphset_definitions

try:
from ._version import version as __version__ # type: ignore
Expand Down Expand Up @@ -310,24 +310,42 @@ def build_glyphsapp_filter_list(glyphsets, out, use_production_names=False):


def defined_glyphsets():
return sorted(glyphset_definitions.keys())
definitions_path = os.path.join(os.path.dirname(__file__), "definitions")
yaml_files = [
os.path.splitext(f)[0]
for f in os.listdir(definitions_path)
if os.path.isfile(os.path.join(definitions_path, f))
]
return sorted(yaml_files)


def get_script(glyphset_name):
return glyphset_name.split("_")[1]


def defined_scripts():
scripts = set()
for glyphset_name in defined_glyphsets():
scripts.update([glyphset_definitions[glyphset_name]["script"]])
scripts.update([get_script(glyphset_name)])
return sorted(list(scripts))


def glyphsets_per_script(script):
glyphsets = []
for glyphset_name in defined_glyphsets():
if glyphset_definitions[glyphset_name]["script"] == script:
if get_script(glyphset_name) == script:
glyphsets.append(glyphset_name)
return glyphsets


def get_glyphset_definition(glyphset_name):
yaml_path = os.path.join(
os.path.dirname(__file__), "definitions", f"{glyphset_name}.yaml"
)
with open(yaml_path, "r") as f:
return yaml.load(f, Loader=yaml.FullLoader)


def unicodes_per_glyphset(glyphset_name):
character_set = set()
# Read .nam file
Expand Down Expand Up @@ -374,12 +392,13 @@ def glyphs_in_glyphset(glyphset_name, production_names=False):

def languages_per_glyphset(glyphset_name):

script = glyphset_definitions[glyphset_name]["script"]
language_codes = glyphset_definitions[glyphset_name].get("language_codes", [])
regions = glyphset_definitions[glyphset_name].get("regions")
use_aux = glyphset_definitions[glyphset_name].get("use_auxiliary", False)
historical = glyphset_definitions[glyphset_name].get("historical", False)
population = glyphset_definitions[glyphset_name].get("population", False)
script = get_script(glyphset_name)
glyphset_definition = get_glyphset_definition(glyphset_name)
language_codes = glyphset_definition.get("language_codes", [])
regions = glyphset_definition.get("regions")
use_aux = glyphset_definition.get("use_auxiliary", False)
historical = glyphset_definition.get("historical", False)
population = glyphset_definition.get("population", False)

# Assemble character sets from gflanguages
languages = gflanguages.LoadLanguages()
Expand Down Expand Up @@ -411,13 +430,14 @@ def add_language(code):


def description_per_glyphset(glyphset_name):
script = glyphset_definitions[glyphset_name]["script"]
language_codes = glyphset_definitions[glyphset_name].get("language_codes", [])
regions = glyphset_definitions[glyphset_name].get("regions")
use_aux = glyphset_definitions[glyphset_name].get("use_auxiliary", False)
historical = glyphset_definitions[glyphset_name].get("historical", False)
population = glyphset_definitions[glyphset_name].get("population", False)
description = glyphset_definitions[glyphset_name].get("description", None)
script = get_script(glyphset_name)
glyphset_definition = get_glyphset_definition(glyphset_name)
language_codes = glyphset_definition.get("language_codes", [])
regions = glyphset_definition.get("regions")
use_aux = glyphset_definition.get("use_auxiliary", False)
historical = glyphset_definition.get("historical", False)
population = glyphset_definition.get("population", False)
description = glyphset_definition.get("description", None)

nam_stub_path = os.path.join(
root_folder, script, "definitions", f"{glyphset_name}.stub.nam"
Expand Down Expand Up @@ -512,3 +532,7 @@ def get_glyphsets_fulfilled(ttFont):
else:
res[glyphset]["percentage"] = 0
return res


if __name__ == "__main__":
print(defined_scripts())
5 changes: 5 additions & 0 deletions Lib/glyphsets/definitions/GF_Arabic_Core.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
description: Basic character set covering the 3 most widely used languages
language_codes:
- ar_Arab
- fa_Arab
- ur_Arab
8 changes: 8 additions & 0 deletions Lib/glyphsets/definitions/GF_Arabic_Plus.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
description: Covering additional less widely used languages (but not characters needed
for historical or specialized texts)
language_codes:
- ckb_Arab
- ms_Arab
- ps_Arab
- sd_Arab
- ug_Arab
7 changes: 7 additions & 0 deletions Lib/glyphsets/definitions/GF_Cyrillic_Core.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
language_codes:
- ru_Cyrl
- uk_Cyrl
- sr_Cyrl
- be_Cyrl
- bg_Cyrl
- bs_Cyrl
1 change: 1 addition & 0 deletions Lib/glyphsets/definitions/GF_Cyrillic_Historical.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
description: Provides support for Pre-Petrine Old Church Slavonic Texts
17 changes: 17 additions & 0 deletions Lib/glyphsets/definitions/GF_Cyrillic_Plus.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
description: "Includes added language coverage for Slavic, Non-Slavic, and Uralic
languages. Supports the following 90 Cyrillic languages: Abaza, Adyghe, Agul, Akhvakh,
Altay, Andi, Archi, Avar, Azerbaijani (Cyrillic), Bagvalal Balkar, Bashkir, Belarusian
(Cyrillic), Bosnian (Cyrillic), Botlikh, Budukh, Bulgarian, Buryat, Chamalal, Chechen,
Chuvash, Crimean Tatar (Cyrillic), Croatian (Cyrillic), Dargwa/Dargin, Dungan, Erzya,
Gagauz (Cyrillic), Godoberi, Hinukh, Hunzib, Ingush, Juhuri/çuhuri (Cyrillic), Kabardian,
Kalmyk, Karachay, Karaim (Cyrillic), Karakalpak (Cyrillic), Karata, Kazakh, Ket
(Cyrillic), Khakas (Cyrillic), Khinalugh, Komi, Krymchak, Kryts, Kubachi, Kumyk,
Kurdish (Cyrillic), Kurdish (Cyrillic), Kyrgyz (Cyrillic), Lak, Lezgian, Lingua
Franca Nova (Cyrillic), Macedonian, Mari (Hill and Meadow), Moksha, Moldovan (Cyrillic),
Mongolian (Cyrillic), Montenigrin (Cyrillic), Nanai, Nogai, Ossetian, Russian, Rusyn,
Rutul, Serbian (Cyrillic), Shor, Slovio, Tabassaran, Tajik, Talysh (Cyrillic), Tat,
Tatar, Tindi, Tofa, Tsakhur (Cyrillic), Tsez, Turkmen, Tuvan/Tuvinian, Udi, Udmurt,
Ukrainian, Urum, Uyghur (Cyrillic), Uzbek (Cyrillic), Votik (Cyrillic), Wakhi (Cyrillic),
West Polesian, Yaghnobi (Cyrillic), Yukaghir (Northern and Southern)\n\nIncludes
currencies: ₮, ₴, ₸.\n\nThe ruble sign (₽ U+20BD) is not included, since it is already
present in the Latin Plus set."
4 changes: 4 additions & 0 deletions Lib/glyphsets/definitions/GF_Cyrillic_Pro.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
description: 'For Headline typefaces (?), with language support more Non-Slavic languages.
Additional characters in this set provide support for the following 18 languages:
Abkhaz, Chukchi, Enets, Eskimo, Even, Evenki, Itelmen, Khanty, Kildin Sami, Koryak,
Mansi, Nganasan, Nenets, Oroch, Orok, Sakha/Yakut, Tati, Yukaghir, Yupik Ulch'
2 changes: 2 additions & 0 deletions Lib/glyphsets/definitions/GF_Greek_AncientMusicalSymbols.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
description: "**Scholarly Use:** Greek and Byzantine Musical Symbols\n\n* Greek Vocal
Notation Symbols\n* Greek Instrumental Notation Symbols\n* Byzantine Musical Symbols"
6 changes: 6 additions & 0 deletions Lib/glyphsets/definitions/GF_Greek_Archaic.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
description: "**Scholarly Use:** Variable Letterforms for Ancient Texts, Papyri\n\n
* Archaic UC `ϘϚϜϞϠϺ`\n* Archaic LC `ϙϛϝϟϡϻ`\n* Variant Letterforms `κρςΣ`, `Θϐϑϒϓϔϕϖε϶`\n
* Additional Letter `ϳ`\n* Additional Archaic Letters for Bactrian `Ϸϸ`\n* Symbols
`ϼ ☧`\n* Editorial Symbols `ϽϾϿ`\n* Ancient Greek Mathematical Character `⟀ ⟁`\n
* Ancient Greek Acrophonic Numerals `𐅀𐅁𐅂𐅃𐅆𐅇𐅈𐅉𐅊𐅋𐅌𐅍𐅎𐅏𐅐𐅑𐅒𐅓𐅔𐅕𐅖𐅗𐅘𐅙𐅚𐅛𐅜𐅝𐅞𐅟𐅠𐅡𐅢𐅣𐅤𐅥𐅦𐅧𐅨𐅩𐅪𐅫𐅬𐅭𐅮𐅯𐅰𐅱𐅲𐅳𐅴`\n
* Geometric shape `□`\n* Astrological symbols `★☉☊☋☌☍☽☾☿♀♁♂♃♄♅♆♇♈♉♊♋♌♍♎♏♐♑♒♓`"
8 changes: 8 additions & 0 deletions Lib/glyphsets/definitions/GF_Greek_Coptic.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
description: "**Scholarly Use:** Liturgical language for Coptic Church\n\nCoptic `U+03E2`
– `U+03EF`, Coptic Unicode block `U+2C80` – `U+2CFF`\n\n* Coptic Letters `ϢϣϤϥϦϧϨϩϪϫϬϭϮϯ`\n
* Bohairic Coptic UC ` ⲀⲂⲄⲆⲈⲊⲌⲎⲐⲒⲔⲖⲘⲚⲜⲞⲠⲢⲤⲦⲨⲪⲬⲮⲰ`\n* Bohairic Coptic LC ` ⲁⲃⲅⲇⲉⲋⲍⲏⲑⲓⲕⲗⲙⲛⲝⲟⲡⲣⲥⲧⲩⲫⲭⲯⲱ
`\n* Old Coptic and Dialect Letters UC` ⲲⲴⲶⲸⲺⲼⲾⳀⳂⳄⳆⳈⳊⳌⳎⳐⳒⳔⳖⳘⳚ`\n* Old Coptic and
Dialect Letters LC ` ⲳⲵⲷⲹⲻⲽⲿⳁⳃⳅⳇⳉⳋⳍⳏⳑⳓⳕⳗⳙⳛ `\n* Old Nubian Letters ` ⳜⳞⳠⳢⳝⳟⳡⳣ `\n
* Symbols ` ⳤ⳥⳦⳧⳨⳩⳪ `\n* Cryptogrammic Letters ` ⳫⳬⳭⳮ⳯⳰⳱ `\n* Combining Marks `
⳯⳰⳱ ` \n* Bohairic Coptic Letters ` Ⳳⳳ `\n* Old Nubian Punctuation ` ⳹⳺⳻⳼ `\n* Coptic
Fraction ` ⳽ ` \n* Punctuation ` ⳾ ⳿ ` "
6 changes: 6 additions & 0 deletions Lib/glyphsets/definitions/GF_Greek_Core.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
description: "**General Use:** Basic Monotonic set for everyday Modern Greek\n\n*
Basic Greek UC ` ΆΈΉΊΌΎΏΐΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩΪΫ `\n* Basic Greek LC ` άέήίΰαβγδεζηθικλμνξοπρςστυφχψωϊϋόύώ
`\n* Punctuation ` · ; `\n* Greek numeral signs or keraia ` ʹ ͵ `\n* Accents ` \
\ ́ ΅ `\n* Kai symbol ` ϗ Ϗ `"
language_codes:
- el_Grek
5 changes: 5 additions & 0 deletions Lib/glyphsets/definitions/GF_Greek_Expert.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
description: "**General Use:** Small Caps for Core and Plus sets, Superscript Letters\n
\n* Core .sc `άέήίΰαβγδεζηθικλμνξοπρςστυφχψωϊϋόύώ`\n* Plus .sc `ἀἁἂἃἄἅἆἇἐἑἒἓἔἕἠἡἢἣἤἥἦἧἰἱἲἳἴἵἶἷὀὁὂὃὄὅὐὑὒὓὔὕὖὗὠὡὢὣὤὥὦὧὰάὲέὴήὶίὸόὺύὼώᾀᾁᾂᾃᾄᾅᾆᾇᾐᾑᾒᾓᾔᾕᾖᾗᾠᾡᾢᾣᾤᾥᾦᾧᾰᾱᾲᾳᾴᾶᾷιῂῃῄῆῇῐῑῒΐῖῗῠῡῢΰῤῥῦῧῲῳῴῶῷ
Ϗ`\n* Archaic Numerals .sc `ϛ ϟ ϡ ϝ`\n* Iota Adscript as ss01 .sc `ᾈᾉᾊᾋᾌᾍᾎᾏᾘᾙᾚᾛᾜᾝᾞᾟᾨᾩᾪᾫᾬᾭᾮᾯᾼῌῼ`\n
* Superior Letters .sups `ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩαβγδεζηθικλμνξοπρςστυφχψω`\n*
Ligatures `λλ γγ`"
6 changes: 6 additions & 0 deletions Lib/glyphsets/definitions/GF_Greek_Plus.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
description: "**General Use:** Basic Polytonic set for Scholarly Greek\n\n* Polytonic
UC `ἈἉἊἋἌἍἎἏἘἙἚἛἜἝἨἩἪἫἬἭἮἯἸἹἺἻἼἽἾἿὈὉὊὋὌὍὙὛὝὟὨὩὪὫὬὭὮὯᾈᾉᾊᾋᾌᾍᾎᾏᾘᾙᾚᾛᾜᾝᾞᾟᾨᾩᾪᾫᾬᾭᾮᾯᾸᾹᾺΆᾼῈΈῊΉῌῘῙῚΊῨῩῪΎῬῸΌῺΏῼ
`\n* Polytonic LC ` ἀἁἂἃἄἅἆἇἐἑἒἓἔἕἠἡἢἣἤἥἦἧἰἱἲἳἴἵἶἷὀὁὂὃὄὅὐὑὒὓὔὕὖὗὠὡὢὣὤὥὦὧὰάὲέὴήὶίὸόὺύὼώᾀᾁᾂᾃᾄᾅᾆᾇᾐᾑᾒᾓᾔᾕᾖᾗᾠᾡᾢᾣᾤᾥᾦᾧᾰᾱᾲᾳᾴᾶᾷιῂῃῄῆῇῐῑῒΐῖῗῠῡῢΰῤῥῦῧῲῳῴῶῷ
`\n* Accents ``` ́ ` ῀ ` ```\n* Breathings ` ῾ ᾿ `\n* Combinations ` ῁ ῍ ῎ ῏
῝ ῞ ῟ ̈́ `\n* Diactritics ` ͅ ι `\n* Punctuation ` ᾽ `\n* Combining Marks ` ̓
΅ ͂ ͅ `\n* Iota Adscript as ss01 `ᾈᾉᾊᾋᾌᾍᾎᾏᾘᾙᾚᾛᾜᾝᾞᾟᾨᾩᾪᾫᾬᾭᾮᾯᾼῌῼ`"
Loading

5 comments on commit bfd0bb6

@felipesanches
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@yanone, it seems that this commit may have broken fontbakery.

Changing the API to not provide a glyphsets.definitions object anymore should have caused a bump in version from 0.6.14 to 0.7.0. It would also be helpful to have such changes mentioned on the changelog.

@yanone
Copy link
Collaborator Author

@yanone yanone commented on bfd0bb6 Apr 4, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm still getting the hang of repository maintenance.

While I'm aware that we had API changes with unforeseen (by me) consequences, these changes here aren't part of them. I had rewired Fontbakery before this point to use public functions in glyphsets/__init__.py instead of glyphsets.definitions, and this commit here merely rewires the data source for these public functions to another source. That's an internal affair. Strictly speaking that's an API change, but since at that point no other code was using glyphsets.definitions directly anymore, loosely speaking it's not an API change.

What I should really do is lift the versioning to 1.0.0 and then follow semver strictly. The difference in handling major versions <0 is confusing to me and I'd like to get past that to the normal conduct.

@yanone
Copy link
Collaborator Author

@yanone yanone commented on bfd0bb6 Apr 4, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In other words, the API between 0.6.14 and now didn't change. Simon's PR is about removing a condition in Fontbakery that has not been in use anymore for a while because I moved it into glyphsets and made Fontbakery use the new API.

@yanone
Copy link
Collaborator Author

@yanone yanone commented on bfd0bb6 Apr 4, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The API changed in v0.6.13, which is noted in both CHANGELOG.md as well as in the release.

@yanone
Copy link
Collaborator Author

@yanone yanone commented on bfd0bb6 Apr 4, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Furthermore, the data changed for the African Latin glyphset in v0.6.17 that I released yesterday, so it's quite important that these changes make their way into Fontbakery soon.

Please sign in to comment.