Skip to content

Reorder combining marks like HarfBuzz - #404

Closed
lehni wants to merge 1 commit into
foliojs:feature/unicode-normalizationfrom
lineto:fix/canonical-mark-order
Closed

lehni wants to merge 1 commit into
foliojs:feature/unicode-normalizationfrom
lineto:fix/canonical-mark-order

Conversation

@lehni

@lehni lehni commented Oct 18, 2026

Copy link
Copy Markdown
Contributor

Follow-up to #403, as mentioned in #380.

  • Sort every mark run by combining class instead of keeping the typed order of marks that don't compose (q + U+0307 + U+0323 now orders the dot below first)
  • Use HarfBuzz's modified combining classes, so shadda still sorts before Arabic vowels and Hebrew, Thai, Telugu and Tibetan marks follow the order fonts expect
  • Move Arabic modifier combining marks (hamza above or below, small high letters) to the start of their run, as in UTR Implement Universal Shaping Engine #53
  • Add tests for Latin reordering and Arabic modifier marks; checked against hb-shape on Fira Sans, Amiri and a Hebrew font

- Sort every mark run by combining class instead of keeping the typed order of marks that don't compose (q + dot above + dot below now orders the dot below first)
- Use HarfBuzz's modified combining classes, so shadda still sorts before Arabic vowels and Hebrew, Thai, Telugu and Tibetan marks follow the order fonts expect
- Move Arabic modifier combining marks (hamza above or below, small high letters) to the start of their run, as in UTR foliojs#53
- Add tests for Latin reordering and Arabic modifier marks, matching hb-shape
@blikblum
blikblum deleted the branch foliojs:feature/unicode-normalization October 18, 2026 18:22
@blikblum blikblum closed this Oct 18, 2026
@blikblum

Copy link
Copy Markdown
Member

Somehow i deleted the branch. Seems like a github bug

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants