2 Replies Latest reply on Jan 17, 2009 2:20 AM by (John_D._Smith)

    Zero Width Joiner in ligatures

    (John_D._Smith) Level 1
      Some fonts I am working on contain a number of digraphs with diacriticals applying to the digraph as a whole. For example, one glyph consists of a "k" followed immediately by an "h", with an underscore running under both letters. As far as I can see, the best way to represent this in Unicode is "k" + Zero Width Joiner (uni200D) + "h" + combining macron below (uni0331). (The choice of uni0331 rather than, say, combining low line (uni0332) is not in my hands.) But when I place things like this in my liga file, nothing happens:

      sub k uni200D h uni0331 by k_uni200D_h_uni0331

      I have tried various approaches to work round this, but without success. It almost seems as if ligatures containing Zero Width Joiner have been disabled. Can anyone help/enlighten me? I am running the latest makeOTF on a MacBook Pro.

      By the way, I am currently in India, and it will be difficult to consult this forum frequently. It would be a great kindness if any replies could be copied to my email address: jds10 AT cam DOT ac DOT uk.

      John Smith
        • 1. Re: Zero Width Joiner in ligatures
          Level 1
          Hi John;<br /><br />An engineer from the InDesign team responded, and said that in Adobe InDesign, such ligatures would not work, and made an alternate suggestion:<br /><br />> In InDesign specifically, we will strip the joiner before composition and <br />> therefore it won't be assigned a glyph or participate in the ligature <br />> substitution. This is how we handle zero-width spaces, joiner, discretionary <br />> hyphens, etc. <br />> <k, U+035F &#9676;&#863; COMBINING DOUBLE MACRON BELOW, h> is probably a much <br />> better choice and in fact is much more likely to work (assuming the font <br />> ligates all that) with vanilla layout engines. Look for "double <br />> diacritics" in the index of The Unicode Standard, 5.0 for all the details.<br /><br />See ' http://www.unicode.org/versions/Unicode5.1.0/".<br /><br />Double diacritics are referenced on pages 113, 146, 255.<br />P 113 in Chapter 3 Conformance., section 3.11 Canonical Ordering Behavior.<br />P 146 in Chapter 4 Character Properties, section 4.12 Characters with Unusual Properties.<br />P 225 in Chapter 7 European Alphabetic Scripts, section 7.9 Combining Marks.<br /><br />- Read Roberts
          • 2. Re: Zero Width Joiner in ligatures
            (John_D._Smith) Level 1
            This is extremely helpful -- it explains why things weren't working, and gives a much better approach. I've tried it, and it works. Thanks from a very satisfied customer.

            John Smith