type-imp-husayni.mkiv /size: 6462 b    last modification: 2020-07-01 14:35
1%D \module
2%D   [       file=type-imp-husayni,
3%D        version=2008.08.08, % or whatever ... onwards
4%D          title=\CONTEXT\ Typescript Macros,
5%D       subtitle=Husayni,
6%D         author=Idris Samawi Hamid \& Hans Hagen,
7%D           date=\currentdate,
8%D      copyright={PRAGMA ADE \& \CONTEXT\ Development Team}]
9%C
10%C This module is part of the \CONTEXT\ macro||package and is
11%C therefore copyrighted by \PRAGMA. See mreadme.pdf for
12%C details.
13
14%D For a detailed list of features and names, see husayni.lfg. In fact, the following
15%D sets will go there.
16
17\definefontfeature
18  [husayni-default]
19  [analyze=yes,
20   mode=node,
21   language=dflt,
22   script=arab,
23   ccmp=yes, % adds identity dots to unicode letters; includes dynamic dot placement
24   init=yes, % contextual analysis
25   medi=yes, % contextual analysis
26   fina=yes, % contextual analysis
27   rlig=yes, % indispensable
28   calt=yes, % ayah+numerals
29   salt=yes, % includes manual justification with Tatwiil
30   anum=yes, % replace latin numerals with arabic-script ones
31   ss01=yes, % Allah, Muhammad,
32   ss03=yes, % level-1 stack over Jiim, initial entry only
33   ss10=yes, % basic dipped Miim, initial-entry B_S-stack over Miim
34   ss12=yes, % XBM_im initial-medial entry B_S-stack over Miim,
35   ss15=yes, % full stacked Laam-on-Miim
36   ss16=yes, % initial entry, stacked Ayn-on-Miim
37   ss19=yes, % LM_im
38   ss24=yes, % BR_i_mf, BN_i_mf
39   ss25=yes, % basic LH_im % might merge with ss24
40   ss26=yes, % full Yaa.final special strings: BY_if, BY_mf, LY_mf
41   ss27=yes, % basic thin Miim.final
42   ss31=yes, % basic Raa.final strings: JR and SR
43   ss34=yes, % AyR style % also available in jsnn
44   ss35=yes, % full Kaaf contexts
45   ss36=yes, % full Laam contexts
46   ss37=yes, % Miim-Miim contexts
47   ss38=yes, % basic dipped Haa, B_SH_mm
48   ss41=yes, % high and low Baa strings
49   ss42=yes, % diagonal entry
50   ss43=yes, % initial alternates
51   ss60=yes, %
52   js16=yes, % aesthetic medial Faa/Qaaf
53   kern=yes, % includes kerning of dot-base pairs, and final pairs in continuous strings
54   curs=yes, % we don't curs final pairs, padj for that
55   mark=yes, % vowels
56   mkmk=yes, % stacked vowels
57   tlig=yes,
58   goodies=husayni,
59   colorscheme=default]
60
61\definefontfeature
62  [husayni-alternative] % was husayni-default2
63  [analyze=yes,
64   mode=node,
65   language=dflt,
66   script=arab,
67   ccmp=yes, % adds identity dots to unicode letters; includes dynamic dot placement
68   init=yes, % contextual analysis
69   medi=yes, % contextual analysis
70   fina=yes, % contextual analysis
71   rlig=yes, % indispensable
72   calt=yes, % ayah+numerals
73   salt=yes, % includes manual justification with Tatwiil
74   anum=yes, % replace latin numerals with arabic-script ones
75   ss01=yes, % Allah, Muhammad,
76   ss03=yes, % level-1 stack over Jiim, initial entry only
77   ss10=yes, % basic dipped Miim, initial-entry B_S-stack over Miim
78   ss12=yes, % XBM_im initial-medial entry B_S-stack over Miim,
79   ss15=yes, % full stacked Laam-on-Miim
80   ss16=yes, % initial entry, stacked Ayn-on-Miim
81   ss19=yes, % LM_im
82   ss24=yes, % BR_i_mf, BN_i_mf
83   ss25=yes, % basic LH_im % might merge with ss24
84   ss26=yes, % full Yaa.final special strings: BY_if, BY_mf, LY_mf
85   ss27=yes, % basic thin Miim.final
86   ss31=yes, % basic Raa.final strings: JR and SR
87   ss34=yes, % AyR style % also available in jsnn
88   ss35=yes, % full Kaaf contexts
89   ss36=yes, % full Laam contexts
90   ss37=yes, % Miim-Miim contexts
91   ss38=yes, % basic dipped Haa, B_SH_mm
92   ss41=yes, % high and low Baa strings
93   ss42=yes, % diagonal entry
94   ss43=yes, % initial alternates
95   ss60=yes, %
96   js16=yes, % aesthetic medial Faa/Qaaf
97   kern=yes, % includes kerning of dot-base pairs, and final pairs in continuous strings
98   curs=yes, % we don't curs final pairs, padj for that
99   mark=yes, % vowels
100   mkmk=yes, % stacked vowels
101   tlig=yes]
102
103\definefontfeature
104  [husayni-tt]
105  [analyze=yes,
106   mode=node,
107   language=dflt,
108   script=arab,
109   ccmp=yes,
110   init=yes,
111   medi=yes,
112   fina=yes,
113   rlig=yes,
114   fchr=yes,
115   kern=yes,
116   curs=yes,
117   mark=yes,
118   mkmk=yes]
119
120\definefontfeature
121  [husayni-mono]
122  [analyze=yes,
123   mode=node,
124   language=dflt,
125   script=arab,
126   ccmp=no,
127   init=yes,
128   medi=yes,
129   fina=yes,
130   isol=yes,
131   mset=yes]
132
133\definedelimitedtext
134  [ornatequote]
135  [left={\char"FD3F\penalty10000},
136   right={\char"FD3E\penalty10000}]
137
138\definedelimitedtext
139  [arparenthesis]
140  [left={\char"0028},
141   right={\char"0029}]
142
143\definedelimitedtext
144  [arquotation]
145  [left={\symbol[rightquotation]},
146   right={\symbol[leftquotation]},
147   leftmargin=standard]
148
149\definedelimitedtext
150  [arquote]
151  [left={\symbol[rightquote]},
152   right={\symbol[leftquote]},
153   leftmargin=standard]
154
155\definebodyfontenvironment
156  [husayni-default]
157  [default]
158  [interlinespace=4.4ex]
159
160\definefontfallback
161  [husayni-latin]
162  [file:lmroman12-regular*default]
163  [basiclatin,latin-1supplement,latinextended-A,latinextendedadditional]
164  [force=no,
165   rscale=.7]
166
167\definefontfallback
168   [husayni-mono]
169   [file:cour*husayni-mono]
170   [arabic,arabicpresentationformsa,arabicpresentationformsb,arabicsupplement,0x200C,0x200D,0x200E,0x200F]
171 % [force=no]
172
173\definebodyfontenvironment[20.7pt]
174\definebodyfontenvironment[24.8pt]
175\definebodyfontenvironment[29.8pt]
176\definebodyfontenvironment[35.8pt]
177
178\starttypescriptcollection[husayni]
179
180    \starttypescript [naskh] [husayni] [name]
181        \definefontsynonym [Arabic-Light]       [name:husayni] [goodies=husayni,features=husayni-default]
182        \definefontsynonym [Arabic-Bold]        [name:husayni] [goodies=husayni,features=husayni-default]
183        \definefontsynonym [Arabic-Italic]      [name:husayni] [goodies=husayni,features=husayni-default]
184        \definefontsynonym [Arabic-Bold-Italic] [name:husayni] [goodies=husayni,features=husayni-default]
185
186        \definefontsynonym [Serif]           [Arabic-Light]
187        \definefontsynonym [SerifItalic]     [Arabic-Italic]
188        \definefontsynonym [SerifBold]       [Arabic-Bold]
189        \definefontsynonym [SerifBoldItalic] [Arabic-Bold-Italic]
190    \stoptypescript
191
192    \starttypescript [husayni-default]
193        \definetypeface [husayni-default] [rm] [naskh] [husayni]  [default] [fallbacks=husayni-latin]
194        \definetypeface [husayni-default] [tt] [mono]  [modern]   [default] [fallbacks=husayni-latin]
195        \definetypeface [husayni-default] [mm] [math]  [xitsbidi] [default]
196    \stoptypescript
197
198\stoptypescriptcollection
199