Skip to content

Is inter-character spacing used for Khmer? #9

@r12a

Description

@r12a

Many scripts create emphasis or other effects by spacing out the letters or syllables in a word (known as tracking). It's also possible to stretch inter-character space during justification, either explicitly or during word-based justification, as a way of relieving the stress on inter-word spaces.

CSS provides two properties that have the potential to produce inter-character spacing: (a) the letter-spacing property (b) text-justify:inter-character.

A recent Mozilla bug prompted me to ask the following questions of the experts here:

  1. Do Khmer authors ever apply tracking (ie. inter-character spacing) to text?
  2. Does it ever make sense to apply text-justify:inter-character to Khmer?
  3. If extra gaps are introduced between characters, what are the indivisible text units? ie. presumably combining characters, even spacing ones, would normally not be separated from their base characters (but see 4)? Is a grapheme cluster (ie. base + combining characters) the relevant unit, or should gaps be introduced only around whole syllables?
  4. It appears that Thai does allow separation of base character and combining character in the case of ำ [U+0E33 THAI CHARACTER SARA AM]. In fact, this involves converting the vowel sign to U+0E4D THAI CHARACTER NIKHAHIT + U+0E32 THAI CHARACTER SARA AA, then introducing the gap between the [base+nikhahit] and the sara AA. Khmer has an equivalent in U+17B6 KHMER VOWEL SIGN AA+U+17C6 KHMER SIGN NIKAHIT (not a single character). Are gaps introduced in a similar way to Thai here?
  5. If (4) applies to Khmer, are gaps also introduced between a base character and U+17B6 KHMER VOWEL SIGN AA, or any other base character plus vowel or diacritic?
  6. Are there any other special things we need to bear in mind wrt adding gaps between characters in Khmer?

Once this thread is under way, i'll raise similar threads for other scripts.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions