Fontlab script (with a simple GUI) to complete Font Names & Metrics of a family

Ramiro Espinoza
Ramiro Espinoza Posts: 839
edited October 2014 in Technique and Theory
Playing around with Dialog Kit I've made a script to fill the most important fields in a font family at once in Fontlab. The program follows Karsten Lücke's recommendations about Font Metrics and Font Naming in his well known PDFs.
I'm sure several of you will point better methods or syntax :) so thanks a lot in advance. I will try to improve the interface and the script in the future, but for the moment, this is all I can do. Thanks to Tal Leming and Paul van der Laan for the help.

image

Usage:
1- Open your fonts
2- Set the "Weight" in each font info and click the "Italic" checkbox (if the font is italic). If you want to use different font weight names to the ones available in the Fontlab menu, the script must be edited. The script will uncheck the boxes later (it does not make linking families)
3- Run the script, complete the required information and press "OK".
4- Go and check the font info in each font to see the changes.
Warning: Robofab and Dialog Kit must be installed.

(*) Note on font metrics:
The script will duplicate "Ascender" and "Descender" in the OS TypoAscender and OS TypoAscender fields. "WinAscent" and "WinDescent" will also be duplicated in the Hhea Ascender and Hhea Descender fields. TipoLineGap will be calculated automatically and LineGap will be set to zero.


image

Download:
https://github.com/retypefoundry/BatchFontInfo

Comments

  • Is this a Robofont script…? Or do only Robofont people visit these forums??
  • "...to fill the most important fields in a font family at once in Fontlab" (I am a 98% Fontlab guy).
  • Hello Ramiro,
    thanks for the macro, really dig it.

    Have you tried out our "Font Family Naming" script for FontLab, we created together with Karsten? It’s a little bit more straight forward then your macro, but it’s definitely missing the nice GUI, you did. :-)
    http://www.cape-arcona.com/news/download/ca_font_family_naming_b-zip/

    I’m curious, why do I need to enter Ascender/Descender? Isn’t that something I already entered during the design process of the font?
    –Thomas
  • Ramiro Espinoza
    Ramiro Espinoza Posts: 839
    edited October 2014
    Hi Thomas,
    Thanks, I am glad other designers find my script useful.
    I was aware there were other scripts to deal with a family's Font Info/Metrics but as I am learning Python, I just wanted to do it by myself and in a way that fits ReType's workflow.

    >> why do I need to enter Ascender/Descender? Isn’t that something I already entered
    >> during the design process of the font?

    The real design Ascenders/Descenders values are frequently not the identical to the values we enter in the Font Info and sometimes we decide to change them at the production stage. Also, when making webfonts it's necessary to alter the Ascenders / Descenders of the whole family to follow good webfont practices.
  • Thomas, I wonder if you'd consider publishing this script on Github under a libre license as Ramiro has done? :)
  • @Ramiro Espinoza
    Ah, okay. Thanks.

    @DaveCrossland‌:
    Yes I will! :)
    The script is several years old and I never found the time to do that, but it’s raining tomorrow, so I try to publish them under Github. :)
  • John Hudson
    John Hudson Posts: 3,186
    The real design Ascenders/Descenders values are frequently not the identical to the values we enter in the Font Info and sometimes we decide to change them at the production stage. Also, when making webfonts is necessary to alter the Ascenders / Descenders of the whole family to follow good webfont practices.
    There are four different ascender/descender data points in the OpenType font format, so I'm not sure what Remiro's UI means when it says 'Write your Ascender' and 'Write your Descender'.
  • The user and all related content has been deleted.
  • Ramiro Espinoza
    Ramiro Espinoza Posts: 839
    edited October 2014
    @John: It means that the script will fill all the other ascender / descender values and calculate the gaps.
  • @DaveCrossland‌
    well, unfair to post another script here (sorry Ramiro), but Dave ask about... Here is ours, now on Github: https://github.com/CapeArconaTypeFoundry/FontFamilyNamingB
  • Ramiro Espinoza
    Ramiro Espinoza Posts: 839
    edited October 2014
    @Thomas No problem, but please don't copy my Xerox PARC-like window (just in case, I am joking)
  • Dave Crossland
    Dave Crossland Posts: 1,429
    edited October 2014
    Nice!! This script looks very helpful, and Karstens documentation is great but having code to do it is the next step :)
  • John Hudson
    John Hudson Posts: 3,186
    So the Ascender/Descender you are asking for are the actual glyph outline extents?
  • Ramiro Espinoza
    Ramiro Espinoza Posts: 839
    edited October 2014
    @John I've edited my text on top explaining what the script does with Ascender / Descender & WinAscent / WinDescent data.