summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2013-04-19 18:26:38 +0000
committerKarl Berry <karl@freefriends.org>2013-04-19 18:26:38 +0000
commit826eb267e9c472caa33e610f897b43485bb8b7bb (patch)
tree487f77e9d3a9f172cab0ea25e1e3b070566dbf55
parenta922f4993d5ce75584e05a345cf4ad0d98993f3c (diff)
aramaic-serto
git-svn-id: svn://tug.org/texlive/trunk@30042 c570f23f-e606-0410-a88d-b1316a301751
-rw-r--r--Master/texmf-dist/doc/latex/aramaic-serto/README7
-rw-r--r--Master/texmf-dist/doc/latex/aramaic-serto/assyr.font173
-rw-r--r--Master/texmf-dist/doc/latex/aramaic-serto/example.ptex68
-rw-r--r--Master/texmf-dist/doc/latex/aramaic-serto/serto.font181
-rwxr-xr-xMaster/texmf-dist/doc/latex/aramaic-serto/serto.py609
-rw-r--r--Master/texmf-dist/doc/latex/aramaic-serto/sertodoc.pdfbin0 -> 235739 bytes
-rw-r--r--Master/texmf-dist/doc/latex/aramaic-serto/sertodoc.ptex961
-rw-r--r--Master/texmf-dist/fonts/afm/public/aramaic-serto/assy.afm92
-rw-r--r--Master/texmf-dist/fonts/afm/public/aramaic-serto/assyrb10.afm92
-rw-r--r--Master/texmf-dist/fonts/afm/public/aramaic-serto/serto10.afm129
-rw-r--r--Master/texmf-dist/fonts/afm/public/aramaic-serto/sertob10.afm129
-rw-r--r--Master/texmf-dist/fonts/map/dvips/aramaic-serto/syriac.map8
-rw-r--r--Master/texmf-dist/fonts/source/public/aramaic-serto/assy.mf104
-rw-r--r--Master/texmf-dist/fonts/source/public/aramaic-serto/assyrb10.mf103
-rw-r--r--Master/texmf-dist/fonts/source/public/aramaic-serto/assyrfont.mf2015
-rw-r--r--Master/texmf-dist/fonts/source/public/aramaic-serto/serto.mf51
-rw-r--r--Master/texmf-dist/fonts/source/public/aramaic-serto/serto10.mf126
-rw-r--r--Master/texmf-dist/fonts/source/public/aramaic-serto/sertob10.mf125
-rw-r--r--Master/texmf-dist/fonts/source/public/aramaic-serto/sertobase.mf115
-rw-r--r--Master/texmf-dist/fonts/source/public/aramaic-serto/sertofont.mf1700
-rw-r--r--Master/texmf-dist/fonts/source/public/aramaic-serto/sertomacros.mf44
-rw-r--r--Master/texmf-dist/fonts/source/public/aramaic-serto/syriacvowels.mf248
-rw-r--r--Master/texmf-dist/fonts/source/public/aramaic-serto/test.mf198
-rw-r--r--Master/texmf-dist/fonts/tfm/public/aramaic-serto/assy.tfmbin0 -> 716 bytes
-rw-r--r--Master/texmf-dist/fonts/tfm/public/aramaic-serto/assyrb10.tfmbin0 -> 716 bytes
-rw-r--r--Master/texmf-dist/fonts/tfm/public/aramaic-serto/serto10.tfmbin0 -> 932 bytes
-rw-r--r--Master/texmf-dist/fonts/tfm/public/aramaic-serto/sertob10.tfmbin0 -> 932 bytes
-rw-r--r--Master/texmf-dist/fonts/type1/public/aramaic-serto/assy.pfbbin0 -> 15570 bytes
-rw-r--r--Master/texmf-dist/fonts/type1/public/aramaic-serto/assyrb10.pfbbin0 -> 20829 bytes
-rw-r--r--Master/texmf-dist/fonts/type1/public/aramaic-serto/serto10.pfbbin0 -> 27942 bytes
-rw-r--r--Master/texmf-dist/fonts/type1/public/aramaic-serto/sertob10.pfbbin0 -> 29371 bytes
-rw-r--r--Master/texmf-dist/tex/latex/aramaic-serto/assyr.sty70
-rw-r--r--Master/texmf-dist/tex/latex/aramaic-serto/serto.sty131
-rw-r--r--Master/texmf-dist/tex/latex/aramaic-serto/syriac.sty67
-rw-r--r--Master/texmf-dist/tex/latex/aramaic-serto/uassyr.fd32
-rw-r--r--Master/texmf-dist/tex/latex/aramaic-serto/userto.fd32
-rwxr-xr-xMaster/tlpkg/bin/tlpkg-ctan-check2
-rw-r--r--Master/tlpkg/tlpsrc/aramaic-serto.tlpsrc1
-rw-r--r--Master/tlpkg/tlpsrc/collection-langhebrew.tlpsrc1
39 files changed, 7613 insertions, 1 deletions
diff --git a/Master/texmf-dist/doc/latex/aramaic-serto/README b/Master/texmf-dist/doc/latex/aramaic-serto/README
new file mode 100644
index 00000000000..bc3c36f7c5f
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/aramaic-serto/README
@@ -0,0 +1,7 @@
+This package contains two fonts and a preprocessor to typeset the Syriac (Aramaic) language.
+For more information please consult the documentation sertodoc.pdf
+
+Copyright 2001-2013 (c) Johannes Heinecke
+This Material is subjec to the LaTeX Project Public Li­cense 1.3
+(http://ctan.org/license/lppl1.3)
+
diff --git a/Master/texmf-dist/doc/latex/aramaic-serto/assyr.font b/Master/texmf-dist/doc/latex/aramaic-serto/assyr.font
new file mode 100644
index 00000000000..721bd32fa42
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/aramaic-serto/assyr.font
@@ -0,0 +1,173 @@
+#FONT: 10x20
+# coding name: isolated initial medial final link
+# link 0: next letter is initial
+# link 1: next letter is medial
+# link 2: ignore
+
+Q shadda 6 6 6 6 2
+a peto.ho 1 1 1 1 2
+e revo.so 2 2 2 2 2
+i .hevo.so 3 3 3 3 2
+=a zeqopo 4 4 4 4 2
+u `e.so.so 5 5 5 5 2
+A peto.ho 17 17 17 17 2
+E revo.so 18 18 18 18 2
+I .hevo.so 19 19 19 19 2
+=A zeqopo 20 20 20 20 2
+U `e.so.so 21 21 21 21 2
+P sey=am=e 7 7 7 7 2
+
+# Chaldean (Eastern) Vowels
+#:a peto.ho 6+22 6+22 6+22 6+22 2
+:a peto.ho 13+27 13+27 13+27 13+27 2
+:e revo.so 26 26 26 26 2
+:i .hevo.so 27 27 27 27 2
+# jod + i under yod
+:iy .hevo.so 73+124+27 73+27 73+27 73+124+27 1
+:=a zeqopo 12 12 12 12 2
+:o waw-dot 13 13 13 13 0
+:ow waw+dot 79+13 79+13 79+13 79+13 0
+#:u `e.so.so 27 27 27 27 2
+:u waw+`e.so.so 79+27 79+27 79+27 79+27 0
+:uw waw+`e.so.so 79+27 79+27 79+27 79+27 0
+
+
+
+~ blank 32 32 32 32 0
+. . 46 46 46 46 0
+#: : 58 58 58 58 0
+# Wordstretch
+-- -- 45 45 45 45 1
+# character separator (to have consonant twice instead of qushshaya)
+^ ^ 0 0 0 0 1
+
+
+# mapped to blank to write medial forms at wordends ( -m- )
+- - 32 32 32 32 1
+_ _ 95 95 95 95 1
+= = 23 23 23 23 2
+# dummy. Used to insert \rukkokho
++ + 22 22 22 22 2
+
+## paragraph symbols
+#.X. para1 33 33 33 33 0
+#.:. para2 34 34 34 34 0
+#:: para3 35 35 35 35 0
+#:- para4 36 36 36 36 0
+#:~ para5 37 37 37 37 0
+#./. para6 38 38 38 38 0
+
+
+t' taw-alaf 64 64 64 64 1
+' olaf 65 65 65 65 0
+b beth 66+124 66 66 66+124 1
+v veth 98+124 98 98 98+124 1
+b+ veth 98+124 98 98 98+124 1
+g gamal 71+124 71 103 103+124 1
+j jamal 74+124 74 106 106+124 1
+.g .gamal 85+124 85 117 117+124 1
+d dalath 68 68 68 68 0
+h he 72 72 72 72 0
+w waw 79 79 79 79 0
+z zain 90 90 90 90 0
+.h .heth 105+124 105 105 105+124 1
+.t .teth 87+124 87 87 87+124 1
+y yod 73+124 73 73 73+124 1
+k kaf 81 75 75 107 1
+^k ^kaf 60 89 89 121 1
+_k _kaf 113 88 88 120 1
+k+ _kaf 113 88 88 120 1
+l lamad 76+124 76 76 76+124 1
+m mim 109 77 77 109 1
+n nun 62 78 78 110 1
+s semkath 83+124 83 83 83+124 1
+` `e 69+124 69 101 101+124 1
+p pe 80+124 80 80 80+124 1
+p+ f 112+124 112 112 112+124 1
+f f 112+124 112 112 112+124 1
+.s sade 115 115 115 115 0
+q qof 86+124 86 86 86+124 1
+r resh 82 82 82 82 0
+R reshdoubledotted 114 114 114 114 0
+^s sin 118+124 118 118 118+124 1
+t tau 84 84 84 84 0
+# dotted tau not yet defined in assy.mf
+_t tau 84 84 84 84 0
+
+
+#TRANS:
+# There must be one transcription for each token defined above
+~ ~
+a a
+t'a ta
+e e
+i i
+##Changed by pcharbon 22/10/03
+o o
+#o \=a
+u u
+A a
+E e
+ey \=e
+Ey \=e
+I i
+##Changed by pcharbon 22/10/03
+O o
+#O \=o
+U \=u
+#Changed by pcharbon 22/10/03
+a' a
+e' \=e
+iy \=\i{}
+Iy \=\i{}
+#Changed by pcharbon 22/10/03
+#o' \=o
+#o' \=a
+#O' \=a
+=a' \=a
+=a \=a
+uw \=u
+Uw \=u
+w* o
+#Changed by pcharbon 22/10/03
+#b+ v
+b+ \b{b}
+#changed by pcharbon 22/10/03
+#g+ \.g
+g+ \=g
+.g \=g
+j j
+d+ \b{d}
+k+ \b{h}
+f f
+p+ \=p
+t+ \b{t}
+' \raise.2ex\hbox{$\rhook$}
+b
+g
+d
+h
+w
+z
+.h \d{h}
+.t \d{t}
+y
+^k \v{c}
+_k \b{h}
+k
+l
+m
+n
+s
+#Does this need to be linked? I think it only substitute the mapping up to the first blank space.
+#` \raise.2ex\hbox{$\lhook$}\textsuperscript{c}
+` \raise.2ex\hbox{$\lhook$} \textsuperscript{c}
+p
+.s \d{s}
+q
+r
+R
+^s \v{s}
+t
+_t \b{t}
+@ \textsuperscript{e}\kern-.1em
diff --git a/Master/texmf-dist/doc/latex/aramaic-serto/example.ptex b/Master/texmf-dist/doc/latex/aramaic-serto/example.ptex
new file mode 100644
index 00000000000..e73c0570edc
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/aramaic-serto/example.ptex
@@ -0,0 +1,68 @@
+\documentclass[12pt,a4paper]{article}
+\usepackage{times}
+\usepackage{serto}
+\usepackage{assyr}
+%\usepackage[utf8]{inputenc}
+
+\usepackage{parskip}
+
+\begin{document}
+
+<S>g+ommal</S>
+
+<S>'ep+qqatel</S>
+
+Stretch a word by inserting one ore more double-hyphens {\tt--}:
+
+<S>medem me----dem</S>
+
+<S>'et+qatel ktb g+oml 'ab+do</S>
+
+See the following phrase: % Costaz:216, §861
+
+<S>men qadiy^se' ho' tetqada^s</S>
+
+Here it comes with transcription:
+<ST>men qadiy^se' ho' tetqada^s</ST>
+
+
+Now we typeset a complete paragraph:
+
+
+<SERTO>
+wkod .hzaw kuwmd'e da.h.tIytO': medem da`bad na.siy.ho':
+lAbkuwh=y= wa'sruwh=y= wa'ytIywh=y= qdom malko'.
+we'^stA`iyw lmalko' me----dem da`bad
+{\sertob l'AlOhayhwn}.
+
+molko' deyn 'ema----r. l'o hwo' me^stAwdoyow
+'e^stEwdiyt lIy dtEdba.h
+l'Apoluw: na.siy.ho' 'emar. liy 'laOhe' 'ayleyn dma't`eyn. l'o
+hwo' 'laOhe' 'Enuwn. qareb 'Enuwn lIy lhorko'.
+\sertob
+wl'O
+^suwbhodhuwn dakiys.tyone' l'o ^sobeq '=no' .had menhuwn
+dl'o mdaqeq '=no' `admo' lram^so'.
+</SERTO>
+
+If you want the transcription only:
+
+<TRANS>
+wkod .hzaw kuwmd'e da.h.tIytO': medem da`bad na.siy.ho':
+lAbkuwh=y= wa'sruwh=y= wa'ytIywh=y= qdom malko'.
+we'^stA`iyw lmalko' me----dem da`bad {\sertob l'AlOhayhwn}. molko'
+deyn 'ema----r. l'o hwo' me^stAwdoyow 'e^stEwdiyt lIy dtEdba.h
+l'Apoluw: na.siy.ho' 'emar. liy 'laOhe' 'ayleyn dma't`eyn. l'o
+hwo' 'laOhe' 'Enuwn. qareb 'Enuwn lIy lhorko'.
+\sertob wl'O
+^suwbhodhuwn dakiys.tyone' l'o ^sobeq '=no' .had menhuwn
+dl'o mdaqeq '=no' `admo' lram^so'.
+</TRANS>
+
+
+Some Aramaic text in UTF8 with transcription :
+
+<CT>ܠܦܘ̣ܬ̣ ܗ̱ܘ̣ ܛܶܒܐ ܕܡܰܛܝ̣ܠܰܢ ܡܶܢ̱ ܡܰܠܦܳܢܐ ܦ̇ܪܳܘܦܶܣܘ̣ܪ ܥܒܶܕܡܫܝ̣ܚܐ ܣܰܥܕܝ̣، ܗ̱ܝ̣ ܩܘ̣ܛܢܘ̣ܬ̣ܐ ܕܬܘ̣ܪܟܺܝܰܐ ܡܰܩܶܬ̣ܠܰܗ ܒܰܗܪܐ ܝܰܪܘ̣ܩܐ ܕܦܶܬܚܐ ܦܶܪܥܐ ܠܗ̱ܘ̣ ܝܘ̣ܠܦܳܢܐ ܕܗ̱ܘ̣ ܠܶـܫܳܢܐ ܣܘܪܝܝܐ ܕܡܝ̣ܬܰܩܪܶܐ ܒܗ̱ܝ̣ ܒܶܝܬ̣ ܨܰܘܒܐ ܕܗ̱ܝ̣ ܡܕܝ̣ܢ̱ܬܐ ܕܡܰܪܕܶܐ. ܒܬ̣ܪ ܡܰܐ ܒܶܛܠܢ̈ܐ ܕܗ̱ܘ̣ ܩܰܝܛܐ ܐܰܘܟܝ̣ܬ̣ ܒܗ̱ܘ̣ ܫܘ̣ܪܳܝܐ ܕܰܬܶܫܪ̈ܳܝܳܬ̣ܐ ܕܶܒܩܰܡܘ̣ܬ̣ܰܝܢܰܐ ܓܶܕ ܡܫܰܪܶܝܢ ܒܗ̱ܘ ܝܘ̣ܠܦܳܢܐ ܣܘܪܝܝܐ. ܗ̱ܘ̣ ܡܫܰܐܠܐ ܕܗ̱ܘ̣ ܦܶܪܥܐ ܕܗ̱ܘ ܠܶـܫܳܢܐ ܣܘܪܝܝܐ ܒܡܰܪܕܶܐ ܓܶܕܗܳܘܶܐ ܗ̱ܘ̣ ܡܰܠܦܳܢܐ ܘܦ̇ܪܳܘܦܶܣܘܪ ܥܒܶܕܡܫܝ̣ܚܐ ܣܰܥܕܝ̣ ܕܟܳܥܳܡܰܪ ܗܳܫܳܐܝܬ̣ ܒܐܰܡܶܪܝ̣ܟܰܐ. ܕܐܶܢ </CT>
+
+
+\end{document}
diff --git a/Master/texmf-dist/doc/latex/aramaic-serto/serto.font b/Master/texmf-dist/doc/latex/aramaic-serto/serto.font
new file mode 100644
index 00000000000..c77451ba77d
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/aramaic-serto/serto.font
@@ -0,0 +1,181 @@
+# incput coidng for serto[b]10.mf
+# preprocessor serto.py
+
+# Designed and (c) by Johannes Heinecke
+# <johannes(dot)heinecke(at)wanadoo(dot)fr>
+# Please send any improvements, corrections, suggestions, enhancements etc.
+# to the Author!
+
+# Corrections by Patrick Charbonneau 22th October 03
+# pcharbon(at)fas(dot)harvard(dot)edu with the help of npatel(at)fas(dot)harvard(dot)edu
+
+# Version 0.5 as of 2nd November 2003
+
+#FONT: 10x20
+# coding name: isolated initial medial final link
+# value of "link"
+# 0: next letter is initial
+# 1: next letter is medial
+# 2: ignore
+
+
+# Vowel symbols MUST be at positions between 0 and 31 in the
+# fonttable (this is hardwired in serto.py :-(
+# 0-15 is for superscript symbols, 16-31 for subscript symbols
+Q shadda 6 6 6 6 2
+a peto.ho 1 1 1 1 2
+e revo.so 2 2 2 2 2
+i .hevo.so 3 3 3 3 2
+=a zeqopo 4 4 4 4 2
+o waw-dot 159 159 160 160 0
+u `e.so.so 5 5 5 5 2
+A peto.ho 17 17 17 17 2
+E revo.so 18 18 18 18 2
+I .hevo.so 19 19 19 19 2
+=A zeqopo 20 20 20 20 2
+U `e.so.so 21 21 21 21 2
+P sey=am=e 7 7 7 7 2
+
+
+# Chaldean (Eastern) Vowels
+#:a peto.ho 6+22 6+22 6+22 6+22 2
+:a peto.ho 13+27 13+27 13+27 13+27 2
+:e revo.so 26 26 26 26 2
+:i .hevo.so 27 27 27 27 2
+# jod + i under yod
+:iy .hevo.so 105+27 108+27 107+27 106+27 1
+:=a zeqopo 12 12 12 12 2
+:o waw-dot 13 13 13 13 0
+:ow waw+dot 79+13 79+13 80+13 80+13 0
+:u `e.so.so 27 27 27 27 2
+:uw waw+`e.so.so 79+27 79+27 80+27 80+27 0
+
+~ blank 32 32 32 32 0
+. . 46 46 46 46 0
+: : 58 58 58 58 0
+# Wordstretch
+-- -- 45 45 45 45 1
+# character separator (to have consonant twice instead of qushshaya)
+^ ^ 0 0 0 0 1
+
+
+# mapped to blank to write medial forms at wordends ( -m- )
+- - 32 32 32 32 1
+_ _ 95 95 95 95 1
+= linea_occultans_below 23 23 23 23 2
+== linea_occultans_above 8 8 8 8 2
+# dummy. Used to insert rukkokho
++ + 22 22 22 22 2
+# used to insert qu^s^soyo
+* * 6 6 6 6 2
+
+# paragraph symbols
+.X. para1 33 33 33 33 0
+.:. para2 34 34 34 34 0
+:: para3 35 35 35 35 0
+:- para4 36 36 36 36 0
+.~. para5 37 37 37 37 0
+./. para6 38 38 38 38 0
+
+'l olaflamad 171 171 171 171 1
+l' lamadolaf 172 172 173 173 0
+' olaf 65 65 66 66 0
+b beth 67 70 69 68 1
+g gamal 71 74 73 72 1
+d dalath 75 75 76 76 0
+h he 77 77 78 78 0
+w waw 79 79 80 80 0
+z zain 81 81 82 82 0
+.h .heth 83 86 85 84 1
+.t .teth 87 90 89 88 1
+y yod 105 108 107 106 1
+k kaf 109 112 111 110 1
+l lamad 113 116 115 114 1
+m mim 117 120 119 118 1
+n nun 121 130 129 122 1
+s semkath 131 134 133 132 1
+` `e 135 138 137 136 1
+p pe 139 142 141 140 1
+.s sade 143 143 144 144 0
+q qof 145 148 147 146 1
+r resh 149 149 150 150 0
+R reshdoubledotted 157 157 158 158 0
+^s sin 151 154 153 152 1
+t tau 155 155 156 156 0
+
+#TRANS:
+~ ~
+a a
+e e
+i i
+##Changed by pcharbon 22/10/03
+o o
+#o \=a
+#Changed by pcharbon 22/10/03 (deleted by jhe, 28.10.2003)
+u u
+#u \=u
+A a
+E e
+ey \=e
+Ey \=e
+I i
+##Changed by pcharbon 22/10/03
+O o
+#O \=o
+#Changed by pcharbon 22/10/03 (deleted by jhe, 28.10.2003)
+#U u
+U \=u
+#Changed by pcharbon 22/10/03
+a' a
+e' \=e
+iy \=\i{}
+Iy \=\i{}
+#Changed by pcharbon 22/10/03
+#o' \=o
+#o' \=a
+#O' \=a
+=a' \=a
+=a \=a
+l'=a l\=a
+'la \raise.2ex\hbox{$\rhook$}ala
+uw \=u
+Uw \=u
+w* o
+#Changed by pcharbon 22/10/03
+#b+ v
+b+ \b{b}
+#changed by pcharbon 22/10/03
+#g+ \.g
+g+ \=g
+d+ \b{d}
+k+ \b{h}
+#changed by pcharbon 22/10/03
+#p+ f
+p+ \=p
+t+ \b{t}
+' \raise.2ex\hbox{$\rhook$}
+b
+g
+d
+h
+w
+z
+.h \d{h}
+.t \d{t}
+y
+k
+l
+m
+n
+s
+#Does this need to be linked? I think it only substitute the mapping up to the first blank space.
+#` \raise.2ex\hbox{$\lhook$}\textsuperscript{c}
+` \raise.2ex\hbox{$\lhook$} \textsuperscript{c}
+p
+.s \d{s}
+q
+r
+R
+^s \v{s}
+t
+@ \textsuperscript{e}\kern-.1em
diff --git a/Master/texmf-dist/doc/latex/aramaic-serto/serto.py b/Master/texmf-dist/doc/latex/aramaic-serto/serto.py
new file mode 100755
index 00000000000..95e81ec475c
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/aramaic-serto/serto.py
@@ -0,0 +1,609 @@
+#!/usr/bin/env python
+# -*- coding: ISO-8859-1 -*-
+
+
+# Preprocessor for serto font for the use with LaTeX.
+# Copyright 2001-2013 by Johannes Heinecke
+# you can use this and change it as you wish, under the condition
+# that the original copyright line is not deleted
+
+# Last changes:
+# 2 Nov 2003: major reconstruction, use of three fontfiles
+# 12 July 2003: correction on stretch
+# 29 September 2007: Possibility to typeset two identical letters without a qusshaya
+# 31 March 2013: add SERTOFONTDIR environment variable
+
+FONTFILESERTO="serto.font" # specify absolute path
+FONTFILECHALD="assyr.font"
+#FONTFILEESTR="estrangelo.font"
+
+# use the environment variable SERTOFONTDIR to specify the directory of the *.font files
+
+import re, sys, string, os.path
+
+# translating syriac unicode points to serto codings
+
+class Letter:
+ def __init__(self,
+ coding, # what coding to use in .ptex-file
+ name, # name of the letter
+ isolated, # what character to take in isolated usage
+ initial, # what character to take in word-initial usage
+ medial, # what character to take in word-medial usage
+ final, # what character to take in word-final usage
+ link): # does it link to the following (# link 0: next letter is initial, 1: next letter is medial, 2: ignore, 8: character is a superscript symbol 9: character is a subscript symbol
+ self.coding = coding
+ self.name = name
+ self.isolated = map(int, isolated.split('+'))
+ self.initial = map(int, initial.split('+'))
+ self.medial = map(int, medial.split('+'))
+ self.final = map(int, final.split('+'))
+ self.link = int(link)
+
+ if self.isolated[0] == -1: self.isolated = None
+ if self.initial[0] == -1: self.initial = None
+ if self.medial[0] == -1: self.medial = None
+ if self.final[0] == -1: self.final = None
+ #sys.stderr.write("%s:%s-%s-%s-%s\n" \
+ # % (name,self.isolated,self.initial,self.medial,self.final))
+
+ def getcontext(self, ctx):
+ if ctx == 0: return self.isolated[0]
+ elif ctx == 1: return self.initial[0]
+ elif ctx == 2: return self.medial[0]
+ elif ctx == 3: return self.final[0]
+
+ def getChar(self, ctx):
+ if ctx == 0:
+ if not self.isolated: return ['']
+ return map(lambda x: "%c" % x, self.isolated)
+ #return int(self.isolated[0])
+ elif ctx == 1:
+ if not self.initial: return ['']
+ return map(lambda x: "%c" % x, self.initial)
+ #return int(self.initial[0])
+ elif ctx == 2:
+ #sys.stderr.write("MEDIAL %s\n" % self.medial)
+ if not self.medial:
+ #sys.stderr.write("NONE:e\n")
+ return ['']
+ return map(lambda x: "%c" % x, self.medial)
+ #return int(self.medial[0])
+ elif ctx == 3:
+ if not self.final: return ['']
+ return map(lambda x: "%c" % x, self.final)
+ #return int(self.final[0])
+
+class Serto:
+ def __init__(self, elatex=0):
+ self.elatex=elatex # eLaTeX needs \TeXXeTstate=1
+ self.tabelle = {} # style: {"_d": Letter-Object}
+ self.transtabelle = {} # style: "_d": \d{d}
+ self.usingUTF8 = False
+
+ self.inlineS = re.compile("(<S>)(.*?)(</S>)")
+ self.inlineT = re.compile("(<T>)(.*?)(</T>)")
+ self.inlineST = re.compile("(<ST>)(.*?)(</ST>)")
+
+ self.inlineC = re.compile("(<C>)(.*?)(</C>)")
+ self.inlineCT = re.compile("(<CT>)(.*?)(</CT>)")
+
+ self.inlineE = re.compile("(<E>)(.*?)(</E>)")
+ self.inlineET = re.compile("(<ET>)(.*?)(</ET>)")
+
+ self.tabelle["serto"] = {}
+ self.transtabelle["serto"] = {}
+ self.readfont(FONTFILESERTO,
+ self.tabelle["serto"],
+ self.transtabelle["serto"])
+ #print self.tabelle["serto"]
+
+ self.tabelle["chaldean"] = {}
+ self.transtabelle["chaldean"] = {}
+ self.readfont(FONTFILECHALD,
+ self.tabelle["chaldean"],
+ self.transtabelle["chaldean"])
+
+ self.UnicodeTable = { 0x0710: "'",
+ 0x0712: "b",
+ 0x0713: "g",
+ 0x0714: "g", #gamal garshuni
+ 0x0715: "d",
+ 0x0717: "h",
+ 0x0718: "w",
+ 0x0719: "z",
+ 0x071a: ".h",
+ 0x071b: ".t",
+ 0x071c: ".t", # teth garshuni
+ 0x071d: "y",
+ 0x071f: "k",
+ 0x0720: "l",
+ 0x0721: "m",
+ 0x0722: "n",
+ 0x0723: "s",
+ 0x0724: "s", # final semkath
+ 0x0725: "`",
+ 0x0726: "p",
+ 0x0728: ".s",
+ 0x0729: "q",
+ 0x072a: "r",
+ 0x072b: "^s",
+ 0x072c: "t",
+ 0x0308: "P", # syame
+ 0x0730: "a",
+ 0x0731: "A",
+ 0x0732: ":a",
+ 0x0733: "=a",
+ 0x0734: "=A",
+ 0x0735: ":=a",
+ 0x0736: "e",
+ 0x0737: "E",
+ 0x0738: ":e",
+ 0x0739: ":e",
+ 0x073a: "i",
+ 0x073b: "I",
+ 0x073c: ":i",
+ 0x073d: "u",
+ 0x073e: "U",
+ 0x073f: ":u",
+ 0x0740: ":=a",
+ 0x0741: "*",
+ 0x0742: "+",
+ #punctuation listed in unicode not completed implemented in serto
+ 0x0700: ".:.",
+ 0x0701: ".",
+ 0x0702: ".",
+ 0x0703: ":",
+ 0x0704: ":",
+ 0x0705: ":",
+ 0x0706: ":",
+ 0x0707: ":",
+ 0x0708: ":",
+ 0x0709: ":",
+ 0x070D: ".X.",
+ }
+
+
+ #print "zzzzzz",UnicodeTable
+
+ def readfont(self, filename, tabelle, transtabelle):
+ dirname = os.environ.get("SERTOFONTDIR")
+ if not dirname:
+ dirname = os.path.dirname(sys.argv[0])
+ #print "eeee", dirname
+ fp = open("%s/%s" % (dirname, filename), "r")
+ lines = fp.readlines()
+ fp.close()
+
+
+ #self.tabelle = {} # "_d": (isol, init, med, fin, link)
+ #self.tabelle = {} # "_d": Letter-Object
+ #self.transtabelle = {} # "_d": \d{d}
+ self.fontname = ""
+ status = "syriac"
+ self.errct = 0
+ for z in lines:
+ if len(z) < 2:
+ continue
+ if z[0] == "#":
+ if z[:6] == "#FONT:":
+ a = string.split(z)
+ self.fontname = string.strip(a[1])
+ #self.textframe.thetext.config(font=self.fontname)
+ #self.testlabel.config(font=self.fontname)
+ elif z[:7] == "#TRANS:":
+ status = "transliterate"
+ continue
+
+ felder = string.split(z)
+ if status == "syriac":
+ if len(felder) < 7:
+ self.errct = self.errct + 1
+ print "ERROR:", z
+ else:
+ #print z, int(felder[2])
+ #self.tabelle[felder[0]] = (int(felder[2]),
+ # int(felder[3]),
+ # int(felder[4]),
+ # int(felder[5]),
+ # int(felder[6]))
+ tabelle[felder[0]] = Letter(felder[0],
+ felder[1],
+ felder[2],
+ felder[3],
+ felder[4],
+ felder[5],
+ felder[6])
+ else:
+ if len(felder) < 2:
+ #print "WARNING:", z
+ transtabelle[felder[0]] = felder[0]
+ else:
+ transtabelle[felder[0]] = felder[1]
+
+
+ def tokenize(self, str, xlen, style="serto"):
+ ix = 0
+ self.tokens = []
+ self.digits = []
+ number = 0 #
+
+ while(ix < xlen): #for ix in range(xlen):
+ #print "IX", ix, str
+ if str[ix] == "\\":
+ command = "\\"
+ ix = ix + 1
+ while(ix < xlen):
+ if not str[ix] in string.letters:
+ break
+ else:
+ command = command + str[ix]
+ ix = ix + 1
+ self.tokens.append(command)
+ elif str[ix] in "{}":
+ self.tokens.append(str[ix])
+ ix = ix + 1
+ else:
+ for ll in range(5, 0, -1):
+ if self.tabelle[style].has_key(str[ix:ix+ll]):
+ if ll == 1 and str[ix:ix+ll] in "aeiou" \
+ and (len(self.tokens) == 0 \
+ or self.tokens[-1] == "~"):
+ #self.tokens.append("'" + str[ix:ix+ll])
+ self.tokens.extend(["'", str[ix:ix+ll]])
+ #pass
+ else:
+ if len(self.tokens) \
+ and str[ix:ix+ll] == self.tokens[-1] \
+ and self.tabelle[style][str[ix:ix+ll]].link != 3 \
+ and str[ix:ix+ll] not in ["~", "0", "1",
+ "2", "3", "4",
+ "5", "6", "7",
+ "8", "9", "--"]:
+ # insert shadda
+ self.tokens.append("Q")
+ else:
+ self.tokens.append(str[ix:ix+ll])
+ ix = ix + ll
+ break # for-loop
+ else:
+ ix = ix + 1
+
+ #print "TOKENS",self.tokens
+
+ def transtokenize(self, str, xlen, style="serto"):
+ ix = 0
+ self.tokens = []
+ self.digits = []
+ number = 0 #
+ while(ix < xlen): #for ix in range(xlen):
+ #print "IX", ix,
+ for ll in range(5, 0, -1):
+ if self.transtabelle[style].has_key(str[ix:ix+ll]):
+ if ll == 1 and str[ix:ix+ll] in "aeiou" \
+ and (len(self.tokens) == 0 \
+ or self.tokens[-1] == "~"):
+ self.tokens.append("'" + str[ix:ix+ll])
+ #self.tokens.extend(["'", str[ix:ix+ll]])
+ else:
+ #if len(self.tokens) \
+ # and str[ix:ix+ll] == self.tokens[-1] \
+ # and self.tabelle[str[ix:ix+ll]][4] != 3 \
+ # and str[ix:ix+ll] not in ["~", "0", "1", "2", "3", "4",
+ # "5", "6", "7", "8", "9"]:
+ # """insert shadda"""
+ # self.tokens.append("Q")
+ #else:
+ self.tokens.append(str[ix:ix+ll])
+ ix = ix + ll
+ break # for-loop
+ else:
+ ix = ix + 1
+
+ #print "TRANSTOKENS",self.tokens
+
+
+
+ def transliterate(self, syrisch, style="serto"):
+ if self.usingUTF8:
+ line = unicode(syrisch, "utf8")
+ newline = ""
+ for c in line:
+ #print "eee %x" % ord(c), self.UnicodeTable.has_key(ord(c)),
+ #print c.encode("utf8")
+ sertocode = self.UnicodeTable.get(ord(c), c)
+ newline += sertocode
+ #print "[%s]" % sertocode, newline
+ syrisch = newline
+
+ syrisch = string.replace(syrisch, " ", "~")
+ self.transtokenize(syrisch, len(syrisch), style)
+ #self.err("TOKEN %s" %self.tokens)
+ ret = []
+ oldtok = ""
+ for tok in self.tokens:
+ if tok == "~": # blank
+ ret.append(" ")
+ #elif tok == "Q": # shadda
+ #ret.append(ret[-1])
+ #elif tok == "+": # soft sign under begadkefat
+ #if len(ret):
+ # ret[-1] = self.spec.get(oldtok+tok, oldtok+tok)
+ else:
+ ret.append(self.transtabelle[style].get(tok, tok))
+ #oldtok = tok
+
+ return string.join(ret, "")
+
+ def syriacise(self, style="serto"):
+ # replace tokens by serto letters, take into account context
+ ix = 0
+ out = []
+ digits = []
+ self.maxlen = len(self.tokens)
+ #sys.stderr.write("%s\n" % self.tokens)
+ number = 0
+ for i in range(self.maxlen):
+ if self.tokens[i][0] in "\\{}":
+ out.append(self.tokens[i])
+
+ elif self.tabelle[style][self.tokens[i]].medial == -1:
+ #print "skipping letter"
+ continue
+ else:
+ form = self.context(i, style=style)
+
+ if self.tokens[i] in ["0", "1", "2", "3", "4",
+ "5", "6", "7", "8", "9"]:
+ number = 1
+ digits.append(chr(self.tabelle[style][self.tokens[i]].getcontext(form)))
+ else:
+ if number == 1:
+ number = 0
+ digits.reverse()
+ out.extend(digits)
+ digits = []
+ #out.append(chr(self.tabelle[self.tokens[i]][form]))
+ #out.append("%c" %(self.tabelle[self.tokens[i]].getcontext(form)))
+ for c in self.tabelle[style][self.tokens[i]].getChar(form):
+ #sys.stderr.write("LETTER: %s\n" % c)
+ out.append(c)
+ #print self.tokens[i], form, self.tabelle[self.tokens[i]][form]
+
+ if number:
+ number = 0
+ digits.reverse()
+ out.extend(digits)
+
+
+ #for i in out: print "%d" % ord(i),
+ #print
+ #if not self.elatex:
+ # out.reverse()
+
+ # This kills empty letters, caused by -1 in .font-file
+ return string.join(out, "")
+
+
+ def context(self, ix, style="serto"):
+ """returns 0 if letter is isolated
+ 1 if letter is initial
+ 2 if letter is medial
+ 3 if letter is final"""
+
+ if self.before(ix, style) and self.next(ix, style):
+ return 2
+ elif self.before(ix, style) and not self.next(ix, style):
+ return 3
+ elif not self.before(ix, style) and self.next(ix, style):
+ return 1
+ else:
+ return 0
+
+
+ def next(self, ix, style="serto"):
+ """returns 1 if next token is a letter"""
+ for i in range(ix+1, self.maxlen):
+ if self.tokens[i][0] in "\\{}":
+ return 0
+ elif self.tabelle[style][self.tokens[i]].link in [2,3]:
+ continue
+ elif self.tokens[i] not in ["~", "!", ",", ".", ";", "?"] :
+ return 1
+ else:
+ return 0
+ return 0
+
+ def before(self, ix, style="serto"):
+ """returns 1 if preceding token is a letter"""
+ for i in range(ix-1, -1, -1):
+ if self.tokens[i][0] in "\\{}":
+ return 0
+ elif self.tabelle[style][self.tokens[i]].link == 2:
+ continue
+ elif self.tokens[i] != "~":
+ if self.tabelle[style][self.tokens[i]].link == 0:
+ return 0
+ else:
+ return 1
+ else:
+ return 0
+ return 0
+
+
+
+
+
+ def convert(self, transcript, style="serto"):
+ # interface function
+ # dummy blank
+ if self.usingUTF8:
+ line = unicode(transcript, "utf8")
+ newline = ""
+ for c in line:
+ #sys.stderr.write( "eee %d %s\n" % (ord(c), self.UnicodeTable.has_key(ord(c))))
+ #sys.stderr.write( c.encode("utf8") + "\n")
+ sertocode = self.UnicodeTable.get(ord(c), c)
+ newline += sertocode
+ #sys.stderr.write( "[%s]\n" % sertocode)
+ transcript = newline.encode("utf8")
+
+ transcript = string.replace(transcript, " ", "~")
+ self.tokenize(transcript, len(transcript), style)
+ return self.syriacise(style)
+
+
+ def texify(self, word, style="serto"):
+ res = []
+ for ll in serto.convert(word, style):
+ # ll: position of current syriac character in font table
+ #sys.stdout.write("LETTER: 0x%x\n" % (ord(ll)))
+ #sys.stderr.write("LETTER: %s\n" % ord(ll))
+
+ if ord(ll) < 16:
+ #print "WWWWWWWWW", len(res), res
+ if len(res):
+ res[-1] = "\\uppersyriac{%d}{%s}" % (ord(ll), res[-1])
+ else:
+ res.append("\\uppersyriac{%d}{A}" % (ord(ll))) # A: Olaf
+ elif ord(ll) < 32:
+ if len(res):
+ res[-1] = "\\lowersyriac{%d}{%s}" % (ord(ll), res[-1])
+ else:
+ res.append("\\lowersyriac{%d}{A}" % (ord(ll)))
+ elif ord(ll) < 127 and ord(ll) not in [34,35,36,37,38,95]:
+ res.append(ll)
+ else:
+ # special (active) TeX-characters, charactes > 127
+ res.append("\\char%d{}" % ord(ll))
+ if not self.elatex:
+ res.reverse()
+ return string.join(res, "")
+
+ def inlineserto(self, matchobject):
+ return "{\\serto\\beginR %s\\endR}" % self.texify(matchobject.group(2))
+
+ def inlinechaldean(self, matchobject):
+ return "{\\assyr\\beginR %s\\endR}" \
+ % self.texify(matchobject.group(2), "chaldean")
+
+ def inlinetrans(self, matchobject):
+ return "\\emph{%s}" % self.transliterate(matchobject.group(2))
+
+ def inlinesertotrans(self, matchobject):
+ return "{\\serto\\beginR %s\\endR} \\emph{%s}" \
+ % (self.texify(matchobject.group(2)),
+ self.transliterate(matchobject.group(2)))
+ def inlinechaldeantrans(self, matchobject):
+ return "{\\assyr\\beginR %s\\endR} \\emph{%s}" \
+ % (self.texify(matchobject.group(2), "chaldean"),
+ self.transliterate(matchobject.group(2), "chaldean"))
+ def err(self, s):
+ sys.stderr.write(s + "\n")
+
+#-------------------------------------------------------
+if __name__ == "__main__":
+ sys.stderr.write("serto - LaTeX - preprocessor\n(c) Johannes Heinecke\n")
+
+ if len(sys.argv) < 2:
+ sys.stderr.write("usage:\n serto.py [-o] inputfile\n")
+ sys.stderr.write(" -o: for usage with an older version of LaTeX which cannot typeset right-to-left scripts elatex\n\n")
+ sys.exit(1)
+
+ else:
+ sys.stderr.write("\n")
+ import getopt
+
+ elatex = 1
+ optlist,comargs = getopt.getopt(sys.argv[1:], "")
+
+ for (o,a) in optlist:
+ if o == "-o":
+ elatex = 0
+
+ serto = Serto(elatex=elatex)
+ fp = open(comargs[0])
+
+ #mode = "latin"
+ mode = ["latin"]
+ z = fp.readline()
+ while (z):
+ #print "LINE", z,
+ if z.find("\usepackage[utf8]{inputenc}") > -1:
+ serto.usingUTF8 = True
+ #print 'QQQ',z, mode
+ if z[:-1] == "<SERTO>":
+ # must be on a single line (will be deleted)
+ if not elatex:
+ sys.stderr.write("using <SERTO> without the -e option (and elatex) may not work!\n")
+ #mode = "serto"
+ mode.append("serto")
+ print '{\\serto\\beginR %'
+
+ elif string.strip(z[:-1]) == "</SERTO>":
+ #mode = "latin"
+ del mode[-1]
+ #print '\\endR}%' # causes problems in last line
+ print '}%'
+
+ elif z[:-1] == "<CHALDEAN>":
+ # must be on a single line (will be deleted)
+ if not elatex:
+ sys.stderr.write("using <CHALDEAN> without the -e option (and elatex) may not work!\n")
+ #mode = "chaldean"
+ mode.append("chaldean")
+ print '{\\assyr\\beginR %'
+
+ elif string.strip(z[:-1]) == "</CHALDEAN>":
+ #mode = "latin"
+ del mode[-1]
+ #print '\\endR}%' # causes problems in last line
+ print '}%'
+
+
+ elif z[:-1] == "<TRANS>":
+ #mode = "trans"
+ mode.append("trans")
+ print '{\\it %'
+
+ elif string.strip(z[:-1]) == "</TRANS>":
+ #mode = "latin"
+ del mode[-1]
+ print '}%'
+
+
+
+# elif z[:-1] == "<SERTOTRANS>":
+# mode = "sertotrans"
+# print '{\\serto\\beginR %'
+#
+# elif string.strip(z[:-1]) == "</SERTOTRANS>":
+# mode = "latin"
+# print '\\endR}%'
+
+
+
+ else:
+ #print "mmm", mode, z
+ if mode[-1] == "latin":
+ #sys.stdout.write(serto.inlineS.sub(serto.inlineserto, z))
+ a = serto.inlineS.sub(serto.inlineserto, z)
+ b = serto.inlineT.sub(serto.inlinetrans, a)
+ c = serto.inlineST.sub(serto.inlinesertotrans, b)
+ d = serto.inlineC.sub(serto.inlinechaldean, c)
+ e = serto.inlineCT.sub(serto.inlinechaldeantrans, d)
+ sys.stdout.write(e)
+ elif mode[-1] == "trans":
+ print serto.transliterate(z)
+ else:
+ if z[:-1] == "": print "\n\\beginR",
+ else:
+ print serto.texify(z, mode[-1])
+
+
+ #print "rrrrr", mode
+ z = fp.readline()
+
+
+ fp.close()
+ sys.exit(serto.errct)
diff --git a/Master/texmf-dist/doc/latex/aramaic-serto/sertodoc.pdf b/Master/texmf-dist/doc/latex/aramaic-serto/sertodoc.pdf
new file mode 100644
index 00000000000..c2d0d821bfa
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/aramaic-serto/sertodoc.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/aramaic-serto/sertodoc.ptex b/Master/texmf-dist/doc/latex/aramaic-serto/sertodoc.ptex
new file mode 100644
index 00000000000..1e8db093b7a
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/aramaic-serto/sertodoc.ptex
@@ -0,0 +1,961 @@
+\documentclass[12pt,a4paper]{article}
+%\newif\ifpdf\ifx\pdfoutput\undefined\pdffalse\else\pdftrue\fi
+
+%\usepackage{german}
+\usepackage{times}
+%\usepackage{mathptm}
+%\usepackage[T1]{fontenc}
+%\usepackage{covington}
+%\usepackage{multicol}
+%\usepackage{fancyhdr}
+%\usepackage{graphicx}
+\usepackage{url}
+\usepackage{alltt}
+\usepackage{rotating}
+\usepackage{array}
+\usepackage{maketitel}
+\usepackage{serto}
+\usepackage{assyr}
+\usepackage{longtable}
+\usepackage{chicago2}
+%\ifpdf
+\usepackage[pdftex,colorlinks=true,
+urlcolor=urlcol, % URL: http://
+citecolor=bibcol, % bibTeX
+linkcolor=linkcol, % sections, footnotes, ...
+pagecolor=linkcol, % links to other pages
+filecolor=filecol, % URL: file:/
+pdftitle={Serto - A font for Syriac (Aramaic)},
+pdfauthor={Johannes Heinecke},
+pdfsubject={Oriental alphabets, Semitic languages},pdfkeywords={},pagebackref,
+pdfpagemode=None,bookmarksopen=true]{hyperref}
+\usepackage{color}
+\definecolor{linkcol}{rgb}{0.75,0,0}
+\definecolor{bibcol}{rgb}{0,0.5,0}
+\definecolor{urlcol}{rgb}{0,0,0.75}
+\definecolor{filecol}{rgb}{0,0,0.75}
+
+%\else
+%\fi
+
+%\addtolength{\topmargin}{-15mm}
+%\addtolength{\textheight}{30mm}
+%\addtolength{\textwidth}{0mm}
+%\addtolength{\oddsidemargin}{0mm}
+%\addtolength{\evensidemargin}{0mm}
+
+% EDIT sertodoc.ptex
+% serto.py sertodoc.ptex > sertodoc.tex
+% pdflatex sertodoc.tex
+
+\usepackage{parskip}
+
+
+%\let\S=S % for verbatim
+%\let\T=T % for verbatim
+\def\st{Ser\d to}
+\def\texxet{{\tt TeX-{}-XeT}}
+\def\pdflatex{{\tt pdflatex}}
+\def\SertoVersion{1.0}
+
+\newcommand{\showS}[1]{{\tt <S{}>#1</S{}>}}
+\newcommand{\showT}[1]{{\tt <{}T>#1</{}T>}}
+\newcommand{\showST}[1]{{\tt <S{}T>#1</S{}T>}}
+\newcommand{\showC}[1]{{\tt <C{}>#1</C{}>}}
+\newcommand{\showCT}[1]{{\tt <C{}T>#1</C{}T>}}
+\newcommand{\SE}{{\tt <S>}}
+\newcommand{\eSE}{{\tt </S>}}
+\newcommand{\TR}{{\tt <T>}}
+\newcommand{\eTR}{{\tt </T>}}
+\newcommand{\ST}{{\tt <ST>}}
+\newcommand{\eST}{{\tt </ST>}}
+
+\font\logo=logo10 scaled \magstep1
+\def\MF{{\logo METAFONT}}
+\begin{document}
+\title{<S>ser.t=a'</S> \emph{\st} -- a font for Syriac (Aramaic)}
+\author{Johannes Heinecke}
+\date{Version \SertoVersion, 30\textsuperscript{th} March 2013}
+\maketitle
+
+\tableofcontents
+
+\section{Introduction}
+
+\emph{\st} is a form of the alphabet used for Aramaic (a
+western semitic language) which has been spoken
+in the Near East since at least 1100 BC. More precisely, \st is used for
+Syriac which is the variant of Aramaic spoken since the second century
+AD.\footnote{See \citeNP{ungnad1932},
+\citeNP{brockelmann1960}, \citeNP{costaz1986} or \citeNP{noeldeke1986}
+(English translation \citeNP{noeldeke2001}) for further
+information on Syriac.}
+
+Syriac used other alphabets as well, notably \emph{Es\d
+trangelo}, which is not (yet) contained in this package. Since \st{} is
+as the Arabic alphabet a syllabic script, vowels are marked by
+diacritic marks above (or under) the consonantic letters.
+Modern forms of Aramaic still use either \st{}, the Chaldean alphabet
+or Es\d trangelo.
+
+Since Syriac split up in two main dialects in the fifth century AD,
+two differing systems of vowel-marking were established: Whereas the
+western dialect (Edessean) used Greek letters as vowel symbols (these
+are the only ones provided by this package for the time being), the
+eastern dialects uses dots to indicate the vowels (Chaldean vowels).
+
+
+This package enables you to typeset words or paragraphs in \st{} using a
+preprocessor which chooses the correct letter form depending on
+context. In order to typeset paragraphs the use of a
+recent version of \pdflatex\ is needed, which
+can handle the right-to-left typesetting.
+For older version of \LaTeX, the preprocessor must be used with the
+option {\tt -o} (see section \ref{prep}).
+
+This package also included an adapted version of a Chaldean font (thanks to Tony
+Khoshaba, who put this font to the Web).
+
+%<S>qa.t.tel qa.tel</S>
+
+%<S> ^sapiyr biy^s l=ak .</S>
+
+\section{The alphabets}
+
+Every letter in \st{} (and some letters in the Chaldean alphabet)
+has several forms, depending on its position in
+the word: An initial, medial or final form. Since some letters do not
+connect to the following letter, there are isolated forms as well
+(i.e. a letter which is not connected to the right nor the left).
+The coding column in the following table refers to the preprocessor
+described below (section \ref{prep}). If you do not want to use the
+preprocessor, please refer to the encoding table in section \ref{enc}.
+
+\subsection{Consonants}\label{consonants}
+
+
+
+%\begin{tabular}{| >{\rule[-2mm]{0pt}{9mm}}c|c|c|c| r >{\it}l | >{\tt}c|}
+\begin{longtable}{| >{\rule[-2mm]{0pt}{9mm}}c|c|c|c| c |
+ r l |
+ >{\it}c | >{\tt}c | }
+\hline
+\multicolumn{4}{|c|}{ser\d to forms} & & \multicolumn{2}{c|}{name} & \rm translit. & \rm coding \\
+\cline{1-4}
+%\hline
+\begin{turn}{90}isolated\end{turn} &
+\begin{turn}{90}final\end{turn} &
+\begin{turn}{90}medial\end{turn} &
+\begin{turn}{90}initial\end{turn} &
+\begin{turn}{90}Chaldean\end{turn} & & & & \endhead
+\hline
+<S>'</S> & <S>-'</S> & & & <C>'</C> &
+ <S>'=alap+</S> & <T>'=alap+</T> & \raise.2ex\hbox{$\rhook$} & '\\
+\hline
+<S>b</S> & <S>-b</S> & <S>-b-</S> & <S>b-</S> & <C>b</C> &
+ <S>beyt+</S> & <T>beyt+</T> & b\footnotemark & b \\
+ & & & & <C>v</C>\footnotemark &
+ & & v & v \\
+\hline
+<S>g</S> & <S>-g</S> & <S>-g-</S> & <S>g-</S> &<C>g</C> &
+ <S>g=amal</S> & <T>g=amal</T> & g & g\\
+ & & & & <C>.g</C> &
+ & & \d g & g \\
+ & & & & <C>j</C> &
+ & & j & j \\
+\hline
+<S>d</S> & <S>-d</S> & & &<C>d</C> &
+ <S>d=alat+</S> & <T>d=alat+</T> & d & d\\
+\hline
+<S>h</S> & <S>-h</S> & & &<C>h</C> &
+ <S>he'</S> & <T>he'</T> & h & h\\
+\hline
+<S>w</S> & <S>-w</S> & & &<C>w</C> &
+ <S>waw</S> & <T>waw</T> & w & w \\
+\hline
+<S>z</S> & <S>-z</S> & & &<C>z</C> &
+ <S>zayn</S> & <T>zayn</T> & z & z \\
+\hline
+<S>.h</S> & <S>-.h</S> & <S>-.h-</S> & <S>.h-</S> &<C>.h</C> &
+ <S>.heyt+</S> & <T>.heyt+</T> & \d h & .h\\
+\hline
+<S>.t</S> & <S>-.t</S> & <S>-.t-</S> & <S>.t-</S> &<C>.t</C> &
+ <S>.teyt+</S> & <T>.teyt+</T> & \d t & .t\\
+\hline
+<S>y</S> & <S>-y</S> & <S>-y-</S> & <S>y-</S> &<C>y</C> &
+ <S>y=ad+</S> & <T>y=ad+</T> & y & y \\
+\hline
+<S>k</S> & <S>-k</S> & <S>-k-</S> & <S>k-</S> &<C>k</C> &
+ <S>k=ap+</S> & <T>k=ap+</T> & k & k\\
+ & & & & <C>_k</C> &
+ & & \b h & \verb._k. \\
+ & & & & <C>^k</C> &
+ & & \v c & \verb.^k. \\
+\hline
+<S>l</S> & <S>-l</S> & <S>-l-</S> & <S>l-</S> & <C>l</C> &
+ <S>l=amad+</S> & <T>l=amad+</T> & l & l\\
+\hline
+<S>m</S> & <S>-m</S> & <S>-m-</S> & <S>m-</S> & <C>m</C> &
+ <S>miym</S> & <T>miym</T> & m & m\\
+\hline
+<S>n</S> & <S>-n</S> & <S>-n-</S> & <S>n-</S> &<C>n</C> &
+ <S>nuwn</S> & <T>nuwn</T> & n & n\\
+\hline
+<S>s</S> & <S>-s</S> & <S>-s-</S> & <S>s-</S> &<C>s</C> &
+ <S>semkat+</S> & <T>semkat+</T> & s & s\\
+\hline
+<S>`</S> & <S>-`</S> & <S>-`-</S> & <S>`-</S> &<C>`</C> &
+ <S>`e'</S> & <T>`e'</T> & \raise.2ex\hbox{$\lhook$} & ` \\
+\hline
+<S>p</S> & <S>-p</S> & <S>-p-</S> & <S>p-</S> &<C>p</C> &
+ <S>pe'</S> & <T>pe'</T> & p & p \\
+ & & & & <C>f</C> &
+ & & f & f \\
+\hline
+<S>.s</S> & <S>-.s</S> & & &<C>.s</C> &
+ <S>.s=ade'</S> & <T>.s=ade'</T> & \d s & .s\\
+\hline
+<S>q</S> & <S>-q</S> & <S>-q-</S> & <S>q-</S> &<C>q</C> &
+ <S>q=ap+</S> & <T>q=ap+</T> & q & q \\
+\hline
+%\newpage
+%\hline
+<S>r</S> & <S>-r</S> & <S>-r-</S> & <S>r-</S> &<C>r</C> &
+ <S>riy^s</S> & <T>riy^s</T> & r & r \\
+%\hline
+<S>R</S> & <S>-R</S> & <S>-R-</S> & <S>R-</S> &<C>R</C> &
+ & & & R\\
+\hline
+<S>^s</S> & <S>-^s</S> & <S>-^s-</S> & <S>^s-</S> &<C>^s</C> &
+ <S>^siyn</S> & <T>^siyn</T> & \v s & \verb.^s.\\
+\hline
+<S>t</S> & <S>-t</S> & & &<C>t</C> &
+ <S>taw</S> & <T>taw</T> & t & t\\
+ & & & & <C>_t</C> &
+ & & \b{t} & \verb._t. \\
+
+\hline
+\end{longtable}
+%\end{tabular}
+
+\addtocounter{footnote}{-1}
+\footnotetext{The \emph{be\=ga\b dke\=pa\b t} are not yet always processed.
+In general, the doubling of the consonant creates a <ST>qu^s^s=ay=a'</ST> in
+the syriac text and does not change the
+transliteration. On the other hand, a consonant followed by {\tt+} will
+receive a <ST>ruwkk=ak+=a'</ST> and in the transliteration \emph{bgdkft}
+will appear as \emph{\b b\=g\b d\b h\=p\b t}.}
+
+\stepcounter{footnote}
+\footnotetext{Modern Aramaic dialects using the Chaldean alphabet have
+diacritic symbols (dots and tildes) which can be typeset directly.}
+
+
+\subsection{Vowels}\label{vowels}
+
+The package allows to typeset the greek vowels or Chaldean vowels symbols.
+To have the vowel symbol written in inversed form
+under the consonant, user upper case input.
+
+
+\begin{quote}
+{\bf ATTENTION:} I had to change the coding of <T>zq=ap+=a'</T>
+(<S>_=a</S>) from {\tt o} to \verb.=a. in order to accomodate the new
+letter <S>_o</S> (coding {\tt o}). In texts encoded up to version 0.4
+{\tt o} has to be replaced by \verb.=a. Sorry for any
+inconveniances.
+\end{quote}
+
+
+\begin{tabular}[t]{| >{\rule[-3mm]{0pt}{11mm}}c | c | r l | c | >{\tt}c |}
+\hline
+Greek & Chaldean & \multicolumn{2}{c|}{name} & \rm transliteration & \rm coding \\
+%form & form & & & & \\
+\hline
+<S>_a</S> & <S>_:a</S> & <S>pt+=a.h=a'</S> & <T>pt+=a.h=a'</T> & <T>a</T> & a \\
+\hline
+<S>_e</S> & <S>_:e</S> & <S>rb+=a.s=a'</S> & <T>rb+=a.s=a'</T> & <T>e</T> & e \\
+\hline
+<S>_i</S> & <S>_:i</S> & <S>.hb+=a.s=a'</S> & <T>.hb+=a.s=a'</T> & <T>i</T> & i \\
+\hline
+<S>_=a</S> & <S>_:=a</S> & <S>zq=ap+=a'</S> & <T>zq=ap+=a'</T> & <T>=a</T> & =a \\
+\hline
+<S>_u</S> & <S>_:u</S> & <S>`.s=a.s=a'</S> & <T>`.s=a.s=a'</T> & <T>u</T> & u \\
+\hline
+<S>_o</S> & <S>_:o</S> & & & <T>=a</T> & o \\
+\hline
+<S>_P</S> & & <S>sy=a--Pme'</S> & <T>sy=a--Pme'</T> & & P \\
+\hline
+\end{tabular}
+~~~~~~
+\begin{tabular}[t]{| >{\rule[-4mm]{0pt}{11mm}}c | >{\tt}c |}
+\hline
+Greek & \rm coding \\
+%form & \\
+\hline
+<S>_A</S> & A \\
+\hline
+<S>_E</S> & E \\
+\hline
+<S>_I</S> & I \\
+\hline
+<S>_=A</S> & =A \\
+\hline
+<S>_U</S> & U \\
+\hline
+\end{tabular}
+
+Note: The <T>.hb+=a.s=a'</T> and <T>`.s=a.s=a'</T> of the Eastern or
+Chaldean vowels do in general occur together with a \emph{mater
+lectionis}:
+<S>l:iy</S>, <S>l:ow</S> (or <C>l:iy</C>, <C>l:ow</C>)
+
+The <ST>sy=a--Pme'</ST> is processed as a vowel sign, even if it is not so
+from a linguistic point of view. Its coding \showS{P} is chose because
+of its plural signification. If you do not want it over a letter, put
+it over a word stretch: The Aramaic at the beginning of this paragraph
+has been typset in the following: \showS{sy=a--Pme'}.
+
+
+To avoid that the simple preprocessor does not mess about
+with vowels in ligatures (notably \emph{L\=ama\b d-\=alaf}
+and \emph{\=Alaf-l\=ama\b d} the vowel must be set after both
+consonants of the ligature:
+
+\showS{l=a'} yields (incorrect) <ST>l=a'</ST>
+but \showS{l'=a} yields the vocalized ligature <ST>l'=a</ST>
+
+\showS{'Al=Ah=a'} yields (incorrect) <ST>'Al=Ah=a'</ST>
+but \showS{'la=Ah=a'} yields the vocalized ligature <ST>'la=Ah=a'</ST>
+
+The Chaldean letters do not have this ligature. Instead, a
+<T>taw-=al=af</T> ligature is provided:
+<CT>sipr=ayuwt'a</CT>
+
+The default vowels are the greek-based vowels. In order to get
+Chaldean vowels, it suffices to add {\tt:} in front of the vowel in
+coding.
+Thus you can set the most famous Aramaic phrase in all Syriac
+alphabets in either vowel system:
+
+\showS{eliy eliy lm=an=a' s=ab=akt=aniy}\\
+<S>eliy eliy lm=an=a' s=ab=akt=aniy</S>
+
+\showS{:el:iy :el:iy lm:=an:=a' s:=ab:=akt:=an:iy}\\
+<S>:el:iy :el:iy lm:=an:=a' s:=ab:=akt:=an:iy</S>
+
+\showC{eliy eliy lm=an=a' s=ab=akt=aniy}\\
+<C>eliy eliy lm=an=a' s=ab=akt=aniy</C>
+
+\showC{:el:iy :el:iy lm:=an:=a' s:=ab:=akt:=an:iy}\\
+\hfill <C>:el:iy ':el:iy lm:=an:=a' s:=ab:=akt:=an:iy</C>
+
+
+
+\subsection{Transliteration and long vowels}
+
+As mention in section \ref{prep} below, the preprocessor can produce a
+transliteration as well. The transliteration can be defined in the
+table used by the preprocessor {\tt serto.font} and {\tt assyr.font}. The current
+definition uses the transcription as shown in the tables in sections
+\ref{consonants} and \ref{vowels}, with the exception of long vowels.
+In words using a vowel symbol together with a \emph{mater lectionis},
+the transliteration shows the transcription instead, for instance
+<S>.heyt+</S> transliterates as <T>.heyt+</T> and not \emph{\d hey\b
+t} and <ST>q=aye'm</ST>:
+
+\begin{tabular}{| >{\rule[-4mm]{0pt}{11mm}}r | r | c | >{\tt}c |}
+\hline
+Greek & Chaldean & \rm transliteration & \rm coding \\
+\hline
+<S>--=a'</S> & <C>--:=a'</C> & <T>_=a'</T> & =a' \\
+\hline
+<S>--ey</S> & <C>--:ey</C> & <T>_ey</T> & ey \\
+\hline
+<S>--e'</S> & <C>--:e'</C> & <T>_e'</T> & e' \\
+\hline
+<S>--iy</S> & <C>--:iy</C> & <T>_iy</T> & iy \\
+\hline
+<S>--uw</S> & <C>--:uw</C> & <T>_uw</T> & uw \\
+\hline
+\end{tabular}
+
+
+
+\subsection{Punctuation and paragraph marks}
+
+\begin{tabular}{| >{\rule[-4mm]{0pt}{11mm}}c | >{\tt}c |}
+\hline
+form & \rm coding \\
+\hline
+<S>.</S> & . \\
+\hline
+<S>:</S> & : \\
+\hline
+<S>.X.</S> & .X. \\
+\hline
+<S>.:.</S> & .:. \\
+\hline
+\end{tabular}
+~~~~~~~
+\begin{tabular}{| >{\rule[-4mm]{0pt}{11mm}}c | >{\tt}c |}
+\hline
+form & \rm coding \\
+\hline
+<S>:: </S> & :: \\
+\hline
+<S>:- </S> & :- \\
+\hline
+<S>.~. </S> & \verb:.~.: \\
+\hline
+<S>./.</S> & ./. \\
+\hline
+\end{tabular}
+
+\subsection{Unicode}
+
+This package has a limited Unicode support in that texts encoded in UTF8
+can be directly typeset. In order to activate the UTF8 interpretation, either
+use UTF8 for your whole document by declaring \verb+\usepackage[utf8]+\verb+{inputenc}+
+in the preamble of you document, or just put
+\verb+%\usepackage[utf8]+\verb+{inputenc}+ somewhere at the beginning of your document.
+
+\subsection{The encoding}\label{enc}
+
+\def\cell#1{\char'#1}
+
+\def\cellrow#1{
+& \cell{#10} & \cell{#11} & \cell{#12} & \cell{#13} &
+\cell{#14} & \cell{#15} & \cell{#16} & \cell{#17} \\ \hline}
+
+\def\reihe#1{\it '#10 \cellrow{#1}}
+
+
+
+\def\xcell#1{\char"#1}
+\def\xcellrow#1{
+& \xcell{#10} & \xcell{#11} & \xcell{#12} & \xcell{#13} &
+ \xcell{#14} & \xcell{#15} & \xcell{#16} & \xcell{#17} &
+ \xcell{#18} & \xcell{#19} & \xcell{#1A} & \xcell{#1B} &
+ \xcell{#1C} & \xcell{#1D} & \xcell{#1E} & \xcell{#1F} \\ \hline}
+\def\xreihe#1{\it "#1n \xcellrow{#1}}
+
+The following table shows the internal encoding of the
+defined letters of \st\ and the Chaldean variant.
+
+\newif\ifhextabelle
+\hextabelletrue
+%\pdfoutput\undefined\pdffalse\else\pdftrue\fi
+
+\ifhextabelle
+{\serto
+\begin{tabular}{ r || c | c | c | c | c | c | c | c |
+ c | c | c | c | c | c | c | c | }
+& \it 0 & \it 1 & \it 2 & \it 3 & \it 4 & \it 5 & \it 6 & \it 7
+ & \it 8 & \it 9 & \it A & \it B & \it C & \it D & \it E & \it F \\
+\hline\hline
+\xreihe{0}
+\xreihe{1}
+\xreihe{2}
+\xreihe{3}
+\xreihe{4}
+\xreihe{5}
+\xreihe{6}
+\xreihe{7}
+\xreihe{8}
+\xreihe{9}
+\xreihe{A}
+%\xreihe{B}
+%\xreihe{C}
+%\xreihe{D}
+%\xreihe{E}
+%\xreihe{F}
+\end{tabular}}
+
+
+{\assyr
+\begin{tabular}{ r || c | c | c | c | c | c | c | c |
+ c | c | c | c | c | c | c | c | }
+& \it 0 & \it 1 & \it 2 & \it 3 & \it 4 & \it 5 & \it 6 & \it 7
+ & \it 8 & \it 9 & \it A & \it B & \it C & \it D & \it E & \it F \\
+\hline\hline
+\xreihe{0}
+\xreihe{1}
+\xreihe{2}
+\xreihe{3}
+\xreihe{4}
+\xreihe{5}
+\xreihe{6}
+\xreihe{7}
+\xreihe{8}
+\xreihe{9}
+\xreihe{A}
+%\xreihe{B}
+%\xreihe{C}
+%\xreihe{D}
+%\xreihe{E}
+%\xreihe{F}
+\end{tabular}}
+
+\else
+
+
+{\serto
+\begin{tabular}{ r || c | c | c | c | c | c | c | c | }
+& \it 0 & \it 1 & \it 2 & \it 3 & \it 4 & \it 5 & \it 6 & \it 7 \\
+\hline\hline
+\reihe{00}
+\reihe{01}
+\reihe{02}\reihe{03}
+\reihe{04}
+\reihe{05}%\reihe{06}
+\reihe{07}
+\reihe{10}\reihe{11}
+\reihe{12}\reihe{13}%\reihe{14}
+\reihe{15}\reihe{16}
+\reihe{17}
+\reihe{20}
+\reihe{21}
+\reihe{22}
+\reihe{23}
+\reihe{24}
+\reihe{25}
+\end{tabular}}
+
+
+
+{\assyr
+\begin{tabular}{ r || c | c | c | c | c | c | c | c | }
+& \it 0 & \it 1 & \it 2 & \it 3 & \it 4 & \it 5 & \it 6 & \it 7 \\
+\hline\hline
+\reihe{00}
+\reihe{01}
+\reihe{02}
+\reihe{03}
+\reihe{04}
+\reihe{05}
+%\reihe{06}
+\reihe{07}
+\reihe{10}
+\reihe{11}
+\reihe{12}
+\reihe{13}
+\reihe{14}
+\reihe{15}
+\reihe{16}
+\reihe{17}
+%\reihe{20}
+%\reihe{21}
+%\reihe{22}
+%\reihe{23}
+%\reihe{24}
+%\reihe{25}
+\end{tabular}}
+\fi
+
+\urlstyle{same}
+
+\section{The preprocessor {\tt serto.py}}\label{prep}
+
+Typesetting of texts is still not yet possible with standard \LaTeX, since the
+right-to-left typesetting (as for
+instance as in Arab\TeX) has not yet been implemented. For the time
+being I propose a preprocessor (written in {\sc
+Python}\footnote{Every version from 2.4 onwards up to version 2.7 should do; Python 3.* however does not work {\sc
+Python} is an interpreted
+object oriented programming language available for many operating
+systems (\url{http://www.python.org}).}) and \pdflatex.
+
+I'm well aware that {\tt serto.py} is not part of the most beautiful pieces
+of software code, on the contrary, it's rather spaghetti code. Many things could
+have been in a more intelligent way, but it works, which is the most important thing.
+If you find the time to improve it please share your changes with me!
+
+
+\subsection{Using the preprocessor}
+
+The preprocessor is called with the \LaTeX-file as argument:
+
+\verb| serto.py [-o] ppfilename.tex > filename.tex|
+
+The resulting \LaTeX-file can be \LaTeX ed as usually. Please make
+sure to have the \verb.\usepackage{serto}. included in your preamble.
+
+The option {\tt -o} is necessary if you use an older version of \LaTeX\ which is
+not capable to typeset texts from the right to the left (\texxet extension). The {\tt -o}
+-option tells the preprocessor to inverse the letters on its
+own. In order to typeset whole paragraphs \pdflatex\ is the better
+solution. Usually it comes with every modern \TeX-distribution.
+At least on Ubuntu 12.04 (texlive package), the standardly installed \pdflatex\ behaves correctly.
+
+The preprocessor recognizes two types of commands. Within a
+single line you can put Syriac words between \SE\ and \eSE:
+For example \showS{ser.t=a'} becomes <S>ser.t=a'</S>.
+
+\ST\ and \eST\ generate the enclosed part in \st\ and
+generates a transliteration as well
+(\showST{mdiyt=a'} becomes <ST>mdiyt=A'</ST> ``city''),
+whereas \TR\ and \eTR\ can be used for parts only need in
+transliterated form (\showT{ser.t=a'} becomes <T>ser.t=a'</T>).
+Since in transliteration a ``neutral vowel'' is needed, which does not
+appear in \st, the code \verb.@. can be used:
+\showST{\^{}s\symbol{64}m=a`} produces <ST>^s@m=a`</ST>
+
+For multiple lines, start a block using {\tt <SERTO>}\footnote{Using
+{\tt <SERTO>} or {\tt <TRANS>} implies the using of the {\tt -e}
+option of the preprocessor {\tt serto.py}. If you do not use the {\tt -e}
+option the resulting \LaTeX-file is likely to be syntactically incorrect.}
+in a line on its
+own. This block can be closed by {\tt </SERTO>}.
+%To have a block in \st\ and in transliterated form, use {\tt
+%<SERTOTRANS} and {\tt </SERTOTRANS>}.
+If you need transliterated Syriac,
+use {\tt </TRANS>} and {\tt </TRANS>}. The commands {\tt <SERTO>}/{\tt
+</SERTO>} and {\tt </TRANS>}/{\tt </TRANS>} do not work properly with the
+{\tt -o} option of the preprocessor and and older \LaTeX. If you add
+\TeX-commands in these blocks, a right-to-left typesetting version of \LaTeX\ is obligatory.
+
+
+
+
+For the time being the preprocessor tries to set the hard sign
+<ST>qu^s^s=ay=a'</ST> %\emph{qu\v s\v s\=oy\=o}
+on top of a consonant if the consonant
+is doubled in the input:
+
+\showS{q.tl} yields <S>q.tl</S>
+but \showS{q.t.tl} yields <S>q.t.tl</S>
+
+In cases where you need a <ST>qu^s^s=ay=a'</ST> %\emph{qu\v s\v s\=oy\=o}
+without wanting to double the consonant, a {\tt *} can be used after
+the letter to typeset a dot above a letter: \showS{h*=anon} produces
+<ST>h*=anon</ST> and \showS{\^{}sl=amk+on} results in <ST>^sl=amk+on</ST>
+
+%<ST>wadd*=ame'</ST>
+
+To avoid a <T>qu^s^s=ay=a'</T> (when you need to adjacent identical consontants, either use
+a vowel on the first,
+use the stretching symbol:
+
+\showS{maml'e} yields <ST>maml'e</ST>\\
+{\tt <S{}>m\verb.^.ml'</S{}>} yields <ST>m^ml'</ST>\\
+\showC{maml'e} yields <CT>maml'e</CT>\\
+{\tt <C{}>m\verb.^.ml'</C{}>} yields <CT>m^ml'</CT>\\
+
+
+To get the soft sign <ST>ruwkk=ak+=a'</ST> %\emph{rukk\=o\b h\=o}
+a {\tt +} must \emph{follow} the letter:
+\showS{'ab+d=a'} yields <S>'ab+d=a'</S>
+
+
+An \emph{\=alaf} is autmatically prefixed before an initial vowel:
+
+\showS{etqa.tel} and \showS{'etqa.tel} both yield <S>etqa.tel</S>
+
+Sometimes the letter \emph{r\=\i\v s} is written with two points. To
+achieve this, use {\tt R} instead of {\tt r} in the input:
+
+\showS{\^{}sapiyRe'} yields <S>^sapiyRe'</S>
+
+Silent consonants have a bar <ST>mb+a.tl=an=a'</ST> %\emph{mva\d tl\=on\=o}
+(\emph{linea occultans})
+under the line which is produced by {\tt =} just before the consonant
+(attention {\tt =a}, however, yields <S>=a</S>:
+
+\showS{'an=tt} yields <S>'an=tt</S>
+
+In order to have the \emph{linea occultans} on top of the letter, use {\tt ==}:
+
+\showS{h==wiyt} yields <S>h==wiyt</S>
+
+There is no automatic stretching yet, but the \verb.--. can be used to
+insert a ``manual stretch'':
+
+\showS{napiyqt=a'} becomes <S>napiyqt=a'</S> but
+\showS{na-{}-piyq-{}-t=a'} is printed as <S>na--piyq--t=a'</S>
+
+This works also for the Chaldean letters
+\showC{n:ap:iyqt:=a'} becomes <C>n:ap:iyqt:=a'</C> but
+\showC{n:a-{}-p:iyq-{}-t:=a'} is printed as <C>n:a--p:iyq--t:=a'</C>
+
+If you do not use the preprocessor, you can activate \st\ by the
+command \verb.\serto.. In this case you have to choose the correct
+letters yourself, and use the commands
+\verb.\upperserto{.\emph{vowelnumber}\verb.}{.\emph{letter}\verb.}. or
+\verb.\lowerserto{.\emph{vowelnumber}\verb.}{.\emph{letter}\verb.}. to
+set vowels. Please see the encoding table in section \ref{enc} for the
+correct vowel numbers.
+
+In order to get bold letters, you can use \verb.\sertob. with or
+without preprocessor (see section \ref{prep} for more information
+on the preprocessor.
+
+\section{The format of the {\tt*.font} files}
+
+These files are necessary to tell the preprocessor where (in the font)
+a certain letter is found, and whether it has different forms. The
+format is straight forward, with, however, a few idiosynchrasies.
+In general there are two sections, the first (starting with a line
+\verb.#FONT.) indicates which letter has which form in which position
+and a second (\verb.#TRANS.) to define the transcription.
+
+The first part consists of lines like the following\\
+\verb.b beth 66+124 66 66 66+124 1.\\
+which reads, coding \verb.b. is for the letter \emph{beth}, its
+isolated form is character 66 followed by character 124, its initial
+and medial form is character 66, it's final form is character 66
+followed by character 124 and the next letter (if any) must take it's
+medial form.
+
+However, if one of the four last columns has a value of $-1$, no form
+is provided in the font.
+Values from 0 to 15 are reserved for accents/vowels above the line,
+values from 16 to 31 are reserved for vowels under the line.
+
+The lines
+
+\verb. ~ blank 32 32 32 32 0.\\
+\verb. Q shadda 6 6 6 6 2.\\
+\verb. -- stretch 45 45 45 45 1.\\
+
+must not be deleted.
+
+The coding for digits (starting with 0 up to 9 in the first column
+cannot have the \verb.+. in the position definition
+
+The transcription definition defines for each coding symbol (defined
+in the font-section) a valid \TeX-string to be used if transcription
+is needed, e.g.
+
+\verb- .t \d{t}-
+
+i.e. the coding \verb-.t- will be representend by \emph{\d{t}} in
+transcribed portions.
+
+\section{Two examples}
+
+Some of the following can be found in {\tt example.ptex}
+which comes
+with this package.
+%If you do not have \elatex, you cannot set texts in \st\ but only
+%single words.
+
+
+The following input was used to generate the output below:
+
+
+\begin{quote}\small
+\begin{verbatim}
+\documentclass[12pt,a4paper]{article}
+usepackage{serto}
+
+\begin{document}
+\end{verbatim}
+
+\begin{alltt}
+<S{}>men qadiy^se' ho' tetqada^s</S{}>
+
+<S{}T>kmo' dat+basb@suwn pagdo'</S{}T>
+\end{alltt}
+
+\begin{verbatim}
+\end{document}
+\end{verbatim}
+\end{quote}
+
+
+\begin{quote}
+<S>men qadiy^se' h=a' tetqada^s</S>
+
+<ST>km=a' dat+basb@suwn pagd=a'</ST>
+\end{quote}
+
+
+
+%In order to set more than just words
+%\elatex\ (needed for the \texxet\ extension) must be used.
+%\elatex\ properly sets text from the right to the left.
+
+
+
+\begin{quote}
+<SERTO>
+wk=ad .hzaw kuwmd'e da.h.tIyt=A': medem da`bad na.siy.h=a':
+lAbkuwh=y= wa'sruwh=y= wa'ytIywh=y= qd=am malk=a'.
+we'^stA`iyw lmalk=a' me----dem da`bad {\sertob l'Al=Ahayhwn}. m=alk=a'
+deyn 'ema----r. l'=a hw=a' me^stAwd=ay=aw 'e^stEwdiyt lIy dtEdba.h
+l'Ap=aluw: na.siy.h=a' 'emar. liy 'la=Ahe' 'ayleyn dma't`eyn. l'=a
+hw=a' 'la=Ahe' 'Enuwn. qareb 'Enuwn lIy lh=ark=a'.
+\sertob wl'=A
+^suwbh=adhuwn dakiys.ty=ane' l'=a ^s=abeq '=n=a' .had menhuwn
+dl'=a mdaqeq '=n=a' `adm=a' lram^s=a'.
+</SERTO>
+\end{quote}
+
+
+
+The preceding text was set typeset with the following
+input:
+
+
+\begin{quote}\small
+\begin{verbatim}
+\documentclass[12pt,a4paper]{article}
+\usepackage{serto}
+\begin{document}
+\end{verbatim}
+\verb.<SERTO>.
+\begin{verbatim}
+wk=ad .hzaw kuwmd'e da.h.tIyt=A' : medem
+da`bad na.siy.h=a': lAbkuwh=y=
+wa'sruwh=y= wa'ytIywh=y= qd=am malk=a'.
+we'^stA`iyw lmalk=a' me----dem da`bad
+{\sertob l'Al=Ahayhwn}. m=alk=a' deyn 'emar. l'=a hw=a'
+me^stAwd=ay=aw 'e^stEwdiyt lIy dtEdba.h
+l'Ap=aluw: na.siy.h=a' 'emar. liy 'la=Ahe'
+'ayleyn dma't`eyn. l'=a hw=a' 'la=Ahe'
+'Enuwn. qareb 'Enuwn lIy lh=ark=a'. \sertob wl'=A
+^suwbh=adhuwn dakiys.ty=ane' l'=a ^s=abeq
+'=n=a' .had menhuwn dl'=a mdaqeq '=n=a'
+`adm=a' lram^s=a'.
+\end{verbatim}
+\verb.</SERTO>.
+
+\verb.\end{document}.
+\end{quote}
+
+Replacing {\tt <SERTO>} by {\tt <CHALDEAN>}
+results in this
+
+\begin{quote}
+<CHALDEAN>
+wk=ad .hzaw kuwmd'e da.h.tIyt=A': medem da`bad na.siy.h=a':
+lAbkuwh=y= wa'sruwh=y= wa'ytIywh=y= qd=am malk=a'.
+we'^stA`iyw lmalk=a' me----dem da`bad {\assyrb l'Al=Ahayhwn}. m=alk=a'
+deyn 'ema----r. l'=a hw=a' me^stAwd=ay=aw 'e^stEwdiyt lIy dtEdba.h
+l'Ap=aluw: na.siy.h=a' 'emar. liy 'la=Ahe' 'ayleyn dma't`eyn. l'=a
+hw=a' 'la=Ahe' 'Enuwn. qareb 'Enuwn lIy lh=ark=a'.
+\assyrb wl'=A
+^suwbh=adhuwn dakiys.ty=ane' l'=a ^s=abeq '=n=a' .had menhuwn
+dl'=a mdaqeq '=n=a' `adm=a' lram^s=a'.
+</CHALDEAN>
+\end{quote}
+
+
+
+The file was preprocessed using {\tt serto.py}.
+
+\section{Things still missing}
+
+The todo-list is long. I try to add features etc. as soon as possible.
+Please tell me items you would like to have, but which are not yet on
+this list. Any volunteers are welcome!
+
+
+\begin{itemize}
+\item proper typsetting of texts (without preprocessor,
+maybe in the Arab\TeX\ package)
+\item proper treatment of \emph{matr\=es lectionis} (long vowels)
+%\item treatment of the <ST>sy=ame'</ST> %\emph{sey\=om\=e}
+\item proper treatment of the silent bar <ST>mb+a.tl=an=a'</ST>
+%\emph{mva\d tl\=on\=o}
+\item proper treatment of \emph{be\=ga\b dke\=pa\b t} with
+hard sign <ST>qu^s^s=ay=a'</ST> %\emph{qu\v s\v s\=oy\=o}
+and soft sign <ST>ruwkk=ak+=a'</ST> %\emph{rukk\=o\b h\=o}
+\item automatic transcription mode
+\item interpunction
+\item proper dealing with ligatures
+%\item Chaldean vowels
+%\item unicode input
+\item <ST>'es.trangel=a'</ST> %and Chaldean glyphs
+\item numbers
+%\item support for typical encodings and for unicode (UTF-8) either via
+%%the preprocessor or via
+the \verb:inputenc.sty: package.
+%\item creating Type 1 fonts from the \MF-sources
+\item support for existing Syriac fonts
+\end{itemize}
+
+\section{Installation}
+
+The easiest way to install the fonts and the preprocessor is by installing
+the debian package (this includes only the {\tt pfb}, {\tt tfm} and {\tt afm} files for the fonts),
+the needed styles and the preprocessor, but not the \MF{} sources:
+
+{\verb+ +\tt sudo dpkg -i serto-\SertoVersion.deb}
+
+If you are not on a Debian or Ubuntu plateform, you need to install
+manually from the {\tt .tgz} file:
+
+
+\subsection{Using Metafont sources}
+Put the {\tt *.mf} files into a subdirectory {\tt serto} of your
+metafont branch in your {\tt texmf}-directory. For example using
+the texlive distribution under Linux, you should put them into
+{\tt\url{/usr/local/share/texmf/fonts/source/serto/}}. Do not forget to call {\tt texhash}
+in order to make the tex software find the newly installed fonts.
+
+\subsection{Using vector fonts}
+Using vector fonts depends a little from the \TeX-installation used, the following
+is tested for Ubuntu 12.04 and 10.04, it will probably work on Debian platforms as well, or
+other platforms using the texlive installation.
+
+\begin{itemize}
+ \item copy {\tt syriac.map} to {\tt /usr/local/share/texmf/fonts/map/dvips/config/}
+ \item copy {\tt *.afm} to {\tt /usr/local/share/texmf/fonts/afm/syriac/serto/}
+ \item copy {\tt *.pfb} to {\tt /usr/local/share/texmf/fonts/type1/syriac/}
+ \item add {\tt Map syriac.map} to {\tt /etc/texmf/updmap.d/10local.cfg}
+ \item run {\tt sudo update-updmap}
+ \item run {\tt sudo updmap-sys}
+\end{itemize}
+
+
+\subsection{Other files}
+The Stylefile etc. {\tt *.sty}, {\tt *.fd} go into a directory for
+stylefiles,
+e.g. \url{/usr/local/share/texmf/tex/latex/serto/}.
+
+The preprocessor {\tt serto.py} and the encoding file {\tt
+serto.font} somewhere where it can be found (e.g
+{\tt \url{/usr/local/bin}}). They must reside in the same directory unless you specify
+in the environment variable {\tt SERTOFONTDIR} the directory containing
+{\tt serto.font} and {\tt assyr.font}.
+Possibly you have to adjust the first line
+of the preprocessor \verb.#!/usr/bin/python. if your python
+interpreter is somewhere else.
+
+\section{License}
+
+This Material is subjec to the LaTeX Project Public Li­cense 1.3
+(\url{http://ctan.org/license/lppl1.3}).
+
+\section{Changelog}
+
+\begin{itemize}
+\item Version 1.0
+ \begin{itemize}
+ \item adding a character for the \emph{linea occultans} above the letter
+ \item {\tt SERTOFONTDIR} enviromnment variable to specify the directory of {\tt *.font} files
+ \item some UTF8 support
+ \end{itemize}
+\item Version 0.7
+ \begin{itemize}
+ \item Chaldean vowels
+ \item Integration of the Chaldean font provided by Tony Khoshaba
+ \item Major adjustements to the {\tt serto.py} preprocessor
+ \end{itemize}
+\item Version 0.2, 0.3 and 0.4
+ \begin{itemize}
+ \item can't remember, didn't keep track of changelog those days\dots
+ \end{itemize}
+\item Version 0.1
+ \begin{itemize}
+ \item Initial version
+ \end{itemize}
+\end{itemize}
+
+\bibliographystyle{engl}
+\bibliography{buch}
+
+
+\end{document}
diff --git a/Master/texmf-dist/fonts/afm/public/aramaic-serto/assy.afm b/Master/texmf-dist/fonts/afm/public/aramaic-serto/assy.afm
new file mode 100644
index 00000000000..e9916ba5640
--- /dev/null
+++ b/Master/texmf-dist/fonts/afm/public/aramaic-serto/assy.afm
@@ -0,0 +1,92 @@
+StartFontMetrics 2.0
+Comment Generated by FontForge 20110222
+Comment Creation Date: Sat Apr 6 18:20:42 2013
+FontName assy
+FullName assy
+FamilyName assy
+Weight Regular
+Notice (Generated from MetaFont bitmap by mftrace 1.2.17, http://www.xs4all.nl/~hanwen/mftrace/ )
+ItalicAngle 0
+IsFixedPitch false
+UnderlinePosition -100
+UnderlineThickness 50
+Version 001.001
+EncodingScheme FontSpecific
+FontBBox -44 -352 881 905
+CapHeight 533
+XHeight 711
+Ascender 600
+Descender -236
+StartCharMetrics 70
+C 1 ; WX 333 ; N acute ; B 0 353 361 692 ;
+C 2 ; WX 333 ; N circumflex ; B -28 318 373 588 ;
+C 3 ; WX 333 ; N tilde ; B -28 316 439 629 ;
+C 4 ; WX 333 ; N dieresis ; B -24 316 282 722 ;
+C 5 ; WX 333 ; N hungarumlaut ; B -29 467 361 905 ;
+C 6 ; WX 111 ; N ring ; B -25 353 136 536 ;
+C 12 ; WX 222 ; N ogonek ; B 0 221 246 579 ;
+C 13 ; WX 222 ; N quotesinglbase ; B 60 263 162 406 ;
+C 17 ; WX 333 ; N quotedblright ; B 9 124 370 461 ;
+C 18 ; WX 333 ; N quotedblbase ; B -44 175 361 462 ;
+C 19 ; WX 333 ; N guillemotleft ; B -28 94 439 405 ;
+C 20 ; WX 333 ; N guillemotright ; B -4 167 303 573 ;
+C 21 ; WX 333 ; N endash ; B -29 206 362 646 ;
+C 26 ; WX 333 ; N dotlessj ; B 0 116 257 507 ;
+C 27 ; WX 222 ; N ff ; B 60 152 162 295 ;
+C 36 ; WX 711 ; N dollar ; B 0 -178 711 533 ;
+C 38 ; WX 756 ; N ampersand ; B 45 0 756 884 ;
+C 42 ; WX 711 ; N asterisk ; B 0 0 711 711 ;
+C 45 ; WX 444 ; N hyphen ; B 0 0 444 178 ;
+C 60 ; WX 489 ; N less ; B 40 -351 492 645 ;
+C 61 ; WX 356 ; N equal ; B 0 0 356 533 ;
+C 62 ; WX 578 ; N greater ; B 44 -351 577 244 ;
+C 64 ; WX 578 ; N at ; B 58 -179 578 711 ;
+C 65 ; WX 400 ; N A ; B 44 -124 400 711 ;
+C 66 ; WX 622 ; N B ; B 0 0 623 533 ;
+C 68 ; WX 400 ; N D ; B 45 -178 400 533 ;
+C 69 ; WX 622 ; N E ; B 0 0 622 712 ;
+C 71 ; WX 889 ; N G ; B 0 -347 881 712 ;
+C 72 ; WX 578 ; N H ; B 44 0 578 533 ;
+C 73 ; WX 267 ; N I ; B 0 0 267 357 ;
+C 74 ; WX 889 ; N J ; B 0 -347 881 712 ;
+C 75 ; WX 533 ; N K ; B 0 0 533 534 ;
+C 76 ; WX 533 ; N L ; B 0 0 533 881 ;
+C 77 ; WX 711 ; N M ; B 0 0 711 533 ;
+C 78 ; WX 356 ; N N ; B 0 0 356 533 ;
+C 79 ; WX 489 ; N O ; B 43 0 489 533 ;
+C 80 ; WX 533 ; N P ; B 0 0 533 733 ;
+C 81 ; WX 489 ; N Q ; B 40 -351 492 534 ;
+C 82 ; WX 400 ; N R ; B 45 0 400 711 ;
+C 83 ; WX 622 ; N S ; B 0 0 622 534 ;
+C 84 ; WX 578 ; N T ; B 50 -1 578 533 ;
+C 85 ; WX 889 ; N U ; B 0 -347 881 712 ;
+C 86 ; WX 533 ; N V ; B 0 0 533 534 ;
+C 87 ; WX 711 ; N W ; B 0 -267 711 711 ;
+C 88 ; WX 533 ; N X ; B 0 -191 533 534 ;
+C 89 ; WX 533 ; N Y ; B 0 -152 533 534 ;
+C 90 ; WX 311 ; N Z ; B 44 -44 312 534 ;
+C 97 ; WX 400 ; N a ; B 44 0 400 711 ;
+C 98 ; WX 622 ; N b ; B 0 -196 623 533 ;
+C 100 ; WX 400 ; N d ; B 45 0 400 884 ;
+C 101 ; WX 533 ; N e ; B 0 0 533 712 ;
+C 103 ; WX 711 ; N g ; B 0 -348 711 711 ;
+C 104 ; WX 578 ; N h ; B 44 0 578 667 ;
+C 105 ; WX 533 ; N i ; B 0 0 533 357 ;
+C 106 ; WX 711 ; N j ; B 0 -348 711 711 ;
+C 107 ; WX 578 ; N k ; B 45 -352 578 534 ;
+C 109 ; WX 578 ; N m ; B 44 -44 578 533 ;
+C 110 ; WX 311 ; N n ; B 45 -351 311 356 ;
+C 111 ; WX 578 ; N o ; B 44 0 578 711 ;
+C 112 ; WX 533 ; N p ; B 0 -133 533 733 ;
+C 113 ; WX 489 ; N q ; B 40 -351 492 534 ;
+C 114 ; WX 400 ; N r ; B 45 0 400 711 ;
+C 115 ; WX 489 ; N s ; B 43 -351 489 312 ;
+C 116 ; WX 667 ; N t ; B 44 0 667 885 ;
+C 117 ; WX 711 ; N u ; B 0 -348 711 711 ;
+C 118 ; WX 533 ; N v ; B 0 0 533 533 ;
+C 120 ; WX 578 ; N x ; B 45 -352 578 534 ;
+C 121 ; WX 578 ; N y ; B 45 -352 578 645 ;
+C 122 ; WX 311 ; N z ; B 44 -44 312 685 ;
+C 124 ; WX 222 ; N bar ; B 44 0 222 357 ;
+EndCharMetrics
+EndFontMetrics
diff --git a/Master/texmf-dist/fonts/afm/public/aramaic-serto/assyrb10.afm b/Master/texmf-dist/fonts/afm/public/aramaic-serto/assyrb10.afm
new file mode 100644
index 00000000000..3a73ad333d1
--- /dev/null
+++ b/Master/texmf-dist/fonts/afm/public/aramaic-serto/assyrb10.afm
@@ -0,0 +1,92 @@
+StartFontMetrics 2.0
+Comment Generated by FontForge 20110222
+Comment Creation Date: Sat Apr 6 18:20:44 2013
+FontName assyrb10
+FullName assyrb10
+FamilyName assyrb10
+Weight Regular
+Notice (Generated from MetaFont bitmap by mftrace 1.2.17, http://www.xs4all.nl/~hanwen/mftrace/ )
+ItalicAngle 0
+IsFixedPitch false
+UnderlinePosition -100
+UnderlineThickness 50
+Version 001.001
+EncodingScheme FontSpecific
+FontBBox -51 -351 1320 1051
+CapHeight 533
+XHeight 711
+Ascender 600
+Descender -236
+StartCharMetrics 70
+C 1 ; WX 387 ; N acute ; B 1 410 420 803 ;
+C 2 ; WX 387 ; N circumflex ; B -32 367 434 683 ;
+C 3 ; WX 387 ; N tilde ; B -32 367 510 728 ;
+C 4 ; WX 387 ; N dieresis ; B -28 367 327 837 ;
+C 5 ; WX 387 ; N hungarumlaut ; B -32 541 419 1051 ;
+C 6 ; WX 129 ; N ring ; B -29 409 158 622 ;
+C 12 ; WX 258 ; N ogonek ; B 0 258 286 670 ;
+C 13 ; WX 258 ; N quotesinglbase ; B 70 304 188 471 ;
+C 17 ; WX 387 ; N quotedblright ; B 11 142 429 535 ;
+C 18 ; WX 387 ; N quotedblbase ; B -51 204 419 535 ;
+C 19 ; WX 387 ; N guillemotleft ; B -33 109 509 471 ;
+C 20 ; WX 387 ; N guillemotright ; B -4 193 351 664 ;
+C 21 ; WX 387 ; N endash ; B -33 238 420 750 ;
+C 26 ; WX 387 ; N dotlessj ; B 0 135 299 586 ;
+C 27 ; WX 258 ; N ff ; B 70 175 188 342 ;
+C 36 ; WX 1067 ; N dollar ; B 0 -178 1067 533 ;
+C 38 ; WX 1133 ; N ampersand ; B 67 0 1133 884 ;
+C 42 ; WX 1067 ; N asterisk ; B 0 0 1067 711 ;
+C 45 ; WX 667 ; N hyphen ; B 0 0 667 178 ;
+C 60 ; WX 733 ; N less ; B 60 -351 737 644 ;
+C 61 ; WX 533 ; N equal ; B 0 0 533 533 ;
+C 62 ; WX 867 ; N greater ; B 66 -351 866 245 ;
+C 64 ; WX 867 ; N at ; B 88 -179 867 711 ;
+C 65 ; WX 600 ; N A ; B 67 -125 600 711 ;
+C 66 ; WX 933 ; N B ; B 0 0 934 533 ;
+C 68 ; WX 600 ; N D ; B 67 -178 600 533 ;
+C 69 ; WX 933 ; N E ; B 0 0 933 711 ;
+C 71 ; WX 1333 ; N G ; B 0 -348 1320 711 ;
+C 72 ; WX 867 ; N H ; B 67 0 867 533 ;
+C 73 ; WX 400 ; N I ; B 0 -1 400 357 ;
+C 74 ; WX 1333 ; N J ; B 0 -348 1320 711 ;
+C 75 ; WX 800 ; N K ; B 0 0 800 533 ;
+C 76 ; WX 800 ; N L ; B 0 0 800 880 ;
+C 77 ; WX 1067 ; N M ; B 0 0 1067 533 ;
+C 78 ; WX 533 ; N N ; B 0 0 534 534 ;
+C 79 ; WX 733 ; N O ; B 66 0 733 534 ;
+C 80 ; WX 800 ; N P ; B 0 0 800 727 ;
+C 81 ; WX 733 ; N Q ; B 60 -351 737 533 ;
+C 82 ; WX 600 ; N R ; B 67 0 600 711 ;
+C 83 ; WX 933 ; N S ; B 0 0 933 533 ;
+C 84 ; WX 867 ; N T ; B 73 -1 867 534 ;
+C 85 ; WX 1333 ; N U ; B 0 -348 1320 711 ;
+C 86 ; WX 800 ; N V ; B 0 0 800 534 ;
+C 87 ; WX 1067 ; N W ; B 0 -267 1067 711 ;
+C 88 ; WX 800 ; N X ; B 0 -192 800 533 ;
+C 89 ; WX 800 ; N Y ; B 0 -151 800 533 ;
+C 90 ; WX 467 ; N Z ; B 67 -44 467 533 ;
+C 97 ; WX 600 ; N a ; B 67 0 600 711 ;
+C 98 ; WX 933 ; N b ; B 0 -196 934 533 ;
+C 100 ; WX 600 ; N d ; B 67 0 600 884 ;
+C 101 ; WX 800 ; N e ; B 0 0 800 711 ;
+C 103 ; WX 1067 ; N g ; B 0 -348 1067 712 ;
+C 104 ; WX 867 ; N h ; B 67 0 867 667 ;
+C 105 ; WX 800 ; N i ; B 0 -1 800 357 ;
+C 106 ; WX 1067 ; N j ; B 0 -348 1067 712 ;
+C 107 ; WX 867 ; N k ; B 67 -351 868 533 ;
+C 109 ; WX 867 ; N m ; B 67 -44 867 534 ;
+C 110 ; WX 467 ; N n ; B 67 -351 467 356 ;
+C 111 ; WX 867 ; N o ; B 67 0 867 711 ;
+C 112 ; WX 800 ; N p ; B 0 -133 800 727 ;
+C 113 ; WX 733 ; N q ; B 60 -351 737 533 ;
+C 114 ; WX 600 ; N r ; B 67 0 600 711 ;
+C 115 ; WX 733 ; N s ; B 66 -351 733 312 ;
+C 116 ; WX 1000 ; N t ; B 68 0 1000 884 ;
+C 117 ; WX 1067 ; N u ; B 0 -348 1067 712 ;
+C 118 ; WX 800 ; N v ; B 0 0 800 533 ;
+C 120 ; WX 867 ; N x ; B 67 -351 868 533 ;
+C 121 ; WX 867 ; N y ; B 67 -351 868 644 ;
+C 122 ; WX 467 ; N z ; B 67 -44 467 684 ;
+C 124 ; WX 333 ; N bar ; B 68 0 333 356 ;
+EndCharMetrics
+EndFontMetrics
diff --git a/Master/texmf-dist/fonts/afm/public/aramaic-serto/serto10.afm b/Master/texmf-dist/fonts/afm/public/aramaic-serto/serto10.afm
new file mode 100644
index 00000000000..c53f4373357
--- /dev/null
+++ b/Master/texmf-dist/fonts/afm/public/aramaic-serto/serto10.afm
@@ -0,0 +1,129 @@
+StartFontMetrics 2.0
+Comment Generated by FontForge 20110222
+Comment Creation Date: Sat Apr 6 18:20:37 2013
+FontName serto10
+FullName serto10
+FamilyName serto10
+Weight Regular
+Notice (Generated from MetaFont bitmap by mftrace 1.2.17, http://www.xs4all.nl/~hanwen/mftrace/ )
+ItalicAngle 0
+IsFixedPitch false
+UnderlinePosition -100
+UnderlineThickness 50
+Version 001.001
+EncodingScheme FontSpecific
+FontBBox -97 -488 1173 922
+CapHeight 589
+XHeight 111
+Ascender 277
+Descender 0
+StartCharMetrics 107
+C 1 ; WX 333 ; N acute ; B 0 353 361 692 ;
+C 2 ; WX 333 ; N circumflex ; B -28 318 373 588 ;
+C 3 ; WX 333 ; N tilde ; B -28 316 439 629 ;
+C 4 ; WX 333 ; N dieresis ; B -24 316 282 722 ;
+C 5 ; WX 333 ; N hungarumlaut ; B -29 467 361 905 ;
+C 6 ; WX 111 ; N ring ; B -25 353 136 536 ;
+C 7 ; WX 333 ; N caron ; B 38 549 350 717 ;
+C 8 ; WX 444 ; N breve ; B -14 2 348 109 ;
+C 12 ; WX 222 ; N ogonek ; B 0 221 246 579 ;
+C 13 ; WX 222 ; N quotesinglbase ; B 60 263 162 406 ;
+C 17 ; WX 333 ; N quotedblright ; B 9 124 370 461 ;
+C 18 ; WX 333 ; N quotedblbase ; B -44 175 361 462 ;
+C 19 ; WX 333 ; N guillemotleft ; B -28 94 439 405 ;
+C 20 ; WX 333 ; N guillemotright ; B -4 167 303 573 ;
+C 21 ; WX 333 ; N endash ; B -29 206 362 646 ;
+C 23 ; WX 444 ; N cwm ; B -14 2 348 109 ;
+C 26 ; WX 333 ; N dotlessj ; B 0 116 257 507 ;
+C 27 ; WX 222 ; N ff ; B 60 152 162 295 ;
+C 33 ; WX 667 ; N exclam ; B -1 -1 557 557 ;
+C 34 ; WX 667 ; N quotedbl ; B -1 -1 557 557 ;
+C 35 ; WX 667 ; N numbersign ; B 55 55 501 501 ;
+C 36 ; WX 667 ; N dollar ; B 38 55 517 501 ;
+C 37 ; WX 889 ; N percent ; B -16 87 905 356 ;
+C 38 ; WX 333 ; N ampersand ; B -16 -134 238 689 ;
+C 45 ; WX 333 ; N hyphen ; B 0 0 333 111 ;
+C 46 ; WX 333 ; N period ; B 39 27 183 194 ;
+C 58 ; WX 333 ; N colon ; B 39 27 184 528 ;
+C 65 ; WX 222 ; N A ; B -17 0 140 880 ; L t nacute ;
+C 66 ; WX 222 ; N B ; B -97 -174 222 922 ;
+C 67 ; WX 889 ; N C ; B -1 0 775 439 ;
+C 68 ; WX 889 ; N D ; B -1 0 889 439 ;
+C 69 ; WX 889 ; N E ; B 0 0 889 439 ;
+C 70 ; WX 889 ; N F ; B 0 0 775 439 ;
+C 71 ; WX 778 ; N G ; B 26 -357 857 277 ;
+C 72 ; WX 778 ; N H ; B 26 -357 857 277 ;
+C 73 ; WX 778 ; N I ; B 0 -357 857 178 ;
+C 74 ; WX 778 ; N J ; B 0 -357 857 178 ;
+C 75 ; WX 444 ; N K ; B 1 -295 279 444 ;
+C 76 ; WX 389 ; N L ; B 64 -328 389 214 ;
+C 77 ; WX 778 ; N M ; B -9 0 702 557 ;
+C 78 ; WX 833 ; N N ; B -9 0 833 557 ;
+C 79 ; WX 556 ; N O ; B -7 -1 451 556 ;
+C 80 ; WX 556 ; N P ; B -7 -1 556 556 ;
+C 81 ; WX 222 ; N Q ; B -45 -156 97 444 ;
+C 82 ; WX 222 ; N R ; B -45 -156 222 444 ;
+C 83 ; WX 756 ; N S ; B 0 0 645 289 ;
+C 84 ; WX 800 ; N T ; B 0 0 800 289 ;
+C 85 ; WX 667 ; N U ; B 0 0 667 289 ;
+C 86 ; WX 611 ; N V ; B 0 0 512 289 ;
+C 87 ; WX 689 ; N W ; B 0 -429 695 889 ;
+C 88 ; WX 911 ; N X ; B 0 -429 911 889 ;
+C 89 ; WX 778 ; N Y ; B -3 -429 778 889 ;
+C 90 ; WX 556 ; N Z ; B -3 -429 560 889 ;
+C 95 ; WX 556 ; N underscore ; B -16 0 573 44 ;
+C 105 ; WX 667 ; N i ; B -1 0 569 278 ;
+C 106 ; WX 667 ; N j ; B -1 0 667 278 ;
+C 107 ; WX 444 ; N k ; B 0 0 444 277 ;
+C 108 ; WX 444 ; N l ; B 0 0 347 277 ;
+C 109 ; WX 667 ; N m ; B 0 -328 569 278 ;
+C 110 ; WX 667 ; N n ; B 0 -328 667 278 ;
+C 111 ; WX 778 ; N o ; B 0 0 778 467 ;
+C 112 ; WX 778 ; N p ; B 0 0 678 467 ;
+C 113 ; WX 1278 ; N q ; B 13 0 1173 813 ;
+C 114 ; WX 1167 ; N r ; B 13 0 1167 813 ;
+C 115 ; WX 722 ; N s ; B 0 0 722 813 ; L B eng ;
+C 116 ; WX 778 ; N t ; B 0 0 655 813 ; L B ncaron ;
+C 117 ; WX 889 ; N u ; B 16 -349 805 539 ;
+C 118 ; WX 889 ; N v ; B 16 -349 889 539 ;
+C 119 ; WX 889 ; N w ; B 0 0 889 539 ;
+C 120 ; WX 944 ; N x ; B 0 0 860 539 ;
+C 121 ; WX 389 ; N y ; B 3 -488 615 103 ;
+C 122 ; WX 556 ; N z ; B 0 -481 558 111 ;
+C 129 ; WX 333 ; N Aogonek ; B 0 0 333 465 ;
+C 130 ; WX 333 ; N Cacute ; B 0 0 222 465 ;
+C 131 ; WX 1000 ; N Ccaron ; B 10 0 895 501 ;
+C 132 ; WX 1000 ; N Dcaron ; B 10 0 1000 501 ;
+C 133 ; WX 944 ; N Ecaron ; B 0 0 944 500 ;
+C 134 ; WX 944 ; N Eogonek ; B 0 0 838 500 ;
+C 135 ; WX 833 ; N Gbreve ; B 13 -10 716 480 ;
+C 136 ; WX 722 ; N Lacute ; B 13 -10 722 480 ;
+C 137 ; WX 500 ; N Lcaron ; B 0 0 500 480 ;
+C 138 ; WX 556 ; N Lslash ; B 0 0 439 480 ;
+C 139 ; WX 611 ; N Nacute ; B -1 0 527 500 ;
+C 140 ; WX 667 ; N Ncaron ; B -1 0 667 500 ;
+C 141 ; WX 667 ; N Eng ; B 0 0 667 500 ;
+C 142 ; WX 667 ; N Ohungarumlaut ; B 0 0 527 500 ;
+C 143 ; WX 611 ; N Racute ; B -13 -433 534 330 ;
+C 144 ; WX 556 ; N Rcaron ; B -13 -432 611 135 ;
+C 145 ; WX 778 ; N Sacute ; B 0 -1 673 556 ;
+C 146 ; WX 778 ; N Scaron ; B 0 -1 778 556 ;
+C 147 ; WX 639 ; N Scedilla ; B 0 -1 639 556 ;
+C 148 ; WX 667 ; N Tcaron ; B 0 -1 534 556 ;
+C 149 ; WX 444 ; N Tcedilla ; B 1 -77 279 661 ;
+C 150 ; WX 333 ; N Uhungarumlaut ; B 64 -111 389 430 ;
+C 151 ; WX 639 ; N Uring ; B 0 -1 556 334 ;
+C 152 ; WX 528 ; N Ydieresis ; B 0 0 528 334 ;
+C 153 ; WX 500 ; N Zacute ; B 0 0 500 334 ;
+C 154 ; WX 611 ; N Zcaron ; B 0 -1 528 334 ;
+C 155 ; WX 639 ; N Zdotaccent ; B 0 0 521 908 ;
+C 156 ; WX 722 ; N IJ ; B 0 0 722 908 ;
+C 157 ; WX 444 ; N Idotaccent ; B -6 -77 306 661 ;
+C 158 ; WX 333 ; N dcroat ; B 8 -111 389 431 ;
+C 159 ; WX 556 ; N section ; B -7 -1 451 861 ;
+C 160 ; WX 556 ; N abreve ; B -7 -1 556 861 ;
+C 171 ; WX 1056 ; N nacute ; B 0 0 932 813 ;
+C 172 ; WX 444 ; N ncaron ; B -97 -174 333 922 ;
+C 173 ; WX 444 ; N eng ; B -97 -174 444 922 ;
+EndCharMetrics
+EndFontMetrics
diff --git a/Master/texmf-dist/fonts/afm/public/aramaic-serto/sertob10.afm b/Master/texmf-dist/fonts/afm/public/aramaic-serto/sertob10.afm
new file mode 100644
index 00000000000..2f6dc57d31d
--- /dev/null
+++ b/Master/texmf-dist/fonts/afm/public/aramaic-serto/sertob10.afm
@@ -0,0 +1,129 @@
+StartFontMetrics 2.0
+Comment Generated by FontForge 20110222
+Comment Creation Date: Sat Apr 6 18:20:40 2013
+FontName sertob10
+FullName sertob10
+FamilyName sertob10
+Weight Regular
+Notice (Generated from MetaFont bitmap by mftrace 1.2.17, http://www.xs4all.nl/~hanwen/mftrace/ )
+ItalicAngle 0
+IsFixedPitch false
+UnderlinePosition -100
+UnderlineThickness 50
+Version 001.001
+EncodingScheme FontSpecific
+FontBBox -124 -619 1469 1153
+CapHeight 736
+XHeight 160
+Ascender 449
+Descender -21
+StartCharMetrics 107
+C 1 ; WX 417 ; N acute ; B -10 435 462 872 ;
+C 2 ; WX 417 ; N circumflex ; B -45 390 476 742 ;
+C 3 ; WX 417 ; N tilde ; B -46 390 559 791 ;
+C 4 ; WX 417 ; N dieresis ; B -40 389 360 909 ;
+C 5 ; WX 417 ; N hungarumlaut ; B -45 577 462 1139 ;
+C 6 ; WX 139 ; N ring ; B -49 423 188 688 ;
+C 7 ; WX 417 ; N caron ; B 33 673 452 911 ;
+C 8 ; WX 556 ; N breve ; B -23 -18 440 157 ;
+C 12 ; WX 278 ; N ogonek ; B -1 278 352 801 ;
+C 13 ; WX 278 ; N quotesinglbase ; B 56 300 221 533 ;
+C 17 ; WX 417 ; N quotedblright ; B 1 146 473 583 ;
+C 18 ; WX 417 ; N quotedblbase ; B -66 213 462 583 ;
+C 19 ; WX 417 ; N guillemotleft ; B -46 111 559 514 ;
+C 20 ; WX 417 ; N guillemotright ; B -13 202 387 722 ;
+C 21 ; WX 417 ; N endash ; B -45 250 462 812 ;
+C 23 ; WX 556 ; N cwm ; B -23 -18 440 157 ;
+C 26 ; WX 417 ; N dotlessj ; B 0 106 365 672 ;
+C 27 ; WX 278 ; N ff ; B 56 161 221 394 ;
+C 33 ; WX 833 ; N exclam ; B -20 -21 716 716 ;
+C 34 ; WX 833 ; N quotedbl ; B -20 -21 716 716 ;
+C 35 ; WX 833 ; N numbersign ; B 49 48 646 646 ;
+C 36 ; WX 833 ; N dollar ; B 42 48 652 646 ;
+C 37 ; WX 1111 ; N percent ; B -28 101 1137 454 ;
+C 38 ; WX 417 ; N ampersand ; B -26 -175 305 869 ;
+C 45 ; WX 417 ; N hyphen ; B 0 -21 417 160 ;
+C 46 ; WX 417 ; N period ; B 33 20 244 258 ;
+C 58 ; WX 417 ; N colon ; B 33 20 244 674 ;
+C 65 ; WX 278 ; N A ; B -41 0 185 1118 ; L t nacute ;
+C 66 ; WX 278 ; N B ; B -124 -221 278 1153 ;
+C 67 ; WX 1111 ; N C ; B 0 -21 1014 576 ;
+C 68 ; WX 1111 ; N D ; B 0 -21 1111 576 ;
+C 69 ; WX 1111 ; N E ; B 0 -21 1111 576 ;
+C 70 ; WX 1111 ; N F ; B 0 -21 1014 576 ;
+C 71 ; WX 972 ; N G ; B 39 -457 1082 347 ;
+C 72 ; WX 972 ; N H ; B 39 -457 1082 347 ;
+C 73 ; WX 972 ; N I ; B 0 -457 1082 237 ;
+C 74 ; WX 972 ; N J ; B 0 -457 1082 237 ;
+C 75 ; WX 556 ; N K ; B -1 -383 346 556 ;
+C 76 ; WX 486 ; N L ; B 62 -425 486 285 ;
+C 77 ; WX 972 ; N M ; B -23 -22 890 717 ;
+C 78 ; WX 1042 ; N N ; B -23 -22 1042 717 ;
+C 79 ; WX 694 ; N O ; B -9 0 564 694 ;
+C 80 ; WX 694 ; N P ; B -9 -21 694 694 ;
+C 81 ; WX 278 ; N Q ; B -61 -200 133 556 ;
+C 82 ; WX 278 ; N R ; B -61 -200 278 556 ;
+C 83 ; WX 944 ; N S ; B 0 -21 814 361 ;
+C 84 ; WX 1000 ; N T ; B 0 -22 1000 361 ;
+C 85 ; WX 833 ; N U ; B 0 -21 833 361 ;
+C 86 ; WX 764 ; N V ; B 0 -21 646 361 ;
+C 87 ; WX 861 ; N W ; B 0 -551 886 1111 ;
+C 88 ; WX 1139 ; N X ; B 0 -551 1139 1111 ;
+C 89 ; WX 972 ; N Y ; B -23 -551 972 1111 ;
+C 90 ; WX 694 ; N Z ; B -23 -551 719 1111 ;
+C 95 ; WX 694 ; N underscore ; B -27 0 721 72 ;
+C 105 ; WX 833 ; N i ; B 0 -21 712 449 ;
+C 106 ; WX 833 ; N j ; B 0 -21 833 449 ;
+C 107 ; WX 556 ; N k ; B 0 -21 556 449 ;
+C 108 ; WX 556 ; N l ; B 0 -21 433 450 ;
+C 109 ; WX 833 ; N m ; B 0 -597 712 449 ;
+C 110 ; WX 833 ; N n ; B 0 -597 833 449 ;
+C 111 ; WX 972 ; N o ; B 0 -21 972 592 ;
+C 112 ; WX 972 ; N p ; B 0 -21 870 592 ;
+C 113 ; WX 1597 ; N q ; B 2 0 1469 1030 ;
+C 114 ; WX 1458 ; N r ; B 2 -21 1458 1030 ;
+C 115 ; WX 903 ; N s ; B 0 -21 903 1030 ; L B eng ;
+C 116 ; WX 972 ; N t ; B 0 -21 840 1030 ; L B ncaron ;
+C 117 ; WX 1111 ; N u ; B 6 -442 1017 689 ;
+C 118 ; WX 1111 ; N v ; B 6 -442 1111 689 ;
+C 119 ; WX 1111 ; N w ; B 0 -21 1111 689 ;
+C 120 ; WX 1181 ; N x ; B 0 -21 1087 689 ;
+C 121 ; WX 486 ; N y ; B -18 -619 770 148 ;
+C 122 ; WX 694 ; N z ; B -21 -606 698 160 ;
+C 129 ; WX 417 ; N Aogonek ; B 0 -21 417 589 ;
+C 130 ; WX 417 ; N Cacute ; B 0 -21 298 589 ;
+C 131 ; WX 1250 ; N Ccaron ; B 14 -21 1122 646 ;
+C 132 ; WX 1250 ; N Dcaron ; B 14 -21 1250 646 ;
+C 133 ; WX 1181 ; N Ecaron ; B 0 -21 1181 646 ;
+C 134 ; WX 1181 ; N Eogonek ; B 0 -21 1053 646 ;
+C 135 ; WX 1042 ; N Gbreve ; B 1 -29 900 613 ;
+C 136 ; WX 903 ; N Lacute ; B 1 -28 903 613 ;
+C 137 ; WX 625 ; N Lcaron ; B 0 -21 625 614 ;
+C 138 ; WX 694 ; N Lslash ; B 0 -21 553 614 ;
+C 139 ; WX 764 ; N Nacute ; B 0 -21 661 646 ;
+C 140 ; WX 833 ; N Ncaron ; B 0 -21 833 646 ;
+C 141 ; WX 833 ; N Eng ; B 0 -21 833 646 ;
+C 142 ; WX 833 ; N Ohungarumlaut ; B 0 -21 661 646 ;
+C 143 ; WX 764 ; N Racute ; B -22 -559 685 432 ;
+C 144 ; WX 694 ; N Rcaron ; B -22 -557 764 177 ;
+C 145 ; WX 972 ; N Sacute ; B 0 -21 842 694 ;
+C 146 ; WX 972 ; N Scaron ; B 0 -21 972 694 ;
+C 147 ; WX 799 ; N Scedilla ; B 0 -21 799 694 ;
+C 148 ; WX 833 ; N Tcaron ; B 0 -21 668 694 ;
+C 149 ; WX 556 ; N Tcedilla ; B -1 -93 346 841 ;
+C 150 ; WX 417 ; N Uhungarumlaut ; B 62 -139 486 571 ;
+C 151 ; WX 799 ; N Uring ; B 0 -22 694 458 ;
+C 152 ; WX 660 ; N Ydieresis ; B 0 -21 660 458 ;
+C 153 ; WX 625 ; N Zacute ; B 0 -21 625 458 ;
+C 154 ; WX 764 ; N Zcaron ; B 0 -21 660 458 ;
+C 155 ; WX 799 ; N Zdotaccent ; B 0 -14 660 1142 ;
+C 156 ; WX 903 ; N IJ ; B 0 -21 903 1142 ;
+C 157 ; WX 556 ; N Idotaccent ; B -22 -93 397 842 ;
+C 158 ; WX 417 ; N dcroat ; B 13 -139 486 571 ;
+C 159 ; WX 694 ; N section ; B -9 0 564 1091 ;
+C 160 ; WX 694 ; N abreve ; B -9 -21 694 1091 ;
+C 171 ; WX 1319 ; N nacute ; B 0 -21 1170 1030 ;
+C 172 ; WX 556 ; N ncaron ; B -124 -221 438 1153 ;
+C 173 ; WX 556 ; N eng ; B -124 -221 556 1153 ;
+EndCharMetrics
+EndFontMetrics
diff --git a/Master/texmf-dist/fonts/map/dvips/aramaic-serto/syriac.map b/Master/texmf-dist/fonts/map/dvips/aramaic-serto/syriac.map
new file mode 100644
index 00000000000..eb0f32e1984
--- /dev/null
+++ b/Master/texmf-dist/fonts/map/dvips/aramaic-serto/syriac.map
@@ -0,0 +1,8 @@
+
+% serto font series
+serto10 Serto-10 <serto10.pfb
+sertob10 SertoBold-10 <sertob10.pfb
+assy Assyr-10 <assy.pfb
+assyrb10 AssyrBold-10 <assyrb10.pfb
+
+
diff --git a/Master/texmf-dist/fonts/source/public/aramaic-serto/assy.mf b/Master/texmf-dist/fonts/source/public/aramaic-serto/assy.mf
new file mode 100644
index 00000000000..2fd8f5a6813
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/aramaic-serto/assy.mf
@@ -0,0 +1,104 @@
+
+
+% This is a free program written by TONY KHOSHABA, May 1995.
+% Modifications to be used with serto - LaTeX-package by Johannes Heinecke
+% 8 November 2003
+
+u#:=16/36pt#; % unit width Change ONLY this
+ % parameter to change the size of the fonts.
+boxx#:=4u#; % Asyyrian font basic size boxx.
+huassyr#:=u#;
+vuassyr#:=u#;
+%ht#:=5boxx#; % height of the character
+font_size 10pt#;
+%font_size 7boxx#; % the design size of the fonts
+%xgap#:=0.6pt#; % horizontal adjustment
+
+% For vowels taken from sertofont.mf
+stu#:= 2.5u#; % the unit, used in serto10.mf
+hu#:=stu#; % the horizontal unit
+vu#:=stu#; % the vertical unit
+basestroke# := stu#;
+
+%s#:=0#; % extra space at the left and the right
+%o#:=2boxx#; % overshoot
+%px#:=2/3pt#; % horizontal thickness of the pen;
+px#:=3/2u#;
+slant :=0; % This parameter controls the slantness of the
+ % fonts. Change it to for example 1/4 or -1/4 to
+ % produce italic fonts.
+mode_setup;
+if unknown slant: slant :=0
+else: currenttransform:= identity slanted slant yscaled aspect_ratio
+fi;
+
+%ygap#:=(ht#/13.5u#)*xgap#; % vertical adjustment
+%ho#:=0#; % horizontal overshoot
+%leftstemloc#:=2.5u#+s#; % position of left stem
+%barheight#:=0.45ht#; % height of bar lines
+py#:=0.9px#; % vertical pen thickness
+
+%% Font-Parameter for TeX %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Added by Johannes Heinecke
+font_quad 5u#; % 1 em
+font_x_height 4u#; % 1 ex (used by syriac.sty to define accent position)
+font_normal_space 6u#; % word gap
+font_normal_stretch 4u#; % word gap may stretch by ...
+font_normal_shrink 2u#; % word gap my shrink by ...
+font_slant slant;
+
+
+define_pixels(hu, vu, basestroke);
+%%% Taken from sertobase.mf (for vowels)
+ pickup pencircle xscaled .5basestroke yscaled .3basestroke;
+ vowel_pen:=savepen;
+
+ pickup pencircle xscaled .5basestroke yscaled .2basestroke rotated 30;
+ vowelII_pen:=savepen;
+
+ pickup pencircle xscaled .3basestroke yscaled .2basestroke rotated 30;
+ vowelIII_pen:=savepen;
+let sertochar=\;
+
+
+define_pixels(u,huassyr,vuassyr);
+%define_whole_pixels(xgap);
+%define_whole_vertical_pixels(ygap);
+define_blacker_pixels(px,py);
+pickup pencircle xscaled px yscaled py;
+logo_pen:=savepen;
+%define_good_x_pixels(leftstemloc);
+%define_good_y_pixels(barheight);
+%define_corrected_pixels(o);
+%define_horizontal_corrected_pixels(ho);
+
+ def makebox(text r) =
+
+ for y=0 step u until h:
+ r((0, y), (w, y));
+ endfor
+
+ for y=0, -d, h:
+ r((0, y), (w, y));
+ endfor
+
+ % vertical lines on x-values:
+ for x=0 step u until w:
+ r((x, -d), (x, h));
+ endfor
+enddef;
+
+
+input assyrfont;
+input syriacvowels;
+
+end;
+
+
+
+
+
+
+
+
+
diff --git a/Master/texmf-dist/fonts/source/public/aramaic-serto/assyrb10.mf b/Master/texmf-dist/fonts/source/public/aramaic-serto/assyrb10.mf
new file mode 100644
index 00000000000..a2645cea4a7
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/aramaic-serto/assyrb10.mf
@@ -0,0 +1,103 @@
+
+% This is a free program written by TONY KHOSHABA, May 1995.
+% Modifications to be used with serto - LaTeX-package by Johannes Heinecke
+% 8 November 2003
+
+u#:=16/36pt#; % unit width Change ONLY this
+ % parameter to change the size of the fonts.
+boxx#:=4u#; % Asyyrian font basic size boxx.
+huassyr#:=1.5u#; % 'bold' means larger here
+vuassyr#:=u#;
+%ht#:=5boxx#; % height of the character
+font_size 10pt#;
+%font_size 7boxx#; % the design size of the fonts
+%xgap#:=0.6pt#; % horizontal adjustment
+
+% For vowels taken from sertofont.mf
+stu#:= 2.9u#; % the unit, used in serto10.mf
+hu#:=stu#; % the horizontal unit
+vu#:=stu#; % the vertical unit
+basestroke# := stu#;
+
+%s#:=0#; % extra space at the left and the right
+%o#:=2boxx#; % overshoot
+%px#:=2/3pt#; % horizontal thickness of the pen;
+px#:=3/2u#;
+slant :=0; % This parameter controls the slantness of the
+ % fonts. Change it to for example 1/4 or -1/4 to
+ % produce italic fonts.
+mode_setup;
+if unknown slant: slant :=0
+else: currenttransform:= identity slanted slant yscaled aspect_ratio
+fi;
+
+%ygap#:=(ht#/13.5u#)*xgap#; % vertical adjustment
+%ho#:=0#; % horizontal overshoot
+%leftstemloc#:=2.5u#+s#; % position of left stem
+%barheight#:=0.45ht#; % height of bar lines
+py#:=0.9px#; % vertical pen thickness
+
+%% Font-Parameter for TeX %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Added by Johannes Heinecke
+font_quad 5u#; % 1 em
+font_x_height 4u#; % 1 ex (used by syriac.sty to define accent position)
+font_normal_space 6u#; % word gap
+font_normal_stretch 4u#; % word gap may stretch by ...
+font_normal_shrink 2u#; % word gap my shrink by ...
+font_slant slant;
+
+
+define_pixels(hu, vu, basestroke);
+%%% Taken from sertobase.mf (for vowels)
+ pickup pencircle xscaled .5basestroke yscaled .3basestroke;
+ vowel_pen:=savepen;
+
+ pickup pencircle xscaled .5basestroke yscaled .2basestroke rotated 30;
+ vowelII_pen:=savepen;
+
+ pickup pencircle xscaled .3basestroke yscaled .2basestroke rotated 30;
+ vowelIII_pen:=savepen;
+let sertochar=\;
+
+
+define_pixels(u,huassyr,vuassyr);
+%define_whole_pixels(xgap);
+%define_whole_vertical_pixels(ygap);
+define_blacker_pixels(px,py);
+pickup pencircle xscaled px yscaled py;
+logo_pen:=savepen;
+%define_good_x_pixels(leftstemloc);
+%define_good_y_pixels(barheight);
+%define_corrected_pixels(o);
+%define_horizontal_corrected_pixels(ho);
+
+ def makebox(text r) =
+
+ for y=0 step u until h:
+ r((0, y), (w, y));
+ endfor
+
+ for y=0, -d, h:
+ r((0, y), (w, y));
+ endfor
+
+ % vertical lines on x-values:
+ for x=0 step u until w:
+ r((x, -d), (x, h));
+ endfor
+enddef;
+
+
+input assyrfont;
+input syriacvowels;
+
+end;
+
+
+
+
+
+
+
+
+
diff --git a/Master/texmf-dist/fonts/source/public/aramaic-serto/assyrfont.mf b/Master/texmf-dist/fonts/source/public/aramaic-serto/assyrfont.mf
new file mode 100644
index 00000000000..9bef2c80668
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/aramaic-serto/assyrfont.mf
@@ -0,0 +1,2015 @@
+% Taken from `assy.mf' by TONY KHOSHABA, May 1995.
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+dwidth#:=2boxx#;
+dheight#:=5boxx#;
+ddepth#:=2boxx#;
+dleft#:=1/4*boxx#;
+
+%beginchar("D",dwidth#+dleft#,12vuassyr#,4vuassyr#);
+beginchar("D",9huassyr#,12vuassyr#,4vuassyr#);
+"The letter Dallat";
+z1=(1huassyr,0);
+z2=(8huassyr,0);
+z3=(9huassyr,1vuassyr);
+z5=(9huassyr,4vuassyr);
+z6=(8huassyr,10vuassyr);
+z7=(5huassyr,12vuassyr);
+z9=(2huassyr,11vuassyr);
+z10=(2huassyr,7vuassyr);
+z11=(2.02huassyr,7vuassyr);
+z15=(4huassyr,8vuassyr);
+z17=(6huassyr,4vuassyr);
+z18=(2huassyr,4vuassyr);
+
+z19=(3huassyr,-1vuassyr);
+z21=(6huassyr,-1vuassyr);
+z23=(6huassyr,-4vuassyr);
+z25=(3huassyr,-4vuassyr);
+
+pickup logo_pen;
+fill z1--z2{right}..{up}z3{up}..{up}z5{up}..z6..{left}z7{left}..z9
+--z10{right}..z11..{right}z15{right}..{down}z17--z18--cycle;
+fill z19--z21--z23--z25--cycle;
+labels(range 1 thru 25);
+endchar;
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+rwidth#:=2boxx#;
+rheight#:=5boxx#;
+rdepth#:=2boxx#;
+rleft#:=1/4*boxx#;
+
+beginchar("R",9huassyr#,16vuassyr#,0);"The letter Resh";
+z1=(1huassyr,0);
+z2=(8huassyr,0);
+z3=(9huassyr,1vuassyr);
+z5=(9huassyr,4vuassyr);
+z6=(8huassyr,10vuassyr);
+z7=(5huassyr,12vuassyr);
+z9=(2huassyr,11vuassyr);
+z10=(2huassyr,7vuassyr);
+z11=(2.02huassyr,7vuassyr);
+z15=(4huassyr,8vuassyr);
+z17=(6huassyr,4vuassyr);
+z18=(2huassyr,4vuassyr);
+
+z19=(3huassyr,13vuassyr);
+z21=(6huassyr,13vuassyr);
+z23=(6huassyr,16vuassyr);
+z25=(3huassyr,16vuassyr);
+
+pickup logo_pen;
+fill z1--z2{right}..{up}z3{up}..{up}z5{up}..z6..{left}z7{left}..z9
+--z10{right}..z11..{right}z15{right}..{down}z17--z18--cycle;
+fill z19--z21--z23--z25--cycle;
+endchar;
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+beginchar("r",9huassyr#,16vuassyr#,0);"The letter Resh with siami";
+z1=(1huassyr,0);
+z2=(8huassyr,0);
+z3=(9huassyr,1vuassyr);
+z5=(9huassyr,4vuassyr);
+z6=(8huassyr,10vuassyr);
+z7=(5huassyr,12vuassyr);
+z9=(2huassyr,11vuassyr);
+z10=(2huassyr,7vuassyr);
+z11=(2.02huassyr,7vuassyr);
+z15=(4huassyr,8vuassyr);
+z17=(6huassyr,4vuassyr);
+z18=(2huassyr,4vuassyr);
+
+z19=(2huassyr,13vuassyr);
+z21=(5huassyr,13vuassyr);
+z23=(5huassyr,16vuassyr);
+z25=(2huassyr,16vuassyr);
+
+z29=(6huassyr,13vuassyr);
+z31=(9huassyr,13vuassyr);
+z33=(9huassyr,16vuassyr);
+z35=(6huassyr,16vuassyr);
+
+pickup logo_pen;
+fill z1--z2{right}..{up}z3{up}..{up}z5{up}..z6..{left}z7{left}..z9
+--z10{right}..z11..{right}z15{right}..{down}z17--z18--cycle;
+fill z19--z21--z23--z25--cycle;
+fill z29--z31--z33--z35--cycle;
+endchar;
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+beginchar("d",9huassyr#,20vuassyr#,0);"The letter Resh with siami and talghana";
+z1=(1huassyr,0);
+z2=(8huassyr,0);
+z3=(9huassyr,1vuassyr);
+z5=(9huassyr,4vuassyr);
+z6=(8huassyr,10vuassyr);
+z7=(5huassyr,12vuassyr);
+z9=(2huassyr,11vuassyr);
+z10=(2huassyr,7vuassyr);
+z11=(2.02huassyr,7vuassyr);
+z15=(4huassyr,8vuassyr);
+z17=(6huassyr,4vuassyr);
+z18=(2huassyr,4vuassyr);
+
+z19=(2huassyr,13vuassyr);
+z21=(5huassyr,13vuassyr);
+z23=(5huassyr,16vuassyr);
+z25=(2huassyr,16vuassyr);
+
+z29=(6huassyr,13vuassyr);
+z31=(9huassyr,13vuassyr);
+z33=(9huassyr,16vuassyr);
+z35=(6huassyr,16vuassyr);
+
+z39=(4huassyr,16.9vuassyr);
+z41=(9huassyr,18.9vuassyr);
+z43=(9huassyr,19.9vuassyr);
+z45=(4huassyr,17.9vuassyr);
+
+pickup logo_pen;
+fill z1--z2{right}..{up}z3{up}..{up}z5{up}..z6..{left}z7{left}..z9
+--z10{right}..z11..{right}z15{right}..{down}z17--z18--cycle;
+fill z19--z21--z23--z25--cycle;
+fill z29--z31--z33--z35--cycle;
+fill z39--z41--z43--z45--cycle;
+endchar;
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+rwidth#:=2.5boxx#;
+rheight#:=5boxx#;
+rdepth#:=2boxx#;
+rleft#:=0#;
+
+beginchar("-",10huassyr#,4vuassyr#,0);"Big Dash";
+z1=(0,0);
+z2=(9huassyr,0);
+z3=(10huassyr,1vuassyr);
+z5=(10huassyr,4vuassyr);
+z6=(0,4vuassyr);
+pickup logo_pen;
+fill z1--z2{right}..{up}z3--z5{up}--z6--cycle;
+endchar;
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+rwidth#:=2boxx#;
+rheight#:=5boxx#;
+rdepth#:=2boxx#;
+rleft#:=0#;
+
+beginchar("=",8huassyr#,12vuassyr#,0);"Siami";
+z1=(0,0);
+z2=(7huassyr,0);
+z3=(8huassyr,1vuassyr);
+z5=(8huassyr,4vuassyr);
+z6=(0,4vuassyr);
+
+z7=(1huassyr,9vuassyr);
+z8=(4huassyr,9vuassyr);
+z9=(4huassyr,12vuassyr);
+z10=(1huassyr,12vuassyr);
+
+z11=(5huassyr,9vuassyr);
+z12=(8huassyr,9vuassyr);
+z13=(8huassyr,12vuassyr);
+z14=(5huassyr,12vuassyr);
+
+pickup logo_pen;
+fill z1--z2{right}..{up}z3--z5{up}--z6--cycle;
+fill z7--z8--z9--z10--cycle;
+fill z11--z12--z13--z14--cycle;
+
+endchar;
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+rwidth#:=2boxx#;
+rheight#:=5boxx#;
+rdepth#:=2boxx#;
+rleft#:=0#;
+
+beginchar("N",8huassyr#,12vuassyr#,0);"Non";
+z1=(0,0);
+z2=(7huassyr,0);
+z3=(8huassyr,1vuassyr);
+z4=(8huassyr,3vuassyr);
+z5=(8huassyr,4vuassyr);
+z6=(6.6huassyr,9vuassyr);
+
+z7=(7huassyr,11.8vuassyr);
+z8=(6.9huassyr,12vuassyr);
+z9=(5.2huassyr,11vuassyr);
+z10=(3.1huassyr,11vuassyr);
+
+z11=(2.4huassyr,10vuassyr);
+z12=(2huassyr,7.4vuassyr);
+z13=(3.5huassyr,6vuassyr);
+z14=(4.8huassyr,4vuassyr);
+z15=(0,4vuassyr);
+
+pickup logo_pen;
+fill z1--z2{right}..{up}z3--z4{up}..z5..{up}z6..{up}z7..{left}z8..{left}z9..{left}z10..
+z11..{down}z12..z13..{down}z14--z15--cycle;
+
+endchar;
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+rwidth#:=boxx#;
+rheight#:=5boxx#;
+rdepth#:=2boxx#;
+rleft#:=1/4boxx#;
+
+beginchar("|",5huassyr#,8vuassyr#,0);"Tail";
+z1=(5huassyr,0);
+z2=(5huassyr,4vuassyr);
+z3=(1.8huassyr,7vuassyr);
+z5=(1.8huassyr,7.3vuassyr);
+z6=(1.4huassyr,8vuassyr);
+z8=(1huassyr,7.3vuassyr);
+z9=(1huassyr,3vuassyr);
+z10=(4huassyr,0);
+pickup logo_pen;
+fill z1--z2{left}..z3..{up}z5{up}..{left}z6{left}..{down}z8{down}..
+{down}z9{down}..{right}z10--cycle;
+endchar;
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+kwidth#:=3boxx#;
+kheight#:=5boxx#;
+kdepth#:=2boxx#;
+kleft#:=0#;
+
+beginchar("K",12huassyr#,12vuassyr#,0);"The letter Kap";
+z1=(0,0);
+z2=(11huassyr,0);
+z3=(12huassyr,1vuassyr);
+z5=(12huassyr,4vuassyr);
+z7=(8.7huassyr,10vuassyr);
+z11=(5.5huassyr,12vuassyr);
+z13=(3huassyr,10.2vuassyr);
+z15=(2huassyr,7vuassyr);
+z17=(2.6huassyr,7.3vuassyr);
+z19=(4.5huassyr,8vuassyr);
+z21=(7huassyr,6.5vuassyr);
+z23=(8.5huassyr,4vuassyr);
+z25=(0,4vuassyr);
+
+pickup logo_pen;
+fill z1--z2{right}..{up}z3{up}..{up}z5..z7..{left}z11{left}..z13
+..{down}z15{right}..z17..{right}z19{right}..z21..z23--z25--cycle;
+endchar;
+
+beginchar("X",12huassyr#,12vuassyr#,4.3vuassyr#);"The letter Khap";
+z1=(0,0);
+z2=(11huassyr,0);
+z3=(12huassyr,1vuassyr);
+z5=(12huassyr,4vuassyr);
+z7=(8.7huassyr,10vuassyr);
+z11=(5.5huassyr,12vuassyr);
+z13=(3huassyr,10.2vuassyr);
+z15=(2huassyr,7vuassyr);
+z17=(2.6huassyr,7.3vuassyr);
+z19=(4.5huassyr,8vuassyr);
+z21=(7huassyr,6.5vuassyr);
+z23=(8.5huassyr,4vuassyr);
+z25=(0,4vuassyr);
+
+z27=(6huassyr, -1.2vuassyr);
+z29=(6.3huassyr, -1.5vuassyr);
+z31=(6.5huassyr, -2.5vuassyr);
+z33=(6.3huassyr, -4vuassyr);
+z35=(6huassyr, -4.3vuassyr);
+z37=(5.7huassyr, -4vuassyr);
+z39=(5.5huassyr, -2.5vuassyr);
+z41=(5.7huassyr, -1.5vuassyr);
+
+pickup logo_pen;
+fill z1--z2{right}..{up}z3{up}..{up}z5..z7..{left}z11{left}..z13
+..{down}z15{right}..z17..{right}z19{right}..z21..z23--z25--cycle;
+
+fill z27{right}..z29..{down}z31{down}..z33..{left}z35{left}..z37..
+{up}z39{up}..z41..{right}cycle;
+endchar;
+
+beginchar("Y",12huassyr#,12vuassyr#,3vuassyr#);"The letter Chap";
+z1=(0,0);
+z2=(11huassyr,0);
+z3=(12huassyr,1vuassyr);
+z5=(12huassyr,4vuassyr);
+z7=(8.7huassyr,10vuassyr);
+z11=(5.5huassyr,12vuassyr);
+z13=(3huassyr,10.2vuassyr);
+z15=(2huassyr,7vuassyr);
+z17=(2.6huassyr,7.3vuassyr);
+z19=(4.5huassyr,8vuassyr);
+z21=(7huassyr,6.5vuassyr);
+z23=(8.5huassyr,4vuassyr);
+z25=(0,4vuassyr);
+
+z27=(4.2huassyr, -3.4vuassyr);
+z29=(5huassyr, -2.6vuassyr);
+z31=(6.3huassyr, -3.2vuassyr);
+z33=(7huassyr, -2vuassyr);
+z35=(6.8huassyr, -1.4vuassyr);
+z37=(6huassyr, -2.3vuassyr);
+z39=(4.6huassyr, -1.8vuassyr);
+z41=(4huassyr, -2.8vuassyr);
+
+pickup logo_pen;
+fill z1--z2{right}..{up}z3{up}..{up}z5..z7..{left}z11{left}..z13
+..{down}z15{right}..z17..{right}z19{right}..z21..z23--z25--cycle;
+
+fill z27{right}..{right}z29{right}..{right}z31{right}..{up}z33{up}..{left}z35{left}
+..{left}z37{left}..{left}z39{left}..{down}z41{down}..{right}cycle;
+endchar;
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+swidth#:=3.5boxx#;
+sheight#:=5boxx#;
+sdepth#:=2boxx#;
+sleft#:=0#;
+
+beginchar("S",14huassyr#,12vuassyr#,0);"The letter Simkat";
+z1=(0,0);
+z2=(5.5huassyr,0);
+z3=(5.5huassyr,1vuassyr);
+z5=(7huassyr,0.3vuassyr);
+z7=(8huassyr,0);
+z11=(13huassyr,0);
+z13=(14huassyr,1vuassyr);
+z15=(14huassyr,4vuassyr);
+z17=(12huassyr,10.6vuassyr);
+z19=(11huassyr,11vuassyr);
+z21=(9huassyr,10vuassyr);
+z22=(8.52huassyr,9.32vuassyr);
+z23=(8.5huassyr,9.3vuassyr);
+z24=(8.48huassyr,9.32vuassyr);
+z25=(6huassyr,11.7vuassyr);
+
+z27=(5huassyr,12vuassyr);
+%z29=(3huassyr,10.3vuassyr);
+z31=(2huassyr,7vuassyr);
+z33=(2.8huassyr,4vuassyr);
+z35=(0,4vuassyr);
+
+z37=(7.8huassyr,4vuassyr);
+z39=(11huassyr,4vuassyr);
+z41=(11huassyr,6vuassyr);
+z43=(10huassyr,7vuassyr);
+z45=(8.7huassyr,6vuassyr);
+z46=(7.82huassyr,4.02vuassyr);
+
+z47=(7huassyr,4vuassyr);
+z49=(6huassyr,7.7vuassyr);
+z51=(5huassyr,8vuassyr);
+z53=(4.3huassyr,7vuassyr);
+z55=(6huassyr,4.5vuassyr);
+z57=(6.98huassyr,4.02vuassyr);
+
+pickup logo_pen;
+fill z1--z2--z3..z5..{right}z7--z11{right}..{up}z13{up}
+..z15{up}..z17..{left}z19..z21..z22--z23--z24..z25..{left}z27{left}..{down}z31{down}..z33--z35--cycle;
+
+unfill z37{right}..{right}z39{up}..{up}z41{up}..{left}z43{left}..z45..z46--cycle;
+unfill z47{up}..z49..{left}z51{left}..{down}z53{down}..z55..z57--cycle;
+endchar;
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+kwidth#:=3boxx#;
+kheight#:=5boxx#;
+kdepth#:=2boxx#;
+kleft#:=0#;
+
+beginchar("L",12huassyr#,20vuassyr#,0);"The letter Lammad";
+z1=(0,0);
+z2=(11huassyr,0);
+z3=(12huassyr,1vuassyr);
+z5=(12huassyr,4vuassyr);
+z7=(6.6huassyr,14.9vuassyr);
+z11=(5.7huassyr,18vuassyr);
+
+z13=(5.7huassyr,19.6vuassyr);
+z15=(5.6huassyr,19.8vuassyr);
+z17=(5.5huassyr,19.76vuassyr);
+z18=(2.3huassyr,16.5vuassyr);
+z19=(2huassyr,16vuassyr);
+z20=(2.3huassyr,15vuassyr);
+z21=(4huassyr,12vuassyr);
+z23=(8.4huassyr,4vuassyr);
+z25=(0,4vuassyr);
+
+pickup logo_pen;
+fill z1--z2{right}..{up}z3--z5--z7..z11{up}..{up}z13{up}
+..{left}z15{left}..z17--z18..{down}z19{down}..z20--z23--z25--cycle;
+endchar;
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+unit_width#:=2boxx#;
+unit_height#:=5boxx#;
+unit_depth#:=boxx#;
+extra_left#:=1/4*boxx#;
+
+beginchar("A",9huassyr#,16vuassyr#,0);"The letter Allab end";
+z1=(1huassyr,0);
+z2=(3huassyr,-1.1vuassyr);
+z3=(3.9huassyr,-2.4vuassyr);
+z5=(3.9huassyr,-2.6vuassyr);
+z6=(4.3huassyr,-1.5vuassyr);
+z7=(3.9huassyr,0);
+z8=(8huassyr,0);
+z9=(9huassyr,1vuassyr);
+z10=(9huassyr,4vuassyr);
+z11=(5.8huassyr,4vuassyr);
+z15=(7huassyr,12vuassyr);
+z17=(5huassyr,16vuassyr);
+z18=(3huassyr,13.2vuassyr);
+z19=(4.5huassyr,12vuassyr);
+z21=(5.8huassyr,11.8vuassyr);
+z23=(6huassyr,11vuassyr);
+z25=(1huassyr,4vuassyr);
+pickup logo_pen;
+fill z1..z2..z3{down}..z5..{up}z6{up}..z7--z8{right}..{up}z9--z10--
+z11..{up}z15{up}..{left}z17{left}..{down}z18{down}..{right}z19{right}..z21..{down}z23{down}..z25--cycle;
+endchar;
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+beginchar("a",9huassyr#,16vuassyr#,0);"The letter Allab start";
+z1=(1huassyr,0);
+z8=(8huassyr,0);
+z9=(9huassyr,1vuassyr);
+z10=(9huassyr,4vuassyr);
+z11=(5.8huassyr,4vuassyr);
+z15=(7huassyr,12vuassyr);
+z17=(5huassyr,16vuassyr);
+z18=(3huassyr,13.2vuassyr);
+z19=(4.5huassyr,12vuassyr);
+z21=(5.8huassyr,11.8vuassyr);
+z23=(6huassyr,11vuassyr);
+z25=(1huassyr,4vuassyr);
+pickup logo_pen;
+fill z1--z8{right}..{up}z9--z10--
+z11..{up}z15{up}..{left}z17{left}..{down}z18{down}..{right}z19{right}..z21..{down}z23{down}..z25--cycle;
+endchar;
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+bwidth#:=3.5boxx#;
+%bheight#:=5boxx#;
+bdepth#:=2boxx#;
+bleft#:=0#;
+
+beginchar("B",14huassyr#,12vuassyr#,0);"The letter Bit";
+z1=(0,0);
+z2=(13huassyr,0);
+z3=(14huassyr,1vuassyr);
+z4=(14huassyr,3vuassyr);
+z5=(14huassyr,4vuassyr);
+z7=(13huassyr,9vuassyr);
+z8=(13huassyr,11.5vuassyr);
+z9=(13huassyr,11.95vuassyr);
+z11=(13huassyr,12vuassyr);
+z13=(11huassyr,11vuassyr);
+z15=(4.5huassyr,11vuassyr);
+z17=(2huassyr,12vuassyr);
+z19=(2huassyr,11vuassyr);
+z21=(2huassyr,9.5vuassyr);
+z23=(5huassyr,7vuassyr);
+z25=(10huassyr,7vuassyr);
+z27=(10huassyr,4vuassyr);
+z29=(0,4vuassyr);
+
+pickup logo_pen;
+fill z1--z2{right}..{up}z3{up}..{up}z4{up}..z5..z7{up}..z8{up}..z9..{up}z11{left}..{left}z13{left}
+..{left}z15{left}..z17--z19..{down}z21{down}..{right}z23{right}..{right}z25--z27--z29--cycle;
+endchar;
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+beginchar("b",14huassyr#,12vuassyr#,4.5vuassyr#);"The letter vit";
+z1=(0,0);
+z2=(13huassyr,0);
+z3=(14huassyr,1vuassyr);
+z4=(14huassyr,3vuassyr);
+z5=(14huassyr,4vuassyr);
+z7=(13huassyr,9vuassyr);
+z8=(13huassyr,11.5vuassyr);
+z9=(13huassyr,11.95vuassyr);
+z11=(13huassyr,12vuassyr);
+z13=(11huassyr,11vuassyr);
+z15=(4.5huassyr,11vuassyr);
+z17=(2huassyr,12vuassyr);
+z19=(2huassyr,11vuassyr);
+z21=(2huassyr,9.5vuassyr);
+z23=(5huassyr,7vuassyr);
+z25=(10huassyr,7vuassyr);
+z27=(10huassyr,4vuassyr);
+z29=(0,4vuassyr);
+
+z47=(8.1huassyr,-1.1vuassyr);
+z49=(8.4huassyr,-1.4vuassyr);
+z51=(8.6huassyr,-2.8vuassyr);
+z53=(8.4huassyr,-4.1vuassyr);
+z55=(8.1huassyr,-4.4vuassyr);
+z57=(7.8huassyr,-4.1vuassyr);
+z59=(7.6huassyr,-2.8vuassyr);
+z61=(7.8huassyr,-1.4vuassyr);
+pickup logo_pen;
+fill z1--z2{right}..{up}z3{up}..{up}z4{up}..z5..z7{up}..z8{up}..z9..{up}z11{left}..{left}z13{left}
+..{left}z15{left}..z17--z19..{down}z21{down}..{right}z23{right}..{right}z25--z27--z29--cycle;
+
+fill z47{right}..z49..{down}z51{down}..z53..{left}z55{left}..z57..
+{up}z59{up}..z61..{right}cycle;
+endchar;
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+hwidth#:=3boxx#;
+hheight#:=5boxx#;
+hdepth#:=2boxx#;
+hleft#:=1/4*boxx#;
+
+beginchar("H",13huassyr#,12vuassyr#,0);"The letter Hi";
+z1=(12huassyr,0);
+z2=(13huassyr,1vuassyr);
+z3=(13huassyr,12vuassyr);
+z5=(11huassyr,11vuassyr);
+z6=(7huassyr,11vuassyr);
+z7=(1huassyr,5.5vuassyr);
+z9=(5.5huassyr,0);
+z11=(9huassyr,4vuassyr);
+z13=(9huassyr,7vuassyr);
+z15=(12huassyr,7vuassyr);
+
+z17=(8huassyr,7vuassyr);
+z19=(6huassyr,7vuassyr);
+z21=(4huassyr,5.5vuassyr);
+z23=(6huassyr,4vuassyr);
+
+pickup logo_pen;
+fill z1--z2--z3{left}..{left}z5..z6{left}..z7{down}..z9{right}..{up}z11
+--z13--z15--cycle;
+unfill z17{left}..z19{left}..{down}z21..{right}z23..{up}cycle;
+endchar;
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+beginchar("h",13huassyr#,15vuassyr#,0);"The letter Hi with dot";
+z1=(12huassyr,0);
+z2=(13huassyr,1vuassyr);
+z3=(13huassyr,12vuassyr);
+z5=(11huassyr,11vuassyr);
+z6=(7huassyr,11vuassyr);
+z7=(1huassyr,5.5vuassyr);
+z9=(5.5huassyr,0);
+z11=(9huassyr,4vuassyr);
+z13=(9huassyr,7vuassyr);
+z15=(12huassyr,7vuassyr);
+
+z17=(8huassyr,7vuassyr);
+z19=(6huassyr,7vuassyr);
+z21=(4huassyr,5.5vuassyr);
+z23=(6huassyr,4vuassyr);
+
+z27=(6huassyr,13vuassyr);
+z29=(8huassyr,13vuassyr);
+z31=(8huassyr,15vuassyr);
+z33=(6huassyr,15vuassyr);
+
+pickup logo_pen;
+fill z1--z2--z3{left}..{left}z5..z6{left}..z7{down}..z9{right}..{up}z11
+--z13--z15--cycle;
+unfill z17{left}..z19{left}..{down}z21..{right}z23..{up}cycle;
+fill z27--z29--z31--z33--cycle;
+endchar;
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+beginchar("o",13huassyr#,16vuassyr#,0);"The letter Hi with dot";
+z1=(12huassyr,0);
+z2=(13huassyr,1vuassyr);
+z3=(13huassyr,12vuassyr);
+z5=(11huassyr,11vuassyr);
+z6=(7huassyr,11vuassyr);
+z7=(1huassyr,5.5vuassyr);
+z9=(5.5huassyr,0);
+z11=(9huassyr,4vuassyr);
+z13=(9huassyr,7vuassyr);
+z15=(12huassyr,7vuassyr);
+
+z17=(8huassyr,7vuassyr);
+z19=(6huassyr,7vuassyr);
+z21=(4huassyr,5.5vuassyr);
+z23=(6huassyr,4vuassyr);
+
+z27=(5huassyr,12.2vuassyr);
+z29=(9huassyr,15vuassyr);
+z31=(9huassyr,16vuassyr);
+z33=(5huassyr,13.2vuassyr);
+
+pickup logo_pen;
+fill z1--z2--z3{left}..{left}z5..z6{left}..z7{down}..z9{right}..{up}z11
+--z13--z15--cycle;
+unfill z17{left}..z19{left}..{down}z21..{right}z23..{up}cycle;
+fill z27--z29--z31--z33--cycle;
+endchar;
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+owidth#:=2.5boxx#;
+oheight#:=5boxx#;
+odepth#:=2boxx#;
+oleft#:=1/4*boxx#;
+
+beginchar("O",11huassyr#,12vuassyr#,0);"The letter vav";
+z1=(4huassyr,0);
+z2=(10huassyr,0);
+z3=(11huassyr,1vuassyr);
+z5=(11huassyr,4vuassyr);
+z6=(10huassyr,8.5vuassyr);
+z7=(6huassyr,12vuassyr);
+z11=(2huassyr,8.5vuassyr);
+z13=(1huassyr,4.5vuassyr);
+z15=(1.5huassyr,1vuassyr);
+
+z17=(7.9huassyr,4vuassyr);
+z19=(7.2huassyr,7.2vuassyr);
+z21=(5.5huassyr,8vuassyr);
+z25=(3.6huassyr,5.5vuassyr);
+z27=(5huassyr,4vuassyr);
+
+pickup logo_pen;
+fill z1{right}..z2{right}..z3{up}..z5{up}..z6..z7{left}..z11
+..z13{down}..z15..{right}cycle;
+unfill z17{up}..z19..{left}z21..z25{down}..{right}z27..{right}cycle;
+endchar;
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+zwidth#:=1.5boxx#;
+zheight#:=5boxx#;
+zdepth#:=2boxx#;
+zleft#:=1/4*boxx#;
+
+beginchar("Z",7huassyr#,12vuassyr#,1vuassyr#);"The letter zen";
+z1=(4huassyr,-1vuassyr);
+z2=(6.3huassyr,3vuassyr);
+z3=(7huassyr,7vuassyr);
+z5=(4huassyr,12vuassyr);
+z6=(1huassyr,8vuassyr);
+z7=(3huassyr,4vuassyr);
+z11=(4huassyr,1.5vuassyr);
+z13=(3huassyr,-1vuassyr);
+
+pickup logo_pen;
+fill z1..z2..z3{up}..z5{left}..z6{down}..z7..z11{down}
+..z13--cycle;
+endchar;
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+beginchar("z",7huassyr#,16vuassyr#,1vuassyr#);"The letter zen with dot above";
+z1=(4huassyr,-1vuassyr);
+z2=(6.3huassyr,3vuassyr);
+z3=(7huassyr,7vuassyr);
+z5=(4huassyr,12vuassyr);
+z6=(1huassyr,8vuassyr);
+z7=(3huassyr,4vuassyr);
+z11=(4huassyr,1.5vuassyr);
+z13=(3huassyr,-1vuassyr);
+
+z27=(2.8huassyr, 13.4vuassyr);
+z29=(3.6huassyr, 14.2vuassyr);
+z31=(4.9huassyr, 13.6vuassyr);
+z33=(5.6huassyr, 14.8vuassyr);
+z35=(5.4huassyr, 15.4vuassyr);
+z37=(4.6huassyr, 14.5vuassyr);
+z39=(3.2huassyr, 15vuassyr);
+z41=(2.6huassyr, 14vuassyr);
+
+pickup logo_pen;
+fill z1..z2..z3{up}..z5{left}..z6{down}..z7..z11{down}
+..z13--cycle;
+fill z27{right}..{right}z29{right}..{right}z31{right}..{up}z33{up}..{left}z35{left}
+..{left}z37{left}..{left}z39{left}..{down}z41{down}..{right}cycle;
+endchar;
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+kwidth#:=3boxx#;
+kheight#:=5boxx#;
+kdepth#:=2boxx#;
+kleft#:=0#;
+
+beginchar("P",12huassyr#,16vuassyr#,0);"The letter Pi";
+z1=(0,0);
+z2=(11huassyr,0);
+z3=(12huassyr,1vuassyr);
+z5=(12huassyr,4vuassyr);
+z7=(11huassyr,7.5vuassyr);
+z11=(10.2huassyr,13vuassyr);
+z13=(10.8huassyr,16vuassyr);
+z15=(10.75huassyr,15.95vuassyr);
+z17=(9huassyr,14.2vuassyr);
+z19=(8.95huassyr,14.25vuassyr);
+z21=(6huassyr,15vuassyr);
+z23=(2huassyr,11vuassyr);
+z25=(5huassyr,6vuassyr);
+z27=(8.6huassyr,4.7vuassyr);
+z29=(8.7huassyr,4vuassyr);
+z31=(0,4vuassyr);
+
+z49=(8.4huassyr,5.7vuassyr);
+z51=(8.32huassyr,5.72vuassyr);
+z52=(8huassyr,8.5vuassyr);
+z53=(7.6huassyr,10vuassyr);
+z55=(5.7huassyr,11.1vuassyr);
+z57=(4.3huassyr,9.7vuassyr);
+z59=(6huassyr,6.8vuassyr);
+
+pickup logo_pen;
+fill z1--z2{right}..{up}z3{up}..{up}z5{up}..z7..{up}z11{up}..z13
+..z15..z17--z19..{left}z21{left}..{down}z23{down}..z25..z27--z29--z31--cycle;
+
+unfill z49--z51..z52..z53..{left}z55{left}..{down}z57{down}..z59..cycle;
+endchar;
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+kwidth#:=3boxx#;
+kheight#:=5boxx#;
+kdepth#:=2boxx#;
+kleft#:=0#;
+
+beginchar("p",12huassyr#,16vuassyr#,3vuassyr#);"The letter Pi";
+z1=(0,0);
+z2=(11huassyr,0);
+z3=(12huassyr,1vuassyr);
+z5=(12huassyr,4vuassyr);
+z7=(11huassyr,7.5vuassyr);
+z11=(10.2huassyr,13vuassyr);
+z13=(10.8huassyr,16vuassyr);
+z15=(10.75huassyr,15.95vuassyr);
+z17=(9huassyr,14.2vuassyr);
+z19=(8.95huassyr,14.25vuassyr);
+z21=(6huassyr,15vuassyr);
+z23=(2huassyr,11vuassyr);
+z25=(5huassyr,6vuassyr);
+z27=(8.6huassyr,4.7vuassyr);
+z29=(8.7huassyr,4vuassyr);
+z31=(0,4vuassyr);
+
+z49=(8.4huassyr,5.7vuassyr);
+z51=(8.32huassyr,5.72vuassyr);
+z52=(8huassyr,8.5vuassyr);
+z53=(7.6huassyr,10vuassyr);
+z55=(5.7huassyr,11.1vuassyr);
+z57=(4.3huassyr,9.7vuassyr);
+z59=(6huassyr,6.8vuassyr);
+
+z33=(6huassyr,-2vuassyr);
+z35=(7huassyr,-1.6vuassyr);
+z37=(7.8huassyr,-1vuassyr);
+z39=(8huassyr,-1.2vuassyr);
+z41=(6huassyr,-3vuassyr);
+z43=(4huassyr,-1.2vuassyr);
+z45=(4.2huassyr,-1vuassyr);
+z47=(5huassyr,-1.6vuassyr);
+
+pickup logo_pen;
+fill z1--z2{right}..{up}z3{up}..{up}z5{up}..z7..{up}z11{up}..z13
+..z15..z17--z19..{left}z21{left}..{down}z23{down}..z25..z27--z29--z31--cycle;
+
+fill z33{right}..z35..{right}z37{right}..{down}z39{down}..{left}z41{left}..{up}z43{up}..
+{right}z45{right}..z47..{right}cycle;
+
+unfill z49--z51..z52..z53..{left}z55{left}..{down}z57{down}..z59..cycle;
+endchar;
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+owidth#:=2.5boxx#;
+oheight#:=5boxx#;
+odepth#:=2boxx#;
+oleft#:=1/4*boxx#;
+
+beginchar("s",11huassyr#,7vuassyr#,odepth#);"The letter Cad";
+z1=(4huassyr,0);
+z2=(8huassyr,0);
+z3=(8huassyr,1vuassyr);
+%z5=(9huassyr,0.5vuassyr);
+z6=(10huassyr,0);
+z7=(11huassyr,1vuassyr);
+z11=(11huassyr,4vuassyr);
+z13=(9huassyr,6vuassyr);
+z15=(8.3huassyr,7vuassyr);
+z16=(8.1huassyr,6.9vuassyr);
+z17=(8huassyr,6vuassyr);
+z19=(6.5huassyr,4vuassyr);
+z21=(5huassyr,4vuassyr);
+z25=(2.5huassyr,6.5vuassyr);
+z27=(2huassyr,7vuassyr);
+z28=(1.6huassyr,6.5vuassyr);
+z29=(1.1huassyr,4vuassyr);
+z30=(1huassyr,2vuassyr);
+z31=(2huassyr,-2vuassyr);
+z35=(6.9huassyr,-5.9vuassyr);
+z37=(6.82huassyr,-5.92vuassyr);
+z39=(3huassyr,-6.7vuassyr);
+z41=(1huassyr,-7vuassyr);
+z45=(1huassyr,-7.9vuassyr);
+z47=(11huassyr,-7.9vuassyr);
+z49=(11huassyr,-4vuassyr);
+z51=(5.5huassyr,-2vuassyr);
+
+pickup logo_pen;
+fill z1--z2--z3..{right}z6{right}..{up}z7--z11{left}
+..z13..{left}z15{left}..z16..{down}z17{down}..{left}z19{left}..{left}z21{left}..z25..
+{left}z27..z28..z29..{down}z30{down}..z31..z35--z37..z39..z41--z45--z47--z49{left}..z51..cycle;
+endchar;
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+hwidth#:=3boxx#;
+hheight#:=5boxx#;
+hdepth#:=2boxx#;
+hleft#:=1/4*boxx#;
+
+beginchar(">",13huassyr#,6vuassyr#,hdepth#);"The letter end separate Non";
+
+z23=(3.5huassyr,0.1vuassyr);
+z22=(5huassyr,1vuassyr);
+z2=(5.6huassyr,1.1vuassyr);
+z3=(7.1huassyr,0);
+z4=(9huassyr,-3vuassyr);
+z5=(12huassyr,-7.9vuassyr);
+z6=(13huassyr,-7.9vuassyr);
+z77=(5huassyr,5.1vuassyr);
+z8=(4.3huassyr,5.5vuassyr);
+z88=(4huassyr,5.4vuassyr);
+z9=(1.2huassyr,3.8vuassyr);
+z11=(1huassyr,3.4vuassyr);
+z12=(1.1huassyr,3vuassyr);
+z13=(2.1huassyr,1.6vuassyr);
+z15=(2.85huassyr,0.2vuassyr);
+z17=(3.15huassyr,0);
+
+pickup logo_pen;
+fill z23--z22..{right}z2{right}..z3..z4..z5--z6--z77..{left}z8{left}..z88--z9..
+{down}z11{down}..z12--z15..{right}z17{right}..cycle;
+endchar;
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+hwidth#:=3boxx#;
+hheight#:=5boxx#;
+hdepth#:=2boxx#;
+hleft#:=1/4*boxx#;
+
+%beginchar("/",huassyr#,hheight#,hdepth#);"Blank";
+%z1=(0,0);
+%z2=(w,0);
+%z3=(w,h);
+%z4=(0,h);
+%pickup logo_pen;
+
+%fill z1--z2--z3-z4--cycle;
+%unfill z1--z2--z3-z4--cycle;
+%endchar;
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+hwidth#:=1.5boxx#;
+hheight#:=5boxx#;
+hdepth#:=2boxx#;
+hleft#:=1/4*boxx#;
+
+beginchar("n",7huassyr#,8vuassyr#,hdepth#);"The letter end not separate Non";
+
+z1=(4huassyr,0);
+z3=(6huassyr,0);
+z5=(7huassyr,1vuassyr);
+z7=(7huassyr,4vuassyr);
+z9=(3.5huassyr,6vuassyr);
+z11=(2.2huassyr,7.8vuassyr);
+z13=(2huassyr,8vuassyr);
+z15=(1.8huassyr,7.8vuassyr);
+z17=(1huassyr,4vuassyr);
+z19=(3huassyr,-3vuassyr);
+z21=(6huassyr,-7.9vuassyr);
+z23=(7huassyr,-7.9vuassyr);
+z25=(4.5huassyr,-3vuassyr);
+
+pickup logo_pen;
+fill z1--z3{right}..{up}z5--z7{left}..z9..z11..{left}z13{left}..z15..{down}z17{down}..z19..
+z21--z23..z25..{up}cycle;
+endchar;
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+hwidth#:=4boxx#;
+hheight#:=5boxx#;
+hdepth#:=2boxx#;
+hleft#:=0#;
+
+beginchar("W",16huassyr#,16vuassyr#,6vuassyr#);"The letter Dtet";
+
+z1=(0,0);
+z3=(8.2huassyr,0);
+z5=(10.9huassyr,-5.9vuassyr);
+z7=(11.1huassyr,-6vuassyr);
+z9=(11.3huassyr,-5.9vuassyr);
+z11=(16huassyr,0);
+z13=(16huassyr,4vuassyr);
+z15=(9.8huassyr,4vuassyr);
+z17=(6.2huassyr,12vuassyr);
+z19=(6huassyr,12.5vuassyr);
+z21=(6huassyr,15.9vuassyr);
+z23=(5.9huassyr,16vuassyr);
+z25=(5.5huassyr,15.8vuassyr);
+z26=(2.5huassyr,13vuassyr);
+z27=(2.1huassyr,12.2vuassyr);
+z29=(2.3huassyr,11.7vuassyr);
+z30=(3.15huassyr,10.1vuassyr);
+z31=(6.3huassyr,4vuassyr);
+z33=(0,4vuassyr);
+
+z35=(15.1huassyr,0);
+z37=(11.7huassyr,0);
+z39=(12.9huassyr,-2.7vuassyr);
+
+pickup logo_pen;
+fill z1--z3--z5..{right}z7{right}..z9--z11--z13--z15--z17..z19..{up}z21{up}..
+{left}z23{left}..z25..z26..{down}z27{down}..z29..z30--z31--z33--cycle;
+unfill z35--z37--z39--cycle;
+endchar;
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+hwidth#:=4boxx#;
+hheight#:=5boxx#;
+hdepth#:=2boxx#;
+hleft#:=0#;
+
+beginchar("M",16huassyr#,12vuassyr#,0);"The letter Mim";
+
+z1=(0,0);
+z3=(8huassyr,0);
+z5=(8huassyr,1vuassyr);
+z7=(9huassyr,0.4vuassyr);
+z9=(10huassyr,0);
+z11=(15huassyr,0);
+z13=(16huassyr,1vuassyr);
+z15=(16huassyr,4vuassyr);
+z16=(14huassyr,11vuassyr);
+z17=(11.5huassyr,12vuassyr);
+z19=(9huassyr,11vuassyr);
+z21=(7.6huassyr,8vuassyr);
+z23=(7.58huassyr,8.02vuassyr);
+
+z25=(5huassyr,10vuassyr);
+z26=(3.9huassyr,11.8vuassyr);
+z27=(3.7huassyr,12vuassyr);
+z29=(3.5huassyr,11.8vuassyr);
+z30=(2huassyr,8vuassyr);
+z100=(2.5huassyr,7vuassyr);
+z31=(4huassyr,6vuassyr);
+z33=(6.5huassyr,4.5vuassyr);
+z35=(6.8huassyr,4vuassyr);
+z37=(0,4vuassyr);
+
+z39=(13huassyr,4vuassyr);
+z40=(13huassyr,5vuassyr);
+z41=(11huassyr,8vuassyr);
+z43=(9huassyr,5.6vuassyr);
+z45=(10huassyr,4vuassyr);
+
+pickup logo_pen;
+fill z1--z3--z5..z7..{right}z9--z11{right}..{up}z13..{up}z15
+..z16..{left}z17..z19..
+{down}z21--z23..z25..z26..{left}z27..z29..{down}z30..z100..z31..z33..{down}z35--z37--cycle;
+unfill z39{up}..{up}z40..{left}z41{left}..{down}z43{down}..{right}z45--cycle;
+endchar;
+beginchar("$",16huassyr#,12vuassyr#,4vuassyr#);"The letter Mim dot under";
+
+z1=(0,0);
+z3=(8huassyr,0);
+z5=(8huassyr,1vuassyr);
+z7=(9huassyr,0.4vuassyr);
+z9=(10huassyr,0);
+z11=(15huassyr,0);
+z13=(16huassyr,1vuassyr);
+z15=(16huassyr,4vuassyr);
+z16=(14huassyr,11vuassyr);
+z17=(11.5huassyr,12vuassyr);
+z19=(9huassyr,11vuassyr);
+z21=(7.6huassyr,8vuassyr);
+z23=(7.58huassyr,8.02vuassyr);
+
+z25=(5huassyr,10vuassyr);
+z26=(3.9huassyr,11.8vuassyr);
+z27=(3.7huassyr,12vuassyr);
+z29=(3.5huassyr,11.8vuassyr);
+z30=(2huassyr,8vuassyr);
+z100=(2.5huassyr,7vuassyr);
+z31=(4huassyr,6vuassyr);
+z33=(6.5huassyr,4.5vuassyr);
+z35=(6.8huassyr,4vuassyr);
+z37=(0,4vuassyr);
+
+z39=(13huassyr,4vuassyr);
+z40=(13huassyr,5vuassyr);
+z41=(11huassyr,8vuassyr);
+z43=(9huassyr,5.6vuassyr);
+z45=(10huassyr,4vuassyr);
+
+z47=(10huassyr,-2vuassyr);
+z49=(12huassyr,-2vuassyr);
+z50=(12huassyr,-4vuassyr);
+z51=(10huassyr,-4vuassyr);
+
+pickup logo_pen;
+fill z1--z3--z5..z7..{right}z9--z11{right}..{up}z13..{up}z15
+..z16..{left}z17..z19..
+{down}z21--z23..z25..z26..{left}z27..z29..{down}z30..z100..z31..z33..{down}z35--z37--cycle;
+unfill z39{up}..{up}z40..{left}z41{left}..{down}z43{down}..{right}z45--cycle;
+fill z47--z49--z50--z51--cycle;
+endchar;
+beginchar("*",16huassyr#,16vuassyr#,0);"The letter Mim dot up";
+
+z1=(0,0);
+z3=(8huassyr,0);
+z5=(8huassyr,1vuassyr);
+z7=(9huassyr,0.4vuassyr);
+z9=(10huassyr,0);
+z11=(15huassyr,0);
+z13=(16huassyr,1vuassyr);
+z15=(16huassyr,4vuassyr);
+z16=(14huassyr,11vuassyr);
+z17=(11.5huassyr,12vuassyr);
+z19=(9huassyr,11vuassyr);
+z21=(7.6huassyr,8vuassyr);
+z23=(7.58huassyr,8.02vuassyr);
+
+z25=(5huassyr,10vuassyr);
+z26=(3.9huassyr,11.8vuassyr);
+z27=(3.7huassyr,12vuassyr);
+z29=(3.5huassyr,11.8vuassyr);
+z30=(2huassyr,8vuassyr);
+z100=(2.5huassyr,7vuassyr);
+z31=(4huassyr,6vuassyr);
+z33=(6.5huassyr,4.5vuassyr);
+z35=(6.8huassyr,4vuassyr);
+z37=(0,4vuassyr);
+
+z39=(13huassyr,4vuassyr);
+z40=(13huassyr,5vuassyr);
+z41=(11huassyr,8vuassyr);
+z43=(9huassyr,5.6vuassyr);
+z45=(10huassyr,4vuassyr);
+
+z47=(10huassyr,14vuassyr);
+z49=(12huassyr,14vuassyr);
+z50=(12huassyr,16vuassyr);
+z51=(10huassyr,16vuassyr);
+pickup logo_pen;
+fill z1--z3--z5..z7..{right}z9--z11{right}..{up}z13..{up}z15
+..z16..{left}z17..z19..
+{down}z21--z23..z25..z26..{left}z27..z29..{down}z30..z100..z31..z33..{down}z35--z37--cycle;
+unfill z39{up}..{up}z40..{left}z41{left}..{down}z43{down}..{right}z45--cycle;
+fill z47--z49--z50--z51--cycle;
+endchar;
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+hwidth#:=3boxx#;
+hheight#:=5boxx#;
+hdepth#:=2boxx#;
+hleft#:=1/4*boxx#;
+
+beginchar("T",13huassyr#,12vuassyr#,0);"The letter Tau";
+z1=(11huassyr,0);
+z2=(12huassyr,0);
+z3=(13huassyr,1vuassyr);
+z5=(13huassyr,4vuassyr);
+z6=(6huassyr,11.5vuassyr);
+z66=(5.9huassyr,11.6vuassyr);
+z7=(5.4huassyr,12vuassyr);
+z77=(5.1huassyr,11.7vuassyr);
+z9=(5huassyr,11.5vuassyr);
+z11=(1.3huassyr,3vuassyr);
+z13=(1.1huassyr,1.9vuassyr);
+z15=(3huassyr,0);
+z17=(5.7huassyr,1vuassyr);
+z19=(7.7huassyr,0.2vuassyr);
+z21=(8huassyr,0);
+z23=(8.3huassyr,0.2vuassyr);
+z24=(8huassyr,1vuassyr);
+z25=(3.5huassyr,4.2vuassyr);
+z27=(2.4huassyr,4vuassyr);
+z29=(4.2huassyr,8vuassyr);
+pickup logo_pen;
+fill z1--z2{right}..{up}z3--z5--z6..z66..{left}z7{left}..z77..z9--z11
+..{down}z13{down}..{right}z15{right}..{right}z17{right}..z19..{right}z21..{up}z23{up}
+..z24..{left}z25{left}..z27--z29--cycle;
+endchar;
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+beginchar("m",13huassyr#,12vuassyr#,0);"The letter mim end";
+z1=(1.6huassyr,-1vuassyr);
+z2=(2.6huassyr,-1vuassyr);
+z3=(3.3huassyr,0);
+z5=(12huassyr,0);
+z6=(13huassyr,1vuassyr);
+z66=(13huassyr,3vuassyr);
+z67=(13huassyr,4vuassyr);
+z7=(12huassyr,10vuassyr);
+z77=(12huassyr,11.8vuassyr);
+z9=(11.8huassyr,12vuassyr);
+z10=(11.6huassyr,11.9vuassyr);
+z11=(10huassyr,11vuassyr);
+z13=(3huassyr,11vuassyr);
+z14=(1.4huassyr,11.9vuassyr);
+z15=(1.2huassyr,12vuassyr);
+z17=(1huassyr,11.8vuassyr);
+z19=(1huassyr,9vuassyr);
+z21=(3huassyr,7vuassyr);
+z23=(7huassyr,7vuassyr);
+
+z24=(8huassyr,7vuassyr);
+z25=(10huassyr,7vuassyr);
+z27=(10huassyr,4vuassyr);
+z29=(6huassyr,4vuassyr);
+pickup logo_pen;
+fill z1--z2--z3--z5{right}..{up}z6..{up}z66..z67..{up}z7{up}..{up}z77..{left}z9{left}..z10..{left}z11{left}
+..{left}z13{left}..z14..{left}z15{left}..{down}z17{down}..{down}z19..{right}z21--z23--cycle;
+unfill z24--z25--z27--z29--cycle;
+endchar;
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+hwidth#:=3.5boxx#;
+hheight#:=5boxx#;
+hdepth#:=2boxx#;
+hleft#:=1/4boxx#;
+
+beginchar("t",15huassyr#,20vuassyr#,0);"The letter end Tau";
+
+z1=(5huassyr,0);
+z3=(9huassyr,0);
+z5=(9huassyr,4vuassyr);
+z7=(8huassyr,4vuassyr);
+z8=(8huassyr,6vuassyr);
+z9=(9.5huassyr,8vuassyr);
+z11=(11huassyr,6vuassyr);
+z13=(11huassyr,0);
+z15=(14huassyr,0);
+z17=(15huassyr,1vuassyr);
+z19=(15huassyr,4vuassyr);
+z21=(14huassyr,4vuassyr);
+z23=(14huassyr,7vuassyr);
+z25=(10.5huassyr,12vuassyr);
+z26=(7.6huassyr,11vuassyr);
+z27=(7.5huassyr,10.9vuassyr);
+z29=(7.4huassyr,11vuassyr);
+z30=(6huassyr,14vuassyr);
+z31=(4.8huassyr,18vuassyr);
+z33=(5huassyr,19.7vuassyr);
+z35=(4.8huassyr,19.9vuassyr);
+z36=(4.3huassyr,19.7vuassyr);
+z37=(2huassyr,17.7vuassyr);
+z39=(1huassyr,16vuassyr);
+z40=(1.4huassyr,15vuassyr);
+z41=(5huassyr,10vuassyr);
+z43=(6huassyr,7vuassyr);
+z45=(6huassyr,4vuassyr);
+z47=(5huassyr,4vuassyr);
+
+pickup logo_pen;
+fill z1--z3--z5--z7--z8{up}..{right}z9{right}..{down}z11--z13..z15{right}..{up}z17--z19--z21{up}..
+{up}z23{up}..{left}z25{left}..z27--z29..z30..z31{up}..z33{up}..{left}z35{left}..z36..z37..{down}z39{down}
+..z40..z41..{down}z43{down}..z45--z47--cycle;
+
+endchar;
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+hwidth#:=3boxx#;
+hheight#:=5boxx#;
+hdepth#:=2boxx#;
+hleft#:=1/4*boxx#;
+
+beginchar("@",13huassyr#,16vuassyr#,4vuassyr#);"The letter Tau Alap";
+z1=(12huassyr,0);
+z3=(13huassyr,1vuassyr);
+z5=(13huassyr,4vuassyr);
+z7=(9huassyr,6.4vuassyr);
+z9=(7.8huassyr,8.5vuassyr);
+z11=(8huassyr,9.8vuassyr);
+z13=(7.8huassyr,10vuassyr);
+z15=(6.9huassyr,9vuassyr);
+z17=(6huassyr,5.5vuassyr);
+z18=(6.7huassyr,4vuassyr);
+z19=(7.8huassyr,2.8vuassyr);
+%z21=(7.75huassyr,2.75vuassyr);
+z23=(7huassyr,1vuassyr);
+%z25=(6.95huassyr,1.25vuassyr);
+z27=(5.7huassyr,3vuassyr);
+z29=(4.1huassyr,4.5vuassyr);
+z31=(4.12huassyr,4.52vuassyr);
+z33=(5huassyr,7vuassyr);
+z35=(6huassyr,13vuassyr);
+z37=(4huassyr,16vuassyr);
+z39=(2.5huassyr,15vuassyr);
+z41=(2huassyr,13vuassyr);
+z43=(3huassyr,12vuassyr);
+z45=(4huassyr,12vuassyr);
+z47=(5.1huassyr,11vuassyr);
+z49=(4huassyr,6vuassyr);
+z51=(1.5huassyr,1vuassyr);
+z53=(1.3huassyr,0.4vuassyr);
+z55=(1.5huassyr,0);
+z57=(2huassyr,0.4vuassyr);
+z59=(2.6huassyr,1.2vuassyr);
+z61=(2.62huassyr,1.12vuassyr);
+z63=(4huassyr,0);
+z65=(6.6huassyr,-3.8vuassyr);
+z67=(6.8huassyr,-4vuassyr);
+z69=(7huassyr,-3.8vuassyr);
+z70=(7.1huassyr,-3vuassyr);
+z71=(8huassyr,0);
+z73=(9.3huassyr,1.4vuassyr);
+z75=(9.32huassyr,1.42vuassyr);
+z77=(11huassyr,0.4vuassyr);
+
+pickup logo_pen;
+fill z1{right}..{up}z3--z5{left}..z7..{up}z9{up}..{up}z11{up}..{left}z13{left}..z15..
+{down}z17{down}..z18..z19--
+z23..z27..z29--z31
+..z33..{up}z35{up}..{left}z37{left}..z39..{down}z41{down}..{right}z43{right}..{right}z45{right}..
+{down}z47{down}..z49..z51..{down}z53{down}..{right}z55{right}..z57..z59--z61..z63..z65..{right}z67{right}..
+z69..z70..z71..z73--z75..z77..{right}cycle;
+endchar;
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+hwidth#:=4boxx#;
+hheight#:=5boxx#;
+hdepth#:=2boxx#;
+hleft#:=1/4boxx#;
+
+beginchar("&",17huassyr#,20vuassyr#,0);"The letter end Tau Alap";
+
+z1=(1huassyr,0);
+z3=(11huassyr,0);
+z5=(11huassyr,4vuassyr);
+z7=(10huassyr,4vuassyr);
+z8=(10huassyr,6vuassyr);
+z9=(11.5huassyr,8vuassyr);
+z11=(13huassyr,6vuassyr);
+z13=(13huassyr,0);
+z15=(16huassyr,0);
+z17=(17huassyr,1vuassyr);
+z19=(17huassyr,4vuassyr);
+z21=(16huassyr,4vuassyr);
+z23=(16huassyr,8vuassyr);
+z25=(12.5huassyr,12vuassyr);
+z26=(10.1huassyr,11vuassyr);
+z27=(9.7huassyr,11.5vuassyr);
+z29=(12huassyr,14.7vuassyr);
+z30=(13huassyr,17.5vuassyr);
+z31=(10.7huassyr,19.9vuassyr);
+z33=(9.1huassyr,18vuassyr);
+z35=(9huassyr,17vuassyr);
+z36=(10huassyr,16vuassyr);
+z37=(11.3huassyr,15.4vuassyr);
+z100=(11huassyr,14.5vuassyr);
+z38=(9.4huassyr,12.1vuassyr);
+z39=(9.3huassyr,12vuassyr);
+z40=(7.6huassyr,18vuassyr);
+z41=(8huassyr,19.7vuassyr);
+z43=(7.8huassyr,19.8vuassyr);
+z44=(7.5huassyr,19.7vuassyr);
+z45=(5huassyr,18vuassyr);
+z47=(4huassyr,16.3vuassyr);
+z48=(4.3huassyr,15vuassyr);
+z49=(6huassyr,12vuassyr);
+z51=(7.6huassyr,9.6vuassyr);
+
+z53=(4.4huassyr,4vuassyr);
+z55=(8huassyr,4vuassyr);
+z57=(8huassyr,8vuassyr);
+z59=(7.8huassyr,8.9vuassyr);
+
+pickup logo_pen;
+fill z1--z3--z5--z7--z8{up}..{right}z9{right}..{down}z11--z13..z15{right}..{up}z17--z19--z21--z23{up}..
+{left}z25{left}..z26--z27--z29..{up}z30{up}..{left}z31{left}..z33..{down}z35{down}..{right}z36{right}..
+{down}z37{down}..z100..z38--z39..{up}z40{up}..{up}z41{up}..{left}z43{left}..z44..
+z45..{down}z47{down}..z48..z49..z51--cycle;
+
+unfill z53--z55{up}..{up}z57..z59--cycle;
+endchar;
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+hwidth#:=3boxx#;
+hheight#:=5boxx#;
+hdepth#:=2boxx#;
+hleft#:=1/4*boxx#;
+
+beginchar("k",13huassyr#,12vuassyr#,hdepth#);"The letter not separate end Kap";
+
+z1=(10huassyr,0);
+z3=(12huassyr,0);
+z5=(13huassyr,1vuassyr);
+z7=(13huassyr,4vuassyr);
+z8=(12huassyr,4vuassyr);
+z9=(10huassyr,6.5vuassyr);
+z11=(10huassyr,11.8vuassyr);
+z13=(9.8huassyr,12vuassyr);
+z15=(9.6huassyr,11.8vuassyr);
+z17=(8huassyr,11vuassyr);
+z19=(3huassyr,11vuassyr);
+z21=(2huassyr,10vuassyr);
+z23=(2huassyr,7.5vuassyr);
+z25=(1huassyr,4vuassyr);
+z29=(8.9huassyr,-6.9vuassyr);
+z31=(10.6huassyr,-7.9vuassyr);
+z33=(12.3huassyr,-7vuassyr);
+z34=(13huassyr,-4vuassyr);
+z35=(12.9huassyr,-3.4vuassyr);
+z37=(12.8huassyr,-3.3vuassyr);
+z39=(12.7huassyr,-3.4vuassyr);
+z41=(12huassyr,-4vuassyr);
+z43=(11.2huassyr,-3.6vuassyr);
+z45=(4.6huassyr,5vuassyr);
+z47=(4.65huassyr,5.1vuassyr);
+z49=(5huassyr,7vuassyr);
+z51=(8huassyr,7vuassyr);
+z53=(8huassyr,3vuassyr);
+
+pickup logo_pen;
+fill z1--z3{right}..{up}z5--z7--z8{left}..{up}z9--z11{up}..z13{left}..z15..{left}z17--z19{left}..{down}z21{down}..
+{down}z23{down}..z25--z29..z31{right}..z33..z34{up}..z35..{left}z37{left}..z39..{left}z41..
+z43--z45--z47..{up}z49--z51--z53{down}..{right}cycle;
+endchar;
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+beginchar("x",13huassyr#,12vuassyr#,hdepth#);"The letter not separate end Khap";
+
+z1=(10huassyr,0);
+z3=(12huassyr,0);
+z5=(13huassyr,1vuassyr);
+z7=(13huassyr,4vuassyr);
+z8=(12huassyr,4vuassyr);
+z9=(10huassyr,6.5vuassyr);
+z11=(10huassyr,11.8vuassyr);
+z13=(9.8huassyr,12vuassyr);
+z15=(9.6huassyr,11.8vuassyr);
+z17=(8huassyr,11vuassyr);
+z19=(3huassyr,11vuassyr);
+z21=(2huassyr,10vuassyr);
+z23=(2huassyr,7.5vuassyr);
+z25=(1huassyr,4vuassyr);
+z29=(8.9huassyr,-6.9vuassyr);
+z31=(10.6huassyr,-7.9vuassyr);
+z33=(12.3huassyr,-7vuassyr);
+z34=(13huassyr,-4vuassyr);
+z35=(12.9huassyr,-3.4vuassyr);
+z37=(12.8huassyr,-3.3vuassyr);
+z39=(12.7huassyr,-3.4vuassyr);
+z41=(12huassyr,-4vuassyr);
+z43=(11.2huassyr,-3.6vuassyr);
+z45=(4.6huassyr,5vuassyr);
+z47=(4.65huassyr,5.1vuassyr);
+z49=(5huassyr,7vuassyr);
+z51=(8huassyr,7vuassyr);
+z53=(8huassyr,3vuassyr);
+
+z57=(2.5huassyr,-1vuassyr);
+z59=(2.8huassyr,-1.3vuassyr);
+z61=(3huassyr,-2.5vuassyr);
+z63=(2.8huassyr,-3.7vuassyr);
+z65=(2.5huassyr,-4vuassyr);
+z67=(2.2huassyr,-3.7vuassyr);
+z69=(2huassyr,-2.5vuassyr);
+z71=(2.2huassyr,-1.3vuassyr);
+
+pickup logo_pen;
+fill z1--z3{right}..{up}z5--z7--z8{left}..{up}z9--z11{up}..z13{left}..z15..{left}z17--z19{left}..{down}z21{down}..
+{down}z23{down}..z25--z29..z31{right}..z33..z34{up}..z35..{left}z37{left}..z39..{left}z41..
+z43--z45--z47..{up}z49--z51--z53{down}..{right}cycle;
+
+fill z57{right}..z59..{down}z61{down}..z63..{left}z65{left}..z67..
+{up}z69{up}..z71..{right}cycle;
+endchar;
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+beginchar("y",13huassyr#,12vuassyr#,hdepth#);"The letter not separate end Chap";
+
+z1=(10huassyr,0);
+z3=(12huassyr,0);
+z5=(13huassyr,1vuassyr);
+z7=(13huassyr,4vuassyr);
+z8=(12huassyr,4vuassyr);
+z9=(10huassyr,6.5vuassyr);
+z11=(10huassyr,11.8vuassyr);
+z13=(9.8huassyr,12vuassyr);
+z15=(9.6huassyr,11.8vuassyr);
+z17=(8huassyr,11vuassyr);
+z19=(3huassyr,11vuassyr);
+z21=(2huassyr,10vuassyr);
+z23=(2huassyr,7.5vuassyr);
+z25=(1huassyr,4vuassyr);
+z29=(8.9huassyr,-6.9vuassyr);
+z31=(10.6huassyr,-7.9vuassyr);
+z33=(12.3huassyr,-7vuassyr);
+z34=(13huassyr,-4vuassyr);
+z35=(12.9huassyr,-3.4vuassyr);
+z37=(12.8huassyr,-3.3vuassyr);
+z39=(12.7huassyr,-3.4vuassyr);
+z41=(12huassyr,-4vuassyr);
+z43=(11.2huassyr,-3.6vuassyr);
+z45=(4.6huassyr,5vuassyr);
+z47=(4.65huassyr,5.1vuassyr);
+z49=(5huassyr,7vuassyr);
+z51=(8huassyr,7vuassyr);
+z53=(8huassyr,3vuassyr);
+
+z67=(5.3huassyr,12.5vuassyr);
+z69=(6.1huassyr,13.3vuassyr);
+z71=(7.4huassyr,12.7vuassyr);
+z73=(8.1huassyr,13.9vuassyr);
+z75=(7.9huassyr,14.5vuassyr);
+z77=(7.1huassyr,13.6vuassyr);
+z79=(5.7huassyr,14.1vuassyr);
+z81=(5.1huassyr,13.1vuassyr);
+
+pickup logo_pen;
+fill z1--z3{right}..{up}z5--z7--z8{left}..{up}z9--z11{up}..z13{left}..z15..{left}z17--z19{left}..{down}z21{down}..
+{down}z23{down}..z25--z29..z31{right}..z33..z34{up}..z35..{left}z37{left}..z39..{left}z41..
+z43--z45--z47..{up}z49--z51--z53{down}..{right}cycle;
+fill z67{right}..{right}z69{right}..{right}z71{right}..{up}z73{up}..{left}z75{left}..{left}z77{left}..
+{left}z79{left}..{down}z81{down}..{right}cycle;
+endchar;
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+owidth#:=2.5boxx#;
+oheight#:=5boxx#;
+odepth#:=2boxx#;
+oleft#:=1/4*boxx#;
+
+beginchar("Q",11huassyr#,12vuassyr#,odepth#);"The letter separate end Kap";
+z1=(4.7huassyr,7vuassyr);
+z2=(7huassyr, 7vuassyr);
+z3=(10huassyr,10vuassyr);
+z5=(10huassyr,11.8vuassyr);
+z6=(9.8huassyr,12vuassyr);
+z7=(9.6huassyr,11.8vuassyr);
+z11=(7huassyr,11vuassyr);
+z13=(3huassyr,11vuassyr);
+z15=(2huassyr,9vuassyr);
+z16=(2huassyr,8vuassyr);
+z17=(1huassyr,5vuassyr);
+z19=(0.9huassyr,4.8vuassyr);
+z21=(1huassyr,4.6vuassyr);
+
+z25=(3huassyr,1vuassyr);
+z27=(3.9huassyr,-1.5vuassyr);
+z28=(4huassyr,-1.6vuassyr);
+z29=(4.1huassyr,-1.5vuassyr);
+z30=(5.3huassyr,1vuassyr);
+z31=(6.8huassyr,2vuassyr);
+z35=(8huassyr,0.5vuassyr);
+z37=(7.6huassyr,-1vuassyr);
+z38=(3.5huassyr,-5vuassyr);
+z39=(1huassyr,-6.9vuassyr);
+z41=(1huassyr,-7.9vuassyr);
+z43=(6huassyr,-4.1vuassyr);
+z45=(10huassyr,-0.3vuassyr);
+z47=(11huassyr,2vuassyr);
+z48=(11huassyr,3.5vuassyr);
+z49=(8.5huassyr,6vuassyr);
+z50=(6huassyr,4.6vuassyr);
+z51=(4.8huassyr,3.3vuassyr);
+z53=(4.79huassyr,3.32vuassyr);
+z55=(4.5huassyr,4vuassyr);
+z57=(4huassyr,5vuassyr);
+z59=(4.02huassyr,5.02vuassyr);
+z61=(4.4huassyr,6vuassyr);
+
+
+pickup logo_pen;
+fill z1--z2{right}..{up}z3--z5{up}..{left}z6{left}..z7..{left}z11{left}..{left}z13{left}..z15..
+z16..z17..{down}z19{down}..z21
+..z27..{right}z28{right}..z29..z30..{right}z31{right}..
+{down}z35{down}..z37..z38..z39--z41..z43..z45..z47..
+z48..{left}z49{left}..z50..z51--z53..z55..z57--z59..z61..cycle;
+endchar;
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+beginchar("q",11huassyr#,12vuassyr#,odepth#);"The letter separate end Khap";
+z1=(4.7huassyr,7vuassyr);
+z2=(7huassyr, 7vuassyr);
+z3=(10huassyr,10vuassyr);
+z5=(10huassyr,11.8vuassyr);
+z6=(9.8huassyr,12vuassyr);
+z7=(9.6huassyr,11.8vuassyr);
+z11=(7huassyr,11vuassyr);
+z13=(3huassyr,11vuassyr);
+z15=(2huassyr,9vuassyr);
+z16=(2huassyr,8vuassyr);
+z17=(1huassyr,5vuassyr);
+z19=(0.9huassyr,4.8vuassyr);
+z21=(1huassyr,4.6vuassyr);
+
+z25=(3huassyr,1vuassyr);
+z27=(3.9huassyr,-1.5vuassyr);
+z28=(4huassyr,-1.6vuassyr);
+z29=(4.1huassyr,-1.5vuassyr);
+z30=(5.3huassyr,1vuassyr);
+z31=(6.8huassyr,2vuassyr);
+z35=(8huassyr,0.5vuassyr);
+z37=(7.6huassyr,-1vuassyr);
+z38=(3.5huassyr,-5vuassyr);
+z39=(1huassyr,-6.9vuassyr);
+z41=(1huassyr,-7.9vuassyr);
+z43=(6huassyr,-4.1vuassyr);
+z45=(10huassyr,-0.3vuassyr);
+z47=(11huassyr,2vuassyr);
+z48=(11huassyr,3.5vuassyr);
+z49=(8.5huassyr,6vuassyr);
+z50=(6huassyr,4.6vuassyr);
+z51=(4.8huassyr,3.3vuassyr);
+z53=(4.79huassyr,3.32vuassyr);
+z55=(4.5huassyr,4vuassyr);
+z57=(4huassyr,5vuassyr);
+z59=(4.02huassyr,5.02vuassyr);
+z61=(4.4huassyr,6vuassyr);
+
+z67=(1.5huassyr,1vuassyr);
+z69=(1.8huassyr,0.7vuassyr);
+z71=(2huassyr,-0.5vuassyr);
+z73=(1.8huassyr,-1.7vuassyr);
+z75=(1.5huassyr,-2vuassyr);
+z77=(1.2huassyr,-1.7vuassyr);
+z79=(1huassyr,-0.5vuassyr);
+z81=(1.2huassyr,0.7vuassyr);
+
+pickup logo_pen;
+fill z1--z2{right}..{up}z3--z5{up}..{left}z6{left}..z7..{left}z11{left}..{left}z13{left}..z15..
+z16..z17..{down}z19{down}..z21
+..z27..{right}z28{right}..z29..z30..{right}z31{right}..
+{down}z35{down}..z37..z38..z39--z41..z43..z45..z47..
+z48..{left}z49{left}..z50..z51--z53..z55..z57--z59..z61..cycle;
+fill z67{right}..z69..{down}z71{down}..z73..{left}z75{left}..z77..
+{up}z79{up}..z81..{right}cycle;
+endchar;
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+beginchar("<",11huassyr#,12vuassyr#,odepth#);"The letter separate end Chap";
+z1=(4.7huassyr,7vuassyr);
+z2=(7huassyr, 7vuassyr);
+z3=(10huassyr,10vuassyr);
+z5=(10huassyr,11.8vuassyr);
+z6=(9.8huassyr,12vuassyr);
+z7=(9.6huassyr,11.8vuassyr);
+z11=(7huassyr,11vuassyr);
+z13=(3huassyr,11vuassyr);
+z15=(2huassyr,9vuassyr);
+z16=(2huassyr,8vuassyr);
+z17=(1huassyr,5vuassyr);
+z19=(0.9huassyr,4.8vuassyr);
+z21=(1huassyr,4.6vuassyr);
+
+z25=(3huassyr,1vuassyr);
+z27=(3.9huassyr,-1.5vuassyr);
+z28=(4huassyr,-1.6vuassyr);
+z29=(4.1huassyr,-1.5vuassyr);
+z30=(5.3huassyr,1vuassyr);
+z31=(6.8huassyr,2vuassyr);
+z35=(8huassyr,0.5vuassyr);
+z37=(7.6huassyr,-1vuassyr);
+z38=(3.5huassyr,-5vuassyr);
+z39=(1huassyr,-6.9vuassyr);
+z41=(1huassyr,-7.9vuassyr);
+z43=(6huassyr,-4.1vuassyr);
+z45=(10huassyr,-0.3vuassyr);
+z47=(11huassyr,2vuassyr);
+z48=(11huassyr,3.5vuassyr);
+z49=(8.5huassyr,6vuassyr);
+z50=(6huassyr,4.6vuassyr);
+z51=(4.8huassyr,3.3vuassyr);
+z53=(4.79huassyr,3.32vuassyr);
+z55=(4.5huassyr,4vuassyr);
+z57=(4huassyr,5vuassyr);
+z59=(4.02huassyr,5.02vuassyr);
+z61=(4.4huassyr,6vuassyr);
+
+z67=(4.7huassyr,12.5vuassyr);
+z69=(5.5huassyr,13.3vuassyr);
+z71=(6.7huassyr,12.7vuassyr);
+z73=(7.4huassyr,13.9vuassyr);
+z75=(7.2huassyr,14.5vuassyr);
+z77=(6.4huassyr,13.6vuassyr);
+z79=(5huassyr,14.1vuassyr);
+z81=(4.4huassyr,13.1vuassyr);
+
+pickup logo_pen;
+fill z1--z2{right}..{up}z3--z5{up}..{left}z6{left}..z7..{left}z11{left}..{left}z13{left}..z15..
+z16..z17..{down}z19{down}..z21
+..z27..{right}z28{right}..z29..z30..{right}z31{right}..
+{down}z35{down}..z37..z38..z39--z41..z43..z45..z47..
+z48..{left}z49{left}..z50..z51--z53..z55..z57--z59..z61..cycle;
+fill z67{right}..{right}z69{right}..{right}z71{right}..{up}z73{up}..{left}z75{left}..{left}z77{left}..
+{left}z79{left}..{down}z81{down}..{right}cycle;
+endchar;
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+kwidth#:=3boxx#;
+kheight#:=5boxx#;
+kdepth#:=2boxx#;
+kleft#:=0#;
+
+beginchar("V",12huassyr#,12vuassyr#,0);"The letter Ghop";
+z1=(0,0);
+z2=(3huassyr,0);
+z3=(3huassyr,1vuassyr);
+z5=(4huassyr,0.4vuassyr);
+z7=(5huassyr,0);
+z11=(11huassyr,0);
+z13=(12huassyr,1vuassyr);
+z15=(12huassyr,4vuassyr);
+z17=(11huassyr,8.5vuassyr);
+z19=(11huassyr,11.9vuassyr);
+z21=(10.8huassyr,12vuassyr);
+z22=(10.6huassyr,11.9vuassyr);
+z23=(9huassyr,11vuassyr);
+z25=(4huassyr,11vuassyr);
+z26=(2.4huassyr,11.9vuassyr);
+z27=(2.2huassyr,12vuassyr);
+z29=(2huassyr,11.9vuassyr);
+z31=(2huassyr,4vuassyr);
+z33=(0,4vuassyr);
+
+z35=(8.5huassyr,4vuassyr);
+z37=(8.5huassyr,7vuassyr);
+z39=(4.5huassyr,7vuassyr);
+z40=(4.5huassyr,6vuassyr);
+z41=(6.5huassyr,4vuassyr);
+
+pickup logo_pen;
+fill z1--z2--z3..z5..{right}z7..z11{right}..{up}z13--
+z15..z17{up}..{up}z19..{left}z21..z22..{left}z23--z25{left}..z26..{left}z27..{down}z29..{down}z31--z33--cycle;
+unfill z35--z37--z39--z40{down}..{right}z41--cycle;
+endchar;
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+beginchar("v",12huassyr#,12vuassyr#,0);"The letter Shin";
+z1=(0,0);
+z2=(6huassyr,0);
+z3=(6huassyr,1vuassyr);
+z5=(7huassyr,0.4vuassyr);
+z7=(8huassyr,0);
+z11=(11huassyr,0);
+z13=(12huassyr,1vuassyr);
+z15=(12huassyr,4vuassyr);
+z17=(10huassyr,4vuassyr);
+z21=(8.4huassyr,7vuassyr);
+z22=(10huassyr,7vuassyr);
+z23=(12huassyr,9vuassyr);
+z25=(12huassyr,11.8vuassyr);
+z26=(11.8huassyr,12vuassyr);
+z27=(11.6huassyr,11.9vuassyr);
+z29=(10huassyr,11vuassyr);
+z31=(4huassyr,11vuassyr);
+z33=(2.4huassyr,11.9vuassyr);
+
+z35=(2.2huassyr,12vuassyr);
+z37=(2huassyr,11.8vuassyr);
+z39=(2huassyr,9vuassyr);
+z40=(4huassyr,7vuassyr);
+z41=(5.5huassyr,7vuassyr);
+z43=(5.5huassyr,4vuassyr);
+z45=(0,4vuassyr);
+
+pickup logo_pen;
+fill z1--z2--z3..z5..{right}z7--z11{right}..{up}z13--
+z15--z17{left}..{up}z21--z22{right}..{up}z23{up}..{up}z25..{left}z26{left}..z27..{left}z29..
+{left}z31..z33..{left}z35{left}..{down}z37{down}..{down}z39{down}..{right}z40--z41--z43--z45--cycle;
+endchar;
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+kwidth#:=5boxx#;
+kheight#:=5boxx#;
+kdepth#:=2boxx#;
+kleft#:=0#;
+
+beginchar("G",20huassyr#,16vuassyr#,6vuassyr#);"The letter Gammal first";
+z1=(0,0);
+z2=(14.1huassyr,0);
+z3=(15huassyr,-1vuassyr);
+z5=(16.4huassyr,-3.7vuassyr);
+z7=(16huassyr,-6vuassyr);
+z11=(18huassyr,-7.8vuassyr);
+z13=(19.8huassyr,-6.2vuassyr);
+z14=(19.3huassyr,-5vuassyr);
+z15=(18huassyr,-3.4vuassyr);
+z17=(6.4huassyr,11.6vuassyr);
+z19=(5.6huassyr,14vuassyr);
+z21=(5.6huassyr,15.8vuassyr);
+z22=(5.5huassyr,16vuassyr);
+z23=(5.35huassyr,15.9vuassyr);
+z24=(2.1huassyr,12vuassyr);
+z25=(2huassyr,11.6vuassyr);
+z50=(2.5huassyr,10.6vuassyr);
+z51=(3huassyr,10vuassyr);
+z27=(8huassyr,4vuassyr);
+z29=(0,4vuassyr);
+
+pickup logo_pen;
+fill z1--z2..z3..{down}z5{down}..{down}z7{down}..{right}z11{right}..{up}z13{up}..
+z14..z15--z17..{up}z19{up}..{up}z21..{left}z22{left}..z23--z24..z25{down}..z50..z51--z27--z29--cycle;
+endchar;
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+beginchar("J",20huassyr#,16vuassyr#,6vuassyr#);"The letter Jammal first";
+z1=(0,0);
+z2=(14.1huassyr,0);
+z3=(15huassyr,-1vuassyr);
+z5=(16.4huassyr,-3.7vuassyr);
+z7=(16huassyr,-6vuassyr);
+z11=(18huassyr,-7.8vuassyr);
+z13=(19.8huassyr,-6.2vuassyr);
+z14=(19.3huassyr,-5vuassyr);
+z15=(18huassyr,-3.4vuassyr);
+z17=(6.4huassyr,11.6vuassyr);
+z19=(5.6huassyr,14vuassyr);
+z21=(5.6huassyr,15.8vuassyr);
+z22=(5.5huassyr,16vuassyr);
+z23=(5.35huassyr,15.9vuassyr);
+z24=(2.1huassyr,12vuassyr);
+z25=(2huassyr,11.6vuassyr);
+z50=(2.5huassyr,10.6vuassyr);
+z51=(3huassyr,10vuassyr);
+z27=(8huassyr,4vuassyr);
+z29=(0,4vuassyr);
+
+z67=(9.9huassyr,-3.8vuassyr);
+z69=(10.7huassyr,-3vuassyr);
+z71=(12huassyr,-3.6vuassyr);
+z73=(12.7huassyr,-2.4vuassyr);
+z75=(12.5huassyr,-1.8vuassyr);
+z77=(11.7huassyr,-2.7vuassyr);
+z79=(10.3huassyr,-2.2vuassyr);
+z81=(9.7huassyr,-3.2vuassyr);
+
+pickup logo_pen;
+fill z1--z2..z3..{down}z5{down}..{down}z7{down}..{right}z11{right}..{up}z13{up}..
+z14..z15--z17..{up}z19{up}..{up}z21..{left}z22{left}..z23--z24..z25{down}..z50..z51--z27--z29--cycle;
+fill z67{right}..{right}z69{right}..{right}z71{right}..{up}z73{up}..{left}z75{left}..{left}z77{left}..
+{left}z79{left}..{down}z81{down}..{right}cycle;
+endchar;
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+beginchar("U",20huassyr#,16vuassyr#,6vuassyr#);"The letter Gammal first with dot";
+z1=(0,0);
+z2=(14.1huassyr,0);
+z3=(15huassyr,-1vuassyr);
+z5=(16.4huassyr,-3.7vuassyr);
+z7=(16huassyr,-6vuassyr);
+z11=(18huassyr,-7.8vuassyr);
+z13=(19.8huassyr,-6.2vuassyr);
+z14=(19.3huassyr,-5vuassyr);
+z15=(18huassyr,-3.4vuassyr);
+z17=(6.4huassyr,11.6vuassyr);
+z19=(5.6huassyr,14vuassyr);
+z21=(5.6huassyr,15.8vuassyr);
+z22=(5.5huassyr,16vuassyr);
+z23=(5.35huassyr,15.9vuassyr);
+z24=(2.1huassyr,12vuassyr);
+z25=(2huassyr,11.6vuassyr);
+z50=(2.5huassyr,10.6vuassyr);
+z51=(3huassyr,10vuassyr);
+z27=(8huassyr,4vuassyr);
+z29=(0,4vuassyr);
+
+z67=(10.9huassyr,-2.8vuassyr);
+z69=(11.2huassyr,-3.1vuassyr);
+z71=(11.4huassyr,-4.5vuassyr);
+z73=(11.2huassyr,-5.5vuassyr);
+z75=(10.9huassyr,-5.8vuassyr);
+z77=(10.6huassyr,-5.5vuassyr);
+z79=(10.4huassyr,-4.5vuassyr);
+z81=(10.6huassyr,-3.1vuassyr);
+
+pickup logo_pen;
+fill z1--z2..z3..{down}z5{down}..{down}z7{down}..{right}z11{right}..{up}z13{up}..
+z14..z15--z17..{up}z19{up}..{up}z21..{left}z22{left}..z23--z24..z25{down}..z50..z51--z27--z29--cycle;
+fill z67{right}..z69..{down}z71{down}..z73..{left}z75{left}..z77..
+{up}z79{up}..z81..{right}cycle;
+endchar;
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+kwidth#:=4boxx#;
+kheight#:=5boxx#;
+kdepth#:=2boxx#;
+kleft#:=0#;
+
+beginchar("g",16huassyr#,16vuassyr#,6vuassyr#);"The letter Gammal middle";
+z1=(0,0);
+z2=(11huassyr,0);
+z3=(12huassyr,-1.1vuassyr);
+z5=(12.6huassyr,-2.5vuassyr);
+z7=(12huassyr,-6vuassyr);
+z11=(13.8huassyr,-7.8vuassyr);
+z13=(15.9huassyr,-5.5vuassyr);
+z14=(14.7huassyr,-3vuassyr);
+z15=(12huassyr,0);
+z17=(12huassyr,1vuassyr);
+z19=(13huassyr,0.4vuassyr);
+z21=(14huassyr,0);
+z22=(15huassyr,0);
+z23=(16huassyr,1vuassyr);
+z24=(16huassyr,4vuassyr);
+z25=(13huassyr,4vuassyr);
+z50=(12huassyr,4.6vuassyr);
+z51=(6.5huassyr,12vuassyr);
+z27=(5.6huassyr,14.5vuassyr);
+z29=(5.6huassyr,15.9vuassyr);
+z31=(5.5huassyr,16vuassyr);
+z33=(5.3huassyr,15.9vuassyr);
+z35=(2.2huassyr,12vuassyr);
+z37=(2huassyr,11.4vuassyr);
+z39=(2.2huassyr,11vuassyr);
+z41=(3huassyr,10vuassyr);
+z43=(8.4huassyr,4vuassyr);
+z45=(0,4vuassyr);
+
+pickup logo_pen;
+fill z1--z2..z3..{down}z5{down}..{down}z7{down}..{right}z11{right}..{up}z13{up}..
+z14..z15--z17..z19..{right}z21--z22{right}..{up}z23--z24--z25{left}..z50--z51..{up}z27{up}..{up}z29{up}..
+{left}z31{left}..z33--z35..{down}z37{down}..z39..z41--z43--z45--cycle;
+
+endchar;
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+beginchar("u",16huassyr#,16vuassyr#,6vuassyr#);"The letter Gammal middle with dot";
+z1=(0,0);
+z2=(11huassyr,0);
+z3=(12huassyr,-1.1vuassyr);
+z5=(12.6huassyr,-2.5vuassyr);
+z7=(12huassyr,-6vuassyr);
+z11=(13.8huassyr,-7.8vuassyr);
+z13=(15.9huassyr,-5.5vuassyr);
+z14=(14.7huassyr,-3vuassyr);
+z15=(12huassyr,0);
+z17=(12huassyr,1vuassyr);
+z19=(13huassyr,0.4vuassyr);
+z21=(14huassyr,0);
+z22=(15huassyr,0);
+z23=(16huassyr,1vuassyr);
+z24=(16huassyr,4vuassyr);
+z25=(13huassyr,4vuassyr);
+z50=(12huassyr,4.6vuassyr);
+z51=(6.5huassyr,12vuassyr);
+z27=(5.6huassyr,14.5vuassyr);
+z29=(5.6huassyr,15.9vuassyr);
+z31=(5.5huassyr,16vuassyr);
+z33=(5.3huassyr,15.9vuassyr);
+z35=(2.2huassyr,12vuassyr);
+z37=(2huassyr,11.4vuassyr);
+z39=(2.2huassyr,11vuassyr);
+z41=(3huassyr,10vuassyr);
+z43=(8.4huassyr,4vuassyr);
+z45=(0,4vuassyr);
+
+
+z67=(7.9huassyr,-1.5vuassyr);
+z69=(8.2huassyr,-1.8vuassyr);
+z71=(8.4huassyr,-3vuassyr);
+z73=(8.2huassyr,-4.2vuassyr);
+z75=(7.9huassyr,-4.5vuassyr);
+z77=(7.6huassyr,-4.2vuassyr);
+z79=(7.4huassyr,-3vuassyr);
+z81=(7.6huassyr,-1.8vuassyr);
+
+pickup logo_pen;
+fill z1--z2..z3..{down}z5{down}..{down}z7{down}..{right}z11{right}..{up}z13{up}..
+z14..z15--z17..z19..{right}z21--z22{right}..{up}z23--z24--z25{left}..z50--z51..{up}z27{up}..{up}z29{up}..
+{left}z31{left}..z33--z35..{down}z37{down}..z39..z41--z43--z45--cycle;
+fill z67{right}..z69..{down}z71{down}..z73..{left}z75{left}..z77..
+{up}z79{up}..z81..{right}cycle;
+endchar;
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+beginchar("j",16huassyr#,16vuassyr#,6vuassyr#);"The letter jammal middle";
+z1=(0,0);
+z2=(11huassyr,0);
+z3=(12huassyr,-1.1vuassyr);
+z5=(12.6huassyr,-2.5vuassyr);
+z7=(12huassyr,-6vuassyr);
+z11=(13.8huassyr,-7.8vuassyr);
+z13=(15.9huassyr,-5.5vuassyr);
+z14=(14.7huassyr,-3vuassyr);
+z15=(12huassyr,0);
+z17=(12huassyr,1vuassyr);
+z19=(13huassyr,0.4vuassyr);
+z21=(14huassyr,0);
+z22=(15huassyr,0);
+z23=(16huassyr,1vuassyr);
+z24=(16huassyr,4vuassyr);
+z25=(13huassyr,4vuassyr);
+z50=(12huassyr,4.6vuassyr);
+z51=(6.5huassyr,12vuassyr);
+z27=(5.6huassyr,14.5vuassyr);
+z29=(5.6huassyr,15.9vuassyr);
+z31=(5.5huassyr,16vuassyr);
+z33=(5.3huassyr,15.9vuassyr);
+z35=(2.2huassyr,12vuassyr);
+z37=(2huassyr,11.4vuassyr);
+z39=(2.2huassyr,11vuassyr);
+z41=(3huassyr,10vuassyr);
+z43=(8.4huassyr,4vuassyr);
+z45=(0,4vuassyr);
+
+z67=(6.9huassyr,-3.8vuassyr);
+z69=(7.7huassyr,-3vuassyr);
+z71=(9huassyr,-3.6vuassyr);
+z73=(9.7huassyr,-2.4vuassyr);
+z75=(9.5huassyr,-1.8vuassyr);
+z77=(8.7huassyr,-2.7vuassyr);
+z79=(7.3huassyr,-2.2vuassyr);
+z81=(6.7huassyr,-3.2vuassyr);
+
+pickup logo_pen;
+fill z1--z2..z3..{down}z5{down}..{down}z7{down}..{right}z11{right}..{up}z13{up}..
+z14..z15--z17..z19..{right}z21--z22{right}..{up}z23--z24--z25{left}..z50--z51..{up}z27{up}..{up}z29{up}..
+{left}z31{left}..z33--z35..{down}z37{down}..z39..z41--z43--z45--cycle;
+fill z67{right}..{right}z69{right}..{right}z71{right}..{up}z73{up}..{left}z75{left}..{left}z77{left}..
+{left}z79{left}..{down}z81{down}..{right}cycle;
+endchar;
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+kwidth#:=1.5boxx#;
+kheight#:=5boxx#;
+kdepth#:=2boxx#;
+kleft#:=0#;
+
+beginchar("I",6huassyr#,8vuassyr#,0);"The letter Ioot first";
+z1=(0,0);
+z2=(2huassyr,0);
+z3=(2huassyr,1vuassyr);
+z5=(3huassyr,0.4vuassyr);
+z7=(4huassyr,0);
+z11=(5huassyr,0);
+z13=(6huassyr,1vuassyr);
+z14=(6huassyr,4vuassyr);
+z15=(2.8huassyr,7.5vuassyr);
+z17=(2.3huassyr,8vuassyr);
+z19=(2huassyr,7vuassyr);
+z21=(1huassyr,4vuassyr);
+z22=(0,4vuassyr);
+pickup logo_pen;
+fill z1--z2--z3..z5..z7{right}..z11{right}..{up}z13--
+z14{left}..z15..{left}z17..{down}z19{down}..{left}z21..{left}z22--cycle;
+endchar;
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+kwidth#:=3boxx#;
+kheight#:=5boxx#;
+kdepth#:=2boxx#;
+kleft#:=0#;
+
+beginchar("i",12huassyr#,8vuassyr#,0);"The letter Khet first";
+z1=(0,0);
+z2=(2huassyr,0);
+z3=(2huassyr,1vuassyr);
+z5=(3huassyr,0.4vuassyr);
+z7=(4huassyr,0);
+z11=(8huassyr,0);
+z13=(8huassyr,1vuassyr);
+z14=(9huassyr,0.4vuassyr);
+z15=(10huassyr,0);
+z17=(11huassyr,0);
+z19=(12huassyr,1vuassyr);
+z21=(12huassyr,4vuassyr);
+z22=(8.8huassyr,7.5vuassyr);
+
+z23=(8.3huassyr,8vuassyr);
+z25=(8huassyr,7vuassyr);
+z27=(7huassyr,4vuassyr);
+z29=(6huassyr,4vuassyr);
+z31=(2.8huassyr,7.5vuassyr);
+z33=(2.3huassyr,8vuassyr);
+z35=(2huassyr,7vuassyr);
+z37=(1huassyr,4vuassyr);
+z39=(0,4vuassyr);
+
+pickup logo_pen;
+fill z1--z2--z3..z5..{right}z7--z11--z13..
+z14..{right}z15--z17{right}..{up}z19--z21{left}..z22..{left}z23..{down}z25{down}..
+{left}z27..{left}z29..z31..{left}z33..{down}z35{down}..{left}z37..{left}z39--cycle;
+endchar;
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+kwidth#:=3.5boxx#;
+kheight#:=5boxx#;
+kdepth#:=2boxx#;
+kleft#:=0#;
+
+beginchar("E",14huassyr#,16vuassyr#,0);"The letter Ee first";
+z1=(0,0);
+z2=(10huassyr,0);
+z3=(10huassyr,1vuassyr);
+z5=(11huassyr,0.4vuassyr);
+z7=(12huassyr,0);
+z11=(12.5huassyr,0);
+z13=(14huassyr,2.5vuassyr);
+z14=(14huassyr,5.2vuassyr);
+z15=(13.8huassyr,5.4vuassyr);
+z17=(13.6huassyr,5.2vuassyr);
+z19=(12.5huassyr,4vuassyr);
+z21=(11huassyr,4.9vuassyr);
+z22=(10huassyr,6vuassyr);
+
+z23=(6huassyr,12.1vuassyr);
+z25=(5huassyr,15vuassyr);
+z27=(5huassyr,15.8vuassyr);
+z29=(4.9huassyr,16vuassyr);
+z31=(4.7huassyr,15.85vuassyr);
+z33=(2.3huassyr,13vuassyr);
+z35=(2huassyr,12.2vuassyr);
+z37=(2.5huassyr,11vuassyr);
+z39=(7.4huassyr,4vuassyr);
+z41=(0,4vuassyr);
+
+pickup logo_pen;
+fill z1--z2--z3..z5..{right}z7--z11{right}..{up}z13{up}..
+{up}z14{up}..{left}z15..z17..{left}z19{left}..z21..z22--z23..{up}z25{up}..
+{up}z27{up}..{left}z29..z31--z33..{down}z35{down}..z37--z39--z41--cycle;
+endchar;
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+kwidth#:=3boxx#;
+kheight#:=5boxx#;
+kdepth#:=2boxx#;
+kleft#:=0#;
+
+beginchar("e",12huassyr#,16vuassyr#,0);"The letter Ee middle";
+z1=(0,0);
+z2=(10huassyr,0);
+z3=(10huassyr,1vuassyr);
+z5=(11huassyr,0.4vuassyr);
+z7=(12huassyr,0);
+z11=(12huassyr,4vuassyr);
+z12=(11huassyr,4.4vuassyr);
+z101=(10huassyr,5.5vuassyr);
+z100=(9.6huassyr,6vuassyr);
+z13=(5.9huassyr,12vuassyr);
+z14=(5.1huassyr,15vuassyr);
+z15=(5.1huassyr,15.8vuassyr);
+z17=(5huassyr,16vuassyr);
+z19=(4.8huassyr,15.85vuassyr);
+z21=(2.25huassyr,12.5vuassyr);
+z22=(2huassyr,11.85vuassyr);
+
+z23=(2.4huassyr,10.9vuassyr);
+z25=(7.2huassyr,4vuassyr);
+z27=(0,4vuassyr);
+pickup logo_pen;
+fill z1--z2--z3..z5..{right}z7--z11{left}..z12..z101..z100--z13..
+z14{up}..{up}z15..{left}z17..z19--z21..{down}z22..z23--z25--z27--cycle;
+endchar;
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
diff --git a/Master/texmf-dist/fonts/source/public/aramaic-serto/serto.mf b/Master/texmf-dist/fonts/source/public/aramaic-serto/serto.mf
new file mode 100644
index 00000000000..88e2f0b9865
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/aramaic-serto/serto.mf
@@ -0,0 +1,51 @@
+% Driver file for Serto font `serto.mf'
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Designed and (c) by Johannes Heinecke %
+% <johannes(dot)heinecke(at)wanadoo(dot)fr> %
+% Please send any improvements, corrections, suggestions, enhancements etc %
+% to the Author! %
+% %
+% Version 0.1 as of 1st November 2001 %
+% %
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+font_coding_scheme:="Serto - Syriac";
+mode_setup;
+if known cmbase: font_setup; fi % If used with cmbase
+font_serto_setup;
+let sertochar=\;
+
+% fontmaking:=1; % to generate a TFM File during proof-ing
+
+%% Zeichendefinitionsdateien %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+input sertofont; % the serto alphabet
+%if unknown cmbase: input sertod; else: input romand; fi % digits: if cmbase is
+ % used this font will
+ % load cm-digits, for
+ % they are finer tuned.
+%if unknown cmbase: input sertop; else: input punct; fi % The same for punctuation
+%input sertovoc; % vowels
+
+%% Font-Parameter fuer TeX %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+font_quad 2.5stu#; % 1 em
+font_x_height 2stu#; % 1 ex (used by syriac.sty to define accent position)
+font_normal_space 3stu#; % word gap
+font_normal_stretch 2stu#; % word gap may stretch by ...
+font_normal_shrink 1stu#; % word gap my shrink by ...
+font_slant slant;
+
+% special "grayfont graylj"; % Only for GFtoDVI on emTeXs METAFONT
+
+%% Ligature-Tables %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+% olaf-lamad
+ligtable 65 : 116 =: 171;
+
+%lamad-olaf initial
+ligtable 116 : 66 =: 172;
+
+%lamad-olaf final
+ligtable 115 : 66 =: 173;
+
+endinput;
diff --git a/Master/texmf-dist/fonts/source/public/aramaic-serto/serto10.mf b/Master/texmf-dist/fonts/source/public/aramaic-serto/serto10.mf
new file mode 100644
index 00000000000..16d7dd48f36
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/aramaic-serto/serto10.mf
@@ -0,0 +1,126 @@
+% Syriac Font 10 point Normal Face `serto10.mf'
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Designed and (c) by Johannes Heinecke
+% <johannes(dot)heinecke(at)wanadoo(dot)fr>
+% Please send any improvements, corrections, suggestions, enhancements etc.
+% to the Author!
+%
+% Version 0.2 as of 17thNovember 2001
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+
+% Based on the parameters as in CMR10
+
+% if unknown cmbase: input cmbase fi
+if unknown sertobase: input sertobase fi
+
+font_identifier:="SERTO"; font_size 10pt#;
+
+u#:=20/36pt#; % unit width (was 20/36 until version 0.4)
+if known cmbase:
+width_adj#:=0pt#; % width adjustment for certain characters
+serif_fit#:=0pt#; % extra sidebar near lowercase serifs
+cap_serif_fit#:=5/36pt#; % extra sidebar near uppercase serifs
+letter_fit#:=0pt#; % extra space added to all sidebars
+
+body_height#:=270/36pt#; % height of tallest characters
+asc_height#:=250/36pt#; % height of lowercase ascenders
+cap_height#:=246/36pt#; % height of caps
+fig_height#:=232/36pt#; % height of numerals
+x_height#:=155/36pt#; % height of lowercase without ascenders
+math_axis#:=90/36pt#; % axis of symmetry for math symbols
+bar_height#:=87/36pt#; % height of crossbar in lowercase e
+comma_depth#:=70/36pt#; % depth of comma below baseline
+desc_depth#:=70/36pt#; % depth of lowercase descenders
+
+crisp#:=0pt#; % diameter of serif corners
+tiny#:=8/36pt#; % diameter of rounded corners
+fine#:=7/36pt#; % diameter of sharply rounded corners
+thin_join#:=7/36pt#; % width of extrafine details
+hair#:=9/36pt#; % lowercase hairline breadth
+stem#:=25/36pt#; % lowercase stem breadth
+curve#:=30/36pt#; % lowercase curve breadth
+ess#:=27/36pt#; % breadth in middle of lowercase s
+flare#:=33/36pt#; % diameter of bulbs or breadth of terminals
+dot_size#:=38/36pt#; % diameter of dots
+cap_hair#:=11/36pt#; % uppercase hairline breadth
+cap_stem#:=32/36pt#; % uppercase stem breadth
+cap_curve#:=37/36pt#; % uppercase curve breadth
+cap_ess#:=35/36pt#; % breadth in middle of uppercase s
+rule_thickness#:=.4pt#; % thickness of lines in math symbols
+
+dish#:=1/36pt#; % amount erased at top or bottom of serifs
+bracket#:=20/36pt#; % vertical distance from serif base to tangent
+jut#:=28/36pt#; % protrusion of lowercase serifs
+cap_jut#:=37/36pt#; % protrusion of uppercase serifs
+beak_jut#:=10/36pt#; % horizontal protrusion of beak serifs
+beak#:=70/36pt#; % vertical protrusion of beak serifs
+vair#:=8/36pt#; % vertical diameter of hairlines
+notch_cut#:=10pt#; % maximum breadth above or below notches
+bar#:=11/36pt#; % lowercase bar thickness
+slab#:=11/36pt#; % serif and arm thickness
+cap_bar#:=11/36pt#; % uppercase bar thickness
+cap_band#:=11/36pt#; % uppercase thickness above/below lobes
+cap_notch_cut#:=10pt#; % max breadth above/below uppercase notches
+serif_drop#:=4/36pt#; % vertical drop of sloped serifs
+stem_corr#:=1/36pt#; % for small refinements of stem breadth
+vair_corr#:=1/36pt#; % for small refinements of hairline height
+apex_corr#:=0pt#; % extra width at diagonal junctions
+
+o#:=8/36pt#; % amount of overshoot for curves
+apex_o#:=8/36pt#; % amount of overshoot for diagonal junctions
+
+slant:=0; % tilt ratio $(\Delta x/\Delta y)$
+fudge:=1; % factor applied to weights of heavy characters
+math_spread:=0; % extra openness of math symbols
+superness:=1/sqrt2; % parameter for superellipses
+superpull:=1/6; % extra openness inside bowls
+beak_darkness:=11/30; % fraction of triangle inside beak serifs
+ligs:=2; % level of ligatures to be included
+
+square_dots:=false; % should dots be square?
+hefty:=false; % should we try hard not to be overweight?
+serifs:=true; % should serifs and bulbs be attached?
+monospace:=false; % should all characters have the same width?
+variant_g:=false; % should an italic-style g be used?
+low_asterisk:=false; % should the asterisk be centered at the axis?
+math_fitting:=false; % should math-mode spacing be used?
+fi
+
+% These are the real serto Parameters
+boolean mxcap;
+mxcap:=false; % No capitals
+%stu#:= 2.5u#; % the unit, which where used to design this fonts
+stu#:= 2u#; % the unit, which where used to design this fonts
+hu#:=stu#; % the horizontal unit
+vu#:=stu#; % the vertical unit
+
+%mxlittle#:= 3mxu#; % height of letters without ascenders
+%mxtop#:= 2mxu#; % the height of the ascenders
+%mxheight#:=mxtop#+mxlittle#;
+%mxhalf#:=mxu#; % Half width of the letter 'a'
+%mxone#:=2mxhalf#;
+%mxmiddle#:=2/3mxlittle#; % strokes not reaching the baseline, as in 'o'
+%mxthird#:=1/3mxlittle#;
+%mxfeet#:= .4mxhalf#; % The feet of 'i' and 'o' etc are slightly
+% % bent to the middle
+%mxlow#:= 1.8mxu#; %war 2mxu# % max depth below the baseline
+%mxzw#:= .65mxu#; % Seperation of two letters
+
+
+basestroke# := stu#;
+px1#:=.18stu#; % pen 1 xscaling
+py1#:=.60stu#; % pen 1 yscaling
+
+dpx1#:=px1#; % digitpen xscaling
+dpy1#:=py1#; % digitpen yscaling
+pdot#:=.74stu#; % pen for dots
+pdash#:=.40stu#; % pen for dashes
+
+
+slant:=0;
+
+input serto; % switch to the driver file
+bye.
diff --git a/Master/texmf-dist/fonts/source/public/aramaic-serto/sertob10.mf b/Master/texmf-dist/fonts/source/public/aramaic-serto/sertob10.mf
new file mode 100644
index 00000000000..8b6261ad1e8
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/aramaic-serto/sertob10.mf
@@ -0,0 +1,125 @@
+% Syriac Font 10 point Normal Face `serto10.mf'
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Designed and (c) by Johannes Heinecke
+% <johannes(dot)heinecke(at)wanadoo(dot)fr>
+% Please send any improvements, corrections, suggestions, enhancements etc.
+% to the Author!
+%
+% Version 0.2 as of 17thNovember 2001
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+%
+% Based on the parameters as in CMR10
+
+% if unknown cmbase: input cmbase fi
+if unknown sertobase: input sertobase fi
+
+font_identifier:="SERTO"; font_size 10pt#;
+
+u#:=20/36pt#; % unit width
+if known cmbase:
+width_adj#:=0pt#; % width adjustment for certain characters
+serif_fit#:=0pt#; % extra sidebar near lowercase serifs
+cap_serif_fit#:=5/36pt#; % extra sidebar near uppercase serifs
+letter_fit#:=0pt#; % extra space added to all sidebars
+
+body_height#:=270/36pt#; % height of tallest characters
+asc_height#:=250/36pt#; % height of lowercase ascenders
+cap_height#:=246/36pt#; % height of caps
+fig_height#:=232/36pt#; % height of numerals
+x_height#:=155/36pt#; % height of lowercase without ascenders
+math_axis#:=90/36pt#; % axis of symmetry for math symbols
+bar_height#:=87/36pt#; % height of crossbar in lowercase e
+comma_depth#:=70/36pt#; % depth of comma below baseline
+desc_depth#:=70/36pt#; % depth of lowercase descenders
+
+crisp#:=0pt#; % diameter of serif corners
+tiny#:=8/36pt#; % diameter of rounded corners
+fine#:=7/36pt#; % diameter of sharply rounded corners
+thin_join#:=7/36pt#; % width of extrafine details
+hair#:=9/36pt#; % lowercase hairline breadth
+stem#:=25/36pt#; % lowercase stem breadth
+curve#:=30/36pt#; % lowercase curve breadth
+ess#:=27/36pt#; % breadth in middle of lowercase s
+flare#:=33/36pt#; % diameter of bulbs or breadth of terminals
+dot_size#:=38/36pt#; % diameter of dots
+cap_hair#:=11/36pt#; % uppercase hairline breadth
+cap_stem#:=32/36pt#; % uppercase stem breadth
+cap_curve#:=37/36pt#; % uppercase curve breadth
+cap_ess#:=35/36pt#; % breadth in middle of uppercase s
+rule_thickness#:=.4pt#; % thickness of lines in math symbols
+
+dish#:=1/36pt#; % amount erased at top or bottom of serifs
+bracket#:=20/36pt#; % vertical distance from serif base to tangent
+jut#:=28/36pt#; % protrusion of lowercase serifs
+cap_jut#:=37/36pt#; % protrusion of uppercase serifs
+beak_jut#:=10/36pt#; % horizontal protrusion of beak serifs
+beak#:=70/36pt#; % vertical protrusion of beak serifs
+vair#:=8/36pt#; % vertical diameter of hairlines
+notch_cut#:=10pt#; % maximum breadth above or below notches
+bar#:=11/36pt#; % lowercase bar thickness
+slab#:=11/36pt#; % serif and arm thickness
+cap_bar#:=11/36pt#; % uppercase bar thickness
+cap_band#:=11/36pt#; % uppercase thickness above/below lobes
+cap_notch_cut#:=10pt#; % max breadth above/below uppercase notches
+serif_drop#:=4/36pt#; % vertical drop of sloped serifs
+stem_corr#:=1/36pt#; % for small refinements of stem breadth
+vair_corr#:=1/36pt#; % for small refinements of hairline height
+apex_corr#:=0pt#; % extra width at diagonal junctions
+
+o#:=8/36pt#; % amount of overshoot for curves
+apex_o#:=8/36pt#; % amount of overshoot for diagonal junctions
+
+slant:=0; % tilt ratio $(\Delta x/\Delta y)$
+fudge:=1; % factor applied to weights of heavy characters
+math_spread:=0; % extra openness of math symbols
+superness:=1/sqrt2; % parameter for superellipses
+superpull:=1/6; % extra openness inside bowls
+beak_darkness:=11/30; % fraction of triangle inside beak serifs
+ligs:=2; % level of ligatures to be included
+
+square_dots:=false; % should dots be square?
+hefty:=false; % should we try hard not to be overweight?
+serifs:=true; % should serifs and bulbs be attached?
+monospace:=false; % should all characters have the same width?
+variant_g:=false; % should an italic-style g be used?
+low_asterisk:=false; % should the asterisk be centered at the axis?
+math_fitting:=false; % should math-mode spacing be used?
+fi
+
+% These are the real serto Parameters
+boolean mxcap;
+mxcap:=false; % No capitals
+stu#:= 2.5u#; % was 2.7u# % the unit, which where used to design this fonts
+hu#:=stu#; % the horizontal unit
+vu#:=stu#; % the vertical unit
+
+%mxlittle#:= 3mxu#; % height of letters without ascenders
+%mxtop#:= 2mxu#; % the height of the ascenders
+%mxheight#:=mxtop#+mxlittle#;
+%mxhalf#:=mxu#; % Half width of the letter 'a'
+%mxone#:=2mxhalf#;
+%mxmiddle#:=2/3mxlittle#; % strokes not reaching the baseline, as in 'o'
+%mxthird#:=1/3mxlittle#;
+%mxfeet#:= .4mxhalf#; % The feet of 'i' and 'o' etc are slightly
+% % bent to the middle
+%mxlow#:= 1.8mxu#; %war 2mxu# % max depth below the baseline
+%mxzw#:= .65mxu#; % Seperation of two letters
+
+
+basestroke# := 1.3stu#;
+px1#:=.18stu#; % pen 1 xscaling
+py1#:=.60stu#; % pen 1 yscaling
+
+dpx1#:=px1#; % digitpen xscaling
+dpy1#:=py1#; % digitpen yscaling
+pdot#:=.74stu#; % pen for dots
+pdash#:=.40stu#; % pen for dashes
+
+
+slant:=0;
+
+input serto; % switch to the driver file
+bye.
diff --git a/Master/texmf-dist/fonts/source/public/aramaic-serto/sertobase.mf b/Master/texmf-dist/fonts/source/public/aramaic-serto/sertobase.mf
new file mode 100644
index 00000000000..d8e9a492fff
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/aramaic-serto/sertobase.mf
@@ -0,0 +1,115 @@
+% Serto Base File `sertobase.mf'
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Designed and (c) by Johannes Heinecke
+% <johannes(dot)heinecke(at)wanadoo(dot)fr>
+% Please send any improvements, corrections, suggestions, enhancements etc.
+% to the Author!
+%
+% Version 0.2 as of 17thNovember 2001
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+
+sertobase:=1; % Es soll nur einmal geladen werden.
+
+newinternal slant;
+
+def font_serto_setup = % Eigenes Macro
+ define_pixels(stu, hu, vu, basestroke);
+ % mxmiddle, mxtop, mxfeet, mxlow, mxzw);
+ define_blacker_pixels(px1, py1, dpx1, dpy1, pdot, pdash);
+
+ pickup pencircle xscaled .4basestroke yscaled basestroke rotated -45;
+ serto_pen:=savepen;
+
+ pickup pencircle xscaled .2basestroke yscaled basestroke;
+ pe_pen:=savepen;
+
+ pickup pencircle xscaled .3basestroke yscaled .4basestroke;
+ punct_pen:=savepen;
+
+% pickup pencircle xscaled .8basestroke yscaled 2basestroke rotated 20;
+% chaldeanvowels_pen:=savepen;
+%
+% pickup pencircle xscaled .9basestroke yscaled 1.3basestroke rotated 10;
+% chaldeanvowels2_pen:=savepen;
+
+ pickup pencircle xscaled basestroke yscaled basestroke;
+ para_pen:=savepen;
+
+
+ pickup pencircle xscaled .5basestroke yscaled .3basestroke;
+ vowel_pen:=savepen;
+
+ pickup pencircle xscaled .5basestroke yscaled .2basestroke rotated 30;
+ vowelII_pen:=savepen;
+
+ pickup pencircle xscaled .3basestroke yscaled .2basestroke rotated 30;
+ vowelIII_pen:=savepen;
+
+
+% pickup pencircle xscaled dpx1 yscaled dpy1 rotated -10;
+% mxed_digitpen:=savepen; % Pen for digits and punctuation
+%
+% pickup pencircle scaled pdot;
+% mxed_dot:=savepen; % Pen for dots
+%
+% pickup pencircle scaled pdash;
+% mxed_dash:=savepen; % Pen for lines
+%
+%
+% pickup pensquare scaled pdash;
+% mxed_square:=savepen;
+%
+% pickup pencircle xscaled px1 yscaled py1;
+% mxed_pencc:=savepen;
+
+ currenttransform:=identity slanted slant yscaled aspect_ratio;
+enddef;
+
+
+
+if known cmbase:
+ def makebox(text rule) =
+ for y=0,h,mxlittle, -d, mxthird:
+ rule((0,y)t_,(r,y)t_); endfor % horizontals
+ for x=0,r,r-mxzw,mxhalf,mxone:
+ rule((x,-d)t_,(x,h)t_); endfor % verticals
+ % for x=u*(1+floor(l/u)) step u until r-1:
+ % rule((x,-body_depth)t_,(x,body_height)t_); endfor % more verticals
+ % if charic<>0:
+ % rule((r+charic*pt,h.o_),(r+charic*pt,.5h.o_)); fi % italic correction
+ enddef;
+
+else:
+ def makebox(text r) =
+ % horizontal lines on y-values:
+% for y=0, h.o_, -d.o_:
+% r((0, y), (w, y));
+% endfor
+
+ for y=0 step vu until h:
+ r((0, y), (w, y));
+ endfor
+
+% for y=0 step -vu until -d:
+% r((0, y), (w, y));
+% endfor
+
+ for y=0, -d, h:
+ r((0, y), (w, y));
+ endfor
+
+
+ % vertical lines on x-values:
+ for x=0 step hu until w:
+ r((x, -d), (x, h));
+ endfor
+ r((w, -d), (w, h));
+ if charic<>0: r((w+charic*hppp,h.o_),(w+charic*hppp,.5h.o_)); fi
+ enddef;
+fi
+
+
+endinput;
diff --git a/Master/texmf-dist/fonts/source/public/aramaic-serto/sertofont.mf b/Master/texmf-dist/fonts/source/public/aramaic-serto/sertofont.mf
new file mode 100644
index 00000000000..e468b4b3f49
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/aramaic-serto/sertofont.mf
@@ -0,0 +1,1700 @@
+% Syriac Serto FONT `sertofont.mf'
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Designed and (c) by Johannes Heinecke
+% <johannes(dot)heinecke(at)wanadoo(dot)fr>
+% Please send any improvements, corrections, suggestions, enhancements etc.
+% to the Author!
+%
+% Version 0.7 as of 29th September 2007
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+
+input sertomacros;
+
+%% Endarabeske fr beth etc
+%def arabesque (suffix $)(expr length) =
+% z$aa = (x$, y$-.5basestroke);
+% z$ac = (x$, y$+.5basestroke);
+% z$ab = (x$-length*hu, y$aa);
+% z$ad = (x$-(length-.2)*hu, y$ac);
+% z$ae = (x$ab-hu, y$ad+vu);
+% fill z$aa--z$ab{left}..{up}z$ae{dir -45}..{right}z$ad--z$ac--cycle;
+% labels($aa, $ab, $ac, $ad, $ae);
+%enddef;
+%
+%% baseline, if needed
+%def baseline (suffix $)(expr length) =
+% z$bz = z$; % to allow several baselines from one point
+% z$ba = (x$, y$-.5basestroke);
+% z$bc = (x$, y$+.5basestroke);
+% z$bb = (x$-length*hu, y$ba);
+% z$bd = (x$-length*hu, y$bc);
+% fill z$ba--z$bb--z$bd--z$bc--cycle;
+% labels($ba, $bb, $bc, $bd);
+%enddef;
+%
+%% dalath/resh dot
+%def sertodot (suffix $) (expr size) =
+% z$ca = (x$-.3hu, y$+.4vu); penpos$ca(size*basestroke, 45);
+% z$cb = (x$+.3hu, y$-.4vu); penpos$cb(size*basestroke, 45);
+% penstroke z$ca.e..z$cb.e;
+% labels($ca, $cb)
+%enddef;
+%
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%% Character Definitions: %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+% Order: alphabetically, isolated-final-medial-initial
+
+% olaf - isolated
+sertochar "olaf - isolated '";
+beginchar(65, 2hu#, 8vu#, 0);
+ z1 = (.5hu, 0); penpos1(basestroke, 0);
+ z2 = (.4hu, 2vu); penpos2(.9basestroke, 0);
+ z3 = (hu, 5vu); penpos3(.5basestroke, 10);
+ %z4 = (.4hu, 7.5vu); penpos4(basestroke, 45);
+ z4 = (.4hu, 7.5vu); penpos4(1.2basestroke, 45);
+ penstroke z1e..z2e..z3e..z4e;
+ penlabels(range 1 thru 4);
+endchar;
+
+% olaf - final
+sertochar "olaf - final '";
+beginchar(66, 2hu#, 8vu#, 0);
+ %z1 = (2hu, .5vu); penpos1(basestroke, 90);
+ %z2 = (1.1hu, 1.1vu); penpos2(.9basestroke, 40);
+ %z3 = (.5hu, 4vu); penpos3(.7basestroke, 0);
+ %z4 = (.5hu, 8vu); penpos4(.7basestroke, 0);
+ %z5r = z2l;
+ %z5l = (0, y2l);
+ %z6 = (-.3hu, -vu); penpos6(.4basestroke, -45);
+ %penstroke z1e{left}..z2e..z3e..z4e;
+ %penstroke z4e..z3e..z5e..z6e;
+
+ z1 = (2hu, .5vu); penpos1(basestroke, 90);
+ z2 = (x1-1.5hu, 2.5vu); penpos2(basestroke, 0);
+ z3 = (x2, 4.5vu); penpos3(basestroke, 0);
+ z4l = z3l + (0, 3.2vu);
+ z4r = z3r + (0, 3.8vu);
+ z14l = z13l + (0, 3.8vu);
+ z14r = z13r + (0, 3.2vu);
+
+
+ z6 = (-.8hu, -1.5vu); penpos6(.2basestroke, -45);
+
+ penstroke z4e..z3e..z2e{down}..{right}z1e;
+ penstroke z2e{down}..z6e;
+ %penstroke z4e..z3e..z5e..z6e;
+ penlabels(range 1 thru 6);
+endchar;
+
+
+def bethcommon =
+ z1 = (6hu, .5vu); penpos1(basestroke, -90);
+ %z2 = (x1+.5hu, 4vu/3); penpos2(basestroke, 30);
+ z2 = (x1+.5basestroke, 4basestroke/3); penpos2(basestroke, 30);
+ z4 = (3hu, 3.4vu); penpos4(basestroke, 90);
+ z5 = (.7hu, 2.5vu); penpos5(.45basestroke, 135);
+ penstroke z1e{right}..z2e..z4e..z5e;
+ penlabels(range 1 thru 5);
+enddef;
+
+% beth - isolated
+sertochar "beth - isolated b";
+beginchar(67, 8hu#, 4vu#, 0);
+ bethcommon;
+ arabesque(1, 5);
+endchar;
+
+% beth - final
+sertochar "beth - final b";
+beginchar(68, 8hu#, 4vu#, 0);
+ bethcommon;
+ baseline(1, -2);
+ arabesque(1, 5);
+endchar;
+
+% beth - medial
+sertochar "beth - medial b";
+beginchar(69, 8hu#, 4vu#, 0);
+ bethcommon;
+ z6 = z1;
+ baseline(1, 6);
+ baseline(6, -2);
+ penlabels(6);
+endchar;
+
+% beth - initial
+sertochar "beth - initial b";
+beginchar(70, 8hu#, 4vu#, 0);
+ bethcommon;
+ baseline(1, 6);
+endchar;
+
+
+
+def gammalcommon =
+ z1 = (2.5hu, 1.25vu); penpos1(basestroke, -135);
+ z3 = (7.25hu, -2.25vu); penpos3(.6basestroke, -120);
+ %z4r = z3r;
+ z5r = z3r;
+ %z4l = (x4r+1.5hu, y4r);
+ z5l = (x5r, y5r-.7hu);
+ z6 = (3.5hu, -1.45vu); penpos6(.8basestroke, 45);
+ %z7 = (hu, .5vu);
+ z7l = (hu, -.3hu);
+ penpos7(.9basestroke, 50);
+
+ penstroke z1e{dir -45}..z3e;
+ penstroke z3e{dir -32}..z5e;
+ penstroke z5e{left}..z6e..z7e;
+
+ penlabels(range 1 thru 7);
+enddef;
+
+def gammalarabesque =
+ z8 = (x7l, 2.5vu);
+ fill z7l{z7l-z6l}..z8 & z8{dir -100}..{z6r-z7r}z7r--cycle;
+ penlabels(8)
+enddef;
+%endinput;
+% gamal - isolated
+sertochar "gamal - isolated g";
+beginchar(71, 7hu#, 1vu#, 3vu#);
+ gammalcommon;
+ gammalarabesque;
+endchar;
+
+% gamal - final
+sertochar "gamal - final g";
+beginchar(72, 7hu#, 1vu#, 3vu#);
+ gammalcommon;
+ gammalarabesque;
+
+ z9 = (4hu, .5vu); penpos9(basestroke, -90);
+ baseline(9, -3);
+ penstroke z9e{left}..z1e;
+
+ penlabels(9);
+endchar;
+
+% gamal - medial
+sertochar "gamal - medial g";
+beginchar(73, 7hu#, 1vu#, 3vu#);
+ gammalcommon;
+ z8 = (0, .5vu); penpos8(basestroke, 90);
+ penstroke z7e{z7e-z6e}..{left}z8e;
+ z9 = (4hu, .5vu); penpos9(basestroke, -90);
+ baseline(9, -3);
+ penstroke z9e{left}..z1e;
+
+ penlabels(9);
+ penlabels(8)
+endchar;
+
+
+% gamal - initial
+sertochar "gamal - initial g";
+beginchar(74, 7hu#, 1vu#, 3vu#);
+ gammalcommon;
+ z8 = (0, .5vu); penpos8(basestroke, 90);
+ penstroke z7e{z7e-z6e}..{left}z8e;
+ penlabels(8)
+endchar;
+
+
+def dr_isolated_common =
+ %z1 = (.5hu, -1vu);
+ z2 = (2.5hu, 2vu);
+ z3 = (1hu, 4vu);
+ z4 = (0, 2.5vu);
+ z5 = (1hu, 1vu);
+ z1 = (.6hu, -.7vu);
+ %fill z4{down}..z5..{dir -135}z1
+ % & z1{dir 45}..z2{up}..z3{left}..cycle;
+ fill z4{down}..z5..{dir -115}z1{dir 45}..z2{up}..z3{left}..cycle;
+ penlabels(range 1 thru 5);
+
+enddef;
+
+% dalath - isolated
+sertochar "dalath - isolated d";
+beginchar(75, 4hu#, 4vu#, 2vu#);
+ dr_isolated_common;
+ z6 = (1hu, y1-1.2vu);
+ sertodot(6, 1);
+ penlabels(6);
+endchar;
+
+
+def dr_final_common =
+ z1 = (3.5hu, .5vu); penpos1(basestroke, 90);
+ z2 = (hu, 1.5vu); penpos2(1.2basestroke, 45);
+ penstroke z1e{left}..z2e;
+
+ z3 = (x2r, -vu);
+ %fill z2r{dir -80}..z3 & z3..{dir 130}z2l--cycle;
+ fill z2r{dir -80}..{right}z1r & z1r--z1l
+ & z1l{left}..z3 & z3..{dir 130}z2l--cycle;
+
+ penlabels(range 1 thru 3);
+enddef;
+
+% dalath - final
+sertochar "dalath - final d";
+beginchar(76, 3.5hu#, 2vu#, 3vu#);
+ dr_final_common;
+ z4 = (x3, y3-1.2vu);
+ sertodot(4, 1);
+ penlabels(4);
+endchar;
+
+
+
+
+
+def heecommon =
+ z1 = (5.5hu, 0); penpos1(.2basestroke, 0);
+ z2 = (6hu, 2.8vu); penpos2(.6basestroke, 0);
+ z3 = (5.5hu, 4.5vu); penpos3(basestroke, 90);
+ z4 = (2.5hu, .5vu); penpos4(basestroke, 90);
+ z5 = (.2hu, y2); penpos5(.5basestroke, 0);
+ z6 = (x4, y3); penpos6(basestroke, -90);
+ z7 = (5hu, 3vu); penpos7(.9basestroke, -135);
+ penstroke z1e..z2e..z3e & z3e{dir -105}..z4e..z5e..z6e..z7e;
+ penlabels(range 1 thru 7);
+enddef;
+
+
+% he isolated
+sertochar "he - isolated h";
+beginchar(77, 7hu#, 5vu#, 0);
+ heecommon;
+endchar;
+
+% he final
+sertochar "he - final h";
+beginchar(78, 7.5hu#, 5vu#, 0);
+ heecommon;
+ z8 = (x1+.5hu, 2vu); penpos8(basestroke, 90);
+ z9 = (x1+2hu, .5vu); penpos9(basestroke, 90);
+ penstroke z8e..{right}z9e;
+ penlabels(8, 9);
+endchar;
+
+def wawcommon (suffix $) =
+ pickup serto_pen;
+ bot z$a = (x$ + 2hu, y$);
+ lft z$b = (x$, y$ + 2vu);
+ top z$c = (x$a, y$ + 5vu);
+ rt z$d = (x$ + 4hu, y$ + 2vu);
+ draw z$a..z$b..z$c..z$d..cycle;
+
+ penlabels($a, $b, $c, $d);
+enddef;
+
+
+% waw isolated
+sertochar "waw - isolated w";
+beginchar(79, 5hu#, 5vu#, 0);
+ z1 = (0, 0);
+ wawcommon(1);
+endchar;
+
+% waw final
+sertochar "waw - final w";
+beginchar(80, 5hu#, 5vu#, 0);
+ z1 = (0, 0);
+ wawcommon(1);
+ z5 = (.6[x1a,x1d], vu); penpos5(basestroke, 50);
+ z6 = (5hu, .5vu); penpos6(basestroke, 90);
+ penstroke z6e{left}..z5e;
+ penlabels(5, 6);
+endchar;
+
+
+
+
+% o-waw isolated
+sertochar "waw - isolated o";
+beginchar(159, 5hu#, 5vu#, 0);
+ z1 = (0, 0);
+ wawcommon(1);
+ z7 = (x1c, 7hu);
+ sertodot(7, 1);
+endchar;
+
+% o-waw final
+sertochar "waw - final o";
+beginchar(160, 5hu#, 5vu#, 0);
+ z1 = (0, 0);
+ wawcommon(1);
+ z5 = (.6[x1a,x1d], vu); penpos5(basestroke, 50);
+ z6 = (5hu, .5vu); penpos6(basestroke, 90);
+ z7 = (x1c, 7hu);
+ sertodot(7, 1);
+
+ penstroke z6e{left}..z5e;
+ penlabels(5, 6, 7);
+endchar;
+
+
+
+def zaincommon =
+ z1 = (2hu, .5vu); penpos1(basestroke, 90);
+ z2 = (1.1hu, 1.1vu); penpos2(.9basestroke, 40);
+ z3 = (.5hu, 4vu); penpos3(.7basestroke, 0);
+ z5r = z2l;
+ z5l = (0, y2l);
+ z6 = (-.3hu, -1.3vu); penpos6(.3basestroke, -45);
+
+ penstroke z3e{down}..z5e..z6e;
+ penlabels(range 1 thru 6);
+enddef;
+
+% zain - isolated
+sertochar "zain - isolated z";
+beginchar(81, 2hu#, 4vu#, 1.5vu#);
+ zaincommon;
+endchar;
+
+% zain - final
+sertochar "zain - final z";
+beginchar(82, 2hu#, 4vu#, 1.5vu#);
+ zaincommon;
+ penstroke z1e..z2e..{up}z3e;
+endchar;
+
+def hhethcommon (expr xoffs, init) =
+ if init = 1:
+ z1 = (xoffs + 3.8hu, 2.4vu);
+ z11 = (xoffs + 4.5hu, 2.2vu);
+ else:
+ z1 = (xoffs + 4.3hu, 2.6vu);
+ z11 = (xoffs + 4.7hu, y1);
+ fi;
+
+ %z1 = (xoffs + 4.5hu, 2.6vu); penpos1(.2basestroke, 0);
+ %z3 = (x1-3hu, y1); penpos3(.2basestroke, -180);
+ %z2 = (.5[x3,x1], .5vu); penpos2(basestroke, -90);
+ %z4 = (1.5[x1,x3], y2); penpos4(basestroke, -270);
+ %penstroke z1e{down}..z2e..{up}z3e;
+ %penstroke z3e{down}..{left}z4e;
+
+ z2 = (xoffs + 3hu, (vu-basestroke)/2);
+ z3 = (xoffs + 1.5hu, .5vu);
+ z4 = (xoffs, y2);
+ z5 = (x4, y2+basestroke);
+ z6 = (x3-.2basestroke, 2.6vu);
+ z7 = (x3+.2basestroke, y6);
+ z8 = (x2, y5);
+ if init = 0:
+ z12 = (xoffs+6hu, y5);
+ z13 = (x12, y2);
+ z14 = (xoffs+4.5hu, y3);
+ fill z11{down}..{right}z12--z13{left}..z14 &
+ z14..z2{left}..z3 &
+ z3..{left}z4--z5{right}..{up}z6--z7{down}..{right}z8..z1--cycle;
+ else:
+ fill z11..z2{left}..z3 &
+ z3..{left}z4--z5{right}..{up}z6--z7{down}..{right}z8..z1--cycle;
+ fi;
+
+ penlabels(range 1 thru 14);
+enddef;
+
+% .heth isolated
+sertochar ".heth - isolated .h";
+beginchar(83, 6.8hu#, 3vu#, 0);
+ hhethcommon(1.2hu, 1);
+ z10 = (.5[z4,z5]);
+ arabesque(10, .2);
+endchar;
+
+% .heth final
+sertochar ".heth - final .h";
+beginchar(84, 7.2hu#, 3vu#, 0);
+ hhethcommon(1.2hu, 0);
+ z10 = (.5[z4,z5]);
+ arabesque(10, .2);
+endchar;
+
+% .heth medial
+sertochar ".heth - medial .h";
+beginchar(85, 6hu#, 3vu#, 0);
+ hhethcommon(0hu, 0);
+endchar;
+
+% .heth initial
+sertochar ".heth - initial .h";
+beginchar(86, 5.5hu#, 3vu#, 0);
+ hhethcommon(0hu, 1);
+endchar;
+
+
+
+def tethcommon (expr xoffs) =
+ z1 = (xoffs+3.5hu, 8vu); penpos1(basestroke, 0);
+ z2 = (x1-1.5hu, 1.5vu); penpos2(.5basestroke, 0);
+% z3 = (x1-3hu, -3vu); penpos3(basestroke, 0);
+% z4 = (x1-hu, -4.5vu); penpos4(.7basestroke, 90);
+ z4 = (x1-hu, -3.5vu); penpos4(.7basestroke, 90);
+ z3 = (x1-3hu, y4+1.5vu); penpos3(basestroke, 0);
+ z5 = (x1+.5hu, 0); penpos5(basestroke, 225);
+ z6 = (x2, .5vu); penpos6(basestroke, 270);
+ z7 = (xoffs, .5vu); penpos7(basestroke, 270);
+ penstroke z1e{down}..z2e..z3e..z4e..z5e..{left}z6e..z7e;
+
+ penlabels(range 1 thru 7);
+enddef;
+
+% .teth isolated
+sertochar ".teth - isolated .t";
+beginchar(87, 6.2hu#, 8vu#, 4vu#);
+ tethcommon(1.2hu);
+ arabesque(7, .2);
+endchar;
+
+% .teth final
+sertochar ".teth - final .t";
+beginchar(88, 8.2hu#, 8vu#, 4vu#);
+ tethcommon(1.2hu);
+ arabesque(7, .2);
+ z8 = (8.2hu, .5vu); penpos8(basestroke, 90);
+ penstroke z8e{left}..{up}z1e;
+endchar;
+
+% .teth medial
+sertochar ".teth - medial .t";
+beginchar(89, 7hu#, 8vu#, 4vu#);
+ tethcommon(0hu);
+ z8 = (7hu, .5vu); penpos8(basestroke, 90);
+ penstroke z8e{left}..{up}z1e;
+endchar;
+
+% .teth initial
+sertochar ".teth - initial .t";
+beginchar(90, 5hu#, 8vu#, 4vu#);
+ tethcommon(0hu);
+endchar;
+
+
+
+def iodhcommon (expr xoffs) =
+ z1 = (xoffs, .5(vu-basestroke));
+ z2 = (x1, .5(vu+basestroke));
+ z21 = (x1-1hu, y2);
+ z3 = (x1+hu, 2.5basestroke);
+ z4 = (x1+2hu, y2);
+ z5 = (x1+2.2hu, .5vu);
+ z6 = (x1+1.5hu, y1);
+
+ fill z1--z21{right}..z3--z4{z4-z3} % ..z5{down}
+ ..{left}z6--cycle;
+
+ penlabels(range 1 thru 21);
+enddef;
+
+% iod isolated
+sertochar "iod - isolated y";
+beginchar(105, 6hu#, 2.5vu#, 0);
+ iodhcommon(3hu);
+ z7 = (.5[z1, z2]);
+ %baseline(7, 1)
+ arabesque(7, 2);
+endchar;
+
+% iod final
+sertochar "iod - final y";
+beginchar(106, 6hu#, 2.5vu#, 0);
+ iodhcommon(3hu);
+ z8 = (.5[z1, z2]);
+ arabesque(8, 2);
+
+ z7 = (x1 + 1.5hu, .5[y1, y2]);
+ baseline(7, -1.5)
+endchar;
+
+% iod medial
+sertochar "iod - medial y";
+beginchar(107, 4hu#, 2.5vu#, 0);
+ iodhcommon(1hu);
+ z8 = (.5[z1, z2]);
+ baseline(8, 1)
+ z7 = (x1 + 1.5hu, .5[y1, y2]);
+ baseline(7, -1.5)
+endchar;
+
+% iod initial
+sertochar "iod - initial y";
+beginchar(108, 4hu#, 2.5vu#, 0);
+ iodhcommon(1hu);
+ z7 = (.5[z1, z2]);
+ baseline(7, 1)
+endchar;
+
+
+
+% kaf - isolated
+sertochar "kaf - isolated k (needs improvement)";
+beginchar(109, 6hu#, 2.5vu#, 3vu#);
+ z1 = (3hu, (vu-basestroke)/2);
+ z2 = (x1, .5vu+.5basestroke);
+ z21 = (x1-hu, y2);
+ z3 = (x1+hu, 2.5basestroke);
+ z4 = (x1+2hu, y2);
+ z5 = (x1+2.2hu, .5basestroke);
+ z6 = (x1+1.5hu, y1);
+
+ fill z1--z21{right}..z3--z4{z4-z3} % ..z5{down}
+ ..{left}z6--cycle;
+ z7 = (x1, .5vu);
+ arabesque(7, 2);
+
+ z8 = (3.5[z3, z2]);
+ z9 = (x8+.2hu, y8-.2vu);
+ fill z2--z8--z9--z4--cycle;
+ penlabels(range 1 thru 9);
+endchar;
+
+% kaf - final
+sertochar "kaf - final k (needs improvement)";
+beginchar(110, 6hu#, 2.5vu#, 3vu#);
+ z1 = (3hu, 0);
+ z2 = (x1, .5vu+.5basestroke);
+ z21 = (x1-hu, y2);
+ z3 = (x1+hu, 2.5basestroke);
+ z4 = (x1+2hu, y2);
+ z5 = (x1+2.2hu, .5basestroke);
+ z6 = (x1+1.5hu, 0);
+
+ fill z1--z21{right}..z3--z4{z4-z3} % ..z5{down}
+ ..{left}z6--cycle;
+
+ z7 = (x1, .5vu);
+ arabesque(7, 2);
+ baseline(7, -3);
+
+ z8 = (3.5[z3, z2]);
+ z9 = (x8+.2hu, y8-.2vu);
+ fill z2--z8--z9--z4--cycle;
+ penlabels(range 1 thru 21);
+endchar;
+
+
+def kafcommon =
+ z1 = (1.5hu, 2vu); penpos1(basestroke, 0);
+ z3 = (5.5hu, y1+.5hu); penpos3(basestroke, -180);
+ z2 = (.5[x1,x3], 4vu); penpos2(.4basestroke, -90);
+ z4 = (x2+hu, .5vu); penpos4(basestroke, -270);
+ penstroke z1e{up}..z2e..z3e..{left}z4e;
+ penlabels(range 1 thru 5);
+enddef;
+
+% kaf - medial
+sertochar "kaf - medial k";
+beginchar(111, 7hu#, 4vu#, 0);
+ kafcommon;
+ z5 = (7hu, y4);
+ baseline(5, 7)
+endchar;
+
+% kaf - initial
+sertochar "kaf - initial k";
+beginchar(112, 7hu#, 4vu#, 0);
+ kafcommon;
+ baseline(4, 4.5)
+endchar;
+
+
+
+
+def lamadfinalcommon =
+ z1 = (.5hu, 7vu); penpos1(basestroke, 40);
+ z2 = (6.5hu, 1vu); penpos2(basestroke, 40);
+ z3 = (9hu, 1vu); penpos3(.2basestroke, 120);
+
+ z4 = (x1+3hu, y1); penpos4(basestroke, 40);
+ z5 = (x2+3hu, y2); penpos5(basestroke, 40);
+
+ penstroke z1e--z2e{z2-z1}..z3e;
+ penstroke z4e--z5e;
+
+ penlabels(range 1 thru 5);
+enddef;
+
+
+sertochar "lamad - isolated";
+beginchar(113, 11.5hu#, 7vu#, 0);
+ lamadfinalcommon;
+ z6 = (whatever[z4, z5]); penpos6(basestroke, 40);
+ y6l = 0;
+ penstroke z5e--z6e;
+ penlabels(6);
+endchar;
+
+sertochar "lamad - final";
+beginchar(114, 10.5hu#, 7vu#, 0);
+ lamadfinalcommon;
+ z6 = (x5+1hu, .5vu); penpos6(basestroke, 90);
+ penstroke z5e{z5-z4}..z6e;
+ penlabels(6);
+endchar;
+
+
+def lamadnonfinalcommon =
+ z1 = (.5hu, 7vu); penpos1(basestroke, 40);
+ z2 = (5hu, 1vu); penpos2(basestroke, 40);
+ penstroke z1e--z2e;
+
+ penlabels(range 1 thru 2);
+enddef;
+
+sertochar "lamad - medial";
+beginchar(115, 6.5hu#, 7vu#, 0);
+ lamadnonfinalcommon;
+ z3 = (6.5hu, .5vu); penpos3(basestroke, 90);
+ % penstroke z2e{z2-z1}..{right}z3e;
+ % z1e--z2e is already drawn in Cainnonfinalcommon
+ % we redraw it to avoit some white pixel on z2e.
+ penstroke z1e--z2e..{right}z3e;
+
+% z4 = (whatever[z1l, z2l]); penpos4(basestroke, 90);
+% y4l = .5(vu-basestroke);
+% z5 = (0, .5vu); penpos5(basestroke, 90);
+% penstroke z4e--z5e;
+
+ z10 = (x2-1.5hu, basestroke+.5vu);
+ z4 = (whatever[z1, z2]); penpos4(basestroke, 40);
+ z10 = (whatever[z4r, z4l]);
+ z5 = (x10, .5vu); penpos5(basestroke, -90);
+ z6 = (0, .5vu); penpos6(basestroke, -90);
+ penstroke z4e..{left}z5e..z6e;
+
+ penlabels(3, 4, 5, 6, 10);
+endchar;
+
+sertochar "lamad - initial";
+beginchar(116, 7hu#, 7vu#, 0);
+ lamadnonfinalcommon;
+ z3 = (whatever[z1, z2]); penpos3(basestroke, 40);
+ y3l = .5(vu-basestroke);
+ penstroke z2e--z3e;
+
+% z4 = (whatever[z1l, z3l]); penpos4(basestroke, 90);
+% y4l = y3l;
+% z5 = (0, .5vu); penpos5(basestroke, 90);
+% penstroke z4e--z5e;
+
+ z10 = (x2-1.5hu, basestroke+.5vu);
+ z4 = (whatever[z1, z3]); penpos4(basestroke, 40);
+ z10 = (whatever[z4r, z4l]);
+ z5 = (x10, .5vu); penpos5(basestroke, -90);
+ z6 = (0, .5vu); penpos6(basestroke, -90);
+ penstroke z4e..{left}z5e..z6e;
+ penlabels(3, 4, 5, 6, 10);
+endchar;
+
+def mimcommon (expr final, exOne) =
+% z1 = (.5hu, 4.5vu); penpos1(basestroke, 45);
+% z2 = (5hu, .5vu); penpos2(basestroke, 90);
+% z3 = (7hu, 2.25vu); penpos3(.5basestroke, 180);
+% z4 = (x2, 4vu); penpos4(basestroke, 270);
+% if final = 0:
+% z5 = (3hu, y3); penpos5(.5basestroke, 360);
+% else:
+% z5 = (2.5hu, 2vu); penpos5(basestroke, 315);
+% fi;
+% z7 = (3hu, 1.5vu); penpos7(basestroke, 45);
+%
+% z6 = (1hu, -3vu); penpos6(.4basestroke, 315);
+
+ z1 = (exOne, 4.5vu); penpos1(basestroke, 45);
+ z2 = (x1+4.5hu, .5vu); penpos2(basestroke, 90);
+ z3 = (x2+2hu, 2.25vu); penpos3(.5basestroke, 180);
+ z4 = (x2, 4vu); penpos4(basestroke, 270);
+ if final = 0:
+ z5 = (x1+2.5hu, y3); penpos5(.5basestroke, 360);
+ else:
+ z5 = (x1+2hu, 2vu); penpos5(basestroke, 315);
+ fi;
+ z7 = (x1+2.5hu, 1.5vu); penpos7(basestroke, 45);
+
+ z6 = (x1+.5hu, -3vu); penpos6(.4basestroke, 315);
+
+
+ if final = 0:
+ penstroke z1e--z7e{z7-z1}..z2e{right}..z3e{up}..z4e{left}..z5e..{right}z2e;
+ else:
+ penstroke z1e--z7e{z7-z1}..z2e{right}..z3e{up}..z4e{left}..{z6-z5}z5e;
+ fi;
+ penlabels(range 1 thru 7);
+enddef;
+
+sertochar "mim - isolated";
+beginchar(117, 8hu#, 4.5vu#, 3vu#);
+ mimcommon(1, 0.5hu);
+ penstroke z5e--z6e;
+endchar;
+
+sertochar "mim - final";
+beginchar(118, 8hu#, 4vu#, 1vu#);
+ mimcommon(1, 0.5hu);
+ penstroke z5e--z6e;
+ baseline(2, -3);
+endchar;
+
+sertochar "mim - medial";
+beginchar(119, 8hu#, 4vu#, 0);
+ mimcommon(0, 0.5hu);
+ z8 = (0, y2);
+ baseline(8, -8);
+endchar;
+
+sertochar "mim - initial";
+beginchar(120, 8.5hu#, 4vu#, 0);
+ mimcommon(0, 1hu);
+ baseline(2, 5.5);
+endchar;
+
+
+
+def nunnonfinalcommon =
+ z1 = (1.25hu, 4vu); penpos1(1.1basestroke, 20);
+ z2 = (1.5hu, 1.1vu); penpos2(basestroke, 0);
+ z3 = (0.9hu, .5vu); penpos3(basestroke, -90);
+ z4 = (0, .5vu); penpos4(basestroke, -90);
+
+ penstroke z1e{down}..{down}z2e..{left}z3e--z4e;
+ penlabels(range 1 thru 4);
+enddef;
+
+sertochar "nun - isolated";
+beginchar(121, 3.5hu#, 1vu#, 4vu#);
+ z1 = (.5hu, .5vu); penpos1(1.3basestroke, 42);
+ z2 = (x1+1.5hu, -2vu); penpos2(basestroke, 45);
+ z3 = (x1+5hu, -4.2vu); penpos3(.4basestroke, 80);
+ penstroke z1e..z2e..z3e;
+ penlabels(range 1 thru 3);
+endchar;
+
+sertochar "nun - final";
+beginchar(122, 5hu#, 1vu#, 4vu#);
+ z1 = (.5hu, 0vu); penpos1(basestroke, 0);
+ z4 = (1.1hu, .5vu); penpos4(basestroke, -90);
+ z2 = (1.5hu, -2vu); penpos2(basestroke, 45);
+ z3 = (5hu, -4.2vu); penpos3(.25basestroke, 80);
+ penstroke z1e..z2e..z3e;
+ penstroke z4e{left}..z1e;
+ baseline(4, -3.9);
+ penlabels(range 1 thru 4);
+endchar;
+
+sertochar "nun - medial";
+beginchar(129, 3hu#, 4vu#, 0);
+ nunnonfinalcommon;
+ baseline(4, -3);
+endchar;
+
+sertochar "nun - initial";
+beginchar(130, 3hu#, 4vu#, 0);
+ nunnonfinalcommon;
+endchar;
+
+
+
+
+%def qofsemkathcommon (expr xoffs) =
+% z1 = (xoffs+2hu, .5vu); penpos1(basestroke, -90);
+% z2 = (x1+1.25hu, 2vu); penpos2(.5basestroke, 0);
+% z3 = (x1, y1+3.5hu); penpos3(basestroke, 90);
+% z4 = (xoffs+.25hu, y2); penpos4(basestroke, -180);
+%
+% penstroke z1e..z2e..z3e..z4e..{right}cycle;
+% penlabels(range 1 thru 4);
+%enddef;
+
+def penpoint (suffix $) (expr xval, yval, large, angle) =
+ z$ = (xval, yval); penpos$(large, angle);
+enddef;
+
+def semkathcommon (expr xoffs) =
+ penpoint(1, xoffs, .5vu, basestroke, -90);
+ penpoint(11, xoffs+2hu, y1, basestroke, -90);
+ penpoint(2, xoffs+3hu, 1.2vu, .4basestroke, -45);
+ penpoint(3, xoffs+2.25hu, 4vu, basestroke, 90);
+ penpoint(4, xoffs-.25hu, .4vu, .4basestroke, 135);
+
+ penstroke z1e..z11e{right}...z2e..{left}z3e..{dir 245}z4e;
+
+ penpoint(5, xoffs-hu, y3, basestroke, -90);
+ penpoint(6, x5-1.4hu, 3vu, .4basestroke, -45);
+ penpoint(7, xoffs-1.4hu, y1, basestroke, 90);
+ penpoint(8, xoffs, y1, basestroke, 90);
+
+ penstroke z4e{dir 65}..{left}z5e..z6e..{right}z7e...z8e;
+
+ penlabels(range 1 thru 11);
+enddef;
+
+%def semkathcommon (expr xoffs) =
+% qofsemkathcommon(xoffs);
+% z5 = (x1+2.5hu, y1); penpos5(basestroke, -90);
+% z6 = (x5+1.5hu, y2); penpos6(basestroke, 0);
+% z7 = (x5, y3); penpos7(basestroke, 90);
+% z8 = (x2, y2+.5vu); penpos8(.5basestroke, 145);
+%
+% penstroke z1e--z5e{right}..z6e..z7e..z8e;
+% penlabels(range 5 thru 8);
+%enddef;
+
+sertochar "semkath - isolated";
+beginchar(131, 9hu#, 4.5vu#, 0);
+ semkathcommon(4.5hu);
+ arabesque(7, 2);
+endchar;
+
+sertochar "semkath - final";
+beginchar(132, 9hu#, 4.5vu#, 0);
+ semkathcommon(4.5hu);
+ arabesque(7, 2);
+ baseline(11, -2.5);
+endchar;
+
+sertochar "semkath - medial";
+beginchar(133, 8.5hu#, 4.5vu#, 0);
+ semkathcommon(4hu);
+ baseline(11, -2.5);
+ baseline(8, 4);
+endchar;
+
+sertochar "semkath - initial";
+beginchar(134, 8.5hu#, 4.5vu#, 0);
+ semkathcommon(4hu);
+ baseline(8, 4);
+endchar;
+
+
+def Cainfinalcommon =
+ z1 = (.5hu, 4vu); penpos1(basestroke, 40);
+ z2 = (3hu, 1vu); penpos2(basestroke, 40);
+ z3 = (6hu, 1vu); penpos3(.2basestroke, 120);
+
+ z4 = (x1+2.5hu, y1); penpos4(basestroke, 40);
+ z5 = (x2+2.5hu, y2); penpos5(basestroke, 40);
+
+ penstroke z1e--z2e{z2-z1}..z3e;
+ penstroke z4e--z5e;
+
+ penlabels(range 1 thru 5);
+enddef;
+
+
+sertochar "`e - isolated";
+beginchar(135, 7.5hu#, 4vu#, 0);
+ Cainfinalcommon;
+ z6 = (whatever[z4, z5]); penpos6(basestroke, 40);
+ y6l = 0;
+ penstroke z5e--z6e;
+ penlabels(6);
+endchar;
+
+sertochar "`e - final";
+beginchar(136, 6.5hu#, 4vu#, 0);
+ Cainfinalcommon;
+ z6 = (x5+1hu, .5vu); penpos6(basestroke, 90);
+ penstroke z5e{z5-z4}..z6e;
+ penlabels(6);
+endchar;
+
+
+def Cainnonfinalcommon =
+ z1 = (.5hu, 4vu); penpos1(basestroke, 40);
+ z2 = (3hu, 1vu); penpos2(basestroke, 40);
+ penstroke z1e--z2e;
+
+ penlabels(range 1 thru 2);
+enddef;
+
+sertochar "`e - medial";
+beginchar(137, 4.5hu#, 4vu#, 0);
+ Cainnonfinalcommon;
+
+ z3 = (4.5hu, .5vu); penpos3(basestroke, 90);
+ %penstroke z2e{z2-z1}..{right}z3e;
+ % z1e--z2e is already drawn in Cainnonfinalcommon
+ % we redraw it to avoit some white pixel on z2e.
+ penstroke z1e--z2e..{right}z3e;
+
+ %z4 = (whatever[z1l, z2l]); penpos4(basestroke, 90);
+ %y4l = 0;
+ %z5 = (0, .5vu); penpos5(basestroke, 90);
+ %penstroke z4e--z5e;
+ z10 = (x2-1.5hu, basestroke+.5vu);
+ z4 = (whatever[z1, z2]); penpos4(basestroke, 40);
+ z10 = (whatever[z4r, z4l]);
+ z5 = (x10, .5vu); penpos5(basestroke, -90);
+ z6 = (0, .5vu); penpos6(basestroke, -90);
+ penstroke z4e..{left}z5e..z6e;
+
+ penlabels(3, 4, 5, 6, 10);
+endchar;
+
+sertochar "`e - initial";
+beginchar(138, 5hu#, 4vu#, 0);
+ Cainnonfinalcommon;
+ z3 = (whatever[z1, z2]); penpos3(basestroke, 40);
+ y3l = 0;
+ penstroke z2e--z3e;
+
+% z4 = (whatever[z1l, z3l]); penpos4(basestroke, 90);
+% y4l = 0;
+% z5 = (0, .5vu); penpos5(basestroke, 90);
+% penstroke z4e--z5e;
+
+ z10 = (x2-1.5hu, basestroke+.5vu);
+ z4 = (whatever[z1, z2]); penpos4(basestroke, 40);
+ z10 = (whatever[z4r, z4l]);
+ z5 = (x10, .5vu); penpos5(basestroke, -90);
+ z6 = (0, .5vu); penpos6(basestroke, -90);
+ penstroke z4e..{left}z5e..z6e;
+
+ penlabels(3, 4, 5, 6, 10);
+endchar;
+
+
+%def pecommon (expr xoffs) =
+% %z1 = (xoffs, .5hu); penpos1(basestroke, -90);
+% z2 = (xoffs+2hu, .5hu); penpos2(basestroke, -90);
+% z3 = (x2+2hu, 3hu); penpos3(basestroke, 0);
+% z4 = (x2, 4.75hu); penpos4(.5basestroke, 90);
+% z5 = (xoffs+.5hu, 3.5hu); penpos5(basestroke, 180);
+% z6 = (x4, y3-.5hu); penpos6(basestroke, 270);
+% z7r = z3; penpos7(.4basestroke, 315);
+%
+% penstroke z2e{right}..{up}z3e..z4e..z5e..{right}z6e..z7e;
+% penlabels(range 2 thru 7);
+%enddef;
+
+def pecommon (expr xoffs) =
+ pickup pe_pen;
+
+ z1 = (xoffs, .5vu);
+ z2 = z1 + (2hu, 0);
+ z21 = z2 + (.5hu, 1.5vu);
+ z3 = z1 + (0, 3.5hu);
+ z4 = z1 + (-hu, 2.5vu);
+ z5 = (x2-.4hu, 3.2hu);
+
+ draw z1---z2..z21..z3..z4..tension 1.3..z5;
+
+ penlabels(range 1 thru 12);
+enddef;
+
+
+sertochar "pe - isolated";
+beginchar(139, 5.5hu#, 5hu#, 0);
+ pecommon(2hu);
+ arabesque(1, 1);
+endchar;
+
+sertochar "pe - final";
+beginchar(140, 6hu#, 5hu#, 0);
+ pecommon(2hu);
+ arabesque(1, 1);
+ baseline(2, -2);
+endchar;
+
+sertochar "pe - medial";
+beginchar(141, 6hu#, 5hu#, 0);
+ pecommon(2hu);
+ baseline(1, 2);
+ baseline(2, -2);
+endchar;
+
+
+sertochar "pe - initial";
+beginchar(142, 6hu#, 5hu#, 0);
+ pecommon(2hu);
+ baseline(1, 2);
+endchar;
+
+
+def sadecommon (expr xoffs, iso) =
+ z1 = (xoffs, -2vu); penpos1(1.4basestroke, -80);
+ z2 = (x1+3hu, -3.5vu); penpos2(.8basestroke, -90);
+ z3 = (x1+4.5hu, -2.25vu); penpos3(.5basestroke, -45);
+ z4 = (x3-.25hu, -.75vu); penpos4(basestroke, 45);
+ z5 = (x3-.5hu, .5vu); penpos5(.6basestroke, 0);
+
+ if iso = 0: % isolated sade
+ z6 = (x4, 1.5vu); penpos6(.8basestroke, 32);
+ z7 = (x6-.5hu, y6+vu); penpos7(basestroke, 70);
+ penstroke z1e..{right}z2e..z3e..z4e..z5e..z6e..z7e;
+ else: % final sade
+ z6 = (x4-.3hu, 1vu); penpos6(.8basestroke, 32);
+ penstroke z1e..{right}z2e..z3e..z4e..z5e..{dir 122}z6e;
+ z7 = (xoffs+5.5hu, .5vu); penpos7(basestroke, 90);
+ penstroke z6e..{right}z7e;
+ fi;
+
+ penlabels(range 1 thru 7);
+enddef;
+
+sertochar ".sade - isolated";
+beginchar(143, 5.5hu#, 2vu#, 4vu#);
+ sadecommon(0, 0);
+endchar;
+
+sertochar ".sade - final";
+beginchar(144, 5hu#, 2vu#, 4vu#);
+ sadecommon(0, 1);
+endchar;
+
+
+
+%def qoffinalcommon (expr xoffs) =
+% qofsemkathcommon(xoffs);
+% z5 = (xoffs, .5vu); penpos5(basestroke, -90);
+% arabesque(5, .75);
+% z6 = (x4l, 1.5hu); penpos6(.4basestroke, -45);
+% penstroke z5e{right}..z6e;
+%
+% penlabels(5, 6);
+%enddef;
+
+%def qofnonfinalcommon (expr xoffs) =
+% qofsemkathcommon(xoffs);
+% z5 = (xoffs, .5vu); penpos5(basestroke, -90);
+% baseline(5, 1.5);
+% z6 = (x4l, 1.5hu); penpos6(.4basestroke, -45);
+% penstroke z5e{right}..z6e;
+%
+% penlabels(5, 6);
+%enddef;
+
+def qofright = % works only if called after wawcommon
+ z7 = (.6[x1a,x1d], .8vu); penpos7(basestroke, 50);
+ z6 = (x1a+3hu, .5vu); penpos6(basestroke, 90);
+ penstroke z6e{left}..z7e;
+ penlabels(6, 7);
+enddef;
+
+def qoffinalcommon (expr xoffs) =
+ z1 = (xoffs+.25hu, 0);
+ wawcommon(1);
+
+ z5 = (xoffs, .5vu); penpos5(basestroke, -90);
+ arabesque(5, .75);
+ z4 = .5[z1a, z1b]; penpos4(.4basestroke, -45);
+ penstroke z5e{right}..z4e;
+
+ penlabels(1, 4, 5);
+enddef;
+
+def qofnonfinalcommon (expr xoffs) =
+ z1 = (xoffs+.25hu, 0);
+ wawcommon(1);
+
+ z5 = (xoffs, .5vu); penpos5(basestroke, -90);
+ baseline(5, .5);
+ z4 = .5[z1a, z1b]; penpos4(.4basestroke, -45);
+ %z6 = (x4l, 1.5hu); penpos6(.4basestroke, -45);
+ penstroke z5e{right}..z4e;
+
+ penlabels(5, 6);
+enddef;
+
+sertochar "qof - isolated";
+beginchar(145, 7hu#, 5vu#, 0);
+ qoffinalcommon(1.75hu);
+endchar;
+
+
+sertochar "qof - final";
+beginchar(146, 7hu#, 5vu#, 0);
+ qoffinalcommon(1.75hu);
+ qofright;
+% z7 = (.6[x1a,x1d], .8vu); penpos7(basestroke, 50);
+% z6 = (x1a+3hu, .5vu); penpos6(basestroke, 90);
+% penstroke z6e{left}..z7e;
+%
+% penlabels(6, 7);
+endchar;
+
+sertochar "qof - medial";
+beginchar(147, 5.75hu#, 5vu#, 0);
+ qofnonfinalcommon(.5hu);
+ qofright;
+endchar;
+
+sertochar "qof - initial";
+beginchar(148, 6hu#, 5vu#, 0);
+ qofnonfinalcommon(.5hu);
+endchar;
+
+
+% resh - isolated
+sertochar "resh - isolated";
+beginchar(149, 4hu#, 6vu#, 0);
+ dr_isolated_common;
+ z6 = (1hu, y3+1.2vu);
+ sertodot(6, 1);
+ penlabels(6);
+endchar;
+
+% resh - final
+sertochar "resh - final";
+beginchar(150, 3hu#, 4vu#, 1vu#);
+ dr_final_common;
+ z4 = (x3, y2r+1.2vu);
+ sertodot(4, 1);
+ penlabels(4);
+endchar;
+
+
+def shincommon (expr xoffs) =
+ z1 = (xoffs, .5vu);
+ z2 = (x1+1.5hu, 2vu);
+ z3 = (x1, 2vu+basestroke);
+ z4 = (x1-1.5hu, y2);
+
+ fill z1{dir 45}..{up}z2..z3..z4{down}..{dir 315}cycle;
+
+ z5 = (x1-hu, y1); penpos5(basestroke, -90);
+ z6r = z1 + (basestroke-hu, basestroke-hu); penpos6(hu, -45);
+ penstroke z5e{right}..z6e;
+
+ z7l = z1 + (-(basestroke-hu), basestroke-hu); penpos7(hu, 45);
+ z8 = (x1+hu, y1); penpos8(basestroke, 90);
+ penstroke z8e{left}..z7e;
+
+ penlabels(range 1 thru 8);
+enddef;
+
+
+def shinfinal (expr xoffs) =
+ shincommon(xoffs);
+ arabesque(5, .75);
+enddef;
+
+def shinnonfinal (expr xoffs) =
+ shincommon(xoffs);
+ baseline(5, 1.5);
+enddef;
+
+
+def shininit (suffix $)(expr length) =
+ z$aa = (x$, y$-.5basestroke);
+ z$ac = (x$, y$+.5basestroke);
+ z$ab = (x$+length*hu, y$aa);
+ z$ad = (x$+(length-.2)*hu, y$ac);
+ z$ae = (x$ab+hu, y$ad+.5vu);
+ fill z$aa--z$ab{right}..{up}z$ae{dir 225}..{left}z$ad--z$ac--cycle;
+ penlabels($aa, $ab, $ac, $ad, $ae);
+enddef;
+
+sertochar "shin - isolated";
+beginchar(151, 5.75hu#, 3vu#, 0);
+ shinfinal(2.75hu);
+ shininit(8, .25);
+endchar;
+
+sertochar "shin - final";
+beginchar(152, 4.75hu#, 3vu#, 0);
+ shinfinal(2.75hu);
+ baseline(8, -1);
+endchar;
+
+sertochar "shin - medial";
+beginchar(153, 4.5hu#, 3vu#, 0);
+ shinnonfinal(2.5hu);
+ baseline(8, -1);
+endchar;
+
+sertochar "shin - initial";
+beginchar(154, 5.5hu#, 3vu#, 0);
+ shinnonfinal(2.5hu);
+ shininit(8, .25);
+endchar;
+
+
+def taucommon =
+ z1 = (0, 0);
+ z2 = (4.5hu, .5vu); penpos2(basestroke, 67);
+ z3 = (1hu, 1.1vu);
+ %z4 = (1hu, 8vu); penpos4(basestroke, 20);
+ z4 = (1hu, 8vu); penpos4(basestroke, 20);
+ z5l = z1;
+ z5r = z3;
+
+ penstroke z4e{down}..z5e & z5e{dir 17}..z2e;
+
+ penlabels(range 1 thru 5);
+enddef;
+
+sertochar "tau - isolated";
+beginchar(155, 5.75hu#, 8vu#, 0);
+ taucommon;
+endchar;
+
+sertochar "tau - final";
+beginchar(156, 6.5hu#, 8vu#, 0);
+ taucommon;
+ z6 = (x2+2hu, y2); penpos6(basestroke, 90);
+ %z7 = (x6+hu, y6); penpos7(basestroke, 90);
+ penstroke z4e{dir -50}..tension 1.8 ..{right}z6e; %---z7e;
+ penlabels(6, 7)
+
+endchar;
+
+
+
+% resh doubledotted - isolated
+sertochar "resh doubledotted - isolated";
+beginchar(157, 4hu#, 6vu#, 0);
+ dr_isolated_common;
+ z6 = (.6hu, y3+1.2vu);
+ z7 = z6 + (1.5hu, 0);
+ sertodot(6, 1);
+ sertodot(7, 1);
+ penlabels(6, 7);
+endchar;
+
+% resh doubledotted- final
+sertochar "resh doubledotted - final";
+beginchar(158, 3hu#, 4vu#, 1vu#);
+ dr_final_common;
+ z4 = (x3-.7hu, y2r+1.2vu);
+ z5 = z4 + (1.5hu, 0);
+ sertodot(4, 1);
+ sertodot(5, 1);
+ penlabels(4, 4);
+endchar;
+
+
+
+% ligatures
+sertochar "olaf lamad - initial";
+beginchar(171, 9.5hu#, 7vu#, 0);
+ lamadnonfinalcommon;
+ z3 = (whatever[z1, z2]); penpos3(basestroke, 40);
+ y3l = 0;
+ penstroke z2e--z3e;
+
+ z11 = (x1+2.5hu, y1); penpos11(basestroke, 40);
+ z13 = (x3+2.5hu, y3); penpos13(basestroke, 40);
+ penstroke z11e--z13e;
+
+ z4 = (whatever[z1l, z3l]); penpos4(basestroke, 90);
+ y4l = 0;
+ z5 = (0, .5vu); penpos5(basestroke, 90);
+ penstroke z4e--z5e;
+ penlabels(3, 4, 5, 11, 13);
+endchar;
+
+def lamadolafcommon =
+ z1 = (1.5hu, .5vu); penpos1(basestroke, 90);
+ z2 = (x1-hu, 1.5vu); penpos2(basestroke, 0);
+ z12 = (x1+hu, y2); penpos12(basestroke, 180);
+ %z3 = (x2, 4.5vu); penpos3(.8basestroke, 0);
+ %z13 = (x12, y3); penpos13(.8basestroke, 180);
+ z3 = (x2, 4.5vu); penpos3(basestroke, 0);
+ z13 = (x12, y3); penpos13(basestroke, 180);
+ %z4 = (x2, 8vu); penpos4(basestroke, 20);
+ %z14 = (x12, y4); penpos14(basestroke, 200);
+ z4l = z3l + (0, 3.2vu);
+ z4r = z3r + (0, 3.8vu);
+ z14l = z13l + (0, 3.8vu);
+ z14r = z13r + (0, 3.2vu);
+
+ %z6 = (-.3hu, -vu); penpos6(.4basestroke, -45);
+ z6 = (-.8hu, -1.5vu); penpos6(.2basestroke, -45);
+
+ penstroke z4e..z3e..z2e{down}..z1e..{up}z12e..z13e..z14e;
+ penstroke z2e{down}..z6e;
+
+ penlabels(range 1 thru 14);
+enddef;
+
+sertochar "lamad olaf - isolated";
+beginchar(172, 4hu#, 8vu#, 0);
+ lamadolafcommon;
+endchar;
+
+
+sertochar "lamad olaf - final";
+beginchar(173, 4hu#, 8vu#, 0);
+ lamadolafcommon;
+ z7 = z1 + (2.5hu, 0); penpos7(basestroke, 270);
+
+ penstroke z12e{down}..{right}z7e;
+
+ penlabels(7);
+endchar;
+
+
+
+% Plural Sign
+sertochar "sey=ame";
+beginchar(7, 3hu#, 6vu#, 0);
+ z4 = (hu, 5.7vu);
+ z5 = z4 + (1.5hu, 0);
+ sertodot(4, 1);
+ sertodot(5, 1);
+ penlabels(4, 4);
+endchar;
+
+
+
+
+%% Vowels
+input syriacvowels;
+
+
+%sertochar "peto.ho a";
+%beginchar(1, 3hu#, 5vu#, 0);
+% pickup vowel_pen;
+% z11 = (0, 3vu);
+% z12 = (x1+3hu, y1+3vu);
+% z1 = (.1[z11,z12]);
+% z2 = (.9[z11,z12]);
+% z3 = (.3[z11,z12]);
+% z4 = (.7[z11,z12]);
+% %z5 = (x1+.5hu, y2);
+% z16 = (.5[z11,z12]); % Hilfspunkt
+% z6 = z16 + 2hu*dir(angle(z2-z1)+90);
+% draw z1--z2;
+% draw z3--z6--z4;
+% penlabels(1,2,3,4,6)
+%endchar;
+%
+%
+%sertochar "revo.so e";
+%beginchar(2, 3hu#, 6vu#, 0);
+% pickup vowel_pen;
+% z1 = (0, 4vu);
+% z2 = (x1+2.2hu, y1+vu);
+% z3 = (x1+3hu, y1-vu);
+% z4 = z2 + whatever*dir(-110);
+% z4 = whatever[z1,z3];
+%
+% draw z1..z2..z3;
+% draw z2--z4;
+%
+% penlabels(1,2,3,4);
+%endchar;
+%
+%
+%sertochar ".hevo.so i";
+%beginchar(3, 3hu#, 6vu#, 0);
+% pickup vowel_pen;
+%
+% z1 = (.8hu, 3vu);
+% z2 = z1 + (2.9hu, 1.5vu);
+% z3 = z1 + (-.8hu, 1vu);
+% z4 = z3 + (3hu, 1.5vu);
+% z5 = .4[z3, z4];
+% z6 = .5[z1, z2];
+%
+% draw z1--z2;
+% draw z3--z4;
+% draw z5--z6;
+%
+% penlabels(1,2,3,4,5,6);
+%endchar;
+%
+%sertochar "zeqopo o";
+%beginchar(4, 3hu#, 6vu#, 0);
+% pickup vowelII_pen;
+%
+% z1 = (0, 3vu);
+% z2 = z1 + (2hu, 3vu);
+% z3 = z1 + (1.3hu, 1.5vu);
+%
+% draw z1{dir 30}..{dir 135}z2..{right}z3;
+% penlabels(1,2,3);
+%endchar;
+%
+%sertochar "`e.so.so u";
+%beginchar(5, 3hu#, 8vu#, 0);
+% pickup vowel_pen;
+%
+% z1 = (0, 5vu);
+% z2 = z1 + (3hu, 3vu);
+% z3 = .47[z1, z2];
+% z4 = z1 + (2.5hu, -.5vu);
+%
+% draw z1--z2;
+% draw z3--z4;
+%
+% pickup vowelIII_pen;
+% z5 = z1 + (1.4hu, 0);
+% z6 = z5 - (.5hu, .6vu);
+%
+% draw z5..z6..cycle;
+%
+% penlabels(range 1 thru 6)
+%endchar;
+%
+%
+%sertochar "qu^s^soyo (hard sign)";
+%beginchar(6, 1hu#, 4vu#, 0);
+% z1 = (.5hu, 4vu);
+% sertodot(1, 1.2);
+%endchar;
+%
+%
+%sertochar "peto.ho a invers";
+%beginchar(17, 3hu#, 5vu#, 0);
+% pickup vowel_pen;
+% z11 = (0, 1vu);
+% z12 = (x1+3hu, y1+3vu);
+% z1 = (.1[z11,z12]);
+% z2 = (.9[z11,z12]);
+% z3 = (.3[z11,z12]);
+% z4 = (.7[z11,z12]);
+% %z5 = (x1+.5hu, y2);
+% z16 = (.5[z11,z12]); % Hilfspunkt
+% z6 = z16 - 2hu*dir(angle(z2-z1)+90);
+% draw z1--z2;
+% draw z3--z6--z4;
+% penlabels(1,2,3,4,6)
+%endchar;
+%
+%
+%sertochar "revo.so e invers";
+%beginchar(18, 3hu#, 6vu#, 0);
+% pickup vowel_pen;
+% z1 = (0, 4vu);
+% z2 = (x1+hu, y1-2.2vu);
+% z3 = (x1+3hu, y1-vu);
+% z4 = z2 + whatever*dir(-110);
+% z4 = whatever[z1,z3];
+%
+% draw z1..z2..z3;
+% draw z2--z4;
+%
+% penlabels(1,2,3,4);
+%endchar;
+%
+%
+%sertochar ".hevo.so i";
+%beginchar(19, 3hu#, 4vu#, 0);
+% pickup vowel_pen;
+%
+% z1 = (.8hu, 1vu);
+% z2 = z1 + (2.9hu, 1.5vu);
+% z3 = z1 + (-.8hu, 1vu);
+% z4 = z3 + (3hu, 1.5vu);
+% z5 = .4[z3, z4];
+% z6 = .5[z1, z2];
+%
+% draw z1--z2;
+% draw z3--z4;
+% draw z5--z6;
+%
+% penlabels(1,2,3,4,5,6);
+%endchar;
+%
+%sertochar "zeqopo o invers";
+%beginchar(20, 3hu#, 6vu#, 0);
+% pickup vowelII_pen;
+%
+% z1 = (2.5hu, 5vu);
+% z2 = z1 - (2hu, 3vu);
+% z3 = z1 - (1.3hu, 1.5vu);
+%
+% draw z1{dir -150}..{dir -45}z2..{left}z3;
+% penlabels(1,2,3);
+%endchar;
+%
+%sertochar "`e.so.so u invers";
+%beginchar(21, 3hu#, 8vu#, 0);
+% pickup vowel_pen;
+%
+% z1 = (3hu, 5vu);
+% z2 = z1 - (3hu, 3vu);
+% z3 = .47[z1, z2];
+% z4 = z1 - (2.5hu, -.5vu);
+%
+% draw z1--z2;
+% draw z3--z4;
+%
+% pickup vowelIII_pen;
+% z5 = z1 - (1.4hu, 0);
+% z6 = z5 + (.5hu, .6vu);
+%
+% draw z5..z6..cycle;
+%
+% penlabels(range 1 thru 6)
+%endchar;
+%
+%
+%
+%sertochar "rukko_ho (soft sign)";
+%beginchar(22, 1hu#, 2vu#, 0);
+% z1 = (.5hu, 0vu);
+% sertodot(1, 1.2);
+%endchar;
+
+
+
+sertochar "mvatlono (silent bar below)";
+beginchar(23, 4hu#, 2vu#, 0);
+ penpoint(1, 0, .5vu, basestroke, 75);
+ penpoint(2, 3hu, .5vu, basestroke, 75);
+ penstroke z1e--z2e;
+endchar;
+
+sertochar "mvatlono (silent bar above)";
+beginchar(8, 4hu#, 2vu#, 0);
+ penpoint(1, 0, .5vu, basestroke, 75);
+ penpoint(2, 3hu, .5vu, basestroke, 75);
+ penstroke z1e--z2e;
+endchar;
+
+
+
+% interpunction
+sertochar "full stop";
+beginchar(46, 3hu#, 1vu#, 0);
+ z1 = (1hu, 1vu);
+ sertodot(1, 1);
+endchar;
+
+sertochar "colon";
+beginchar(58, 3hu#, 4vu#, 0);
+ z1 = (1hu, 1vu);
+ z2 = (1hu, 4vu);
+ sertodot(1, 1);
+ sertodot(2, 1);
+endchar;
+
+
+
+sertochar "underscore";
+beginchar(95, 5hu#, 4vu#, 0);
+ pickup punct_pen;
+ bot z1 = (0,0);
+ bot z2 = (5hu,0);
+ draw z1--z2;
+% penpoint(1, 0, .2hu, .4basestroke, 90);
+% penpoint(2, 5hu, .2hu, .4basestroke, 90);
+% penstroke z1e--z2e;
+endchar;
+
+sertochar "stretch";
+beginchar(45, 3hu#, 1vu#, 0);
+ penpoint(1, 0, .5vu, basestroke, 90);
+ penpoint(2, 3hu, .5vu, basestroke, 90);
+ penstroke z1e--z2e;
+endchar;
+
+
+
+def paraIplusII (suffix $)=
+ pickup para_pen;
+ z$a = z$ + (2hu, 0);
+ z$b = z$ + (0, 2vu);
+ z$c = z$a + (0, 4vu);
+ z$d = z$b + (4hu, 0);
+ %sertodot(8, 1);
+ drawdot z$a;
+ drawdot z$b;
+ drawdot z$c;
+ drawdot z$d;
+ penlabels($a, $b, $c, $d);
+enddef;
+
+sertochar "end paragraph 1";
+beginchar(33, 6hu#, 5vu#, 0);
+ pickup punct_pen;
+ z1 = (.5hu, .5vu);
+ z2 = z1 + (4hu, 4vu);
+ z3 = z1 + (0, 4vu);
+ z4 = z1 + (4hu, 0);
+ draw z1--z2;
+ draw z3--z4;
+ penlabels(1,2,3,4);
+ paraIplusII(1);
+endchar;
+
+sertochar "end paragraph 2";
+beginchar(34, 6hu#, 5vu#, 0);
+ z1 = (.5hu, .5vu);
+ penlabels(1);
+ paraIplusII(1);
+endchar;
+
+sertochar "end paragraph 3";
+beginchar(35, 6hu#, 5vu#, 0);
+ pickup para_pen;
+ z1 = (1hu, 1vu);
+ z2 = z1 + (3hu, 3vu);
+ z3 = z1 + (0, 3vu);
+ z4 = z1 + (3hu, 0);
+ drawdot z1;
+ drawdot z2;
+ drawdot z3;
+ drawdot z4;
+ penlabels(1,2,3,4);
+endchar;
+
+sertochar "end paragraph 4";
+beginchar(36, 6hu#, 5vu#, 0);
+ pickup para_pen;
+ z1 = (2.5hu, 1vu);
+ z2 = z1 + (0, 3vu);
+ drawdot z1;
+ drawdot z2;
+
+ pickup punct_pen;
+ z3 = (.5hu, 2.5vu);
+ z4 = z3 + (4hu, 0);
+ draw z3--z4;
+ penlabels(1,2,3,4);
+endchar;
+
+
+sertochar "end paragraph 5";
+beginchar(37, 8hu#, 3vu#, 0);
+ pickup para_pen;
+ z1 = (2hu, 1.5vu);
+ z2 = z1 + (4hu, 1vu);
+ drawdot z1;
+ drawdot z2;
+
+ pickup punct_pen;
+ z3 = (0, 2vu);
+ z4 = z3 + (2hu, 1vu);
+ z5 = z3 + (4hu, 0);
+ z6 = z3 + (6hu, -1vu);
+ z7 = z3 + (8hu, 0);
+ draw z3..z4..z5..z6..z7;
+ penlabels(range 1 thru 7);
+endchar;
+
+
+
+sertochar "end paragraph 6";
+beginchar(38, 3hu#, 6vu#, 1vu#);
+ pickup para_pen;
+ z1 = (1.5hu, .5vu);
+ z2 = z1 + (-1hu, 4vu);
+ drawdot z1;
+ drawdot z2;
+
+ pickup punct_pen;
+ z3 = (0, -1vu);
+ z4 = z3 + (1hu, 3.5vu);
+ z5 = z4 + (1hu, 3.5vu);
+
+ draw z3{up}..z4..{up}z5;
+ penlabels(range 1 thru 5);
+endchar;
+endinput;
diff --git a/Master/texmf-dist/fonts/source/public/aramaic-serto/sertomacros.mf b/Master/texmf-dist/fonts/source/public/aramaic-serto/sertomacros.mf
new file mode 100644
index 00000000000..b3d8bb0d019
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/aramaic-serto/sertomacros.mf
@@ -0,0 +1,44 @@
+% Syriac Serto FONT macros `sertomacros.mf'
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Designed and (c) by Johannes Heinecke
+% <johannes(dot)heinecke(at)wanadoo(dot)fr>
+% Please send any improvements, corrections, suggestions, enhancements etc.
+% to the Author!
+%
+% Version 0.5 as of 2nd November 2003
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+
+sertomacros:=1; % Es soll nur einmal geladen werden.
+
+% Endarabeske fr beth etc
+def arabesque (suffix $)(expr length) =
+ z$aa = (x$, y$-.5basestroke);
+ z$ac = (x$, y$+.5basestroke);
+ z$ab = (x$-length*hu, y$aa);
+ z$ad = (x$-(length-.2)*hu, y$ac);
+ z$ae = (x$ab-hu, y$ad+vu);
+ fill z$aa--z$ab{left}..{up}z$ae{dir -45}..{right}z$ad--z$ac--cycle;
+ labels($aa, $ab, $ac, $ad, $ae);
+enddef;
+
+% baseline, if needed
+def baseline (suffix $)(expr length) =
+ z$bz = z$; % to allow several baselines from one point
+ z$ba = (x$, y$-.5basestroke);
+ z$bc = (x$, y$+.5basestroke);
+ z$bb = (x$-length*hu, y$ba);
+ z$bd = (x$-length*hu, y$bc);
+ fill z$ba--z$bb--z$bd--z$bc--cycle;
+ labels($ba, $bb, $bc, $bd);
+enddef;
+
+% dalath/resh dot
+def sertodot (suffix $) (expr size) =
+ z$ca = (x$-.3hu, y$+.4vu); penpos$ca(size*basestroke, 45);
+ z$cb = (x$+.3hu, y$-.4vu); penpos$cb(size*basestroke, 45);
+ penstroke z$ca.e..z$cb.e;
+ labels($ca, $cb)
+enddef;
diff --git a/Master/texmf-dist/fonts/source/public/aramaic-serto/syriacvowels.mf b/Master/texmf-dist/fonts/source/public/aramaic-serto/syriacvowels.mf
new file mode 100644
index 00000000000..bb949472f9f
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/aramaic-serto/syriacvowels.mf
@@ -0,0 +1,248 @@
+% Syriac Vowels 10 point Normal Face `syriacvowels.mf'
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Designed and (c) by Johannes Heinecke
+% <johannes(dot)heinecke(at)wanadoo(dot)fr>
+% Please send any improvements, corrections, suggestions, enhancements etc.
+% to the Author!
+%
+% Version 0.5 as of 10th November 2003
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+% Vowels
+
+pickup pencircle xscaled .8basestroke yscaled 2basestroke rotated 20;
+chaldeanvowels_pen:=savepen;
+
+pickup pencircle xscaled .9basestroke yscaled 1.3basestroke rotated 10;
+chaldeanvowels2_pen:=savepen;
+
+if unknown sertomacros: input sertomacros fi
+sertochar "peto.ho a";
+beginchar(1, 3hu#, 5vu#, 0);
+ pickup vowel_pen;
+ z11 = (0, 3vu);
+ z12 = (x1+3hu, y1+3vu);
+ z1 = (.1[z11,z12]);
+ z2 = (.9[z11,z12]);
+ z3 = (.3[z11,z12]);
+ z4 = (.7[z11,z12]);
+ %z5 = (x1+.5hu, y2);
+ z16 = (.5[z11,z12]); % Hilfspunkt
+ z6 = z16 + 2hu*dir(angle(z2-z1)+90);
+ draw z1--z2;
+ draw z3--z6--z4;
+ penlabels(1,2,3,4,6)
+endchar;
+
+
+sertochar "revo.so e";
+beginchar(2, 3hu#, 6vu#, 0);
+ pickup vowel_pen;
+ z1 = (0, 4vu);
+ z2 = (x1+2.2hu, y1+vu);
+ z3 = (x1+3hu, y1-vu);
+ z4 = z2 + whatever*dir(-110);
+ z4 = whatever[z1,z3];
+
+ draw z1..z2..z3;
+ draw z2--z4;
+
+ penlabels(1,2,3,4);
+endchar;
+
+
+sertochar ".hevo.so i";
+beginchar(3, 3hu#, 6vu#, 0);
+ pickup vowel_pen;
+
+ z1 = (.8hu, 3vu);
+ z2 = z1 + (2.9hu, 1.5vu);
+ z3 = z1 + (-.8hu, 1vu);
+ z4 = z3 + (3hu, 1.5vu);
+ z5 = .4[z3, z4];
+ z6 = .5[z1, z2];
+
+ draw z1--z2;
+ draw z3--z4;
+ draw z5--z6;
+
+ penlabels(1,2,3,4,5,6);
+endchar;
+
+sertochar "zeqopo o";
+beginchar(4, 3hu#, 6vu#, 0);
+ pickup vowelII_pen;
+
+ z1 = (0, 3vu);
+ z2 = z1 + (2hu, 3vu);
+ z3 = z1 + (1.3hu, 1.5vu);
+
+ draw z1{dir 30}..{dir 135}z2..{right}z3;
+ penlabels(1,2,3);
+endchar;
+
+sertochar "`e.so.so u";
+beginchar(5, 3hu#, 8vu#, 0);
+ pickup vowel_pen;
+
+ z1 = (0, 5vu);
+ z2 = z1 + (3hu, 3vu);
+ z3 = .47[z1, z2];
+ z4 = z1 + (2.5hu, -.5vu);
+
+ draw z1--z2;
+ draw z3--z4;
+
+ pickup vowelIII_pen;
+ z5 = z1 + (1.4hu, 0);
+ z6 = z5 - (.5hu, .6vu);
+
+ draw z5..z6..cycle;
+
+ penlabels(range 1 thru 6)
+endchar;
+
+
+
+
+
+
+sertochar "qu^s^soyo (hard sign)";
+beginchar(6, 1hu#, 4vu#, 0);
+ z1 = (.5hu, 4vu);
+ sertodot(1, 1.2);
+endchar;
+
+
+sertochar "peto.ho a invers";
+beginchar(17, 3hu#, 5vu#, 0);
+ pickup vowel_pen;
+ z11 = (0, 1vu);
+ z12 = (x1+3hu, y1+3vu);
+ z1 = (.1[z11,z12]);
+ z2 = (.9[z11,z12]);
+ z3 = (.3[z11,z12]);
+ z4 = (.7[z11,z12]);
+ %z5 = (x1+.5hu, y2);
+ z16 = (.5[z11,z12]); % Hilfspunkt
+ z6 = z16 - 2hu*dir(angle(z2-z1)+90);
+ draw z1--z2;
+ draw z3--z6--z4;
+ penlabels(1,2,3,4,6)
+endchar;
+
+
+sertochar "revo.so e invers";
+beginchar(18, 3hu#, 6vu#, 0);
+ pickup vowel_pen;
+ z1 = (0, 4vu);
+ z2 = (x1+hu, y1-2.2vu);
+ z3 = (x1+3hu, y1-vu);
+ z4 = z2 + whatever*dir(-110);
+ z4 = whatever[z1,z3];
+
+ draw z1..z2..z3;
+ draw z2--z4;
+
+ penlabels(1,2,3,4);
+endchar;
+
+
+sertochar ".hevo.so i";
+beginchar(19, 3hu#, 4vu#, 0);
+ pickup vowel_pen;
+
+ z1 = (.8hu, 1vu);
+ z2 = z1 + (2.9hu, 1.5vu);
+ z3 = z1 + (-.8hu, 1vu);
+ z4 = z3 + (3hu, 1.5vu);
+ z5 = .4[z3, z4];
+ z6 = .5[z1, z2];
+
+ draw z1--z2;
+ draw z3--z4;
+ draw z5--z6;
+
+ penlabels(1,2,3,4,5,6);
+endchar;
+
+sertochar "zeqopo o invers";
+beginchar(20, 3hu#, 6vu#, 0);
+ pickup vowelII_pen;
+
+ z1 = (2.5hu, 5vu);
+ z2 = z1 - (2hu, 3vu);
+ z3 = z1 - (1.3hu, 1.5vu);
+
+ draw z1{dir -150}..{dir -45}z2..{left}z3;
+ penlabels(1,2,3);
+endchar;
+
+sertochar "`e.so.so u invers";
+beginchar(21, 3hu#, 8vu#, 0);
+ pickup vowel_pen;
+
+ z1 = (3hu, 5vu);
+ z2 = z1 - (3hu, 3vu);
+ z3 = .47[z1, z2];
+ z4 = z1 - (2.5hu, -.5vu);
+
+ draw z1--z2;
+ draw z3--z4;
+
+ pickup vowelIII_pen;
+ z5 = z1 - (1.4hu, 0);
+ z6 = z5 + (.5hu, .6vu);
+
+ draw z5..z6..cycle;
+
+ penlabels(range 1 thru 6)
+endchar;
+
+
+
+
+
+% Chaldean vowels
+sertochar "zeqopo =a (chaldean)";
+beginchar(oct"014", 2hu#, 5vu#, 0);
+ pickup chaldeanvowels_pen;
+
+ lft bot z1 = (0, 2vu);
+ z2 = z1 + (1.2hu, 1.3vu);
+ drawdot z1;
+ drawdot z2;
+ penlabels(1,2);
+endchar;
+
+sertochar "revo.so e (chaldean)";
+beginchar(oct"32", 3hu#, 6vu#, 0);
+ pickup chaldeanvowels_pen;
+ lft z1 = (0, 2vu);
+ z2 = z1 + (1.3hu, 1.6vu);
+ drawdot z1;
+ drawdot z2;
+
+ penlabels(1,2);
+endchar;
+
+sertochar ".hevo.so i (chaldean, also used for u (waw + dot))";
+beginchar(oct"33", 2hu#, 4vu#, 0);
+ lft z1 = (1hu, 2vu);
+ pickup chaldeanvowels2_pen;
+ drawdot z1;
+ penlabels(1,2);
+endchar;
+
+sertochar " o (chaldean, also used for a)";
+beginchar(oct"15", 2hu#, 3vu#, 0);
+ lft z1 = (1hu, 3vu);
+ pickup chaldeanvowels2_pen;
+ drawdot z1;
+ penlabels(1,2);
+endchar;
+
+
+endinput; \ No newline at end of file
diff --git a/Master/texmf-dist/fonts/source/public/aramaic-serto/test.mf b/Master/texmf-dist/fonts/source/public/aramaic-serto/test.mf
new file mode 100644
index 00000000000..88f4f593e73
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/aramaic-serto/test.mf
@@ -0,0 +1,198 @@
+
+u#:=16/36pt#; % unit width Change ONLY this
+ % parameter to change the size of the fonts.
+boxx#:=4u#; % Asyyrian font basic size boxx.
+huassyr#:=u#;
+vuassyr#:=u#;
+%ht#:=5boxx#; % height of the character
+font_size 10pt#;
+%font_size 7boxx#; % the design size of the fonts
+%xgap#:=0.6pt#; % horizontal adjustment
+
+% For vowels taken from sertofont.mf
+stu#:= 2.5u#; % the unit, used in serto10.mf
+hu#:=stu#; % the horizontal unit
+vu#:=stu#; % the vertical unit
+basestroke# := stu#;
+
+%s#:=0#; % extra space at the left and the right
+%o#:=2boxx#; % overshoot
+%px#:=2/3pt#; % horizontal thickness of the pen;
+px#:=3/2u#;
+slant :=0; % This parameter controls the slantness of the
+ % fonts. Change it to for example 1/4 or -1/4 to
+ % produce italic fonts.
+mode_setup;
+if unknown slant: slant :=0
+else: currenttransform:= identity slanted slant yscaled aspect_ratio
+fi;
+
+%ygap#:=(ht#/13.5u#)*xgap#; % vertical adjustment
+%ho#:=0#; % horizontal overshoot
+%leftstemloc#:=2.5u#+s#; % position of left stem
+%barheight#:=0.45ht#; % height of bar lines
+py#:=0.9px#; % vertical pen thickness
+
+%% Font-Parameter for TeX %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Added by Johannes Heinecke
+font_quad 5u#; % 1 em
+font_x_height 4u#; % 1 ex (used by syriac.sty to define accent position)
+font_normal_space 6u#; % word gap
+font_normal_stretch 4u#; % word gap may stretch by ...
+font_normal_shrink 2u#; % word gap my shrink by ...
+font_slant slant;
+
+
+define_pixels(hu, vu, basestroke);
+%%% Taken from sertobase.mf (for vowels)
+ pickup pencircle xscaled .5basestroke yscaled .3basestroke;
+ vowel_pen:=savepen;
+
+ pickup pencircle xscaled .5basestroke yscaled .2basestroke rotated 30;
+ vowelII_pen:=savepen;
+
+ pickup pencircle xscaled .3basestroke yscaled .2basestroke rotated 30;
+ vowelIII_pen:=savepen;
+let sertochar=\;
+
+
+define_pixels(u,huassyr,vuassyr);
+%define_whole_pixels(xgap);
+%define_whole_vertical_pixels(ygap);
+define_blacker_pixels(px,py);
+pickup pencircle xscaled px yscaled py;
+logo_pen:=savepen;
+%define_good_x_pixels(leftstemloc);
+%define_good_y_pixels(barheight);
+%define_corrected_pixels(o);
+%define_horizontal_corrected_pixels(ho);
+
+ def makebox(text r) =
+
+ for y=0 step u until h:
+ r((0, y), (w, y));
+ endfor
+
+ for y=0, -d, h:
+ r((0, y), (w, y));
+ endfor
+
+ % vertical lines on x-values:
+ for x=0 step u until w:
+ r((x, -d), (x, h));
+ endfor
+enddef;
+
+
+beginchar("S",14huassyr#,12vuassyr#,0);"The letter Simkat";
+z1=(0,0);
+z2=(5.5huassyr,0);
+z3=(5.5huassyr,1vuassyr);
+z5=(7huassyr,0.3vuassyr);
+z7=(8huassyr,0);
+z11=(13huassyr,0);
+z13=(14huassyr,1vuassyr);
+z15=(14huassyr,4vuassyr);
+z17=(12huassyr,10.6vuassyr);
+z19=(11huassyr,11vuassyr);
+z21=(9huassyr,10vuassyr);
+z22=(8.52huassyr,9.32vuassyr);
+z23=(8.5huassyr,9.3vuassyr);
+z24=(8.48huassyr,9.32vuassyr);
+z25=(6huassyr,11.7vuassyr);
+
+z27=(5huassyr,12vuassyr);
+%z29=(3huassyr,10.3vuassyr);
+z31=(2huassyr,7vuassyr);
+z33=(2.8huassyr,4vuassyr);
+z35=(0,4vuassyr);
+
+z37=(7.8huassyr,4vuassyr);
+z39=(11huassyr,4vuassyr);
+z41=(11huassyr,6vuassyr);
+z43=(10huassyr,7vuassyr);
+z45=(8.7huassyr,6vuassyr);
+z46=(7.82huassyr,4.02vuassyr);
+
+z47=(7huassyr,4vuassyr);
+z49=(6huassyr,7.7vuassyr);
+z51=(5huassyr,8vuassyr);
+z53=(4.3huassyr,7vuassyr);
+z55=(6huassyr,4.5vuassyr);
+z57=(6.98huassyr,4.02vuassyr);
+
+pickup logo_pen;
+fill z1--z2--z3..z5..{right}z7--z11{right}..{up}z13{up}
+..z15{up}..z17..{left}z19..z21..z22--z23--z24..z25..{left}z27{left}..{down}z31{down}..z33--z35--cycle;
+
+unfill z37{right}..{right}z39{up}..{up}z41{up}..{left}z43{left}..z45..z46--cycle;
+unfill z47{up}..z49..{left}z51{left}..{down}z53{down}..z55..z57--cycle;
+labels(range 1 thru 57);
+endchar;
+
+beginchar("Y",12huassyr#,12vuassyr#,3vuassyr#);"The letter Chap";
+z1=(0,0);
+z2=(11huassyr,0);
+z3=(12huassyr,1vuassyr);
+z5=(12huassyr,4vuassyr);
+z7=(8.7huassyr,10vuassyr);
+z11=(5.5huassyr,12vuassyr);
+z13=(3huassyr,10.2vuassyr);
+z15=(2huassyr,7vuassyr);
+z17=(2.6huassyr,7.3vuassyr);
+z19=(4.5huassyr,8vuassyr);
+z21=(7huassyr,6.5vuassyr);
+z23=(8.5huassyr,4vuassyr);
+z25=(0,4vuassyr);
+
+z27=(4.2huassyr, -3.4vuassyr);
+z29=(5huassyr, -2.6vuassyr);
+z31=(6.3huassyr, -3.2vuassyr);
+z33=(7huassyr, -2vuassyr);
+z35=(6.8huassyr, -1.4vuassyr);
+z37=(6huassyr, -2.3vuassyr);
+z39=(4.6huassyr, -1.8vuassyr);
+z41=(4huassyr, -2.8vuassyr);
+
+pickup logo_pen;
+fill z1--z2{right}..{up}z3{up}..{up}z5..z7..{left}z11{left}..z13
+..{down}z15{right}..z17..{right}z19{right}..z21..z23--z25--cycle;
+
+fill z27{right}..{right}z29{right}..{right}z31{right}..{up}z33{up}..{left}z35{left}
+..{left}z37{left}..{left}z39{left}..{down}z41{down}..{right}cycle;
+endchar;
+
+
+
+
+beginchar("T",13huassyr#,12vuassyr#,0);"The letter Tau";
+z1=(11huassyr,0);
+z2=(12huassyr,0);
+z3=(13huassyr,1vuassyr);
+z5=(13huassyr,4vuassyr);
+z6=(6huassyr,11.5vuassyr);
+z66=(5.9huassyr,11.6vuassyr);
+z7=(5.4huassyr,12vuassyr);
+z77=(5.1huassyr,11.7vuassyr);
+z9=(5huassyr,11.5vuassyr);
+z11=(1.3huassyr,3vuassyr);
+z13=(1.1huassyr,1.9vuassyr);
+z15=(3huassyr,0);
+z17=(5.7huassyr,1vuassyr);
+z19=(7.7huassyr,0.2vuassyr);
+z21=(8huassyr,0);
+z23=(8.3huassyr,0.2vuassyr);
+z24=(8huassyr,1vuassyr);
+z25=(3.5huassyr,4.2vuassyr);
+z27=(2.4huassyr,4vuassyr);
+z29=(4.2huassyr,8vuassyr);
+pickup logo_pen;
+fill z1--z2{right}..{up}z3--z5--z6..z66..{left}z7{left}..z77..z9--z11
+..{down}z13{down}..{right}z15{right}..{right}z17{right}..z19..{right}z21..{up}z23{up}
+..z24..{left}z25{left}..z27--z29--cycle;
+labels(range 1 thru 29);
+endchar;
+
+
+end;
+
diff --git a/Master/texmf-dist/fonts/tfm/public/aramaic-serto/assy.tfm b/Master/texmf-dist/fonts/tfm/public/aramaic-serto/assy.tfm
new file mode 100644
index 00000000000..ce35c7d708f
--- /dev/null
+++ b/Master/texmf-dist/fonts/tfm/public/aramaic-serto/assy.tfm
Binary files differ
diff --git a/Master/texmf-dist/fonts/tfm/public/aramaic-serto/assyrb10.tfm b/Master/texmf-dist/fonts/tfm/public/aramaic-serto/assyrb10.tfm
new file mode 100644
index 00000000000..cdbc439dc43
--- /dev/null
+++ b/Master/texmf-dist/fonts/tfm/public/aramaic-serto/assyrb10.tfm
Binary files differ
diff --git a/Master/texmf-dist/fonts/tfm/public/aramaic-serto/serto10.tfm b/Master/texmf-dist/fonts/tfm/public/aramaic-serto/serto10.tfm
new file mode 100644
index 00000000000..183f16ee652
--- /dev/null
+++ b/Master/texmf-dist/fonts/tfm/public/aramaic-serto/serto10.tfm
Binary files differ
diff --git a/Master/texmf-dist/fonts/tfm/public/aramaic-serto/sertob10.tfm b/Master/texmf-dist/fonts/tfm/public/aramaic-serto/sertob10.tfm
new file mode 100644
index 00000000000..ef9bfd50c3b
--- /dev/null
+++ b/Master/texmf-dist/fonts/tfm/public/aramaic-serto/sertob10.tfm
Binary files differ
diff --git a/Master/texmf-dist/fonts/type1/public/aramaic-serto/assy.pfb b/Master/texmf-dist/fonts/type1/public/aramaic-serto/assy.pfb
new file mode 100644
index 00000000000..cc9d321b443
--- /dev/null
+++ b/Master/texmf-dist/fonts/type1/public/aramaic-serto/assy.pfb
Binary files differ
diff --git a/Master/texmf-dist/fonts/type1/public/aramaic-serto/assyrb10.pfb b/Master/texmf-dist/fonts/type1/public/aramaic-serto/assyrb10.pfb
new file mode 100644
index 00000000000..3c65d2cddd7
--- /dev/null
+++ b/Master/texmf-dist/fonts/type1/public/aramaic-serto/assyrb10.pfb
Binary files differ
diff --git a/Master/texmf-dist/fonts/type1/public/aramaic-serto/serto10.pfb b/Master/texmf-dist/fonts/type1/public/aramaic-serto/serto10.pfb
new file mode 100644
index 00000000000..3661446259a
--- /dev/null
+++ b/Master/texmf-dist/fonts/type1/public/aramaic-serto/serto10.pfb
Binary files differ
diff --git a/Master/texmf-dist/fonts/type1/public/aramaic-serto/sertob10.pfb b/Master/texmf-dist/fonts/type1/public/aramaic-serto/sertob10.pfb
new file mode 100644
index 00000000000..f48d6db7132
--- /dev/null
+++ b/Master/texmf-dist/fonts/type1/public/aramaic-serto/sertob10.pfb
Binary files differ
diff --git a/Master/texmf-dist/tex/latex/aramaic-serto/assyr.sty b/Master/texmf-dist/tex/latex/aramaic-serto/assyr.sty
new file mode 100644
index 00000000000..8e1ba1ba48d
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/aramaic-serto/assyr.sty
@@ -0,0 +1,70 @@
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% assyr.sty
+%% For the use of serto fonts within LaTeX
+%% Last modified 8th November 2003
+%% Johannes Heinecke, Lannion
+
+\typeout{Document Style `assyr.sty' <8th November 2003>.}
+
+%\def\fassyrr{assy }
+%\def\fassyrb{assyrb10 }
+
+%%
+%% Use with \assyr
+%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+% do we have elatex?
+\ifx\TeXXeTstate\undefined\def\beginR{}\def\endR{}\else
+\TeXXeTstate=1\fi
+
+\usepackage{syriac}
+
+%%
+%% Standard assyr
+\expandafter \ifx \csname passyrr\endcsname \relax \else
+ \expandafter \endinput
+\fi
+\expandafter \ifx \csname passyrb\endcsname \relax \else
+ \expandafter \endinput
+\fi
+
+%% select the mxedruliX font with \mxedrX
+%%
+\def\assyr {\protect\passyrr\noindent}
+\def\assyrb {\protect\passyrb\noindent}
+
+% If NFSS2 is used, \DeclareFontShape is defined.
+\expandafter\ifx\csname DeclareFontShape\endcsname\relax
+
+% But possibly NFSS1 is used...
+\expandafter\ifx\csname selectfont\endcsname\relax
+
+% No, its only the standard font selection...
+\message {Warning: Standard font selection *not* supported}
+
+\else
+\message {Warning: NFSS1 *not* supported}
+\fi
+
+\else
+
+
+\message {Using NFSS2}
+
+% \passyr uses the `unknown' fontencoding, `mxed' fontfamily, `m'edium
+% fontseries, `n'ormal fontshape.
+%
+\def\passyrr{\fontencoding{U}\fontfamily{assyr}%
+ \fontseries{m}\fontshape{n}\selectfont}
+\def\passyrb{\fontencoding{U}\fontfamily{assyr}%
+ \fontseries{m}\fontshape{b}\selectfont}
+
+% All the rest is defined `uassyr.fd', which is loaded automatically
+
+
+\fi
+\endinput
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% EOF %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+
diff --git a/Master/texmf-dist/tex/latex/aramaic-serto/serto.sty b/Master/texmf-dist/tex/latex/aramaic-serto/serto.sty
new file mode 100644
index 00000000000..a45da960e4d
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/aramaic-serto/serto.sty
@@ -0,0 +1,131 @@
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% serto.sty
+%% For the use of serto fonts within LaTeX
+%% Last modified 9th June 2003
+%% Johannes Heinecke, Lannion
+
+\typeout{Document Style `serto.sty' <9th June 2003>.}
+
+\def\fsertr{serto10 }
+\def\fsertb{serto10b }
+
+%%
+%% Use with \serto
+%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+% do we have elatex?
+\ifx\TeXXeTstate\undefined\def\beginR{}\def\endR{}\else
+\TeXXeTstate=1\fi
+
+
+%% Taken from exaccent.sty (Tipa package)
+%% usage \loweraccent[distance]{accent}{letter}
+%\newcommand\lowerserto{\@ifnextchar[{\lower@serto a\empty}%
+% {\lower@serto a\empty[\z@]}}
+%\newcommand\upperserto{\@ifnextchar[{\upper@serto a\empty}%
+% {\upper@serto a\empty[\z@]}}
+%
+%\def\upper@serto#1#2[#3]#4#5{{\leavevmode
+% \setbox\z@\hbox{#5}\setbox\@ne\hbox{#2%
+% \if a#1\char#4\else#4\fi}%
+% \ifx\empty#5\empty\box\@ne\else
+% \@getaccshift \let\c@lcshift\@pshift
+% \dimen\z@\ht\@ne
+% \ifdim\ht\@ne>1ex \advance\dimen\z@ -1ex \else
+% \ifdim\ht\@ne=\z@ \dimen\z@\dp\@ne \fi\fi
+% \vbox{\hsize\wd\z@\offinterlineskip
+% %\hb@xt@\z@{\@accshift{#3}\hb@xt@\wd\z@{%
+% \hb@xt@\z@{\@accshift{.5ex}\hb@xt@\wd\z@{%
+% \hss\vbox to \dimen\z@{\hbox{\box\@ne}\vss}\hss}\hss}
+% %\kern#3
+% \kern.5ex
+% \hbox{#5}}\fi}}
+%
+%\def\lower@serto#1#2[#3]#4#5{{\leavevmode
+% \setbox\z@\hbox{#5}\setbox\@ne\hbox{#2%
+% \if a#1\char#4\else#4\fi}%
+% \ifx\empty#5\empty\box\@ne\else
+% \@getaccshift \let\c@lcshift\s@bshift
+% \dimen\z@\ht\@ne
+% \ifdim\ht\@ne>1ex \advance\dimen\z@ -1.1ex \else
+% \ifdim\ht\@ne=\z@ \dimen\z@\dp\@ne \fi\fi
+% \vtop{\hsize\wd\z@\offinterlineskip
+% \hbox{#5}
+% \kern#3
+% %\kern.5ex
+% \hbox{\@accshift{#3}\hb@xt@\wd\z@{%
+% %\hbox{\@accshift{.5ex}\hb@xt@\wd\z@{%
+% \hss\vbox to \dimen\z@{\hbox{\box\@ne}\vss}\hss}}}\fi}}
+%
+%\newcommand\@getaccshift{\def\@accshift##1{}%
+% \ifx\f@shape\@slshapename\let\@accshift\@accshiftsl\fi
+% \ifx\f@shape\@itshapename\let\@accshift\@accshiftsl\fi}
+%
+%\newcommand\@accshiftsl[1]{\c@lcshift{#1}\kern-.16667\dimen\@ne}
+%
+%\newcommand\@pshift[1]{%
+% \dimen\@ne-\ht\z@ % get height of the box to be accented
+% \advance\dimen\@ne -#1% % add margin between the letter and accent
+% \ifdim\ht\@ne>1ex
+% \advance\dimen\@ne 1ex\else
+% \ifdim\ht\@ne=\z@
+% \advance\dimen\@ne -\dp\@ne\fi\fi}
+%
+%\newcommand\s@bshift[1]{%
+% \dimen\@ne\dp\z@ % get depth of the box to be accented
+% \ifdim\ht\@ne>\z@
+% \advance\dimen\@ne \ht\@ne\fi % add ht of the accent
+% \ifdim\ht\@ne>1ex
+% \advance\dimen\@ne #1\fi} % add margin between the letter and accent
+
+\usepackage{syriac}
+
+%%
+%% Standard serto
+\expandafter \ifx \csname psertr\endcsname \relax \else
+ \expandafter \endinput
+\fi
+\expandafter \ifx \csname psertb\endcsname \relax \else
+ \expandafter \endinput
+\fi
+
+%% select the mxedruliX font with \mxedrX
+%%
+\def\serto {\protect\psertr\noindent}
+\def\sertob {\protect\psertb\noindent}
+
+% If NFSS2 is used, \DeclareFontShape is defined.
+\expandafter\ifx\csname DeclareFontShape\endcsname\relax
+
+% But possibly NFSS1 is used...
+\expandafter\ifx\csname selectfont\endcsname\relax
+
+% No, its only the standard font selection...
+\message {Warning: Standard font selection *not* supported}
+
+\else
+\message {Warning: NFSS1 *not* supported}
+\fi
+
+\else
+
+
+\message {Using NFSS2}
+
+% \psert uses the `unknown' fontencoding, `mxed' fontfamily, `m'edium
+% fontseries, `n'ormal fontshape.
+%
+\def\psertr{\fontencoding{U}\fontfamily{serto}%
+ \fontseries{m}\fontshape{n}\selectfont}
+\def\psertb{\fontencoding{U}\fontfamily{serto}%
+ \fontseries{m}\fontshape{b}\selectfont}
+
+% All the rest is defined `userto.fd', which is loaded automatically
+
+
+\fi
+\endinput
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% EOF %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+
diff --git a/Master/texmf-dist/tex/latex/aramaic-serto/syriac.sty b/Master/texmf-dist/tex/latex/aramaic-serto/syriac.sty
new file mode 100644
index 00000000000..271fa781dfe
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/aramaic-serto/syriac.sty
@@ -0,0 +1,67 @@
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% syriac.sty
+%% DO NOT LOAD DIRECTLY. USED BY serto.sty and assyr.sty
+%% For the use of serto fonts within LaTeX
+%% Last modified 8th November 2003
+%% Johannes Heinecke, Lannion
+
+% Taken from exaccent.sty (Tipa package)
+% usage \loweraccent[distance]{accent}{letter}
+\newcommand\lowersyriac{\@ifnextchar[{\lower@syriac a\empty}%
+ {\lower@syriac a\empty[\z@]}}
+\newcommand\uppersyriac{\@ifnextchar[{\upper@syriac a\empty}%
+ {\upper@syriac a\empty[\z@]}}
+
+\def\upper@syriac#1#2[#3]#4#5{{\leavevmode
+ \setbox\z@\hbox{#5}\setbox\@ne\hbox{#2%
+ \if a#1\char#4\else#4\fi}%
+ \ifx\empty#5\empty\box\@ne\else
+ \@getaccshift \let\c@lcshift\@pshift
+ \dimen\z@\ht\@ne
+ \ifdim\ht\@ne>1ex \advance\dimen\z@ -1ex \else
+ \ifdim\ht\@ne=\z@ \dimen\z@\dp\@ne \fi\fi
+ \vbox{\hsize\wd\z@\offinterlineskip
+ %\hb@xt@\z@{\@accshift{#3}\hb@xt@\wd\z@{%
+ \hb@xt@\z@{\@accshift{.5ex}\hb@xt@\wd\z@{%
+ \hss\vbox to \dimen\z@{\hbox{\box\@ne}\vss}\hss}\hss}
+ %\kern#3
+ \kern.5ex
+ \hbox{#5}}\fi}}
+
+\def\lower@syriac#1#2[#3]#4#5{{\leavevmode
+ \setbox\z@\hbox{#5}\setbox\@ne\hbox{#2%
+ \if a#1\char#4\else#4\fi}%
+ \ifx\empty#5\empty\box\@ne\else
+ \@getaccshift \let\c@lcshift\s@bshift
+ \dimen\z@\ht\@ne
+ \ifdim\ht\@ne>1ex \advance\dimen\z@ -1.1ex \else
+ \ifdim\ht\@ne=\z@ \dimen\z@\dp\@ne \fi\fi
+ \vtop{\hsize\wd\z@\offinterlineskip
+ \hbox{#5}
+ \kern#3
+ %\kern.5ex
+ \hbox{\@accshift{#3}\hb@xt@\wd\z@{%
+ %\hbox{\@accshift{.5ex}\hb@xt@\wd\z@{%
+ \hss\vbox to \dimen\z@{\hbox{\box\@ne}\vss}\hss}}}\fi}}
+
+\newcommand\@getaccshift{\def\@accshift##1{}%
+ \ifx\f@shape\@slshapename\let\@accshift\@accshiftsl\fi
+ \ifx\f@shape\@itshapename\let\@accshift\@accshiftsl\fi}
+
+\newcommand\@accshiftsl[1]{\c@lcshift{#1}\kern-.16667\dimen\@ne}
+
+\newcommand\@pshift[1]{%
+ \dimen\@ne-\ht\z@ % get height of the box to be accented
+ \advance\dimen\@ne -#1% % add margin between the letter and accent
+ \ifdim\ht\@ne>1ex
+ \advance\dimen\@ne 1ex\else
+ \ifdim\ht\@ne=\z@
+ \advance\dimen\@ne -\dp\@ne\fi\fi}
+
+\newcommand\s@bshift[1]{%
+ \dimen\@ne\dp\z@ % get depth of the box to be accented
+ \ifdim\ht\@ne>\z@
+ \advance\dimen\@ne \ht\@ne\fi % add ht of the accent
+ \ifdim\ht\@ne>1ex
+ \advance\dimen\@ne #1\fi} % add margin between the letter and accent
+
diff --git a/Master/texmf-dist/tex/latex/aramaic-serto/uassyr.fd b/Master/texmf-dist/tex/latex/aramaic-serto/uassyr.fd
new file mode 100644
index 00000000000..946283dcfd8
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/aramaic-serto/uassyr.fd
@@ -0,0 +1,32 @@
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% uassyr.fd
+%
+% For the use of assyr fonts within LaTeX
+% Last modified 6th November 2003
+%
+%
+% fontencoding: u
+% fontfamily: assyr
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+% It has to be used with NFSS2 only
+%
+\ifx\DeclareFontShape\undefined
+ \message{You should not use this file but with NFSS2}
+\expandafter\endinput\fi
+
+
+\DeclareFontFamily{U}{assyr}{}%
+
+\DeclareFontShape{U}{assyr}{m}{n}{%
+ <10><10.95><12><14.4><17.28><20.74><24.88>assy
+}{}
+
+\DeclareFontShape{U}{assyr}{m}{b}{%
+ <10><10.95><12><14.4><17.28><20.74><24.88>assyrb10
+}{}
+
+
+\endinput
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
diff --git a/Master/texmf-dist/tex/latex/aramaic-serto/userto.fd b/Master/texmf-dist/tex/latex/aramaic-serto/userto.fd
new file mode 100644
index 00000000000..534f3afbb1a
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/aramaic-serto/userto.fd
@@ -0,0 +1,32 @@
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% userto.fd
+%
+% For the use of serto fonts within LaTeX
+% Last modified 17th November 2001
+%
+%
+% fontencoding: u
+% fontfamily: serto
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+% It has to be used with NFSS2 only
+%
+\ifx\DeclareFontShape\undefined
+ \message{You should not use this file but with NFSS2}
+\expandafter\endinput\fi
+
+
+\DeclareFontFamily{U}{serto}{}%
+
+\DeclareFontShape{U}{serto}{m}{n}{%
+ <10><10.95><12><14.4><17.28><20.74><24.88>serto10
+}{}
+
+\DeclareFontShape{U}{serto}{m}{b}{%
+ <10><10.95><12><14.4><17.28><20.74><24.88>sertob10
+}{}
+
+
+\endinput
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
diff --git a/Master/tlpkg/bin/tlpkg-ctan-check b/Master/tlpkg/bin/tlpkg-ctan-check
index 89a5650e553..fa4211af0ae 100755
--- a/Master/tlpkg/bin/tlpkg-ctan-check
+++ b/Master/tlpkg/bin/tlpkg-ctan-check
@@ -39,7 +39,7 @@ my @TLP_working = qw(
anyfontsize anysize
aomart apa apa6 apa6e apacite apalike2
appendix appendixnumberbeamer apprends-latex apptools
- arabi arabtex arabxetex arara archaic arcs arev
+ arabi arabtex arabxetex aramaic-serto arara archaic arcs arev
around-the-bend arphic arrayjobx arsclassica
arydshln articleingud
asaetr ascelike ascii-chart ascii-font aspectratio assignment astro asyfig
diff --git a/Master/tlpkg/tlpsrc/aramaic-serto.tlpsrc b/Master/tlpkg/tlpsrc/aramaic-serto.tlpsrc
new file mode 100644
index 00000000000..84a59c5cca3
--- /dev/null
+++ b/Master/tlpkg/tlpsrc/aramaic-serto.tlpsrc
@@ -0,0 +1 @@
+execute addMap syriac.map
diff --git a/Master/tlpkg/tlpsrc/collection-langhebrew.tlpsrc b/Master/tlpkg/tlpsrc/collection-langhebrew.tlpsrc
index f5408bbf393..1d1dcc7b7cc 100644
--- a/Master/tlpkg/tlpsrc/collection-langhebrew.tlpsrc
+++ b/Master/tlpkg/tlpsrc/collection-langhebrew.tlpsrc
@@ -1,5 +1,6 @@
category Collection
shortdesc Hebrew
longdesc Support for typesetting Hebrew.
+depend aramaic-serto
depend cjhebrew
depend collection-basic