Package: glyphsets
Attention: Repository under transitionThe assembly of character sets is currently undergoing a transition from the previous approach of using theglyphsetscommand anddata.jsonas a database to using thegflanguagespackage as the database and assembling.namand other files from that.[!NOTE]Please seeGLYPHSETS.mdfor an up-to-date description of the state of the new language definitions.How to assemble glyphs and characters using the new approachDefine the glyphset in the Python module inLib/glyphsets/definitions/__init__.pywith language codes for your character set.Optional: Have a.stub.namfile underGF_Glyphsets/*/definitions/for your character set, containingencodedcharacters that you want to see included that can't be inferred from thegflanguagesdefinitions.Optional: Have a.stub.glyphsfile underGF_Glyphsets/*/definitions/for your character set, containingunencodedglyphs that you want to see included.Update all glyphsets usingsh build.sh, see below for details.The final.glyphsfiles are the sum ofgflanguages+.stub.nam+.stub.glyphs. See chart below.[!NOTE]glyphsetsuses the version ofgflanguagesthat's currently installed on your system to query for characters per language. This enables you working on both packages locally at once. In any case, make sure that thegflanguagespackage is up-to-date on your system.[!NOTE]Bonus points:Sadly, in the creation of the.glyphsfiles, it's not possible to exactly recreate the glyph sorting that Glyphs.app uses by default, so the.glyphsfiles look a bit different from what's expected. If you care, please open every freshly adjusted.glyphsfile in Glyphs.app, select all glyphs, and run "Update Glyph Info" from the "Glyphs" menu on them to sort them and save the file. But the files will work as-is in any case.Data flow visualizationVisualizes in a simplified way how the various data sources are combined into a final glyphset, then rendered out to various format.
This process is repeated for every glyphset defined inLib/glyphsets/definitions/__init__.py.Read this top to bottom.┌──────────────────┐
│ Language codes   │
│ "en_Latn"        │
│ "de_Latn"        │
│ ...              │
└──────────────────┘
         │
┌──────────────────┐   ┌──────────────────┐   ┌──────────────────┐
│ gflanguages      │   │ .stub.nam        │   │ .stub.glyphs     │
│ (Python package) │   │ (optional)       │   │ (optional)       │
└──────────────────┘   └──────────────────┘   └──────────────────┘
         │                      │                      │
         ╰──────────────────────┼──────────────────────╯
                                │
                ╔═══════════════════════════════╗
                ║ complete glyphset             ║ 
                ╚═══════════════════════════════╝
                                │
         ╭──────────────────────┼──────────────────────┬──────────────────────╮
         │                      │                      │                      │
┌──────────────────┐   ┌──────────────────┐   ┌──────────────────┐   ┌──────────────────┐
│ .txt             │   │ .nam             │   │ .glyphs          │   │ .plist           │
│ (nice & prod)    │   │                  │   │                  │   │                  │
└──────────────────┘   └──────────────────┘   └──────────────────┘   └──────────────────┘AcknowledgementsGF Greek Glyph Sets defined by Irene Vlachou @irenevl and Thomas Linard @thlinard. Documented by Alexei Vanyashin @alexeiva January 2017.GF Glyph Sets defined by Alexei Vanyashin (@alexeiva) and Kalapi Gajjar (@kalapi) from 2016-06-27 to 2016-10-11, with input from
Dave Crossland,
Denis Jacquerye,
Frank Grießhammer,
Georg Seifert,
Gunnar Vilhjálmsson,
Jacques Le Bailly,
Michael Everson,
Nhung Nguyen (Vietnamese lists),
Pablo Impallari (Impallari Encoding),
Rainer Erich Scheichelbauer (@mekkablue),
Thomas Jockin,
Thomas Phinney
(Adobe Cyrillic lists), and
Underware (Latin Plus Encoding)