iwsfutcmd · GitHub

Defect Report

Title

Above marks aren't being properly positioned after derived pengkal glyphs

Font

NotoSansJavanese-Regular.ttf (etc., etc.)

Where the font came from, and when

Built from commit 2663fac

Font Version

n/a

OS name and version

macos 13.3.1

Application name and version

observed in hb-view and crowbar (https://www.corvelsoftware.co.uk/crowbar/)

Issue

In order to make sure above marks are rendered on top of consonants and not pengkals, the SwapPengkalVowel lookup swaps the position of the above mark and the pengkal glyph, so the above mark is rendered on top of the consonant preceding the pengkal as opposed to above the pengkal itself. However, it only handles the plain pengkal (& tarung & tolong) glyph. The pengkal, however, can take alternate contextual forms (such as pengkal.pas, pengkal.alt1, etc.), and these forms are not subject to swapping.

There are many, many pengkal glyphs (pengkal, pengkal.alt_u.ns, pengkal.alt_uu.ns, pengkal.pas, pengkal.pas.alt_u.ns, pengkal.pas.alt_uu.ns, pengkal.alt1, pengkal.alt1_u.ns, pengkal.alt1_uu.ns, pengkal.pas.alt1, pengkal.pas.alt1_u.ns, pengkal.pas.alt1_uu.ns), so I fear the current structure of SwapPengkalVowel will need to be rearchitected if we don't want a million GSUB rules.

Note: This issue is independent of issue #33

Character data

Correctly positioned (with pengkal glyph): ꦒꦾꦶ
Incorrectly positioned (with pengkal.pas glyph): ꦒ꧀ꦭꦾꦶ

Screenshot

Screenshot 2024-11-15 at 00 12 12

Read the original on github.com ↗