daltonmaag / fontgardener Goto Github PK
View Code? Open in Web Editor NEWAn experimental tool to manage large font projects.
License: Apache License 2.0
An experimental tool to manage large font projects.
License: Apache License 2.0
Some sets can use glyphs from other sets as components (i.e. "A-cy" may use "A"). Fontgardener should
Glyphs used in substitutions are left out for now and have to be manually placed on the (im|ex)port list, until the tool actually has a better idea about OpenType Layout.
Use case: a designer wants to work on e.g. the Cyrillic set but needs parts of the Latin set for it.
If the indirectly imported glyphs aren't in a set yet, they'll land in the same set as their users. This may not be what one wants in some instances, so later, glyphs need to be able to move.
Maybe there should be an option to not do this on import, but for now, undoing those changes manually seems ok to me.
The following import of Noto Sans will import Bold Italic incompletely, only when running it a second time is the import complete:
> fontgardener new NotoSansDemo2.fontgarden
> fontgardener import NotoSansDemo2.fontgarden --set LatinGreekCyrillic --glyphs-file $env:TEMP\NotoUFOs\LatinGreekCyrillic.txt $env:TEMP\NotoUFOs\NotoSans-MM\NotoSans-Bold.ufo $env:TEMP\NotoUFOs\NotoSans-ItalicMM\NotoSans-BoldItalic.ufo
Currently, glyph data is organized into sets into sources into layers into glyphs, sort of extending the UFO data model of putting glyphs in layers.
I wonder if there could be a more elegant data structure where e.g. you keep the sources with all glyphs and have a separate glyph->set mapping in a regular HashMap<NameOfGlyph, NameOfSet> :thinking_face:
Or even turn the relation on its head and have glyphs contain set name, sources and layers, sort of like Glyphs.app and FontLab 7 do.
You could even keep the structure on disk if desired and do the head-turning internally.
Not just glyph names.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.