Skip to content

Fix swapped Arabic zain short-form GSUB mappings#708

Open
yzn-h wants to merge 1 commit intoIBM:masterfrom
yzn-h:fix-arabic-z-short-substitution
Open

Fix swapped Arabic zain short-form GSUB mappings#708
yzn-h wants to merge 1 commit intoIBM:masterfrom
yzn-h:fix-arabic-z-short-substitution

Conversation

@yzn-h
Copy link
Copy Markdown

@yzn-h yzn-h commented May 5, 2026

Summary

Fixes swapped GSUB short-form substitutions for Arabic zain in IBM Plex Sans Arabic.

The current shipped fonts map:

  • uni0632 -> uniFEB0.short
  • uniFEB0 -> uni0632.short

This causes ز to use the wrong short-form body in some shaping contexts. This PR swaps those mappings so they resolve to their matching glyph forms:

  • uni0632 -> uni0632.short
  • uniFEB0 -> uniFEB0.short

This makes zain match the existing behavior of reh (ر) in the same contexts.

Note for maintainers

This repository appears to publish the generated Arabic font binaries, while the README describes source builds from .vfb files using FontLab/AFDKO. I could not find the Arabic source files in the repo, so this PR patches the shipped OTF/TTF/WOFF/WOFF2 binaries directly.

If maintainers prefer, this same fix should be applied in the source/build pipeline instead.

Verification

Checked shaping with HarfBuzz:

hb-shape packages/plex-sans-arabic/fonts/complete/ttf/IBMPlexSansArabic-Regular.ttf 'زع'

Signed-off-by: يزن حمزه <yznhamzeh@gmail.com>
@yzn-h yzn-h force-pushed the fix-arabic-z-short-substitution branch from 693b9ce to 41d5599 Compare May 5, 2026 23:33
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.

1 participant