From 2f5bdb06e7089c32fd1004f4757827e9a6d78bdc Mon Sep 17 00:00:00 2001 From: Raph Levien Date: Wed, 12 Sep 2012 15:53:26 -0700 Subject: [PATCH] Fix for bug 6872613 Need to revert back to a less hacky Arabic Font Roozbeh provided an updated Arabic system UI font which does positioning properly (using the GPOS mechanism, which is now fully supported in text rendering), as opposed to the old workaround of using GSUB combinations. It contains the following additional fixes: 1. Removed the new glyphs and relevant table fields created by GPOS2GSUB 2. [Kept empty glyphs for ZWSP, ZWNJ, and ZWJ] 3. Fixed a wrong GSUB substitution for Urdu Seven 4. Fixed shaping of U+06C1 HEH GOAL 5. Fixed shaping of U+06BA NOON GHUNNA 6. Removed the Rial ligature from the GSUB table 7. Tightened the Alef-Lam-Lam-Heh ligature in the GSUB table which was getting triggered too frequently This change just checks in the above work. I did a sanity-check verification that Arabic text still renders reasonably in the system UI, but did not check the above cases carefully. Change-Id: Ie5fb9fd78d21bbfcd62b86deb327a5a2ae9321c6 --- data/fonts/DroidNaskh-Regular-SystemUI.ttf | Bin 158148 -> 111520 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/data/fonts/DroidNaskh-Regular-SystemUI.ttf b/data/fonts/DroidNaskh-Regular-SystemUI.ttf index 2f495cf46e600fe66ecfcd5b473a1221a3d79118..c961de204afa83e55f9a6d05d52785d21a03ead4 100644 GIT binary patch delta 1325 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