summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/doc
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2012-05-31 23:15:34 +0000
committerKarl Berry <karl@freefriends.org>2012-05-31 23:15:34 +0000
commit428059a93489887cfc01e6d71b45e1426e286ec0 (patch)
tree150661e8f7ef4c9e61e659d9836f6f91b31c1c5f /Master/texmf-dist/doc
parent69bf610e3d20ef35e05a6ceae295e855c2bf2593 (diff)
amiri 0.103 (31may12)
git-svn-id: svn://tug.org/texlive/trunk@26750 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/doc')
-rw-r--r--Master/texmf-dist/doc/fonts/amiri/Makefile3
-rw-r--r--Master/texmf-dist/doc/fonts/amiri/README.txt (renamed from Master/texmf-dist/doc/fonts/amiri/README)0
-rw-r--r--Master/texmf-dist/doc/fonts/amiri/documentation/NEWS-Arabic.txt11
-rw-r--r--Master/texmf-dist/doc/fonts/amiri/documentation/NEWS.txt10
-rw-r--r--Master/texmf-dist/doc/fonts/amiri/documentation/amiri-table.pdfbin182249 -> 179376 bytes
-rw-r--r--Master/texmf-dist/doc/fonts/amiri/sources/amiri-bold.sfd99
-rw-r--r--Master/texmf-dist/doc/fonts/amiri/sources/amiri-regular.sfd115
-rw-r--r--Master/texmf-dist/doc/fonts/amiri/sources/enclosing.fea32
-rw-r--r--Master/texmf-dist/doc/fonts/amiri/sources/italic_ltra.fea8
-rw-r--r--Master/texmf-dist/doc/fonts/amiri/sources/italic_rtla.fea15
-rw-r--r--Master/texmf-dist/doc/fonts/amiri/sources/kerning.fea6
-rw-r--r--Master/texmf-dist/doc/fonts/amiri/sources/lang.fea8
-rw-r--r--Master/texmf-dist/doc/fonts/amiri/sources/lang_arabic.fea4
-rw-r--r--Master/texmf-dist/doc/fonts/amiri/sources/lang_latin.fea2
-rw-r--r--Master/texmf-dist/doc/fonts/amiri/sources/latin_gsub.fea3
-rw-r--r--Master/texmf-dist/doc/fonts/amiri/sources/local.fea2
-rw-r--r--Master/texmf-dist/doc/fonts/amiri/test-suite/enclosing.ptest6
-rw-r--r--Master/texmf-dist/doc/fonts/amiri/test-suite/enclosing.test6
-rwxr-xr-xMaster/texmf-dist/doc/fonts/amiri/tools/build.py12
-rwxr-xr-xMaster/texmf-dist/doc/fonts/amiri/tools/runtest.py15
20 files changed, 294 insertions, 63 deletions
diff --git a/Master/texmf-dist/doc/fonts/amiri/Makefile b/Master/texmf-dist/doc/fonts/amiri/Makefile
index 189e7a08afe..8a4fa882f39 100644
--- a/Master/texmf-dist/doc/fonts/amiri/Makefile
+++ b/Master/texmf-dist/doc/fonts/amiri/Makefile
@@ -1,7 +1,7 @@
.PHONY: all clean ttf web pack check
NAME=amiri
-VERSION=0.102
+VERSION=0.103
TOOLS=tools
SRC=sources
@@ -26,6 +26,7 @@ PDFS=$(DOC)/$(NAME)-table.pdf
CSSS=$(WEB)/$(NAME).css
FEAT=$(wildcard $(SRC)/*.fea)
TEST=$(wildcard $(TESTS)/*.test)
+TEST+=$(wildcard $(TESTS)/*.ptest)
DOCFILES=$(DOCS:%=$(DOC)/%.txt)
license=OFL.txt OFL-FAQ.txt
diff --git a/Master/texmf-dist/doc/fonts/amiri/README b/Master/texmf-dist/doc/fonts/amiri/README.txt
index 41dbde9efed..41dbde9efed 100644
--- a/Master/texmf-dist/doc/fonts/amiri/README
+++ b/Master/texmf-dist/doc/fonts/amiri/README.txt
diff --git a/Master/texmf-dist/doc/fonts/amiri/documentation/NEWS-Arabic.txt b/Master/texmf-dist/doc/fonts/amiri/documentation/NEWS-Arabic.txt
index 392443653fd..4206207c872 100644
--- a/Master/texmf-dist/doc/fonts/amiri/documentation/NEWS-Arabic.txt
+++ b/Master/texmf-dist/doc/fonts/amiri/documentation/NEWS-Arabic.txt
@@ -1,3 +1,12 @@
+أميري 0٫103 (2012-05-31)
+------------------------
+* هذه إصدارة صغيرة لإصلاح بعض العلات:
+ - إصلاح اتآلف السيء بين الأرقام مع علامة نهاية الآية وغيرها من العلامات الضامة.
+ - إضافة رموز ظاهرة لمحارف التحكم في ثنائية الاتجاه.
+ - تأليف المزيد من الكافات عبر الفاصلة المجازية.
+ - إصلاح معالجة ميلان المحارف المشتركة إلى اليمين أو إلى اليسار في الخط المائل
+ ليصبح أكثر منطقية.
+
أميري 0٫102 (2012-05-22)
------------------------
* المحارف الجديدة:
@@ -28,7 +37,7 @@
- جدول تآلف أحسن أداء يستخدم التموضع السياقي.
- تقليل تآلف الدال أو الراء مع الكاف لتفادي التصاق النقاط.
- زيادة تباعد الراء عن الياء البادئة.
- - جعل التآلف عبر الفاصل المجازي يعمل في محرك ميكروسوفت.
+ - جعل التآلف عبر الفاصلة المجازية يعمل في محرك ميكروسوفت.
* إصلاح العلات: #1347860، #3471042، #3475146، #3509875
diff --git a/Master/texmf-dist/doc/fonts/amiri/documentation/NEWS.txt b/Master/texmf-dist/doc/fonts/amiri/documentation/NEWS.txt
index 9e082a8cd0b..2bbfab0fd74 100644
--- a/Master/texmf-dist/doc/fonts/amiri/documentation/NEWS.txt
+++ b/Master/texmf-dist/doc/fonts/amiri/documentation/NEWS.txt
@@ -1,3 +1,13 @@
+Amiri 0.103 (2012-05-31)
+------------------------
+* This is a bug fix release:
+ - Fix wrong kerning of digits inside end of ayah and other Arabic enclosing
+ marks.
+ - Add visible glyphs for BiDi control characters.
+ - Kern more kaf forms accross ZWNJ.
+ - Fix handling of right-slanting and left-slanting common characters in the
+ italic fonts to be more logical.
+
Amiri 0.102 (2012-05-22)
------------------------
* New glyphs:
diff --git a/Master/texmf-dist/doc/fonts/amiri/documentation/amiri-table.pdf b/Master/texmf-dist/doc/fonts/amiri/documentation/amiri-table.pdf
index 90e3909acae..4f09ca062ef 100644
--- a/Master/texmf-dist/doc/fonts/amiri/documentation/amiri-table.pdf
+++ b/Master/texmf-dist/doc/fonts/amiri/documentation/amiri-table.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/fonts/amiri/sources/amiri-bold.sfd b/Master/texmf-dist/doc/fonts/amiri/sources/amiri-bold.sfd
index 3f243b6de97..7283fdf2a3e 100644
--- a/Master/texmf-dist/doc/fonts/amiri/sources/amiri-bold.sfd
+++ b/Master/texmf-dist/doc/fonts/amiri/sources/amiri-bold.sfd
@@ -20,7 +20,7 @@ OS2Version: 4
OS2_WeightWidthSlopeOnly: 0
OS2_UseTypoMetrics: 1
CreationTime: 1273266481
-ModificationTime: 1337663566
+ModificationTime: 1338475036
PfmFamily: 17
TTFWeight: 700
TTFWidth: 5
@@ -18597,6 +18597,14 @@ Encoding: 8204 8204 307
Width: 0
Flags: W
LayerCount: 3
+Fore
+SplineSet
+30 1110 m 1,0,-1
+ 30 0 l 1,1,-1
+ -30 0 l 1,2,-1
+ -30 1110 l 1,3,-1
+ 30 1110 l 1,0,-1
+EndSplineSet
EndChar
StartChar: uni200D
@@ -18604,6 +18612,27 @@ Encoding: 8205 8205 308
Width: 0
Flags: W
LayerCount: 3
+Fore
+SplineSet
+30 970 m 1,0,-1
+ 30 0 l 1,1,-1
+ -30 0 l 1,2,-1
+ -30 970 l 1,3,-1
+ 30 970 l 1,0,-1
+0 1068 m 1,4,-1
+ -97 971 l 1,5,-1
+ -139 1013 l 1,6,-1
+ -42 1110 l 1,7,-1
+ -139 1207 l 1,8,-1
+ -97 1249 l 1,9,-1
+ 0 1152 l 1,10,-1
+ 97 1249 l 1,11,-1
+ 139 1207 l 1,12,-1
+ 42 1110 l 1,13,-1
+ 139 1013 l 1,14,-1
+ 97 971 l 1,15,-1
+ 0 1068 l 1,4,-1
+EndSplineSet
EndChar
StartChar: uni200E
@@ -18611,6 +18640,24 @@ Encoding: 8206 8206 309
Width: 0
Flags: W
LayerCount: 3
+Fore
+SplineSet
+-30 970 m 1,0,-1
+ 30 970 l 1,1,-1
+ 30 0 l 1,2,-1
+ -30 0 l 1,3,-1
+ -30 970 l 1,0,-1
+277 1110 m 1,4,-1
+ 138 971 l 1,5,-1
+ 96 1013 l 1,6,-1
+ 163 1080 l 1,7,-1
+ -30 1080 l 1,8,-1
+ -30 1140 l 1,9,-1
+ 162 1140 l 1,10,-1
+ 96 1206 l 1,11,-1
+ 139 1248 l 1,12,-1
+ 277 1110 l 1,4,-1
+EndSplineSet
EndChar
StartChar: uni200F
@@ -18618,6 +18665,8 @@ Encoding: 8207 8207 310
Width: 0
Flags: W
LayerCount: 3
+Fore
+Refer: 309 8206 N -1 0 0 1 0 0 2
EndChar
StartChar: uni202A
@@ -18625,6 +18674,17 @@ Encoding: 8234 8234 311
Width: 0
Flags: W
LayerCount: 3
+Fore
+SplineSet
+277 1110 m 1,0,-1
+ 139 1248 l 1,1,-1
+ 96 1206 l 1,2,-1
+ 192 1110 l 1,3,-1
+ 96 1013 l 1,4,-1
+ 138 971 l 1,5,-1
+ 277 1110 l 1,0,-1
+EndSplineSet
+Refer: 307 8204 N -1 0 0 1 0 0 2
EndChar
StartChar: uni202B
@@ -18632,6 +18692,8 @@ Encoding: 8235 8235 312
Width: 0
Flags: W
LayerCount: 3
+Fore
+Refer: 311 8234 N -1 0 0 1 0 0 2
EndChar
StartChar: uni202C
@@ -18639,6 +18701,21 @@ Encoding: 8236 8236 313
Width: 0
Flags: W
LayerCount: 3
+Fore
+SplineSet
+30 970 m 1,0,-1
+ 30 0 l 1,1,-1
+ -30 0 l 1,2,-1
+ -30 970 l 1,3,-1
+ 30 970 l 1,0,-1
+139 1055 m 1,4,-1
+ 97 1013 l 1,5,-1
+ 0 1110 l 1,6,-1
+ -97 1013 l 1,7,-1
+ -139 1055 l 1,8,-1
+ 0 1194 l 1,9,-1
+ 139 1055 l 1,4,-1
+EndSplineSet
EndChar
StartChar: uni202D
@@ -18646,6 +18723,24 @@ Encoding: 8237 8237 314
Width: 0
Flags: W
LayerCount: 3
+Fore
+SplineSet
+457 1110 m 1,0,-1
+ 319 1248 l 1,1,-1
+ 276 1206 l 1,2,-1
+ 372 1110 l 1,3,-1
+ 276 1013 l 1,4,-1
+ 318 971 l 1,5,-1
+ 457 1110 l 1,0,-1
+277 1110 m 1,6,-1
+ 139 1248 l 1,7,-1
+ 96 1206 l 1,8,-1
+ 192 1110 l 1,9,-1
+ 96 1013 l 1,10,-1
+ 138 971 l 1,11,-1
+ 277 1110 l 1,6,-1
+EndSplineSet
+Refer: 307 8204 N -1 0 0 1 0 0 2
EndChar
StartChar: uni202E
@@ -18653,6 +18748,8 @@ Encoding: 8238 8238 315
Width: 0
Flags: W
LayerCount: 3
+Fore
+Refer: 314 8237 N -1 0 0 1 0 0 2
EndChar
StartChar: uni2003
diff --git a/Master/texmf-dist/doc/fonts/amiri/sources/amiri-regular.sfd b/Master/texmf-dist/doc/fonts/amiri/sources/amiri-regular.sfd
index 48a5dc7d91b..a9710804ed3 100644
--- a/Master/texmf-dist/doc/fonts/amiri/sources/amiri-regular.sfd
+++ b/Master/texmf-dist/doc/fonts/amiri/sources/amiri-regular.sfd
@@ -19,7 +19,7 @@ OS2Version: 4
OS2_WeightWidthSlopeOnly: 0
OS2_UseTypoMetrics: 1
CreationTime: 1273266481
-ModificationTime: 1337663565
+ModificationTime: 1338475028
PfmFamily: 17
TTFWeight: 400
TTFWidth: 5
@@ -13460,6 +13460,14 @@ Encoding: 8204 8204 307
Width: 0
Flags: W
LayerCount: 2
+Fore
+SplineSet
+30 1110 m 1,0,-1
+ 30 0 l 1,1,-1
+ -30 0 l 1,2,-1
+ -30 1110 l 1,3,-1
+ 30 1110 l 1,0,-1
+EndSplineSet
EndChar
StartChar: uni200D
@@ -13467,6 +13475,27 @@ Encoding: 8205 8205 308
Width: 0
Flags: W
LayerCount: 2
+Fore
+SplineSet
+30 970 m 1,0,-1
+ 30 0 l 1,1,-1
+ -30 0 l 1,2,-1
+ -30 970 l 1,3,-1
+ 30 970 l 1,0,-1
+0 1068 m 1,4,-1
+ -97 971 l 1,5,-1
+ -139 1013 l 1,6,-1
+ -42 1110 l 1,7,-1
+ -139 1207 l 1,8,-1
+ -97 1249 l 1,9,-1
+ 0 1152 l 1,10,-1
+ 97 1249 l 1,11,-1
+ 139 1207 l 1,12,-1
+ 42 1110 l 1,13,-1
+ 139 1013 l 1,14,-1
+ 97 971 l 1,15,-1
+ 0 1068 l 1,4,-1
+EndSplineSet
EndChar
StartChar: uni200E
@@ -13474,6 +13503,24 @@ Encoding: 8206 8206 309
Width: 0
Flags: W
LayerCount: 2
+Fore
+SplineSet
+30 970 m 1,0,-1
+ 30 0 l 1,1,-1
+ -30 0 l 1,2,-1
+ -30 970 l 1,3,-1
+ 30 970 l 1,0,-1
+-277 1110 m 1,4,-1
+ -139 1248 l 1,5,-1
+ -96 1206 l 1,6,-1
+ -162 1140 l 1,7,-1
+ 30 1140 l 1,8,-1
+ 30 1080 l 1,9,-1
+ -163 1080 l 1,10,-1
+ -96 1013 l 1,11,-1
+ -138 971 l 1,12,-1
+ -277 1110 l 1,4,-1
+EndSplineSet
EndChar
StartChar: uni200F
@@ -13481,6 +13528,24 @@ Encoding: 8207 8207 310
Width: 0
Flags: W
LayerCount: 2
+Fore
+SplineSet
+-30 970 m 1,0,-1
+ 30 970 l 1,1,-1
+ 30 0 l 1,2,-1
+ -30 0 l 1,3,-1
+ -30 970 l 1,0,-1
+277 1110 m 1,4,-1
+ 138 971 l 1,5,-1
+ 96 1013 l 1,6,-1
+ 163 1080 l 1,7,-1
+ -30 1080 l 1,8,-1
+ -30 1140 l 1,9,-1
+ 162 1140 l 1,10,-1
+ 96 1206 l 1,11,-1
+ 139 1248 l 1,12,-1
+ 277 1110 l 1,4,-1
+EndSplineSet
EndChar
StartChar: uni202A
@@ -13488,6 +13553,17 @@ Encoding: 8234 8234 311
Width: 0
Flags: W
LayerCount: 2
+Fore
+SplineSet
+277 1110 m 1,0,-1
+ 139 1248 l 1,1,-1
+ 96 1206 l 1,2,-1
+ 192 1110 l 1,3,-1
+ 96 1013 l 1,4,-1
+ 138 971 l 1,5,-1
+ 277 1110 l 1,0,-1
+EndSplineSet
+Refer: 307 8204 N -1 0 0 1 0 0 2
EndChar
StartChar: uni202B
@@ -13495,6 +13571,8 @@ Encoding: 8235 8235 312
Width: 0
Flags: W
LayerCount: 2
+Fore
+Refer: 311 8234 N -1 0 0 1 0 0 2
EndChar
StartChar: uni202C
@@ -13502,6 +13580,21 @@ Encoding: 8236 8236 313
Width: 0
Flags: W
LayerCount: 2
+Fore
+SplineSet
+30 970 m 1,0,-1
+ 30 0 l 1,1,-1
+ -30 0 l 1,2,-1
+ -30 970 l 1,3,-1
+ 30 970 l 1,0,-1
+139 1055 m 1,4,-1
+ 97 1013 l 1,5,-1
+ 0 1110 l 1,6,-1
+ -97 1013 l 1,7,-1
+ -139 1055 l 1,8,-1
+ 0 1194 l 1,9,-1
+ 139 1055 l 1,4,-1
+EndSplineSet
EndChar
StartChar: uni202D
@@ -13509,6 +13602,24 @@ Encoding: 8237 8237 314
Width: 0
Flags: W
LayerCount: 2
+Fore
+SplineSet
+457 1110 m 1,0,-1
+ 319 1248 l 1,1,-1
+ 276 1206 l 1,2,-1
+ 372 1110 l 1,3,-1
+ 276 1013 l 1,4,-1
+ 318 971 l 1,5,-1
+ 457 1110 l 1,0,-1
+277 1110 m 1,6,-1
+ 139 1248 l 1,7,-1
+ 96 1206 l 1,8,-1
+ 192 1110 l 1,9,-1
+ 96 1013 l 1,10,-1
+ 138 971 l 1,11,-1
+ 277 1110 l 1,6,-1
+EndSplineSet
+Refer: 307 8204 N -1 0 0 1 0 0 2
EndChar
StartChar: uni202E
@@ -13516,6 +13627,8 @@ Encoding: 8238 8238 315
Width: 0
Flags: W
LayerCount: 2
+Fore
+Refer: 314 8237 N -1 0 0 1 0 0 2
EndChar
StartChar: uni2003
diff --git a/Master/texmf-dist/doc/fonts/amiri/sources/enclosing.fea b/Master/texmf-dist/doc/fonts/amiri/sources/enclosing.fea
index 44770fda354..d653f66130d 100644
--- a/Master/texmf-dist/doc/fonts/amiri/sources/enclosing.fea
+++ b/Master/texmf-dist/doc/fonts/amiri/sources/enclosing.fea
@@ -50,11 +50,11 @@ feature kern {
} kern;
feature kern {
- pos @EndOfAyah @Digits.small' -300 @Digits.small;
- pos @NumSign @Digits.small' -300 @Digits.small;
- pos @YearSign @Digits.medium' -450 @Digits.medium;
- pos @FootNote @Digits.small' -300 @Digits.small;
- pos @SafhaSign @Digits.small' -300 @Digits.small;
+ pos @EndOfAyah @Digits.small' <-300 0 0 0> @Digits.small;
+ pos @NumSign @Digits.small' <-300 0 0 0> @Digits.small;
+ pos @YearSign @Digits.medium' <-450 0 0 0> @Digits.medium;
+ pos @FootNote @Digits.small' <-300 0 0 0> @Digits.small;
+ pos @SafhaSign @Digits.small' <-300 0 0 0> @Digits.small;
} kern;
feature kern {
@@ -66,17 +66,17 @@ feature kern {
} kern;
feature kern {
- pos @EndOfAyah @Digits.small' -300 @Digits.small @Digits.small;
- pos @NumSign @Digits.small' -300 @Digits.small @Digits.small;
- pos @YearSign @Digits.medium' -450 @Digits.medium @Digits.medium;
- pos @SafhaSign @Digits.small' -300 @Digits.small @Digits.small;
+ pos @EndOfAyah @Digits.small' <-300 0 0 0> @Digits.small @Digits.small;
+ pos @NumSign @Digits.small' <-300 0 0 0> @Digits.small @Digits.small;
+ pos @YearSign @Digits.medium' <-450 0 0 0> @Digits.medium @Digits.medium;
+ pos @SafhaSign @Digits.small' <-300 0 0 0> @Digits.small @Digits.small;
} kern;
feature kern {
- pos @Digits.small @EndOfAyah @Digits.small' -300 @Digits.small;
- pos @Digits.small @NumSign @Digits.small' -300 @Digits.small;
- pos @Digits.medium @YearSign @Digits.medium' -450 @Digits.medium;
- pos @Digits.small @SafhaSign @Digits.small' -300 @Digits.small;
+ pos @Digits.small @EndOfAyah @Digits.small' <-300 0 0 0> @Digits.small;
+ pos @Digits.small @NumSign @Digits.small' <-300 0 0 0> @Digits.small;
+ pos @Digits.medium @YearSign @Digits.medium' <-450 0 0 0> @Digits.medium;
+ pos @Digits.small @SafhaSign @Digits.small' <-300 0 0 0> @Digits.small;
} kern;
feature kern {
@@ -87,15 +87,15 @@ feature kern {
} kern;
feature kern {
- pos @YearSign @Digits.medium' -450 @Digits.medium @Digits.medium @Digits.medium;
+ pos @YearSign @Digits.medium' <-450 0 0 0> @Digits.medium @Digits.medium @Digits.medium;
} kern;
feature kern {
- pos @Digits.medium @Digits.medium @YearSign @Digits.medium' -450 @Digits.medium;
+ pos @Digits.medium @Digits.medium @YearSign @Digits.medium' <-450 0 0 0> @Digits.medium;
} kern;
feature kern {
- pos @Digits.medium @YearSign @Digits.medium' -450 @Digits.medium @Digits.medium;
+ pos @Digits.medium @YearSign @Digits.medium' <-450 0 0 0> @Digits.medium @Digits.medium;
} kern;
feature kern {
diff --git a/Master/texmf-dist/doc/fonts/amiri/sources/italic_ltra.fea b/Master/texmf-dist/doc/fonts/amiri/sources/italic_ltra.fea
index cd0c8c4b4e5..aca5cf36105 100644
--- a/Master/texmf-dist/doc/fonts/amiri/sources/italic_ltra.fea
+++ b/Master/texmf-dist/doc/fonts/amiri/sources/italic_ltra.fea
@@ -1,8 +1,6 @@
-languagesystem DFLT dflt;
-languagesystem latn dflt;
-languagesystem latn TRK;
+include(lang_latin.fea)
-feature ltra {
+feature locl {
sub exclam by exclam.ltr;
sub quotedbl by quotedbl.ltr;
sub numbersign by numbersign.ltr;
@@ -72,4 +70,4 @@ feature ltra {
sub guilsinglright by guilsinglright.ltr;
sub fraction by fraction.ltr;
sub uni2213 by uni2213.ltr;
-} ltra;
+} locl;
diff --git a/Master/texmf-dist/doc/fonts/amiri/sources/italic_rtla.fea b/Master/texmf-dist/doc/fonts/amiri/sources/italic_rtla.fea
index 0b6c25bc796..eb878b7c056 100644
--- a/Master/texmf-dist/doc/fonts/amiri/sources/italic_rtla.fea
+++ b/Master/texmf-dist/doc/fonts/amiri/sources/italic_rtla.fea
@@ -1,14 +1,12 @@
-include(lang.fea)
+include(lang_arabic.fea)
-feature rtla {
+feature locl {
sub exclam by exclam.rtl;
sub quotedbl by quotedbl.rtl;
sub numbersign by numbersign.rtl;
sub dollar by dollar.rtl;
sub percent by percent.rtl;
sub quotesingle by quotesingle.rtl;
- sub parenleft by parenleft.rtl;
- sub parenright by parenright.rtl;
sub asterisk by asterisk.rtl;
sub plus by plus.rtl;
sub slash by slash.rtl;
@@ -29,17 +27,11 @@ feature rtla {
sub greater by greater.rtl;
sub question by question.rtl;
sub at by at.rtl;
- sub bracketleft by bracketleft.rtl;
sub backslash by backslash.rtl;
- sub bracketright by bracketright.rtl;
sub asciicircum by asciicircum.rtl;
- sub braceleft by braceleft.rtl;
- sub bar by bar.rtl;
- sub braceright by braceright.rtl;
sub brokenbar by brokenbar.rtl;
sub section by section.rtl;
sub copyright by copyright.rtl;
- sub guillemotleft by guillemotleft.rtl;
sub logicalnot by logicalnot.rtl;
sub registered by registered.rtl;
sub plusminus by plusminus.rtl;
@@ -48,7 +40,6 @@ feature rtla {
sub paragraph by paragraph.rtl;
sub uni00B9 by uni00B9.rtl;
sub ordmasculine by ordmasculine.rtl;
- sub guillemotright by guillemotright.rtl;
sub onequarter by onequarter.rtl;
sub onehalf by onehalf.rtl;
sub threequarters by threequarters.rtl;
@@ -71,4 +62,4 @@ feature rtla {
sub fraction by fraction.rtl;
sub uni2213 by uni2213.rtl;
sub uni061F by uni061F.rtl;
-} rtla;
+} locl;
diff --git a/Master/texmf-dist/doc/fonts/amiri/sources/kerning.fea b/Master/texmf-dist/doc/fonts/amiri/sources/kerning.fea
index cfd5df910b7..c55b1c3913b 100644
--- a/Master/texmf-dist/doc/fonts/amiri/sources/kerning.fea
+++ b/Master/texmf-dist/doc/fonts/amiri/sources/kerning.fea
@@ -42,7 +42,7 @@ feature kern {
lookupflag IgnoreMarks;
# kern heh isol/final followed by kaf, does not happen in Arabic but can be
# seen in Kurdish or Persian using ZWNJ between them.
- pos uni200C @1st_4 @Kaf_1' -500;
- pos space @1st_4 @Kaf_1' -500; # Uniscribe replace ZWNJ with space
- pos @1st_4 @Kaf_1' -500; # some applications might just remove it
+ pos uni200C @1st_4 [@Kaf_1 @Kaf_2 @Kaf_3]' -500;
+ pos space @1st_4 [@Kaf_1 @Kaf_2 @Kaf_3]' -500; # Uniscribe replace ZWNJ with space
+ pos @1st_4 [@Kaf_1 @Kaf_2 @Kaf_3]' -500; # some applications might just remove it
} kern;
diff --git a/Master/texmf-dist/doc/fonts/amiri/sources/lang.fea b/Master/texmf-dist/doc/fonts/amiri/sources/lang.fea
index 3b4d90be86a..88d2e7efc1a 100644
--- a/Master/texmf-dist/doc/fonts/amiri/sources/lang.fea
+++ b/Master/texmf-dist/doc/fonts/amiri/sources/lang.fea
@@ -1,7 +1,3 @@
languagesystem DFLT dflt;
-languagesystem latn dflt;
-languagesystem latn TRK;
-languagesystem arab dflt;
-languagesystem arab ARA;
-languagesystem arab URD;
-languagesystem arab SND;
+include(lang_arabic.fea)
+include(lang_latin.fea)
diff --git a/Master/texmf-dist/doc/fonts/amiri/sources/lang_arabic.fea b/Master/texmf-dist/doc/fonts/amiri/sources/lang_arabic.fea
new file mode 100644
index 00000000000..6ff01fd31e0
--- /dev/null
+++ b/Master/texmf-dist/doc/fonts/amiri/sources/lang_arabic.fea
@@ -0,0 +1,4 @@
+languagesystem arab dflt;
+languagesystem arab ARA;
+languagesystem arab URD;
+languagesystem arab SND;
diff --git a/Master/texmf-dist/doc/fonts/amiri/sources/lang_latin.fea b/Master/texmf-dist/doc/fonts/amiri/sources/lang_latin.fea
new file mode 100644
index 00000000000..bf9635273df
--- /dev/null
+++ b/Master/texmf-dist/doc/fonts/amiri/sources/lang_latin.fea
@@ -0,0 +1,2 @@
+languagesystem latn dflt;
+languagesystem latn TRK;
diff --git a/Master/texmf-dist/doc/fonts/amiri/sources/latin_gsub.fea b/Master/texmf-dist/doc/fonts/amiri/sources/latin_gsub.fea
index 4438a7d853c..10c46ce66f0 100644
--- a/Master/texmf-dist/doc/fonts/amiri/sources/latin_gsub.fea
+++ b/Master/texmf-dist/doc/fonts/amiri/sources/latin_gsub.fea
@@ -1,6 +1,5 @@
languagesystem DFLT dflt;
-languagesystem latn dflt;
-languagesystem latn TRK;
+include(lang_latin.fea)
feature locl {
script latn;
diff --git a/Master/texmf-dist/doc/fonts/amiri/sources/local.fea b/Master/texmf-dist/doc/fonts/amiri/sources/local.fea
index c924d96d819..a317739cd01 100644
--- a/Master/texmf-dist/doc/fonts/amiri/sources/local.fea
+++ b/Master/texmf-dist/doc/fonts/amiri/sources/local.fea
@@ -7,7 +7,7 @@ lookup loclPunct {
sub braceright by braceright.ara;
sub bracketleft by bracketleft.ara;
sub bracketright by bracketright.ara;
- sub parenleft by parenleft.ara;
+ sub parenleft by parenleft.ara;
sub parenright by parenright.ara;
} loclPunct;
diff --git a/Master/texmf-dist/doc/fonts/amiri/test-suite/enclosing.ptest b/Master/texmf-dist/doc/fonts/amiri/test-suite/enclosing.ptest
new file mode 100644
index 00000000000..5735695bce5
--- /dev/null
+++ b/Master/texmf-dist/doc/fonts/amiri/test-suite/enclosing.ptest
@@ -0,0 +1,6 @@
+ltr;;;;\u06DD\u0661;[uni06DD+2620|uni0661.small@-1610]
+ltr;;;;\u06DD\u0661\u0661;[uni06DD+2620|uni0661.small@-1910|uni0661.small@-1310]
+ltr;;;;\u06DD\u0661\u0661\u0661;[uni06DD+2620|uni0661.small@-2210|uni0661.small@-1610|uni0661.small@-1010]
+ltr;;;;\u06DD\u0031;[uni06DD+2620|one.small@-1610]
+ltr;;;;\u06DD\u0031\u0031;[uni06DD+2620|one.small@-1910|one.small@-1310]
+ltr;;;;\u06DD\u0031\u0031\u0031;[uni06DD+2620|one.small@-2210|one.small@-1610|one.small@-1010]
diff --git a/Master/texmf-dist/doc/fonts/amiri/test-suite/enclosing.test b/Master/texmf-dist/doc/fonts/amiri/test-suite/enclosing.test
deleted file mode 100644
index 8c336afa47f..00000000000
--- a/Master/texmf-dist/doc/fonts/amiri/test-suite/enclosing.test
+++ /dev/null
@@ -1,6 +0,0 @@
-rtl;arab;;;\u06DD\u0661;[uni0661.small|uni06DD]
-rtl;arab;;;\u06DD\u0661\u0661;[uni0661.small|uni0661.small|uni06DD]
-rtl;arab;;;\u06DD\u0661\u0661\u0661;[uni0661.small|uni0661.small|uni0661.small|uni06DD]
-ltr;latn;;;\u06DD\u0661;[uni06DD|uni0661.small]
-ltr;latn;;;\u06DD\u0661\u0661;[uni06DD|uni0661.small|uni0661.small]
-ltr;latn;;;\u06DD\u0661\u0661\u0661;[uni06DD|uni0661.small|uni0661.small|uni0661.small]
diff --git a/Master/texmf-dist/doc/fonts/amiri/tools/build.py b/Master/texmf-dist/doc/fonts/amiri/tools/build.py
index 77ca98604e9..72e9993d768 100755
--- a/Master/texmf-dist/doc/fonts/amiri/tools/build.py
+++ b/Master/texmf-dist/doc/fonts/amiri/tools/build.py
@@ -314,6 +314,11 @@ def mergeLatin(font, italic=False):
latinfont = fontforge.open("sources/crimson/sources/%s" %latinfile)
latinfont.em = 2048
+ # convert to quadratic splines then simplify
+ latinfont.is_quadratic = True
+ for glyph in latinfont.glyphs():
+ glyph.simplify()
+
validateGlyphs(latinfont) # to flatten nested refs mainly
# collect latin glyphs we want to keep
@@ -419,9 +424,10 @@ def mergeLatin(font, italic=False):
latinfont.selection.select(name)
latinfont.paste()
- rtl = latinfont.createChar(-1, name + ".rtl")
- rtl.addReference(name, italic)
- rtl.useRefsMetrics(name)
+ if not name + ".ara" in font:
+ rtl = latinfont.createChar(-1, name + ".rtl")
+ rtl.addReference(name, italic)
+ rtl.useRefsMetrics(name)
# copy kerning classes
kern_lookups = {}
diff --git a/Master/texmf-dist/doc/fonts/amiri/tools/runtest.py b/Master/texmf-dist/doc/fonts/amiri/tools/runtest.py
index 3b4f24f6e18..d2f6e2c888f 100755
--- a/Master/texmf-dist/doc/fonts/amiri/tools/runtest.py
+++ b/Master/texmf-dist/doc/fonts/amiri/tools/runtest.py
@@ -5,8 +5,8 @@ import os
import csv
import subprocess
-def runHB(row, font):
- args = ["hb-shape", "--no-clusters", "--no-positions",
+def runHB(row, font, positions=False):
+ args = ["hb-shape", "--no-clusters", positions and "--debug" or "--no-positions",
"--font-file=%s" %font,
"--direction=%s" %row[0],
"--script=%s" %row[1],
@@ -16,7 +16,7 @@ def runHB(row, font):
process = subprocess.Popen(args, stdout=subprocess.PIPE)
return process.communicate()[0].strip()
-def runTest(test, font):
+def runTest(test, font, positions):
count = 0
failed = {}
passed = []
@@ -25,7 +25,7 @@ def runTest(test, font):
row[4] = ('\\' in row[4]) and row[4].decode('unicode-escape') or row[4]
text = row[4]
reference = row[5]
- result = runHB(row, font)
+ result = runHB(row, font, positions)
if reference == result:
passed.append(count)
else:
@@ -45,6 +45,7 @@ def initTest(test, font):
if __name__ == '__main__':
init = False
+ positions = False
args = sys.argv[1:]
if len (sys.argv) > 2 and sys.argv[1] == "-i":
@@ -54,6 +55,10 @@ if __name__ == '__main__':
for arg in args:
testname = arg
+ ext = os.path.splitext(testname)[1]
+ if ext == '.ptest':
+ positions = True
+
reader = csv.reader(open(testname), delimiter=';')
test = []
@@ -70,7 +75,7 @@ if __name__ == '__main__':
for style in ('regular', 'bold', 'slanted', 'boldslanted'):
fontname = 'amiri-%s.ttf' % style
- passed, failed = runTest(test, fontname)
+ passed, failed = runTest(test, fontname, positions)
message = "%s: font '%s', %d passed, %d failed" %(os.path.basename(testname),
fontname, len(passed), len(failed))