Convert from vfb

2»

Comments

  • Out of interest, how do other tools distinguish between class and exception kerning?
    In Glyphs (and I believe it is the same in UFO) I store kerning pairs between classes, between classes and single glyphs and between two glyphs.

    If you have class kerning (e.g. @T @o -50) and a glyphs level kerning for a certain pair (e.g. @T odieresis -20, odieresis is part of the 'o' class) then you have an exception as the glyph kerning overwrites the class value. And of cause the class to glyph kerning if flattened on kern feature generation.
  • John Hudson
    John Hudson Posts: 3,186
    Georg, I understand how different kinds of kerning can be stored in this way. I'm wondering about the kerning process. One of the things I like about FontLab's oft-maligned approach is that I can toggle between class kerning, exceptions and simple pairs while I am working, using any member of a class as a representative of that class in one mode, or as an overriding single glyph in another mode. The key glyph simply provides a constant to which class kerning can be associated independent of AFDKO syntax, which I actually think is a benefit, not a fault.
  • if you kern in Glyphs, and add a pair it will add class kerning if the glyphs have classes and glyph kerning if not. This kind of works like if you have selected "Class Kerning" in FLS. Any member of a class can be used. So it makes no difference if you kern 'AT' or 'ÀŢ' (it will add @A @T).
    You can specify an exception for any pair. So you can say that for 'Ŧö' it should use @T odieresis or Tbar @o. So you can have two different exceptions for the same pair. All this is controlled from within the edit views info box (the gray box in the bottom of the edit area).
  • Kent Lew
    Kent Lew Posts: 937
    Out of interest, how do other tools distinguish between class and exception kerning?
    John — This is distinct from “tools” per se, but the latest version of the UFO spec, UFO 3 , introduces a required distinction in the naming of kerning groups in the format. From the description for the groups.plist:
    “Kerning groups must begin with standard prefixes. The prefix for groups intended for use in the first side of a kerning pair is "public.kern1.". The prefix for groups intended for use in the second side of a kerning pair is "public.kern2.".”
    I don’t know which of the tools may fully recognize the UFO 3 format yet. I know the public release of RoboFont is still supporting only UFO 1 & 2.