Initial forms

Hello, I'm working on my first script typeface and I was wondering, what is the best way to program initial forms? This is my script:

ignore sub @all_glyphs @init_0';
sub @init_0' by @init_1;

Without the "ignore" rule the glyph wouldn't switch to it's initial form if it's at the beginning of a line. However, the @all_glyphs class needs to contain all existing glyphs except space, which means 956 glyphs. Do you think this could cause any problems?

Also, I'm doing the substitution in the stylistic set feature. Both SS## and INIT features are very poorly supported in applications (basically InDesign only), so I'm not really sure which one to choose. I'd appreciate you tips and opinions. Thanks!

Comments

  • Kent Lew
    Kent Lew Posts: 944
    I would typically put this lookup in {calt} for a connecting script, since the alternates should be used by default.

    Of course, {init} is the more syntactically appropriate feature and I would recommend including the basic gsub 1 rule there also. It’s just too bad that more layout software does not support {init} and that Adobe doesn’t implement Positional Forms > Automatic Form by default (and that the current implementation of Initial Form is so ham-handed).

    Also, you may want to consider excluding some punctuation from your backtrack sequence (i.e., your @all_glyphs class). For instance, you may still want an initial form following various opening quotation markers, or a left parenthesis, or an em-dash, etc.
  • Mark Simonson
    Mark Simonson Posts: 1,739
    956 glyphs in a class shouldn’t be a problem.
  • Nick Shinn
    Nick Shinn Posts: 2,216
    AFAIK 956 glyphs in a class is not a problem.
    There are often much larger classes involved in pseudo-random features.
  • Ramiro Espinoza
    Ramiro Espinoza Posts: 839
    edited May 2013
    But remember Myfonts and Fontshop have problems previsualising this kind of features (specially using 'ignore') in their websites. Some scripts fonts which rely too much on ini and end forms based on CALT will look broken or bad online (at least until this issue is fixed, but so far it seems to have a low priority)
  • Ondrej Jób
    Ondrej Jób Posts: 12
    Thank you everyone!

    @Ramiro Espinoza: I wasn't aware of that, thanks! Fortunatelly this, font is not going to MyFonts and using ini/fin forms will be optional (it will actually be something like the swash feature).

    I decided on these features to access the special forms:

    Initial: INIT or SS03
    Final: FINA or SS04
    Ini+Fin: SWSH

    I hope this will be sufficient.
  • Craig Eliason
    Craig Eliason Posts: 1,440
    You may want to assign a stylistic set to Ini+Fin in addition to SWSH (and maybe instead of the final-forms-only setting).
    For my Ambicase fonts I did INIT, FINA, and SWSH as you have, but assigned stylistic sets to the initial forms (with appropriate Ignore language like you have done) and to the all-swash forms, thinking that those were the two settings most likely to be desired.
  • Ondrej Jób
    Ondrej Jób Posts: 12
    edited May 2013
    thanks for the tip, Craig. for this typeface, it'll be best to keep all three options. and i'll add the third SS:
    Initial: INIT or SS03
    Final: FINA or SS04
    Ini+Fin: SWSH or SS05