Ligatures, kerning, ZWNJ & OpenType

From: Marcin 'Qrczak' Kowalczyk (
Date: Sun Jul 15 2007 - 09:08:21 CDT

  • Next message: John Hudson: "Re: Ligatures, kerning, ZWNJ & OpenType"

    Let's imagine a script with characters for consonants, vowels, and
    combinations consonant + vowel. The syllables are constructed in a
    systematic way, and thus it's probably better to encode just 40 letters
    than 500 syllables.

    Forming a syllable is mandatory when a consonant is followed by a vowel,
    except in rare cases where it's prohibited. I'm currently using OpenType
    ligatures for that. How to encode the case where forming a syllable is

    I suppose the answer is ZWNJ, even if it was meant to be advisory.
    Unfortunately, in XeTeX at least (which uses ICU) ZWNJ inhibits kerning,
    or perhaps requires separate kerning rules for cases involving ZWNJ.
    And I need lots of kerning rules for pleasant results (the primitive TTF
    "kern" table size limit was too small, and "GPOS" takes 52kB). Is it
    possible to specify in a font that ZWNJ should be transparent for
    kerning, so it only prevents forming ligatures? If it requires separate
    rules for separate combinations, how to specify the kerning of triplets
    with invisible ZWNJ in the middle?

    BTW, rant: XeTeX is the only Linux software I've found adequate for
    typesetting my script. is too buggy (e.g. breaks words
    consisting of PUA characters at any point, doesn't support ligatures
    at all, uses a nonsensical baseline skip for fonts with ulUnicodeRange
    bit 57 "Non-Plane 0" set, rounds spacing between paragraphs to full
    lines), KOffice doesn't seem to support non-BMP characters at all
    and doesn't support ligatures, Abiword has buggy support of non-BMP
    characters (copy&paste cuts codes modulo 2**16) and doesn't support
    ligatures, standard TeX is too painful for fonts with more than 256
    characters, Firefox has wrong spacing for ligatures if they are enabled
    and it seems to be unable to print non-BMP PUA. Well, Pango typesets my
    text perfectly, with ligatures and kerning, but it's not used by word
    processors; paps converts text to PostScript correctly using Pango, but
    it provides very little formatting options (e.g. no tables, no line
    centering), and going to PDF through PostScript causes unnecessary
    violence to a TTF font. XeTeX saved me, it's great!

       __("<         Marcin Kowalczyk

    This archive was generated by hypermail 2.1.5 : Sun Jul 15 2007 - 09:13:39 CDT