mirror of
https://github.com/storytold/vectorcraft.git
synced 2026-11-12 23:05:05 +00:00
Single Word Justification's Full Justify counted and placed a gap after every drawn glyph, so a combining mark or the vowel sign of a Devanagari syllable moved away from its letter. Desired Letter Spacing and the letter spacing range of a justified line did the same between two glyphs of one cluster. - The Full Justify gap count and placement share one check that skips glyphs with the same cluster byte as the glyph drawn after them. - Letter spacing goes after the last glyph of a cluster only. - Letter spacing, Full Justify and CJK inter-character gaps pass over every default-ignorable character drawn with no width (soft hyphens, bidi marks, embeddings, overrides and isolates, joiners, word joiners, variation selectors, tags, the byte order mark) and put the space between the visible characters on either side. The Hangul fillers stay letters. - A zero-width space takes no word-space room on a justified line and stays a line break opportunity. Letter spacing before it is set after it, so a line broken there ends at its last letter. - A single word that Full Justify spreads and that breaks at a hyphen has the same gap before the drawn hyphen as between its letters. - Kinsoku push-in counts the gaps it can close past format controls, as the layout closes them. Tests cover horizontal, right-to-left and vertical type, Desired and fitted letter spacing, format controls, zero-width spaces, the drawn hyphen, push-in, and a Devanagari syllable when a Devanagari face is installed.