Font Engineering resources needed
Comments
-
Try the Microsoft Typography Docs, in particular the Open Type spec but be warned it's dry reading.
1 -
@Simon Cozens’s work-in-progress Fonts and Layout for Global Scripts is a great introduction to fundamental topics such as Unicode and OpenType features. From there you could explore resources such as the Microsoft docs as recommended by Paul.
1 -
Naming settings is a thing that interests me a lot as well, since I haven’t decided yet a naming scheme that is fully convincing me. Bookmarking.0
-
A few resources that might be helpful:
http://rastertragedy.com/
Legendary essay about problems of presenting fonts on screen; the focus on hinting particularly.
"Adobe Type 1 font format specification"
Old, but still important introduction the basic concepts of font format, tables etc. Recommended to me here on TD, but I never found time to go in detail through it. There is a PDF available.
You might want to check this recent thread, were font engineering and how to get into it was dicussed
https://typedrawers.com/discussion/comment/51635#Comment_51635
1 -
Hi all,
I just released a small command line font editor on GitHub:
https://github.com/ftCLI/ftCLI
Among the other things, it helps to correctly compile the name table and align the v-metrics of the family to the same baseline.
NAMING:
The concept is the following: create a JSON configuration file containing usWidth/usWeight Class and pair it with the desired style names (long and short word). There's no need to create it manually, a JSON with default values can be created via command line:ftcli wizard init-cfg .
It creates a file named 'config.json' in the current directory, that can be edited manually or with the command line editor:ftcli wizard edit-cfg .\config.json
Here I'm changing the usWeighClass value for the Book style from 350 to 450:
Once compiled the configuration file according to your needs, the next step is to parse all fonts present in the work folder:ftcli wizard init-csv .
This will create a file named data.csv in the current folder, that can be edited manually or using the command line editor:
In the image can be seen that IBM used 200 as usWeightClass for the ExtraLight style. It is not recognised because our default configuration file uses 275. At this point we can choose to change the configuration file or the usWeightClass value. It's up to the user.
The 'r' choice recalculates the values parsing a string, that can be the file name, the PostscriptName, a namerecord or a combination of namerecords:
Once the csv file is correctly filled, the name table can be recalculated (all values in the csv file will be written into the fonts):ftcli wizard recalc-names . -sita 6 -swgt 1 - swdt 1 -swdt 6 -ex 4 -ls 400 700 -o fixed
-sita 6: the short literal for the italics ('It') will be written in nameID 6
-swdt 1: the short literal for weights ('Bd') will be written in nameID 1
-swgt 1 -swgt 6: the short width literal ('Cn') will be written in nameIDs 1 and 6
- ex 4: nameID 4 won't be recalculated
-o fixed: new files will be written in the 'fixed' folder (it will be created if doesn't exist).
There's a lot to say about this, but I stop here for now.
METRICS ALIGNMENT:
I did nothing else than replicate (or so I hope!) what explained by Karsten Luecke here: https://kltf.de/kltf_otproduction.shtml#metricsftcli metrics align .
Will align all the fonts in the folder to the same baseline.
ftcli metrics align . -sil
Same as above, but will use the SIL method: http://silnrsi.github.io/FDBP/en-US/Design_Metrics.html
ftcli metrics copy --source-file D:\Fonts\Font-Bold.otf --destination D:\Fonts\Test\
This will copy vertical metrics from a source font to one or more destination fonts.
OTHER:
There are other commands, but they are mostly self-explaining:
ftcli ftedit --help
Changes some font's values, as usWeight/WidthClass, Bold/Italic/Oblique bits, adds a dummy DSIG (I've read in FontTools code comments that it's needed by certain software to use features in TTF fonts), changes embed level etc.
ftcli names --help
Adds and deletes namerecords, replaces a string in the name table, copies names from Windows table to Macintosh table (I had some fonts where the Mac table wasn't filled at all and I don't know if this is correct).
Example:
ftcli names setname --name-id 1 -platform win -string "MyFamily Name"
Use --lang to write in a language different than 'en' (--lang 'it').
ftcli print --help
Prints various font's informations, for example the name table:
ftcli print names IBMPlexSerif-Bold.otf
ftcli print info IMBPlexSerif-Bold.otf
ftcli renamer --help
Renames font files according to the chooses string in the name or CFF table.
ftcli rm-ovlps --help
Removes overlaps in TTF files: https://github.com/fonttools/fonttools/blob/main/Lib/fontTools/ttLib/removeOverlaps.py
ftcli wf --help
Compress/decompress webfonts and creates a CSS kit.
Not an engineering tool, but I hope this helps at least with the name table, that, for what I see, is a hard beast to handle.
1 -
This looks quite useful; I think it deserves its own topic instead of being buried in this thread. Or add some examples in the wiki or readme on GitHub4
-
Jens Kutilek said:This looks quite useful; I think it deserves its own topic instead of being buried in this thread. Or add some examples in the wiki or readme on GitHub
It's in my intentions to write a decent documentation for this tool.
Not sure that it deserves its own topic, so I started with an example in the wiki: https://github.com/ftCLI/ftCLI/wiki/ftCLI-wizard. I edited IBM Plex Sans linking the Text and Bold styles instead of Regular and Bold ones.0 -
@Cesare G. +1 for dedicated topic for your command line tool I am not an advanced type tech expert, but looks like it has a nice potential and I belive there is a broader target group here on TD that should see this on a separate topic.0
-
Ok, I will write a more detailed documentation and add some more examples in the GitHub wiki before opening a topic. Meanwhile feel free to test and write me for help.0
-
@Simon Cozens @Florian Pircher Fonts and Layout for Global Scripts is an amazing resource to get into open type spec! I'm reading it combined with Microsoft open type spec and I'm starting to understand something about what is happening in the background life of my "just draw the outline" daily work, I want more of such resources! @Cesare G. Your tool is interesting but maybe too much for me right now since I don't have enough knowledgment of command line tools such as the one you designed. I'm planning to study a bit of coding cause I suppose I cannot do type design anymore without knowing something about python or similar...
0 -
@Cesare G. This looks like a great "Swiss army knife" tool. I can't get it to run currently (opened an issue for that) but curious to see what else it all offers, especially the CSS generation!
0 -
@Roel Nieskens I added a CSS kit creation tutorial in the wiki.
I also opened a discussion so to answer directly there instead of messing this thread.0 -
FontDrop! offers an interesting sum of table data, with the link next to each which explains what the table is about.0
Categories
- All Categories
- 43 Introductions
- 3.7K Typeface Design
- 798 Font Technology
- 1K Technique and Theory
- 617 Type Business
- 444 Type Design Critiques
- 541 Type Design Software
- 30 Punchcutting
- 136 Lettering and Calligraphy
- 83 Technique and Theory
- 53 Lettering Critiques
- 483 Typography
- 301 History of Typography
- 114 Education
- 68 Resources
- 498 Announcements
- 79 Events
- 105 Job Postings
- 148 Type Releases
- 165 Miscellaneous News
- 269 About TypeDrawers
- 53 TypeDrawers Announcements
- 116 Suggestions and Bug Reports