Does Mark to Mark, depends on Mark to Base?

Yeshurun Kubi
Yeshurun Kubi Posts: 14
edited February 2019 in Technique and Theory
I am trying to figure out this issue:
Does Mark to Mark feature, depends on Mark to Base feature?
I thought that the answer is "NO!" - so if I leave the marks with no Mark to Base definition, it will stand at the end of the Base glyph, and if it followed by another mark, that has 'mkmk' - this offset will take place.
But i've got confused while checking it:
1. Mark to Base + Mark to Mark
This is what shows on FontCreator preview:

And it comes out just fine on InDesign:

2. Mark to Mark (with no Mark to Base)
It looks like it is working on FontCreator preview:

But it does not work on InDesign:


I will really appreciate your kind and clever help on this issue!
[Note: on the DirectWrite shape engine it does not work, but on HarfBuzz it works]

Comments

  • John Hudson
    John Hudson Posts: 3,190
    In InDesign, are you making sure that the World Ready Composer is selected? This is necessary for Hebrew mark positioning support.

    Hebrew is something of a special case: if mark-to-base is not provided, layout may fall back to a legacy Hebrew mark positioning algorithm, which will centre the marks on the advance width of the base, which is what might be happening here.
  • Yeshurun Kubi
    Yeshurun Kubi Posts: 14
    edited February 2019
    In InDesign, are you making sure that the World Ready Composer is selected? This is necessary for Hebrew mark positioning support.
    Yes i sure did!
    Hebrew is something of a special case: if mark-to-base is not provided, layout may fall back to a legacy Hebrew mark positioning algorithm, which will centre the marks on the advance width of the base, which is what might be happening here.
    That seems to be the right answer! Great thanks!
    Could not find the exact documentation for that - and it will be more than helpful if you can show me a specific link for that! (is it HERE?)
  • Kent Lew
    Kent Lew Posts: 937
    The fallback behavior that John describes is actually a generic fallback in the World-Ready Composer, not applicable just to Hebrew.
    If any base character is followed by a combining mark, then one of three things may happen:
    1) If the combination has an equivalent Unicode precomposed codepoint and there is a glyph with that encoding, or if there is a {ccmp} rule steering toward a precomposed glyph, then InDesign will display that glyph;
    2) If there is no precomposed equivalent and/or there is no glyph so encoded, but there is a relevant {mark} feature, then the mark will be positioned according to the GPOS rule;
    3) If there is no composed equivalent and there is no applicable {mark}, InDesign will position the combining mark by centering the mark on the advance width of the preceding base.
    That last behavior is specific to the World-Ready Composer. The Standard Composer will leave the mark at the right bound of the preceding glyph.
    And this is not specific to any script. In fact, it works with figures. For example, you can enter an ad hoc sixogonek or eightcedilla. ;-)

  • Sami Artur Mandelbaum
    edited February 2019
    Hi Yeshurun,
    Did You check if "Diacritic Positioning" is set "opentype" in all text?
    Sami
  • Did You check if "Diacritic Positioning" is set "opentype" in all text?
    Yes i sure did!