Class based contextual positioning - how to?

I've tried using calt but it's not really working - i.e. it works fine in FontForge but generated fonts seem to ignore it. 
feature calt {
  pos @wide @narrow' <128 0 0 0> @narrow;
} calt; 
You can see the feature file here: https://github.com/larsenwork/monoid/blob/master/Utilities/RegularKerning.fea

I can't use standard kerning as the font is monospaced. 

Any suggestions? (I'm a bit new to all this - just playing around with the possibilities. 

Comments

  • What application are you testing the font with after generation?
  • @George Thomas firefox, chrome, atom, xcode, textedit etc...not really working in any of them
    :neutral: 
  • I just tried it and your code works fine in Indesign and TextEdit (Mac). The font was compiled with a very recent version of makeOTF.
  • @Georg Seifert so you created it from source? Did you try the version on larsenwork.com/monoid first? 

    How does one compile using makeOTF?
    :smile: 
  • @Georg Seifert I just had quick go with makeOTF (never used it before) but ran into this issue: 
    makeotfexe [FATAL] Glyph renaming is requested, but the Glyph Alias And Order DB file was not specified.
    This is the terminal command I used: 
    makeOTF -f /Users/andreaslarsen/Downloads/Monoid-2/Monoid-Regular.ttf -ff /Users/andreaslarsen/Git/Monoid/Utilities/All.fea -mf /Users/andreaslarsen/Git/Monoid/Utilities/FontMenuNameDB
    Any help is much appreciated.
  • Andreas Larsen
    Andreas Larsen Posts: 22
    edited July 2015
    Ah...is the DB file needed for the "sub" functions to work?

    https://github.com/larsenwork/monoid/blob/master/Utilities/All.fea

    Is there an automated way to generate that DB file...?
  • Paul van der Laan
    Paul van der Laan Posts: 242
    edited July 2015
    There should be a folder called “Technical Documentation” included with the FDK. Inside there is MakeOTFUserGuide.pdf that explains many details.

    In short – makeotf requires a number of files:
    • a font file (pfa, ttf, otf, ufo)
    • features
    • fontinfo
    • FontMenuNameDB
    • GlyphOrderAndAliasDB

    If you put them all in one directory then the following command should be sufficient:
    makeotf -r -f Monoid-Regular.ttf

  • @Paul van der Laan Cheers - I've been reading through some of it already. It's terribly written. Not beginner friendly:) Says there is an example 
    GlyphOrderAndAliasDB in a folder where there is none etc.

    Is there an automated way to generate 
    GlyphOrderAndAliasDB ? 


  • Or alternatively: is there any way I can get this working using "just" FontForge?
  • Paul van der Laan
    Paul van der Laan Posts: 242
    edited July 2015
    GlyphOrderAndAliasDB should list all the glyphs in your font, and every line can contain two or three columns that are separated by a tab:
    [finalGlyphname]\t[currentGlyphname]\t[unicode]

    If you don’t want to rename any glyphs during compilation, then finalGlyphname will be the same as currentGlyphname. The third column with unicodes is optional. For example:

    bracketleft\tbracketleft\tuni005B
    The FDK is typically aimed at developers and tech-savvy people. You should be able to use it with any font editor, but having a decent code editor is recommended too.
  • Hmm...slightly stuck here :smile: 

    @Georg Seifert do you mind explaining me (beginner friendly) how you got it working?
  • Also have a look at Adobe Source Sans on GitHub. It includes all the source files for the FDK.

  • Hi Andreas,

    FontForge is a bit more tolerant than the AFDKO. If I compile your features with OTM, I get the following error message: ‘HOT [ERROR] The languagesystem DFLT dlft; statement must precede all other language system statements.’ After fixing this everything seems to work fine from a technical point of view (although the result using DTL Argo is probably not what you had in mind ;-).


  • LeMo cheers, I think that fixed it!
    @Paul thanks for links, will have to get into using FKO at some point:)