diff options
Diffstat (limited to 'Master/texmf-dist/source/xelatex/arabxetex/makemaps.pl')
-rwxr-xr-x | Master/texmf-dist/source/xelatex/arabxetex/makemaps.pl | 681 |
1 files changed, 27 insertions, 654 deletions
diff --git a/Master/texmf-dist/source/xelatex/arabxetex/makemaps.pl b/Master/texmf-dist/source/xelatex/arabxetex/makemaps.pl index 231a6b5c8ea..d93e5c8c300 100755 --- a/Master/texmf-dist/source/xelatex/arabxetex/makemaps.pl +++ b/Master/texmf-dist/source/xelatex/arabxetex/makemaps.pl @@ -11,13 +11,9 @@ mkdir("mappings"); #languages = arab maghribi farsi urdu pashto sindhi kashmiri kurdish turk malay uighur # but kurdish and uighur are coded separately -# First the mappings for fonts that have the glyph U+FDF2 with initial alif - open MAPS, "<$master" ; -open OUTPUT, ">$output-fdf2alif-novoc.map"; +open OUTPUT, ">$output-novoc.map"; while (<MAPS>) { - s/^#1 // ; - s/^#0.+\n//m ; s/^\@An // ; s/^\@.+\n//m ; s/^#[A-Z]*A[A-Z]*n // ; @@ -32,10 +28,8 @@ close OUTPUT; close MAPS; open MAPS, "<$master" ; -open OUTPUT, ">$output-fdf2alif-voc.map"; +open OUTPUT, ">$output-voc.map"; while (<MAPS>) { - s/^#1 // ; - s/^#0.+\n//m ; s/^\@Av // ; s/^\@v // ; s/^\@.+\n//m ; @@ -51,10 +45,8 @@ close OUTPUT; close MAPS; open MAPS, "<$master" ; -open OUTPUT, ">$output-fdf2alif-fullvoc.map"; +open OUTPUT, ">$output-fullvoc.map"; while (<MAPS>) { - s/^#1 // ; - s/^#0.+\n//m ; s/^\@Af // ; s/^\@.+\n//m ; s/^#[A-Z]*A[A-Z]*[vf] // ; @@ -71,10 +63,8 @@ close MAPS; ## maghribi open MAPS, "<$master" ; -open OUTPUT, ">$output-fdf2alif-maghribi-novoc.map"; +open OUTPUT, ">$output-maghribi-novoc.map"; while (<MAPS>) { - s/^#1 // ; - s/^#0.+\n//m ; s/^\@Bn // ; s/^\@.+\n//m ; s/^#[A-Z]*A[A-Z]*n // ; @@ -91,10 +81,8 @@ close OUTPUT; close MAPS; open MAPS, "<$master" ; -open OUTPUT, ">$output-fdf2alif-maghribi-voc.map"; +open OUTPUT, ">$output-maghribi-voc.map"; while (<MAPS>) { - s/^#1 // ; - s/^#0.+\n//m ; s/^\@Bv // ; s/^\@v // ; s/^\@.+\n//m ; @@ -112,10 +100,8 @@ close OUTPUT; close MAPS; open MAPS, "<$master" ; -open OUTPUT, ">$output-fdf2alif-maghribi-fullvoc.map"; +open OUTPUT, ">$output-maghribi-fullvoc.map"; while (<MAPS>) { - s/^#1 // ; - s/^#0.+\n//m ; s/^\@Bf // ; s/^\@.+\n//m ; s/^#[A-Z]*A[A-Z]*[vf] // ; @@ -134,10 +120,8 @@ close MAPS; ### farsi open MAPS, "<$master" ; -open OUTPUT, ">$output-fdf2alif-farsi-novoc.map"; +open OUTPUT, ">$output-farsi-novoc.map"; while (<MAPS>) { - s/^#1 // ; - s/^#0.+\n//m ; s/^\@Pn // ; s/^\@.+\n//m ; s/^#[A-Z]*P[A-Z]*n // ; @@ -152,10 +136,8 @@ close OUTPUT; close MAPS; open MAPS, "<$master" ; -open OUTPUT, ">$output-fdf2alif-farsi-voc.map"; +open OUTPUT, ">$output-farsi-voc.map"; while (<MAPS>) { - s/^#1 // ; - s/^#0.+\n//m ; s/^\@Pv // ; s/^\@v // ; s/^\@.+\n//m ; @@ -171,10 +153,8 @@ close OUTPUT; close MAPS; open MAPS, "<$master" ; -open OUTPUT, ">$output-fdf2alif-farsi-fullvoc.map"; +open OUTPUT, ">$output-farsi-fullvoc.map"; while (<MAPS>) { - s/^#1 // ; - s/^#0.+\n//m ; s/^\@Pf // ; s/^\@.+\n//m ; s/^#[A-Z]*P[A-Z]*[vf] // ; @@ -191,10 +171,8 @@ close MAPS; ### urdu open MAPS, "<$master" ; -open OUTPUT, ">$output-fdf2alif-urdu-novoc.map"; +open OUTPUT, ">$output-urdu-novoc.map"; while (<MAPS>) { - s/^#1 // ; - s/^#0.+\n//m ; s/^\@Un // ; s/^\@.+\n//m ; s/^#[A-Z]*U[A-Z]*n // ; @@ -209,10 +187,8 @@ close OUTPUT; close MAPS; open MAPS, "<$master" ; -open OUTPUT, ">$output-fdf2alif-urdu-voc.map"; +open OUTPUT, ">$output-urdu-voc.map"; while (<MAPS>) { - s/^#1 // ; - s/^#0.+\n//m ; s/^\@Uv // ; s/^\@v // ; s/^\@.+\n//m ; @@ -228,10 +204,8 @@ close OUTPUT; close MAPS; open MAPS, "<$master" ; -open OUTPUT, ">$output-fdf2alif-urdu-fullvoc.map"; +open OUTPUT, ">$output-urdu-fullvoc.map"; while (<MAPS>) { - s/^#1 // ; - s/^#0.+\n//m ; s/^\@Uf // ; s/^\@.+\n//m ; s/^#[A-Z]*U[A-Z]*[vf] // ; @@ -248,10 +222,8 @@ close MAPS; ###sindhi open MAPS, "<$master" ; -open OUTPUT, ">$output-fdf2alif-sindhi-novoc.map"; +open OUTPUT, ">$output-sindhi-novoc.map"; while (<MAPS>) { - s/^#1 // ; - s/^#0.+\n//m ; s/^\@Sn // ; s/^\@.+\n//m ; s/^#[A-Z]*S[A-Z]*n // ; @@ -266,10 +238,8 @@ close OUTPUT; close MAPS; open MAPS, "<$master" ; -open OUTPUT, ">$output-fdf2alif-sindhi-voc.map"; +open OUTPUT, ">$output-sindhi-voc.map"; while (<MAPS>) { - s/^#1 // ; - s/^#0.+\n//m ; s/^\@Sv // ; s/^\@v // ; s/^\@.+\n//m ; @@ -285,10 +255,8 @@ close OUTPUT; close MAPS; open MAPS, "<$master" ; -open OUTPUT, ">$output-fdf2alif-sindhi-fullvoc.map"; +open OUTPUT, ">$output-sindhi-fullvoc.map"; while (<MAPS>) { - s/^#1 // ; - s/^#0.+\n//m ; s/^\@Sf // ; s/^\@.+\n//m ; s/^#[A-Z]*S[A-Z]*[vf] // ; @@ -305,10 +273,8 @@ close MAPS; ###pashto open MAPS, "<$master" ; -open OUTPUT, ">$output-fdf2alif-pashto-novoc.map"; +open OUTPUT, ">$output-pashto-novoc.map"; while (<MAPS>) { - s/^#1 // ; - s/^#0.+\n//m ; s/^\@Tn // ; s/^\@.+\n//m ; s/^#[A-Z]*T[A-Z]*n // ; @@ -324,10 +290,8 @@ close MAPS; open MAPS, "<$master" ; -open OUTPUT, ">$output-fdf2alif-pashto-voc.map"; +open OUTPUT, ">$output-pashto-voc.map"; while (<MAPS>) { - s/^#1 // ; - s/^#0.+\n//m ; s/^\@Tv // ; s/^\@v // ; s/^\@.+\n//m ; @@ -344,10 +308,8 @@ close MAPS; open MAPS, "<$master" ; -open OUTPUT, ">$output-fdf2alif-pashto-fullvoc.map"; +open OUTPUT, ">$output-pashto-fullvoc.map"; while (<MAPS>) { - s/^#1 // ; - s/^#0.+\n//m ; s/^\@Tf // ; s/^\@.+\n//m ; s/^#[A-Z]*T[A-Z]*[vf] // ; @@ -365,10 +327,8 @@ close MAPS; ###turk open MAPS, "<$master" ; -open OUTPUT, ">$output-fdf2alif-turk-novoc.map"; +open OUTPUT, ">$output-turk-novoc.map"; while (<MAPS>) { - s/^#1 // ; - s/^#0.+\n//m ; s/^\@On // ; s/^\@.+\n//m ; s/^#[A-Z]*O[A-Z]*n // ; @@ -384,10 +344,8 @@ close MAPS; open MAPS, "<$master" ; -open OUTPUT, ">$output-fdf2alif-turk-voc.map"; +open OUTPUT, ">$output-turk-voc.map"; while (<MAPS>) { - s/^#1 // ; - s/^#0.+\n//m ; s/^\@Ov // ; s/^\@v // ; s/^\@.+\n//m ; @@ -404,10 +362,8 @@ close MAPS; open MAPS, "<$master" ; -open OUTPUT, ">$output-fdf2alif-turk-fullvoc.map"; +open OUTPUT, ">$output-turk-fullvoc.map"; while (<MAPS>) { - s/^#1 // ; - s/^#0.+\n//m ; s/^\@Of // ; s/^\@.+\n//m ; s/^#[A-Z]*O[A-Z]*[vf] // ; @@ -424,10 +380,8 @@ close MAPS; ###kashmiri open MAPS, "<$master" ; -open OUTPUT, ">$output-fdf2alif-kashmiri-novoc.map"; +open OUTPUT, ">$output-kashmiri-novoc.map"; while (<MAPS>) { - s/^#1 // ; - s/^#0.+\n//m ; s/^\@Kn // ; s/^\@.+\n//m ; s/^#[A-Z]*K[A-Z]*n // ; @@ -443,10 +397,8 @@ close MAPS; open MAPS, "<$master" ; -open OUTPUT, ">$output-fdf2alif-kashmiri-voc.map"; +open OUTPUT, ">$output-kashmiri-voc.map"; while (<MAPS>) { - s/^#1 // ; - s/^#0.+\n//m ; s/^\@Kv // ; s/^\@v // ; s/^\@.+\n//m ; @@ -463,10 +415,8 @@ close MAPS; open MAPS, "<$master" ; -open OUTPUT, ">$output-fdf2alif-kashmiri-fullvoc.map"; +open OUTPUT, ">$output-kashmiri-fullvoc.map"; while (<MAPS>) { - s/^#1 // ; - s/^#0.+\n//m ; s/^\@Kf // ; s/^\@.+\n//m ; s/^#[A-Z]*K[A-Z]*[vf] // ; @@ -483,10 +433,8 @@ close MAPS; ###malay open MAPS, "<$master" ; -open OUTPUT, ">$output-fdf2alif-malay-novoc.map"; +open OUTPUT, ">$output-malay-novoc.map"; while (<MAPS>) { - s/^#1 // ; - s/^#0.+\n//m ; s/^\@Mn // ; s/^\@.+\n//m ; s/^#[A-Z]*M[A-Z]*n // ; @@ -502,10 +450,8 @@ close MAPS; open MAPS, "<$master" ; -open OUTPUT, ">$output-fdf2alif-malay-voc.map"; +open OUTPUT, ">$output-malay-voc.map"; while (<MAPS>) { - s/^#1 // ; - s/^#0.+\n//m ; s/^\@Mv // ; s/^\@v // ; s/^\@.+\n//m ; @@ -522,10 +468,8 @@ close MAPS; open MAPS, "<$master" ; -open OUTPUT, ">$output-fdf2alif-malay-fullvoc.map"; +open OUTPUT, ">$output-malay-fullvoc.map"; while (<MAPS>) { - s/^#1 // ; - s/^#0.+\n//m ; s/^\@Mf // ; s/^\@.+\n//m ; s/^#[A-Z]*M[A-Z]*[vf] // ; @@ -539,577 +483,6 @@ while (<MAPS>) { close OUTPUT; close MAPS; -## Now the mappings for fonts that do not include the initial alif in U+FDF2 - - -open MAPS, "<$master" ; -open OUTPUT, ">$output-fdf2noalif-novoc.map"; -while (<MAPS>) { - s/^#0 // ; - s/^#1.+\n//m ; - s/^\@An // ; - s/^\@.+\n//m ; - s/^#[A-Z]*A[A-Z]*n // ; - s/^#[A-Z]*A[A-Z]* // ; - s/^#-[BPUTSKOM]+n // ; - s/^#-[BPUTSKOM]+ // ; - s/^#n // ; - s/^#.+\n//m ; - print OUTPUT -} ; -close OUTPUT; -close MAPS; - -open MAPS, "<$master" ; -open OUTPUT, ">$output-fdf2noalif-voc.map"; -while (<MAPS>) { - s/^#0 // ; - s/^#1.+\n//m ; - s/^\@Av // ; - s/^\@v // ; - s/^\@.+\n//m ; - s/^#[A-Z]*A[A-Z]*v // ; - s/^#[A-Z]*A[A-Z]* // ; - s/^#-[BPUTSKOM]+v // ; - s/^#-[BPUTSKOM]+ // ; - s/^#v // ; - s/^#.+\n//m ; - print OUTPUT -} ; -close OUTPUT; -close MAPS; - -open MAPS, "<$master" ; -open OUTPUT, ">$output-fdf2noalif-fullvoc.map"; -while (<MAPS>) { - s/^#0 // ; - s/^#1.+\n//m ; - s/^\@Af // ; - s/^\@.+\n//m ; - s/^#[A-Z]*A[A-Z]*[vf] // ; - s/^#[A-Z]*A[A-Z]* // ; - s/^#-[BPUTSKOM]+[vf] // ; - s/^#-[BPUTSKOM]+ // ; - s/^#[vf] // ; - s/^#.+\n//m ; - print OUTPUT -} ; -close OUTPUT; -close MAPS; - -## maghribi - -open MAPS, "<$master" ; -open OUTPUT, ">$output-fdf2noalif-maghribi-novoc.map"; -while (<MAPS>) { - s/^#0 // ; - s/^#1.+\n//m ; - s/^\@Bn // ; - s/^\@.+\n//m ; - s/^#[A-Z]*A[A-Z]*n // ; - s/^#[A-Z]*A[A-Z]* // ; - s/^#[A-Z]*B[A-Z]*n // ; - s/^#[A-Z]*B[A-Z]* // ; - s/^#-[PUTSKOM]+n // ; - s/^#-[PUTSKOM]+ // ; - s/^#n // ; - s/^#.+\n//m ; - print OUTPUT -} ; -close OUTPUT; -close MAPS; - -open MAPS, "<$master" ; -open OUTPUT, ">$output-fdf2noalif-maghribi-voc.map"; -while (<MAPS>) { - s/^#0 // ; - s/^#1.+\n//m ; - s/^\@Bv // ; - s/^\@v // ; - s/^\@.+\n//m ; - s/^#[A-Z]*A[A-Z]*v // ; - s/^#[A-Z]*A[A-Z]* // ; - s/^#[A-Z]*B[A-Z]*v // ; - s/^#[A-Z]*B[A-Z]* // ; - s/^#-[PUTSKOM]+v // ; - s/^#-[PUTSKOM]+ // ; - s/^#v // ; - s/^#.+\n//m ; - print OUTPUT -} ; -close OUTPUT; -close MAPS; - -open MAPS, "<$master" ; -open OUTPUT, ">$output-fdf2noalif-maghribi-fullvoc.map"; -while (<MAPS>) { - s/^#0 // ; - s/^#1.+\n//m ; - s/^\@Bf // ; - s/^\@.+\n//m ; - s/^#[A-Z]*A[A-Z]*[vf] // ; - s/^#[A-Z]*A[A-Z]* // ; - s/^#[A-Z]*B[A-Z]*[vf] // ; - s/^#[A-Z]*B[A-Z]* // ; - s/^#-[PUTSKOM]+[vf] // ; - s/^#-[PUTSKOM]+ // ; - s/^#[vf] // ; - s/^#.+\n//m ; - print OUTPUT -} ; -close OUTPUT; -close MAPS; - -### farsi - -open MAPS, "<$master" ; -open OUTPUT, ">$output-fdf2noalif-farsi-novoc.map"; -while (<MAPS>) { - s/^#0 // ; - s/^#1.+\n//m ; - s/^\@Pn // ; - s/^\@.+\n//m ; - s/^#[A-Z]*P[A-Z]*n // ; - s/^#[A-Z]*P[A-Z]* // ; - s/^#-[ABUTSKOM]+n // ; - s/^#-[ABUTSKOM]+ // ; - s/^#n // ; - s/^#.+\n//m ; - print OUTPUT -} -close OUTPUT; -close MAPS; - -open MAPS, "<$master" ; -open OUTPUT, ">$output-fdf2noalif-farsi-voc.map"; -while (<MAPS>) { - s/^#0 // ; - s/^#1.+\n//m ; - s/^\@Pv // ; - s/^\@v // ; - s/^\@.+\n//m ; - s/^#[A-Z]*P[A-Z]*v // ; - s/^#[A-Z]*P[A-Z]* // ; - s/^#-[ABUTSKOM]+v // ; - s/^#-[ABUTSKOM]+ // ; - s/^#v // ; - s/^#.+\n//m ; - print OUTPUT -} -close OUTPUT; -close MAPS; - -open MAPS, "<$master" ; -open OUTPUT, ">$output-fdf2noalif-farsi-fullvoc.map"; -while (<MAPS>) { - s/^#0 // ; - s/^#1.+\n//m ; - s/^\@Pf // ; - s/^\@.+\n//m ; - s/^#[A-Z]*P[A-Z]*[vf] // ; - s/^#[A-Z]*P[A-Z]* // ; - s/^#-[ABUTSKOM]+[vf] // ; - s/^#-[ABUTSKOM]+ // ; - s/^#[vf] // ; - s/^#.+\n//m ; - print OUTPUT -} -close OUTPUT; -close MAPS; - -### urdu - -open MAPS, "<$master" ; -open OUTPUT, ">$output-fdf2noalif-urdu-novoc.map"; -while (<MAPS>) { - s/^#0 // ; - s/^#1.+\n//m ; - s/^\@Un // ; - s/^\@.+\n//m ; - s/^#[A-Z]*U[A-Z]*n // ; - s/^#[A-Z]*U[A-Z]* // ; - s/^#-[ABPTSKOM]+n // ; - s/^#-[ABPTSKOM]+ // ; - s/^#n // ; - s/^#.+\n//m ; - print OUTPUT -} -close OUTPUT; -close MAPS; - -open MAPS, "<$master" ; -open OUTPUT, ">$output-fdf2noalif-urdu-voc.map"; -while (<MAPS>) { - s/^#0 // ; - s/^#1.+\n//m ; - s/^\@Uv // ; - s/^\@v // ; - s/^\@.+\n//m ; - s/^#[A-Z]*U[A-Z]*v // ; - s/^#[A-Z]*U[A-Z]* // ; - s/^#-[ABPTSKOM]+v // ; - s/^#-[ABPTSKOM]+ // ; - s/^#v // ; - s/^#.+\n//m ; - print OUTPUT -} -close OUTPUT; -close MAPS; - -open MAPS, "<$master" ; -open OUTPUT, ">$output-fdf2noalif-urdu-fullvoc.map"; -while (<MAPS>) { - s/^#0 // ; - s/^#1.+\n//m ; - s/^\@Uf // ; - s/^\@.+\n//m ; - s/^#[A-Z]*U[A-Z]*[vf] // ; - s/^#[A-Z]*U[A-Z]* // ; - s/^#-[ABPTSKOM]+[vf] // ; - s/^#-[ABPTSKOM]+ // ; - s/^#[vf] // ; - s/^#.+\n//m ; - print OUTPUT -} -close OUTPUT; -close MAPS; - -###sindhi - -open MAPS, "<$master" ; -open OUTPUT, ">$output-fdf2noalif-sindhi-novoc.map"; -while (<MAPS>) { - s/^#0 // ; - s/^#1.+\n//m ; - s/^\@Sn // ; - s/^\@.+\n//m ; - s/^#[A-Z]*S[A-Z]*n // ; - s/^#[A-Z]*S[A-Z]* // ; - s/^#-[ABPUTKOM]+n // ; - s/^#-[ABPUTKOM]+ // ; - s/^#n // ; - s/^#.+\n//m ; - print OUTPUT -} -close OUTPUT; -close MAPS; - -open MAPS, "<$master" ; -open OUTPUT, ">$output-fdf2noalif-sindhi-voc.map"; -while (<MAPS>) { - s/^#0 // ; - s/^#1.+\n//m ; - s/^\@Sv // ; - s/^\@v // ; - s/^\@.+\n//m ; - s/^#[A-Z]*S[A-Z]*v // ; - s/^#[A-Z]*S[A-Z]* // ; - s/^#-[ABPUTKOM]+v // ; - s/^#-[ABPUTKOM]+ // ; - s/^#v // ; - s/^#.+\n//m ; - print OUTPUT -} -close OUTPUT; -close MAPS; - -open MAPS, "<$master" ; -open OUTPUT, ">$output-fdf2noalif-sindhi-fullvoc.map"; -while (<MAPS>) { - s/^#0 // ; - s/^#1.+\n//m ; - s/^\@Sf // ; - s/^\@.+\n//m ; - s/^#[A-Z]*S[A-Z]*[vf] // ; - s/^#[A-Z]*S[A-Z]* // ; - s/^#-[ABPUTKOM]+[vf] // ; - s/^#-[ABPUTKOM]+ // ; - s/^#[vf] // ; - s/^#.+\n//m ; - print OUTPUT -} -close OUTPUT; -close MAPS; - -###pashto - -open MAPS, "<$master" ; -open OUTPUT, ">$output-fdf2noalif-pashto-novoc.map"; -while (<MAPS>) { - s/^#0 // ; - s/^#1.+\n//m ; - s/^\@Tn // ; - s/^\@.+\n//m ; - s/^#[A-Z]*T[A-Z]*n // ; - s/^#[A-Z]*T[A-Z]* // ; - s/^#-[ABPUSKOM]+n // ; - s/^#-[ABPUSKOM]+ // ; - s/^#n // ; - s/^#.+\n//m ; - print OUTPUT -} -close OUTPUT; -close MAPS; - - -open MAPS, "<$master" ; -open OUTPUT, ">$output-fdf2noalif-pashto-voc.map"; -while (<MAPS>) { - s/^#0 // ; - s/^#1.+\n//m ; - s/^\@Tv // ; - s/^\@v // ; - s/^\@.+\n//m ; - s/^#[A-Z]*T[A-Z]*v // ; - s/^#[A-Z]*T[A-Z]* // ; - s/^#-[ABPUSKOM]+v // ; - s/^#-[ABPUSKOM]+ // ; - s/^#v // ; - s/^#.+\n//m ; - print OUTPUT -} -close OUTPUT; -close MAPS; - - -open MAPS, "<$master" ; -open OUTPUT, ">$output-fdf2noalif-pashto-fullvoc.map"; -while (<MAPS>) { - s/^#0 // ; - s/^#1.+\n//m ; - s/^\@Tf // ; - s/^\@.+\n//m ; - s/^#[A-Z]*T[A-Z]*[vf] // ; - s/^#[A-Z]*T[A-Z]* // ; - s/^#-[ABPUSKOM]+[vf] // ; - s/^#-[ABPUSKOM]+ // ; - s/^#[vf] // ; - s/^#.+\n//m ; - print OUTPUT -} -close OUTPUT; -close MAPS; - - -###turk - -open MAPS, "<$master" ; -open OUTPUT, ">$output-fdf2noalif-turk-novoc.map"; -while (<MAPS>) { - s/^#0 // ; - s/^#1.+\n//m ; - s/^\@On // ; - s/^\@.+\n//m ; - s/^#[A-Z]*O[A-Z]*n // ; - s/^#[A-Z]*O[A-Z]* // ; - s/^#-[ABPUSKTM]+n // ; - s/^#-[ABPUSKTM]+ // ; - s/^#n // ; - s/^#.+\n//m ; - print OUTPUT -} -close OUTPUT; -close MAPS; - - -open MAPS, "<$master" ; -open OUTPUT, ">$output-fdf2noalif-turk-voc.map"; -while (<MAPS>) { - s/^#0 // ; - s/^#1.+\n//m ; - s/^\@Ov // ; - s/^\@v // ; - s/^\@.+\n//m ; - s/^#[A-Z]*O[A-Z]*v // ; - s/^#[A-Z]*O[A-Z]* // ; - s/^#-[ABPUSKTM]+v // ; - s/^#-[ABPUSKTM]+ // ; - s/^#v // ; - s/^#.+\n//m ; - print OUTPUT -} -close OUTPUT; -close MAPS; - - -open MAPS, "<$master" ; -open OUTPUT, ">$output-fdf2noalif-turk-fullvoc.map"; -while (<MAPS>) { - s/^#0 // ; - s/^#1.+\n//m ; - s/^\@Of // ; - s/^\@.+\n//m ; - s/^#[A-Z]*O[A-Z]*[vf] // ; - s/^#[A-Z]*O[A-Z]* // ; - s/^#-[ABPUSKTM]+[vf] // ; - s/^#-[ABPUSKTM]+ // ; - s/^#[vf] // ; - s/^#.+\n//m ; - print OUTPUT -} -close OUTPUT; -close MAPS; - -###kashmiri - -open MAPS, "<$master" ; -open OUTPUT, ">$output-fdf2noalif-kashmiri-novoc.map"; -while (<MAPS>) { - s/^#0 // ; - s/^#1.+\n//m ; - s/^\@Kn // ; - s/^\@.+\n//m ; - s/^#[A-Z]*K[A-Z]*n // ; - s/^#[A-Z]*K[A-Z]* // ; - s/^#-[ABPUSOTM]+n // ; - s/^#-[ABPUSOTM]+ // ; - s/^#n // ; - s/^#.+\n//m ; - print OUTPUT -} -close OUTPUT; -close MAPS; - - -open MAPS, "<$master" ; -open OUTPUT, ">$output-fdf2noalif-kashmiri-voc.map"; -while (<MAPS>) { - s/^#0 // ; - s/^#1.+\n//m ; - s/^\@Kv // ; - s/^\@v // ; - s/^\@.+\n//m ; - s/^#[A-Z]*K[A-Z]*v // ; - s/^#[A-Z]*K[A-Z]* // ; - s/^#-[ABPUSOTM]+v // ; - s/^#-[ABPUSOTM]+ // ; - s/^#v // ; - s/^#.+\n//m ; - print OUTPUT -} -close OUTPUT; -close MAPS; - - -open MAPS, "<$master" ; -open OUTPUT, ">$output-fdf2noalif-kashmiri-fullvoc.map"; -while (<MAPS>) { - s/^#0 // ; - s/^#1.+\n//m ; - s/^\@Kf // ; - s/^\@.+\n//m ; - s/^#[A-Z]*K[A-Z]*[vf] // ; - s/^#[A-Z]*K[A-Z]* // ; - s/^#-[ABPUSOTM]+[vf] // ; - s/^#-[ABPUSOTM]+ // ; - s/^#[vf] // ; - s/^#.+\n//m ; - print OUTPUT -} -close OUTPUT; -close MAPS; - -###malay - -open MAPS, "<$master" ; -open OUTPUT, ">$output-fdf2noalif-malay-novoc.map"; -while (<MAPS>) { - s/^#0 // ; - s/^#1.+\n//m ; - s/^\@Mn // ; - s/^\@.+\n//m ; - s/^#[A-Z]*M[A-Z]*n // ; - s/^#[A-Z]*M[A-Z]* // ; - s/^#-[ABPUSKOT]+n // ; - s/^#-[ABPUSKOT]+ // ; - s/^#n // ; - s/^#.+\n//m ; - print OUTPUT -} -close OUTPUT; -close MAPS; - - -open MAPS, "<$master" ; -open OUTPUT, ">$output-fdf2noalif-malay-voc.map"; -while (<MAPS>) { - s/^#0 // ; - s/^#1.+\n//m ; - s/^\@Mv // ; - s/^\@v // ; - s/^\@.+\n//m ; - s/^#[A-Z]*M[A-Z]*v // ; - s/^#[A-Z]*M[A-Z]* // ; - s/^#-[ABPUSKOT]+v // ; - s/^#-[ABPUSKOT]+ // ; - s/^#v // ; - s/^#.+\n//m ; - print OUTPUT -} -close OUTPUT; -close MAPS; - - -open MAPS, "<$master" ; -open OUTPUT, ">$output-fdf2noalif-malay-fullvoc.map"; -while (<MAPS>) { - s/^#0 // ; - s/^#1.+\n//m ; - s/^\@Mf // ; - s/^\@.+\n//m ; - s/^#[A-Z]*M[A-Z]*[vf] // ; - s/^#[A-Z]*M[A-Z]* // ; - s/^#-[ABPUSKOT]+[vf] // ; - s/^#-[ABPUSKOT]+ // ; - s/^#[vf] // ; - s/^#.+\n//m ; - print OUTPUT -} -close OUTPUT; -close MAPS; - -# Now Kurdish and Uighur... - -open MAPS, "<arabtex-kurdish.maps" ; -open OUTPUT, ">$output-fdf2noalif-kurdish.map"; -while (<MAPS>) { - s/^#0 // ; - s/^#1.+\n//m ; - print OUTPUT -} -close OUTPUT; -close MAPS; - -open MAPS, "<arabtex-uighur.maps" ; -open OUTPUT, ">$output-fdf2noalif-uighur.map"; -while (<MAPS>) { - s/^#0 // ; - s/^#1.+\n//m ; - print OUTPUT -} -close OUTPUT; -close MAPS; - -open MAPS, "<arabtex-kurdish.maps" ; -open OUTPUT, ">$output-fdf2alif-kurdish.map"; -while (<MAPS>) { - s/^#1 // ; - s/^#0.+\n//m ; - print OUTPUT -} -close OUTPUT; -close MAPS; - -open MAPS, "<arabtex-uighur.maps" ; -open OUTPUT, ">$output-fdf2alif-uighur.map"; -while (<MAPS>) { - s/^#1 // ; - s/^#0.+\n//m ; - print OUTPUT -} -close OUTPUT; -close MAPS; - # Let's compile them now system("cp *.map mappings/"); system("for map in mappings/*.map; do echo \"compiling \$map ...\" && teckit_compile \$map; done"); |