• Global community
    • Language:
      • Deutsch
      • English
      • Español
      • Français
      • Português
  • 日本語コミュニティ
    Dedicated community for Japanese speakers
  • 한국 커뮤니티
    Dedicated community for Korean speakers
Exit
0

Zero Width Joiner in ligatures

New Here ,
Jan 11, 2009 Jan 11, 2009

Copy link to clipboard

Copied

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
TOPICS
Open Type FDK

Views

3.7K

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines

correct answers 1 Correct answer

Explorer , Jan 15, 2009 Jan 15, 2009
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, ...

Votes

Translate

Translate
Explorer ,
Jan 15, 2009 Jan 15, 2009

Copy link to clipboard

Copied

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

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
New Here ,
Jan 17, 2009 Jan 17, 2009

Copy link to clipboard

Copied

LATEST
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

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines