Cursive attachment for Latin

My next OpenType stupid question: Yannis Haralambous' venerable Fonts and Encodings suggests that font designers making script fonts should use the cursive attachment anchors and lookups:



and in fact the example he gives for cursive attachment is:

My understanding is that, while this is possible to do, it is Not The Right Thing, and cursive attachment should really just be used for Arabic.

Is anyone aware of fonts using cursive attachment for Latin, and any reasons why it should/shouldn't be done for scripts other than Arabic?

Comments

  • John Hudson
    John Hudson Posts: 3,227
    My understanding is that, while this is possible to do, it is Not The Right Thing, and cursive attachment should really just be used for Arabic.

    There's no good reason why cursive attachment shouldn't be used for any script, which is to say that there could be bad reasons. This is going to depend on whether the shaping engine to which a script is passed applies the <curs> feature for that script. Sadly, some shaping engines may have assumptions about scripts for which this feature is suitable. I've not done tests of Latin fonts with <curs> feature in different shaping engines.

    <curs> is most useful when connecting glyphs shift in the y direction, which is why it is critical for many styles of Arabic. A great many Latin connecting fonts wouldn't need <curs> (as, indeed, many Arabic fonts don't), but <curs> does also serve the purpose of tying glyphs together in ways that are not subject to tracking (letterspacing), so would in theory provide a way to avoid the situation in which a naïve user tracks out a joining script or applies automated kerning.

  • Do cursive attachments really have any effect on how applications apply letterspacing? The way I have seen it done is to do OpenType layout then apply letter spacing on the resulting glyphs (with glyph to character mapping), and at this point any information about cursive attachments is long gone.
  • John Hudson
    John Hudson Posts: 3,227
    I don't know what apps actually do, but I would say that any app that breaks cursive attachment when letterspacing is Doing It Wrong. It would be akin to letting mark attachment be affected by kerning. Attachment is attachment, and shouldn't be broken by downstream procedures.

    Then again, someone might want to say that this is just my opinion, because there is no OpenType Layout implementation specification.
  • Just to spell it out for observers who may not be familiar with the history here, John is implying that it is a bit crazy that there *isn't* an OpenType Layout implementation specification.

    With new chunks of the spec, such as variable fonts, folks have been doing The Right Thing and making a much stronger spec that covers these sorts of things. (Kudos to all involved!) But it remains a hole in the original.  :/
  • It would be akin to letting mark attachment be affected by kerning.

    Mark attachment can be affected by kerning actually. In Uniscribe, at least, if you don’t arrange your lookups wisely kerning will move base glyphs and not the attached marks. This happens while kerning is done by the OpenType layout engine which should have all the bits needed (HarfBuzz does not suffer from this), unlike letterspacing which is usually done on top of OpenType layout and probably by a different software layer.

    I’m not implying this is ideal, I’m just saying that the reality might not match one’s expectations..

  • To answer the original question, I can imagine that cursive attachments be used for cursive Latin fonts to avoid needing to adjust sidebearings and kerning to make sure all the glyphs connect correctly, but I haven’t done any such fonts to know how useful is that.