summaryrefslogtreecommitdiff
path: root/language/arabic/dad
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
committerNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
commite0c6872cf40896c7be36b11dcc744620f10adf1d (patch)
tree60335e10d2f4354b0674ec22d7b53f0f8abee672 /language/arabic/dad
Initial commit
Diffstat (limited to 'language/arabic/dad')
-rw-r--r--language/arabic/dad/Dad-bold.afm276
-rw-r--r--language/arabic/dad/Dad-bold.pfbbin0 -> 53691 bytes
-rw-r--r--language/arabic/dad/Dad-mono.afm276
-rw-r--r--language/arabic/dad/Dad-mono.pfbbin0 -> 60474 bytes
-rw-r--r--language/arabic/dad/Dad.afm276
-rw-r--r--language/arabic/dad/Dad.pfbbin0 -> 47171 bytes
-rw-r--r--language/arabic/dad/OT1dad.fd33
-rw-r--r--language/arabic/dad/README134
-rw-r--r--language/arabic/dad/T1dad.fd33
-rwxr-xr-xlanguage/arabic/dad/dad-to-utf8.pl98
-rw-r--r--language/arabic/dad/dad-user-guide.bib231
-rw-r--r--language/arabic/dad/dad-user-guide.pdfbin0 -> 181672 bytes
-rw-r--r--language/arabic/dad/dad-user-guide.tex437
-rw-r--r--language/arabic/dad/dad.adjust492
-rw-r--r--language/arabic/dad/dad.map3
-rw-r--r--language/arabic/dad/dad.ofmbin0 -> 3383972 bytes
-rw-r--r--language/arabic/dad/dad.ovfbin0 -> 82732 bytes
-rw-r--r--language/arabic/dad/dad.sty31
-rw-r--r--language/arabic/dad/dadbold.adjust492
-rw-r--r--language/arabic/dad/dadbold.ofmbin0 -> 3384000 bytes
-rw-r--r--language/arabic/dad/dadbold.ovfbin0 -> 82940 bytes
-rw-r--r--language/arabic/dad/dadmono.adjust325
-rw-r--r--language/arabic/dad/dadmono.ofmbin0 -> 3321012 bytes
-rw-r--r--language/arabic/dad/dadmono.ovfbin0 -> 85640 bytes
-rw-r--r--language/arabic/dad/dadreal.tfmbin0 -> 1584 bytes
-rw-r--r--language/arabic/dad/dadrealbold.tfmbin0 -> 1608 bytes
-rw-r--r--language/arabic/dad/dadrealmono.tfmbin0 -> 1328 bytes
-rw-r--r--language/arabic/dad/make-dad-font.pl1171
-rwxr-xr-xlanguage/arabic/dad/utf8-to-dad.pl82
29 files changed, 4390 insertions, 0 deletions
diff --git a/language/arabic/dad/Dad-bold.afm b/language/arabic/dad/Dad-bold.afm
new file mode 100644
index 0000000000..58b26f3410
--- /dev/null
+++ b/language/arabic/dad/Dad-bold.afm
@@ -0,0 +1,276 @@
+StartFontMetrics 2.0
+Comment Panose 2 0 0 0 0 0 0 0 0 0
+FullName Dad Bold
+FontName Dad-Bold
+FamilyName Dad
+Weight Bold
+Version 1.000
+IsFixedPitch false
+ItalicAngle 0.00
+FontBBox -278 -546 1017 951
+Ascender 750
+Descender -250
+XHeight 500
+CapHeight 700
+UnderlinePosition -100
+UnderlineThickness 50
+EncodingScheme FontSpecific
+StartCharMetrics 256
+C 0 ; WX 248 ; N afii57415.fin ; B 86 0 270 513 ;
+C 1 ; WX 590 ; N afii57507.ini ; B 0 -241 591 292 ;
+C 2 ; WX 589 ; N afii57507.med ; B 0 -241 610 292 ;
+C 3 ; WX 518 ; N afii57507.fin ; B 2 -320 539 290 ;
+C 4 ; WX 800 ; N afii57430.ini ; B 0 0 800 513 ;
+C 5 ; WX 801 ; N afii57430.med ; B 0 0 822 513 ;
+C 6 ; WX 996 ; N afii57430.fin ; B 2 -180 1017 508 ;
+C 7 ; WX 590 ; N afii57421.ini ; B 0 0 591 292 ;
+C 8 ; WX 589 ; N afii57421.med ; B 0 0 610 292 ;
+C 9 ; WX 518 ; N afii57421.fin ; B 2 -320 539 290 ;
+C 10 ; WX 321 ; N afii57450.ini ; B 0 -184 321 309 ;
+C 11 ; WX 323 ; N afii57450.med ; B 0 -184 344 308 ;
+C 12 ; WX 526 ; N afii57449.fin ; B 7 -265 547 110 ;
+C 13 ; WX 800 ; N afii57429.ini ; B 0 0 800 303 ;
+C 14 ; WX 801 ; N afii57429.med ; B 0 0 822 303 ;
+C 15 ; WX 996 ; N afii57429.fin ; B 2 -180 1017 303 ;
+C 16 ; WX 529 ; N afii57431.ini ; B -1 0 530 510 ;
+C 17 ; WX 529 ; N afii57431.med ; B -1 0 551 510 ;
+C 18 ; WX 529 ; N afii57431.fin ; B -44 0 551 510 ;
+C 19 ; WX 426 ; N afii57448.fin ; B -29 -267 447 316 ;
+C 20 ; WX 529 ; N afii57432.ini ; B -1 0 530 510 ;
+C 21 ; WX 529 ; N afii57432.med ; B -1 0 551 510 ;
+C 22 ; WX 529 ; N afii57432.fin ; B -44 0 551 510 ;
+C 23 ; WX 443 ; N afii57433.ini ; B 0 0 441 353 ;
+C 24 ; WX 425 ; N afii57433.med ; B 0 0 447 331 ;
+C 25 ; WX 425 ; N afii57433.fin ; B 9 -329 446 311 ;
+C 26 ; WX 321 ; N afii57416.ini ; B 0 -192 321 309 ;
+C 27 ; WX 323 ; N afii57416.med ; B 0 -192 344 308 ;
+C 28 ; WX 589 ; N afii57416.fin ; B 13 -201 610 275 ;
+C 29 ; WX 345 ; N afii57423.fin ; B 54 -35 367 344 ;
+C 30 ; WX 325 ; N uni06C0.fin ; B 2 0 347 554 ;
+C 31 ; WX 320 ; N afii57441.ini ; B 0 0 320 530 ;
+C 32 ; WX 262 ; N space ; B 0 0 0 0 ;
+C 33 ; WX 244 ; N exclam ; B 91 0 163 441 ;
+C 34 ; WX 1 ; N _0034 ; B 0 0 0 0 ;
+C 35 ; WX 1 ; N _0035 ; B 0 0 0 0 ;
+C 36 ; WX 1 ; N _0036 ; B 0 0 0 0 ;
+C 37 ; WX 546 ; N percent ; B 56 -11 494 562 ;
+C 38 ; WX 1 ; N uni200D.fin ; B 0 0 0 0 ;
+C 39 ; WX 1 ; N _0039 ; B 0 0 0 0 ;
+C 40 ; WX 293 ; N parenleft ; B 39 -341 248 556 ;
+C 41 ; WX 293 ; N parenright ; B 43 -341 254 556 ;
+C 42 ; WX 433 ; N asterisk ; B 72 -109 385 240 ;
+C 43 ; WX 0 ; N afii57457 ; B 12 569 186 736 ;
+C 44 ; WX 212 ; N afii57388 ; B 48 -40 167 162 ;
+C 45 ; WX 1 ; N uni200D.iso ; B 0 0 0 0 ;
+C 46 ; WX 205 ; N period ; B 29 -2 115 82 ;
+C 47 ; WX 439 ; N slash ; B -7 -192 458 541 ;
+C 48 ; WX 424 ; N afii57392 ; B 133 97 287 322 ;
+C 49 ; WX 424 ; N afii57393 ; B 124 -45 301 502 ;
+C 50 ; WX 424 ; N afii57394 ; B 67 -50 364 489 ;
+C 51 ; WX 424 ; N afii57395 ; B 4 -58 420 485 ;
+C 52 ; WX 424 ; N afii57396 ; B 16 -50 399 503 ;
+C 53 ; WX 424 ; N afii57397 ; B 59 -26 391 478 ;
+C 54 ; WX 424 ; N afii57398 ; B 44 -6 371 481 ;
+C 55 ; WX 424 ; N afii57399 ; B 14 -21 411 502 ;
+C 56 ; WX 424 ; N afii57400 ; B 17 -39 414 484 ;
+C 57 ; WX 424 ; N afii57401 ; B 58 -52 376 509 ;
+C 58 ; WX 244 ; N colon ; B 92 -1 161 299 ;
+C 59 ; WX 228 ; N afii57403 ; B 48 35 197 465 ;
+C 60 ; WX 285 ; N less ; B 28 -9 269 398 ;
+C 61 ; WX 439 ; N equal ; B 19 91 425 301 ;
+C 62 ; WX 285 ; N greater ; B 15 -9 257 398 ;
+C 63 ; WX 275 ; N afii57407 ; B 12 26 256 457 ;
+C 64 ; WX 1 ; N _0064 ; B 0 0 0 0 ;
+C 65 ; WX 228 ; N afii57415.iso ; B 108 -35 182 513 ;
+C 66 ; WX 293 ; N guillemotleft ; B 110 -13 315 270 ;
+C 67 ; WX 537 ; N afii57507.iso ; B 13 -326 524 291 ;
+C 68 ; WX 992 ; N afii57430.iso ; B 2 -180 992 506 ;
+C 69 ; WX 293 ; N guillemotright ; B -1 -13 203 270 ;
+C 70 ; WX 165 ; N afii57444.ini2 ; B -158 -100 184 517 ;
+C 71 ; WX 247 ; N afii57444.ini3 ; B -278 -64 269 506 ;
+C 72 ; WX 537 ; N afii57421.iso ; B 13 -326 524 291 ;
+C 73 ; WX 574 ; N afii57449.iso ; B 2 -174 567 336 ;
+C 74 ; WX 338 ; N afii57508.iso ; B -31 -217 337 528 ;
+C 75 ; WX 170 ; N afii57440.iso ; B -26 0 197 110 ;
+C 76 ; WX 145 ; N afii57444.ini4 ; B -19 -8 123 398 ;
+C 77 ; WX 145 ; N afii57444.med2 ; B -19 -8 173 398 ;
+C 78 ; WX 1 ; N _0078 ; B 0 0 0 0 ;
+C 79 ; WX 170 ; N afii57440.ini ; B -26 0 197 110 ;
+C 80 ; WX 170 ; N afii57440.med ; B -26 0 197 110 ;
+C 81 ; WX 170 ; N afii57440.fin ; B -26 0 197 110 ;
+C 82 ; WX 467 ; N afii57434.iso ; B 4 -291 465 521 ;
+C 83 ; WX 992 ; N afii57429.iso ; B 2 -180 992 303 ;
+C 84 ; WX 531 ; N afii57431.iso ; B -44 0 530 510 ;
+C 85 ; WX 425 ; N afii57448.iso ; B -29 -233 425 351 ;
+C 86 ; WX 1 ; N _0086 ; B 0 0 0 0 ;
+C 87 ; WX 1 ; N _0087 ; B 0 0 0 0 ;
+C 88 ; WX 1 ; N _0088 ; B 0 0 0 0 ;
+C 89 ; WX 574 ; N afii57450.iso ; B 2 -323 567 336 ;
+C 90 ; WX 531 ; N afii57432.iso ; B -44 0 530 510 ;
+C 91 ; WX 293 ; N bracketleft ; B 50 -275 241 591 ;
+C 92 ; WX 439 ; N backslash ; B -7 -192 458 541 ;
+C 93 ; WX 293 ; N bracketright ; B 49 -275 240 591 ;
+C 94 ; WX 1 ; N _0094 ; B 0 0 0 0 ;
+C 95 ; WX 1 ; N _0095 ; B 0 0 0 0 ;
+C 96 ; WX 467 ; N afii57433.iso ; B 4 -289 465 356 ;
+C 97 ; WX 0 ; N afii57454 ; B 36 596 185 716 ;
+C 98 ; WX 593 ; N afii57416.iso ; B 13 -200 586 275 ;
+C 99 ; WX 593 ; N afii57419.iso ; B 13 -43 586 481 ;
+C 100 ; WX 343 ; N afii57423.iso ; B 54 -35 341 344 ;
+C 101 ; WX 359 ; N uni06C0.iso ; B 18 -29 340 534 ;
+C 102 ; WX 679 ; N afii57441.iso ; B 12 -17 670 530 ;
+C 103 ; WX 557 ; N afii57509.iso ; B 7 -2 555 495 ;
+C 104 ; WX 359 ; N afii57470.iso ; B 18 -29 340 311 ;
+C 105 ; WX 0 ; N afii57456 ; B -39 -462 125 -322 ;
+C 106 ; WX 537 ; N afii57420.iso ; B 13 -326 524 291 ;
+C 107 ; WX 476 ; N afii57443.iso ; B 6 -18 473 517 ;
+C 108 ; WX 427 ; N afii57444.iso ; B 9 -180 432 513 ;
+C 109 ; WX 345 ; N afii57445.iso ; B 4 -329 343 288 ;
+C 110 ; WX 448 ; N afii57446.iso ; B 2 -180 443 451 ;
+C 111 ; WX 0 ; N afii57458 ; B 39 569 184 741 ;
+C 112 ; WX 593 ; N afii57506.iso ; B 13 -283 586 275 ;
+C 113 ; WX 526 ; N afii57442.iso ; B 15 -268 521 517 ;
+C 114 ; WX 338 ; N afii57425.iso ; B -31 -217 337 252 ;
+C 115 ; WX 825 ; N afii57427.iso ; B 2 -180 823 268 ;
+C 116 ; WX 593 ; N afii57418.iso ; B 13 -43 586 390 ;
+C 117 ; WX 0 ; N afii57455 ; B 6 570 185 793 ;
+C 118 ; WX 679 ; N afii57505.iso ; B 12 -17 670 586 ;
+C 119 ; WX 1 ; N _0119 ; B 0 0 0 0 ;
+C 120 ; WX 537 ; N afii57422.iso ; B 13 -326 524 483 ;
+C 121 ; WX 1 ; N _0121 ; B 0 0 0 0 ;
+C 122 ; WX 338 ; N afii57426.iso ; B -31 -217 337 472 ;
+C 123 ; WX 293 ; N braceleft ; B 63 -252 256 591 ;
+C 124 ; WX 338 ; N afii57409.iso ; B 23 -23 328 309 ;
+C 125 ; WX 293 ; N braceright ; B 36 -252 227 591 ;
+C 126 ; WX 1 ; N _0126 ; B 0 0 0 0 ;
+C 127 ; WX 1 ; N _0127 ; B 0 0 0 0 ;
+C 128 ; WX 510 ; N _0128 ; B 8 -104 510 569 ;
+C 129 ; WX 1 ; N _0129 ; B 0 0 0 0 ;
+C 130 ; WX 1 ; N _0130 ; B 0 0 0 0 ;
+C 131 ; WX 228 ; N uni0671.iso ; B -29 -39 262 573 ;
+C 132 ; WX 359 ; N afii57417.iso ; B 18 -29 340 470 ;
+C 133 ; WX 343 ; N afii57424.iso ; B 54 -35 341 523 ;
+C 134 ; WX 345 ; N afii57424.fin ; B 54 -35 367 523 ;
+C 135 ; WX 458 ; N afii57519.fin ; B 94 -186 489 148 ;
+C 136 ; WX 593 ; N uni06D2.iso ; B 13 -43 586 275 ;
+C 137 ; WX 825 ; N afii57428.iso ; B 2 -180 823 523 ;
+C 138 ; WX 0 ; N afii57457_uni0653 ; B -46 569 197 888 ;
+C 139 ; WX 448 ; N afii57514.iso ; B 2 -180 443 259 ;
+C 140 ; WX 679 ; N uni06A1.iso ; B 12 -17 670 381 ;
+C 141 ; WX 526 ; N uni066F.iso ; B 15 -268 521 310 ;
+C 142 ; WX 0 ; N uni0670 ; B 22 550 85 773 ;
+C 143 ; WX 246 ; N afii57415.fin2 ; B 17 -86 325 393 ;
+C 144 ; WX 246 ; N afii57411.fin2 ; B 1 -86 325 563 ;
+C 145 ; WX 246 ; N afii57413.fin2 ; B 1 -295 325 393 ;
+C 146 ; WX 246 ; N afii57410.fin2 ; B 3 -86 325 519 ;
+C 147 ; WX 283 ; N afii57470.fin2 ; B 27 -10 311 310 ;
+C 148 ; WX 183 ; N afii57444_afii57457_uni0670.med ; B -28 -14 201 547 ;
+C 149 ; WX 1 ; N _0149 ; B 0 0 0 0 ;
+C 150 ; WX 0 ; N afii57457_afii57454 ; B 12 569 186 826 ;
+C 151 ; WX 0 ; N afii57457_afii57456 ; B 12 551 186 840 ;
+C 152 ; WX 0 ; N afii57457_afii57455 ; B -11 560 186 915 ;
+C 153 ; WX 0 ; N afii57451 ; B 21 570 185 795 ;
+C 154 ; WX 0 ; N afii57453 ; B -40 -546 124 -322 ;
+C 155 ; WX 0 ; N afii57452 ; B -1 570 187 790 ;
+C 156 ; WX 0 ; N afii57457_afii57451 ; B 8 564 190 928 ;
+C 157 ; WX 0 ; N afii57457_afii57453 ; B 12 570 186 917 ;
+C 158 ; WX 0 ; N afii57457_afii57452 ; B 3 556 190 942 ;
+C 159 ; WX 1 ; N uni0653 ; B 14 550 258 730 ;
+C 160 ; WX 324 ; N afii57441.med ; B 0 0 346 530 ;
+C 161 ; WX 670 ; N afii57441.fin ; B 12 -17 691 530 ;
+C 162 ; WX 366 ; N afii57509.ini ; B 0 0 366 501 ;
+C 163 ; WX 369 ; N afii57509.med ; B 0 0 386 502 ;
+C 164 ; WX 559 ; N afii57509.fin ; B 7 -2 581 504 ;
+C 165 ; WX 494 ; N afii57470.ini ; B 0 -30 488 415 ;
+C 166 ; WX 416 ; N afii57470.med ; B 0 -226 437 359 ;
+C 167 ; WX 325 ; N afii57470.fin ; B 9 0 347 420 ;
+C 168 ; WX 590 ; N afii57420.ini ; B 0 -192 591 292 ;
+C 169 ; WX 589 ; N afii57420.med ; B 0 -192 610 292 ;
+C 170 ; WX 518 ; N afii57420.fin ; B 2 -320 539 290 ;
+C 171 ; WX 366 ; N afii57443.ini ; B 0 0 366 458 ;
+C 172 ; WX 369 ; N afii57443.med ; B 0 0 386 458 ;
+C 173 ; WX 457 ; N afii57443.fin ; B 5 -14 478 513 ;
+C 174 ; WX 256 ; N afii57444.ini ; B 0 0 267 513 ;
+C 175 ; WX 254 ; N afii57444.med ; B -5 0 276 513 ;
+C 176 ; WX 416 ; N afii57444.fin ; B 9 -180 437 517 ;
+C 177 ; WX 408 ; N afii57445.ini ; B 0 -1 403 301 ;
+C 178 ; WX 406 ; N afii57445.med ; B 0 -1 427 301 ;
+C 179 ; WX 344 ; N afii57445.fin ; B 4 -329 366 288 ;
+C 180 ; WX 321 ; N afii57446.ini ; B 0 0 321 509 ;
+C 181 ; WX 323 ; N afii57446.med ; B 0 0 344 509 ;
+C 182 ; WX 446 ; N afii57446.fin ; B 2 -180 468 451 ;
+C 183 ; WX 321 ; N afii57506.ini ; B 0 -241 321 309 ;
+C 184 ; WX 323 ; N afii57506.med ; B 0 -241 344 308 ;
+C 185 ; WX 589 ; N afii57506.fin ; B 13 -284 610 275 ;
+C 186 ; WX 320 ; N afii57442.ini ; B 0 0 320 512 ;
+C 187 ; WX 324 ; N afii57442.med ; B 0 0 346 519 ;
+C 188 ; WX 528 ; N afii57442.fin ; B 15 -268 549 517 ;
+C 189 ; WX 339 ; N afii57425.fin ; B -31 -217 361 218 ;
+C 190 ; WX 642 ; N afii57427.ini ; B 0 -5 643 268 ;
+C 191 ; WX 642 ; N afii57427.med ; B 0 -4 664 268 ;
+C 192 ; WX 823 ; N afii57427.fin ; B 2 -180 844 268 ;
+C 193 ; WX 321 ; N afii57418.ini ; B 0 0 321 479 ;
+C 194 ; WX 228 ; N afii57410.iso ; B 3 -39 236 519 ;
+C 195 ; WX 589 ; N afii57418.fin ; B 13 -44 610 390 ;
+C 196 ; WX 320 ; N afii57505.ini ; B 0 0 320 586 ;
+C 197 ; WX 324 ; N afii57505.med ; B 0 0 346 587 ;
+C 198 ; WX 670 ; N afii57505.fin ; B 12 -17 691 586 ;
+C 199 ; WX 590 ; N afii57422.ini ; B 0 0 591 484 ;
+C 200 ; WX 589 ; N afii57422.med ; B 0 0 610 484 ;
+C 201 ; WX 518 ; N afii57422.fin ; B 2 -320 539 482 ;
+C 202 ; WX 526 ; N afii57450.fin ; B 7 -414 547 110 ;
+C 203 ; WX 339 ; N afii57426.fin ; B -31 -217 361 472 ;
+C 204 ; WX 248 ; N afii57411.fin ; B 1 0 271 521 ;
+C 205 ; WX 248 ; N afii57413.fin ; B 25 -184 270 513 ;
+C 206 ; WX 426 ; N afii57412.fin ; B -29 -267 447 522 ;
+C 207 ; WX 321 ; N afii57414.ini ; B 0 0 321 521 ;
+C 208 ; WX 323 ; N afii57414.med ; B 0 0 344 521 ;
+C 209 ; WX 526 ; N afii57414.fin ; B 6 -265 547 343 ;
+C 210 ; WX 325 ; N afii57417.fin ; B -6 0 347 527 ;
+C 211 ; WX 321 ; N afii57419.ini ; B 0 0 321 511 ;
+C 212 ; WX 323 ; N afii57419.med ; B 0 0 344 515 ;
+C 213 ; WX 589 ; N afii57419.fin ; B 13 -44 610 481 ;
+C 214 ; WX 443 ; N afii57434.ini ; B 0 0 441 525 ;
+C 215 ; WX 425 ; N afii57434.med ; B 0 0 447 523 ;
+C 216 ; WX 425 ; N afii57434.fin ; B 9 -329 446 502 ;
+C 217 ; WX 339 ; N afii57508.fin ; B -31 -217 361 528 ;
+C 218 ; WX 642 ; N afii57428.ini ; B 0 -5 643 525 ;
+C 219 ; WX 642 ; N afii57428.med ; B 0 -4 664 525 ;
+C 220 ; WX 823 ; N afii57428.fin ; B 2 -180 844 526 ;
+C 221 ; WX 248 ; N afii57410.fin ; B 3 0 271 519 ;
+C 222 ; WX 321 ; N uni066E.ini ; B 0 0 321 309 ;
+C 223 ; WX 323 ; N uni066E.med ; B 0 0 344 308 ;
+C 224 ; WX 446 ; N afii57514.fin ; B 2 -180 468 259 ;
+C 225 ; WX 589 ; N uni066E.fin ; B 13 -44 610 275 ;
+C 226 ; WX 320 ; N uni06A1.ini ; B 0 0 320 381 ;
+C 227 ; WX 324 ; N uni06A1.med ; B 0 0 346 381 ;
+C 228 ; WX 228 ; N afii57411.iso ; B 54 -39 194 521 ;
+C 229 ; WX 528 ; N uni066F.fin ; B 15 -268 549 310 ;
+C 230 ; WX 301 ; N afii57415.fin3 ; B 87 -9 290 362 ;
+C 231 ; WX 301 ; N afii57411.fin3 ; B 1 -9 290 535 ;
+C 232 ; WX 301 ; N afii57413.fin3 ; B 1 -284 290 362 ;
+C 233 ; WX 301 ; N afii57410.fin3 ; B 28 -9 290 519 ;
+C 234 ; WX 0 ; N afii57457_ ; B 12 556 186 951 ;
+C 235 ; WX 323 ; N afii57418.med ; B 0 0 344 482 ;
+C 236 ; WX 321 ; N afii57514.ini ; B 0 0 321 309 ;
+C 237 ; WX 323 ; N afii57514.med ; B 0 0 344 308 ;
+C 238 ; WX 320 ; N uni066F.ini ; B 0 0 320 381 ;
+C 239 ; WX 228 ; N afii57413.iso ; B 83 -149 224 547 ;
+C 240 ; WX 248 ; N uni0671.fin ; B -29 0 271 573 ;
+C 241 ; WX 246 ; N uni0671.fin2 ; B -39 -86 325 568 ;
+C 242 ; WX 301 ; N uni0671.fin3 ; B -39 -9 290 568 ;
+C 243 ; WX 670 ; N uni06A1.fin ; B 12 -17 691 381 ;
+C 244 ; WX 321 ; N afii57417.ini ; B 0 0 321 479 ;
+C 245 ; WX 323 ; N afii57417.med ; B 0 0 344 482 ;
+C 246 ; WX 324 ; N uni066F.med ; B 0 0 346 381 ;
+C 247 ; WX 672 ; N afii57444_afii57444.iso ; B 9 -180 683 517 ;
+C 248 ; WX 509 ; N afii57444_afii57444.ini ; B -5 0 520 513 ;
+C 249 ; WX 503 ; N afii57444_afii57444.ini2 ; B -278 -64 514 513 ;
+C 250 ; WX 611 ; N afii57444_afii57444_afii57457_uni0670_afii57470.iso ; B 27 -14 589 547 ;
+C 251 ; WX 577 ; N _0251 ; B 14 9 560 541 ;
+C 252 ; WX 425 ; N afii57412.iso ; B -29 -233 425 522 ;
+C 253 ; WX 742 ; N _0253 ; B 56 -11 691 562 ;
+C 254 ; WX 936 ; N _0254 ; B 56 -11 887 562 ;
+C 255 ; WX 574 ; N afii57414.iso ; B 2 -174 567 478 ;
+EndCharMetrics
+EndFontMetrics
diff --git a/language/arabic/dad/Dad-bold.pfb b/language/arabic/dad/Dad-bold.pfb
new file mode 100644
index 0000000000..552566d43c
--- /dev/null
+++ b/language/arabic/dad/Dad-bold.pfb
Binary files differ
diff --git a/language/arabic/dad/Dad-mono.afm b/language/arabic/dad/Dad-mono.afm
new file mode 100644
index 0000000000..c9f049afbf
--- /dev/null
+++ b/language/arabic/dad/Dad-mono.afm
@@ -0,0 +1,276 @@
+StartFontMetrics 2.0
+Comment Panose 2 0 0 0 0 0 0 0 0 0
+FullName Dad Mono
+FontName Dad-Mono
+FamilyName Dad
+Weight Normal
+Version 1.000
+IsFixedPitch false
+ItalicAngle 0.00
+FontBBox -266 -391 1039 1230
+Ascender 750
+Descender -250
+XHeight 500
+CapHeight 700
+UnderlinePosition -100
+UnderlineThickness 50
+EncodingScheme FontSpecific
+StartCharMetrics 256
+C 0 ; WX 525 ; N afii57415.fin ; B 196 0 525 646 ;
+C 1 ; WX 525 ; N afii57507.ini ; B 0 -288 525 379 ;
+C 2 ; WX 525 ; N afii57507.med ; B 0 -291 525 382 ;
+C 3 ; WX 525 ; N afii57507.fin ; B 70 -308 526 383 ;
+C 4 ; WX 525 ; N afii57430.ini ; B 0 0 506 580 ;
+C 5 ; WX 525 ; N afii57430.med ; B 0 0 525 580 ;
+C 6 ; WX 525 ; N afii57430.fin ; B 1 -193 525 588 ;
+C 7 ; WX 525 ; N afii57421.ini ; B 0 0 525 379 ;
+C 8 ; WX 525 ; N afii57421.med ; B 0 0 525 382 ;
+C 9 ; WX 525 ; N afii57421.fin ; B 68 -308 524 383 ;
+C 10 ; WX 525 ; N afii57450.ini ; B 0 -294 503 422 ;
+C 11 ; WX 525 ; N afii57450.med ; B 0 -302 525 427 ;
+C 12 ; WX 525 ; N afii57449.fin ; B 26 -286 525 113 ;
+C 13 ; WX 525 ; N afii57429.ini ; B 0 0 506 362 ;
+C 14 ; WX 525 ; N afii57429.med ; B 0 0 525 362 ;
+C 15 ; WX 525 ; N afii57429.fin ; B 1 -193 525 364 ;
+C 16 ; WX 525 ; N afii57431.ini ; B 0 0 505 644 ;
+C 17 ; WX 525 ; N afii57431.med ; B 0 0 525 644 ;
+C 18 ; WX 525 ; N afii57431.fin ; B 0 0 525 644 ;
+C 19 ; WX 525 ; N afii57448.fin ; B 87 -200 525 345 ;
+C 20 ; WX 525 ; N afii57432.ini ; B 0 0 505 644 ;
+C 21 ; WX 525 ; N afii57432.med ; B 0 0 525 644 ;
+C 22 ; WX 525 ; N afii57432.fin ; B 0 0 525 644 ;
+C 23 ; WX 525 ; N afii57433.ini ; B 0 0 424 385 ;
+C 24 ; WX 525 ; N afii57433.med ; B 0 0 525 365 ;
+C 25 ; WX 525 ; N afii57433.fin ; B 94 -308 525 365 ;
+C 26 ; WX 525 ; N afii57416.ini ; B 0 -230 498 422 ;
+C 27 ; WX 525 ; N afii57416.med ; B 0 -268 525 427 ;
+C 28 ; WX 525 ; N afii57416.fin ; B 0 -267 525 407 ;
+C 29 ; WX 525 ; N afii57423.fin ; B 125 0 525 519 ;
+C 30 ; WX 525 ; N uni06C0.fin ; B 135 0 525 799 ;
+C 31 ; WX 525 ; N afii57441.ini ; B 0 0 518 678 ;
+C 32 ; WX 525 ; N space ; B 0 0 0 0 ;
+C 33 ; WX 525 ; N exclam ; B 212 0 312 622 ;
+C 34 ; WX 525 ; N _0034 ; B 126 328 398 622 ;
+C 35 ; WX 525 ; N _0035 ; B 35 0 489 611 ;
+C 36 ; WX 525 ; N _0036 ; B 58 -83 466 694 ;
+C 37 ; WX 525 ; N percent ; B 50 -83 475 694 ;
+C 38 ; WX 0 ; N uni200D.fin ; B 0 0 0 0 ;
+C 39 ; WX 0 ; N _0039 ; B 0 0 0 0 ;
+C 40 ; WX 525 ; N parenleft ; B 88 -82 352 694 ;
+C 41 ; WX 525 ; N parenright ; B 173 -82 437 694 ;
+C 42 ; WX 525 ; N asterisk ; B 68 90 456 521 ;
+C 43 ; WX 0 ; N afii57457 ; B 0 817 0 1002 ;
+C 44 ; WX 525 ; N afii57388 ; B 180 0 346 264 ;
+C 45 ; WX 0 ; N uni200D.iso ; B 0 0 0 0 ;
+C 46 ; WX 525 ; N period ; B 200 0 325 125 ;
+C 47 ; WX 525 ; N slash ; B 58 -83 466 694 ;
+C 48 ; WX 525 ; N afii57392 ; B 178 179 347 471 ;
+C 49 ; WX 525 ; N afii57393 ; B 140 0 343 654 ;
+C 50 ; WX 525 ; N afii57394 ; B 116 -8 386 666 ;
+C 51 ; WX 525 ; N afii57395 ; B 88 -4 446 665 ;
+C 52 ; WX 525 ; N afii57396 ; B 140 -2 405 648 ;
+C 53 ; WX 525 ; N afii57397 ; B 122 30 398 443 ;
+C 54 ; WX 525 ; N afii57398 ; B 101 2 389 679 ;
+C 55 ; WX 525 ; N afii57399 ; B 90 0 436 683 ;
+C 56 ; WX 525 ; N afii57400 ; B 90 -10 436 672 ;
+C 57 ; WX 525 ; N afii57401 ; B 100 -41 393 607 ;
+C 58 ; WX 525 ; N colon ; B 200 0 325 431 ;
+C 59 ; WX 525 ; N afii57403 ; B 180 0 330 570 ;
+C 60 ; WX 525 ; N less ; B 56 56 468 556 ;
+C 61 ; WX 525 ; N equal ; B 38 195 486 417 ;
+C 62 ; WX 525 ; N greater ; B 56 56 468 556 ;
+C 63 ; WX 525 ; N afii57407 ; B 62 0 462 617 ;
+C 64 ; WX 525 ; N _0064 ; B 44 -6 480 617 ;
+C 65 ; WX 525 ; N afii57415.iso ; B 205 -21 297 650 ;
+C 66 ; WX 525 ; N guillemotleft ; B 45 24 500 425 ;
+C 67 ; WX 525 ; N afii57507.iso ; B 94 -308 525 320 ;
+C 68 ; WX 525 ; N afii57430.iso ; B 1 -193 500 588 ;
+C 69 ; WX 525 ; N guillemotright ; B 31 18 486 419 ;
+C 70 ; WX 218 ; N afii57444.ini2 ; B -129 0 125 656 ;
+C 71 ; WX 189 ; N afii57444.ini3 ; B -266 -43 189 695 ;
+C 72 ; WX 525 ; N afii57421.iso ; B 94 -308 525 320 ;
+C 73 ; WX 525 ; N afii57449.iso ; B 24 -122 452 385 ;
+C 74 ; WX 525 ; N afii57508.iso ; B 58 -210 465 768 ;
+C 75 ; WX 525 ; N afii57440.iso ; B 0 0 525 113 ;
+C 76 ; WX 84 ; N afii57444.ini4 ; B -29 0 84 571 ;
+C 77 ; WX 84 ; N afii57444.med2 ; B -29 0 84 571 ;
+C 78 ; WX 0 ; N _0078 ; B 0 0 0 0 ;
+C 79 ; WX 525 ; N afii57440.ini ; B -10 0 535 113 ;
+C 80 ; WX 525 ; N afii57440.med ; B 0 0 525 113 ;
+C 81 ; WX 525 ; N afii57440.fin ; B 0 0 525 113 ;
+C 82 ; WX 525 ; N afii57434.iso ; B 74 -308 521 656 ;
+C 83 ; WX 525 ; N afii57429.iso ; B 1 -193 500 364 ;
+C 84 ; WX 525 ; N afii57431.iso ; B 0 0 505 644 ;
+C 85 ; WX 525 ; N afii57448.iso ; B 85 -200 442 338 ;
+C 86 ; WX 0 ; N _0086 ; B 0 0 0 0 ;
+C 87 ; WX 0 ; N _0087 ; B 0 0 0 0 ;
+C 88 ; WX 0 ; N _0088 ; B 0 0 0 0 ;
+C 89 ; WX 525 ; N afii57450.iso ; B 24 -304 452 385 ;
+C 90 ; WX 525 ; N afii57432.iso ; B 0 0 505 644 ;
+C 91 ; WX 525 ; N bracketleft ; B 41 -83 302 694 ;
+C 92 ; WX 525 ; N backslash ; B 58 -83 466 694 ;
+C 93 ; WX 525 ; N bracketright ; B 222 -83 483 694 ;
+C 94 ; WX 525 ; N _0094 ; B 100 471 424 611 ;
+C 95 ; WX 525 ; N _0095 ; B 56 -95 468 -25 ;
+C 96 ; WX 525 ; N afii57433.iso ; B 74 -308 521 380 ;
+C 97 ; WX 0 ; N afii57454 ; B 199 790 325 893 ;
+C 98 ; WX 525 ; N afii57416.iso ; B 4 -267 485 425 ;
+C 99 ; WX 525 ; N afii57419.iso ; B 4 0 485 740 ;
+C 100 ; WX 525 ; N afii57423.iso ; B 159 -5 454 462 ;
+C 101 ; WX 525 ; N uni06C0.iso ; B 197 0 415 799 ;
+C 102 ; WX 525 ; N afii57441.iso ; B 2 0 520 678 ;
+C 103 ; WX 525 ; N afii57509.iso ; B 1 -8 525 675 ;
+C 104 ; WX 525 ; N afii57470.iso ; B 197 0 415 397 ;
+C 105 ; WX 0 ; N afii57456 ; B 199 -302 325 -200 ;
+C 106 ; WX 525 ; N afii57420.iso ; B 94 -308 525 320 ;
+C 107 ; WX 525 ; N afii57443.iso ; B 3 -18 490 651 ;
+C 108 ; WX 525 ; N afii57444.iso ; B 59 -98 480 652 ;
+C 109 ; WX 525 ; N afii57445.iso ; B 148 -308 525 351 ;
+C 110 ; WX 525 ; N afii57446.iso ; B 54 -198 479 556 ;
+C 111 ; WX 0 ; N afii57458 ; B 200 811 325 977 ;
+C 112 ; WX 525 ; N afii57506.iso ; B 4 -308 485 425 ;
+C 113 ; WX 525 ; N afii57442.iso ; B 46 -193 512 614 ;
+C 114 ; WX 525 ; N afii57425.iso ; B 58 -210 448 404 ;
+C 115 ; WX 525 ; N afii57427.iso ; B 0 -187 512 408 ;
+C 116 ; WX 525 ; N afii57418.iso ; B 4 0 485 542 ;
+C 117 ; WX 0 ; N afii57455 ; B 166 793 333 1025 ;
+C 118 ; WX 525 ; N afii57505.iso ; B 2 0 521 812 ;
+C 119 ; WX 0 ; N _0119 ; B 0 0 0 0 ;
+C 120 ; WX 525 ; N afii57422.iso ; B 94 -308 525 622 ;
+C 121 ; WX 0 ; N _0121 ; B 0 0 0 0 ;
+C 122 ; WX 525 ; N afii57426.iso ; B 58 -210 448 650 ;
+C 123 ; WX 525 ; N braceleft ; B 57 -83 467 694 ;
+C 124 ; WX 525 ; N afii57409.iso ; B 191 79 409 392 ;
+C 125 ; WX 525 ; N braceright ; B 57 -83 467 694 ;
+C 126 ; WX 525 ; N _0126 ; B 44 -132 480 240 ;
+C 127 ; WX 0 ; N _0127 ; B 0 0 0 0 ;
+C 128 ; WX 525 ; N _0128 ; B 8 -104 525 569 ;
+C 129 ; WX 0 ; N _0129 ; B 0 0 0 0 ;
+C 130 ; WX 0 ; N _0130 ; B 0 0 0 0 ;
+C 131 ; WX 525 ; N uni0671.iso ; B 155 -21 345 838 ;
+C 132 ; WX 525 ; N afii57417.iso ; B 157 0 415 616 ;
+C 133 ; WX 525 ; N afii57424.iso ; B 159 -5 454 698 ;
+C 134 ; WX 525 ; N afii57424.fin ; B 125 0 525 701 ;
+C 135 ; WX 525 ; N afii57519.fin ; B 38 -205 524 254 ;
+C 136 ; WX 525 ; N uni06D2.iso ; B 4 0 485 425 ;
+C 137 ; WX 525 ; N afii57428.iso ; B 0 -187 512 704 ;
+C 138 ; WX 0 ; N afii57457_uni0653 ; B 104 797 388 1120 ;
+C 139 ; WX 525 ; N afii57514.iso ; B 4 0 485 425 ;
+C 140 ; WX 525 ; N uni06A1.iso ; B 2 0 520 456 ;
+C 141 ; WX 525 ; N uni066F.iso ; B 46 -193 512 371 ;
+C 142 ; WX 0 ; N uni0670 ; B 241 788 283 1126 ;
+C 143 ; WX 307 ; N afii57415.fin2 ; B 46 0 398 559 ;
+C 144 ; WX 307 ; N afii57411.fin2 ; B 46 0 398 816 ;
+C 145 ; WX 307 ; N afii57413.fin2 ; B 46 -278 398 559 ;
+C 146 ; WX 307 ; N afii57410.fin2 ; B 26 0 398 744 ;
+C 147 ; WX 291 ; N afii57470.fin2 ; B 0 0 322 483 ;
+C 148 ; WX 150 ; N afii57444_afii57457_uni0670.med ; B -109 0 152 983 ;
+C 149 ; WX 0 ; N _0149 ; B 0 0 0 0 ;
+C 150 ; WX 0 ; N afii57457_afii57454 ; B 171 797 346 1078 ;
+C 151 ; WX 0 ; N afii57457_afii57456 ; B 171 792 346 1079 ;
+C 152 ; WX 0 ; N afii57457_afii57455 ; B 151 797 346 1188 ;
+C 153 ; WX 0 ; N afii57451 ; B 199 790 325 981 ;
+C 154 ; WX 0 ; N afii57453 ; B 199 -391 325 -200 ;
+C 155 ; WX 0 ; N afii57452 ; B 154 787 337 1029 ;
+C 156 ; WX 0 ; N afii57457_afii57451 ; B 171 797 346 1164 ;
+C 157 ; WX 0 ; N afii57457_afii57453 ; B 171 791 346 1162 ;
+C 158 ; WX 0 ; N afii57457_afii57452 ; B 163 797 346 1198 ;
+C 159 ; WX 0 ; N uni0653 ; B 121 770 404 875 ;
+C 160 ; WX 525 ; N afii57441.med ; B 0 0 525 630 ;
+C 161 ; WX 525 ; N afii57441.fin ; B 0 -16 525 631 ;
+C 162 ; WX 525 ; N afii57509.ini ; B 0 0 525 680 ;
+C 163 ; WX 525 ; N afii57509.med ; B 0 0 525 682 ;
+C 164 ; WX 525 ; N afii57509.fin ; B 0 -7 525 680 ;
+C 165 ; WX 525 ; N afii57470.ini ; B 0 -8 403 384 ;
+C 166 ; WX 525 ; N afii57470.med ; B 0 -213 525 375 ;
+C 167 ; WX 525 ; N afii57470.fin ; B 135 0 525 519 ;
+C 168 ; WX 525 ; N afii57420.ini ; B 0 -161 525 379 ;
+C 169 ; WX 525 ; N afii57420.med ; B 0 -250 525 382 ;
+C 170 ; WX 525 ; N afii57420.fin ; B 68 -308 524 383 ;
+C 171 ; WX 525 ; N afii57443.ini ; B 0 0 525 654 ;
+C 172 ; WX 525 ; N afii57443.med ; B 0 0 525 652 ;
+C 173 ; WX 525 ; N afii57443.fin ; B 3 -18 525 649 ;
+C 174 ; WX 525 ; N afii57444.ini ; B 0 0 514 661 ;
+C 175 ; WX 525 ; N afii57444.med ; B 0 0 525 649 ;
+C 176 ; WX 525 ; N afii57444.fin ; B 17 -161 525 646 ;
+C 177 ; WX 525 ; N afii57445.ini ; B 0 -6 490 373 ;
+C 178 ; WX 525 ; N afii57445.med ; B 0 -6 525 373 ;
+C 179 ; WX 525 ; N afii57445.fin ; B 148 -308 525 351 ;
+C 180 ; WX 525 ; N afii57446.ini ; B 0 0 498 663 ;
+C 181 ; WX 525 ; N afii57446.med ; B 0 0 525 647 ;
+C 182 ; WX 525 ; N afii57446.fin ; B 37 -215 525 562 ;
+C 183 ; WX 525 ; N afii57506.ini ; B 0 -308 498 422 ;
+C 184 ; WX 525 ; N afii57506.med ; B 0 -295 525 427 ;
+C 185 ; WX 525 ; N afii57506.fin ; B 0 -308 525 407 ;
+C 186 ; WX 525 ; N afii57442.ini ; B 0 0 518 650 ;
+C 187 ; WX 525 ; N afii57442.med ; B 0 0 525 639 ;
+C 188 ; WX 525 ; N afii57442.fin ; B 61 -178 525 549 ;
+C 189 ; WX 525 ; N afii57425.fin ; B 44 -211 525 397 ;
+C 190 ; WX 525 ; N afii57427.ini ; B 0 0 503 406 ;
+C 191 ; WX 525 ; N afii57427.med ; B 0 0 525 404 ;
+C 192 ; WX 525 ; N afii57427.fin ; B 0 -187 525 416 ;
+C 193 ; WX 525 ; N afii57418.ini ; B 0 0 525 643 ;
+C 194 ; WX 525 ; N afii57410.iso ; B 121 -21 404 818 ;
+C 195 ; WX 525 ; N afii57418.fin ; B 0 0 525 542 ;
+C 196 ; WX 525 ; N afii57505.ini ; B 0 0 524 797 ;
+C 197 ; WX 525 ; N afii57505.med ; B 0 0 525 749 ;
+C 198 ; WX 525 ; N afii57505.fin ; B 0 -16 529 737 ;
+C 199 ; WX 525 ; N afii57422.ini ; B 0 0 525 574 ;
+C 200 ; WX 525 ; N afii57422.med ; B 0 0 525 642 ;
+C 201 ; WX 525 ; N afii57422.fin ; B 94 -308 525 622 ;
+C 202 ; WX 525 ; N afii57450.fin ; B 41 -308 525 113 ;
+C 203 ; WX 525 ; N afii57426.fin ; B 44 -211 525 650 ;
+C 204 ; WX 525 ; N afii57411.fin ; B 161 0 525 852 ;
+C 205 ; WX 525 ; N afii57413.fin ; B 196 -303 525 646 ;
+C 206 ; WX 525 ; N afii57412.fin ; B 87 -200 525 623 ;
+C 207 ; WX 525 ; N afii57414.ini ; B 0 0 498 667 ;
+C 208 ; WX 525 ; N afii57414.med ; B 0 0 525 681 ;
+C 209 ; WX 525 ; N afii57414.fin ; B 26 -286 525 393 ;
+C 210 ; WX 525 ; N afii57417.fin ; B 135 0 525 717 ;
+C 211 ; WX 525 ; N afii57419.ini ; B 0 0 524 771 ;
+C 212 ; WX 525 ; N afii57419.med ; B 0 0 525 758 ;
+C 213 ; WX 525 ; N afii57419.fin ; B 0 0 525 740 ;
+C 214 ; WX 525 ; N afii57434.ini ; B 0 0 424 646 ;
+C 215 ; WX 525 ; N afii57434.med ; B 0 0 525 609 ;
+C 216 ; WX 525 ; N afii57434.fin ; B 94 -308 525 602 ;
+C 217 ; WX 525 ; N afii57508.fin ; B 44 -211 525 758 ;
+C 218 ; WX 525 ; N afii57428.ini ; B 0 0 503 705 ;
+C 219 ; WX 525 ; N afii57428.med ; B 0 0 525 715 ;
+C 220 ; WX 525 ; N afii57428.fin ; B 0 -187 525 704 ;
+C 221 ; WX 525 ; N afii57410.fin ; B 96 0 525 818 ;
+C 222 ; WX 525 ; N uni066E.ini ; B 0 0 498 422 ;
+C 223 ; WX 525 ; N uni066E.med ; B 0 0 525 427 ;
+C 224 ; WX 525 ; N afii57514.fin ; B 37 -215 525 358 ;
+C 225 ; WX 525 ; N uni066E.fin ; B 0 0 525 407 ;
+C 226 ; WX 525 ; N uni06A1.ini ; B 0 0 518 452 ;
+C 227 ; WX 525 ; N uni06A1.med ; B 0 0 525 406 ;
+C 228 ; WX 525 ; N afii57411.iso ; B 167 -21 302 852 ;
+C 229 ; WX 525 ; N uni066F.fin ; B 61 -178 525 334 ;
+C 230 ; WX 336 ; N afii57415.fin3 ; B 65 115 351 539 ;
+C 231 ; WX 336 ; N afii57411.fin3 ; B 54 115 351 827 ;
+C 232 ; WX 336 ; N afii57413.fin3 ; B 54 -338 351 539 ;
+C 233 ; WX 336 ; N afii57410.fin3 ; B 29 115 351 711 ;
+C 234 ; WX 0 ; N afii57457_ ; B 171 797 346 1230 ;
+C 235 ; WX 525 ; N afii57418.med ; B 0 0 525 625 ;
+C 236 ; WX 525 ; N afii57514.ini ; B 0 0 498 422 ;
+C 237 ; WX 525 ; N afii57514.med ; B 0 0 525 427 ;
+C 238 ; WX 525 ; N uni066F.ini ; B 0 0 518 452 ;
+C 239 ; WX 525 ; N afii57413.iso ; B 177 -308 311 650 ;
+C 240 ; WX 525 ; N uni0671.fin ; B 141 0 525 838 ;
+C 241 ; WX 307 ; N uni0671.fin2 ; B 27 0 398 805 ;
+C 242 ; WX 336 ; N uni0671.fin3 ; B 37 115 351 805 ;
+C 243 ; WX 525 ; N uni06A1.fin ; B 0 -16 525 407 ;
+C 244 ; WX 525 ; N afii57417.ini ; B 0 0 525 643 ;
+C 245 ; WX 525 ; N afii57417.med ; B 0 0 525 625 ;
+C 246 ; WX 525 ; N uni066F.med ; B 0 0 525 406 ;
+C 247 ; WX 1050 ; N afii57444_afii57444.iso ; B 17 -161 1039 661 ;
+C 248 ; WX 1050 ; N afii57444_afii57444.ini ; B 0 0 1039 661 ;
+C 249 ; WX 714 ; N afii57444_afii57444.ini2 ; B -266 -43 703 695 ;
+C 250 ; WX 525 ; N afii57444_afii57444_afii57457_uni0670_afii57470.iso ; B 0 0 525 983 ;
+C 251 ; WX 525 ; N _0251 ; B 13 9 509 560 ;
+C 252 ; WX 525 ; N afii57412.iso ; B 85 -200 442 623 ;
+C 253 ; WX 525 ; N _0253 ; B 50 -83 635 694 ;
+C 254 ; WX 525 ; N _0254 ; B 50 -83 475 694 ;
+C 255 ; WX 525 ; N afii57414.iso ; B 24 -122 452 598 ;
+EndCharMetrics
+EndFontMetrics
diff --git a/language/arabic/dad/Dad-mono.pfb b/language/arabic/dad/Dad-mono.pfb
new file mode 100644
index 0000000000..eb64275151
--- /dev/null
+++ b/language/arabic/dad/Dad-mono.pfb
Binary files differ
diff --git a/language/arabic/dad/Dad.afm b/language/arabic/dad/Dad.afm
new file mode 100644
index 0000000000..25be7d46d0
--- /dev/null
+++ b/language/arabic/dad/Dad.afm
@@ -0,0 +1,276 @@
+StartFontMetrics 2.0
+Comment Panose 2 0 0 0 0 0 0 0 0 0
+FullName Dad
+FontName Dad
+FamilyName Dad
+Weight Normal
+Version 1.000
+IsFixedPitch false
+ItalicAngle 0.00
+FontBBox -257 -547 990 951
+Ascender 750
+Descender -250
+XHeight 500
+CapHeight 700
+UnderlinePosition -100
+UnderlineThickness 50
+EncodingScheme FontSpecific
+StartCharMetrics 256
+C 0 ; WX 244 ; N afii57415.fin ; B 114 0 306 548 ;
+C 1 ; WX 515 ; N afii57507.ini ; B -6 -303 514 238 ;
+C 2 ; WX 515 ; N afii57507.med ; B -6 -303 576 238 ;
+C 3 ; WX 437 ; N afii57507.fin ; B 6 -317 499 221 ;
+C 4 ; WX 775 ; N afii57430.ini ; B -6 0 773 457 ;
+C 5 ; WX 775 ; N afii57430.med ; B -6 0 836 457 ;
+C 6 ; WX 919 ; N afii57430.fin ; B 6 -188 990 446 ;
+C 7 ; WX 514 ; N afii57421.ini ; B -6 0 514 238 ;
+C 8 ; WX 514 ; N afii57421.med ; B -6 0 576 238 ;
+C 9 ; WX 437 ; N afii57421.fin ; B 6 -317 499 221 ;
+C 10 ; WX 248 ; N afii57450.ini ; B -6 -230 245 242 ;
+C 11 ; WX 248 ; N afii57450.med ; B -6 -230 310 243 ;
+C 12 ; WX 490 ; N afii57449.fin ; B 8 -273 551 71 ;
+C 13 ; WX 773 ; N afii57429.ini ; B -6 0 773 239 ;
+C 14 ; WX 775 ; N afii57429.med ; B -6 0 836 239 ;
+C 15 ; WX 928 ; N afii57429.fin ; B 6 -188 990 222 ;
+C 16 ; WX 499 ; N afii57431.ini ; B -6 0 501 556 ;
+C 17 ; WX 501 ; N afii57431.med ; B -4 0 563 556 ;
+C 18 ; WX 499 ; N afii57431.fin ; B -2 0 561 548 ;
+C 19 ; WX 326 ; N afii57448.fin ; B -57 -186 387 234 ;
+C 20 ; WX 499 ; N afii57432.ini ; B -6 0 501 556 ;
+C 21 ; WX 507 ; N afii57432.med ; B -4 0 563 556 ;
+C 22 ; WX 499 ; N afii57432.fin ; B -2 0 561 548 ;
+C 23 ; WX 391 ; N afii57433.ini ; B -6 0 383 271 ;
+C 24 ; WX 355 ; N afii57433.med ; B -6 0 416 268 ;
+C 25 ; WX 393 ; N afii57433.fin ; B 13 -329 454 250 ;
+C 26 ; WX 248 ; N afii57416.ini ; B -6 -227 245 242 ;
+C 27 ; WX 248 ; N afii57416.med ; B -6 -227 310 243 ;
+C 28 ; WX 536 ; N afii57416.fin ; B 10 -254 598 208 ;
+C 29 ; WX 382 ; N afii57423.fin ; B 106 -28 443 328 ;
+C 30 ; WX 270 ; N uni06C0.fin ; B -3 0 303 531 ;
+C 31 ; WX 302 ; N afii57441.ini ; B -6 0 305 485 ;
+C 32 ; WX 262 ; N space ; B 0 0 0 0 ;
+C 33 ; WX 244 ; N exclam ; B 91 0 163 441 ;
+C 34 ; WX 1 ; N _0034 ; B 0 0 0 0 ;
+C 35 ; WX 1 ; N _0035 ; B 0 0 0 0 ;
+C 36 ; WX 1 ; N _0036 ; B 0 0 0 0 ;
+C 37 ; WX 546 ; N percent ; B 56 -11 494 562 ;
+C 38 ; WX 1 ; N uni200D.fin ; B 0 0 0 0 ;
+C 39 ; WX 1 ; N _0039 ; B 0 0 0 0 ;
+C 40 ; WX 293 ; N parenleft ; B 39 -306 248 591 ;
+C 41 ; WX 293 ; N parenright ; B 43 -306 254 591 ;
+C 42 ; WX 433 ; N asterisk ; B 72 -74 385 274 ;
+C 43 ; WX 0 ; N afii57457 ; B 12 569 186 736 ;
+C 44 ; WX 212 ; N afii57388 ; B 48 -5 167 197 ;
+C 45 ; WX 1 ; N uni200D.iso ; B 0 0 0 0 ;
+C 46 ; WX 205 ; N period ; B 29 -2 115 82 ;
+C 47 ; WX 439 ; N slash ; B -7 -192 458 541 ;
+C 48 ; WX 439 ; N afii57392 ; B 149 70 291 212 ;
+C 49 ; WX 439 ; N afii57393 ; B 126 0 333 544 ;
+C 50 ; WX 439 ; N afii57394 ; B 78 -4 384 521 ;
+C 51 ; WX 439 ; N afii57395 ; B 33 0 402 534 ;
+C 52 ; WX 439 ; N afii57396 ; B 124 0 352 529 ;
+C 53 ; WX 439 ; N afii57397 ; B 111 -3 351 343 ;
+C 54 ; WX 439 ; N afii57398 ; B 50 0 401 536 ;
+C 55 ; WX 439 ; N afii57399 ; B 44 -2 417 505 ;
+C 56 ; WX 439 ; N afii57400 ; B 44 0 439 528 ;
+C 57 ; WX 439 ; N afii57401 ; B 78 0 386 530 ;
+C 58 ; WX 244 ; N colon ; B 92 -1 161 299 ;
+C 59 ; WX 236 ; N afii57403 ; B 45 -6 163 493 ;
+C 60 ; WX 285 ; N less ; B 28 -9 269 398 ;
+C 61 ; WX 439 ; N equal ; B 19 91 425 301 ;
+C 62 ; WX 285 ; N greater ; B 15 -9 257 398 ;
+C 63 ; WX 377 ; N afii57407 ; B 37 -7 331 562 ;
+C 64 ; WX 1 ; N _0064 ; B 0 0 0 0 ;
+C 65 ; WX 244 ; N afii57415.iso ; B 137 0 195 548 ;
+C 66 ; WX 293 ; N guillemotleft ; B 110 -13 315 270 ;
+C 67 ; WX 489 ; N afii57507.iso ; B 10 -300 469 262 ;
+C 68 ; WX 928 ; N afii57430.iso ; B 6 -188 920 446 ;
+C 69 ; WX 293 ; N guillemotright ; B -1 -13 203 270 ;
+C 70 ; WX 180 ; N afii57444.ini2 ; B -128 -13 162 546 ;
+C 71 ; WX 250 ; N afii57444.ini3 ; B -257 -62 312 513 ;
+C 72 ; WX 489 ; N afii57421.iso ; B 10 -300 469 262 ;
+C 73 ; WX 536 ; N afii57449.iso ; B 14 -215 530 232 ;
+C 74 ; WX 341 ; N afii57508.iso ; B -17 -200 341 481 ;
+C 75 ; WX 170 ; N afii57440.iso ; B -6 0 231 71 ;
+C 76 ; WX 144 ; N afii57444.ini4 ; B -18 -7 115 490 ;
+C 77 ; WX 179 ; N afii57444.med2 ; B -18 -7 190 490 ;
+C 78 ; WX 1 ; N _0078 ; B 0 0 0 0 ;
+C 79 ; WX 170 ; N afii57440.ini ; B -6 0 231 71 ;
+C 80 ; WX 170 ; N afii57440.med ; B -6 0 231 71 ;
+C 81 ; WX 170 ; N afii57440.fin ; B -6 0 231 71 ;
+C 82 ; WX 489 ; N afii57434.iso ; B 10 -317 450 513 ;
+C 83 ; WX 928 ; N afii57429.iso ; B 6 -188 920 222 ;
+C 84 ; WX 499 ; N afii57431.iso ; B 4 0 499 548 ;
+C 85 ; WX 328 ; N afii57448.iso ; B -35 -185 328 233 ;
+C 86 ; WX 1 ; N _0086 ; B 0 0 0 0 ;
+C 87 ; WX 1 ; N _0087 ; B 0 0 0 0 ;
+C 88 ; WX 1 ; N _0088 ; B 0 0 0 0 ;
+C 89 ; WX 538 ; N afii57450.iso ; B 14 -385 530 232 ;
+C 90 ; WX 499 ; N afii57432.iso ; B 4 0 499 548 ;
+C 91 ; WX 293 ; N bracketleft ; B 50 -275 241 591 ;
+C 92 ; WX 439 ; N backslash ; B -7 -192 458 541 ;
+C 93 ; WX 293 ; N bracketright ; B 49 -275 240 591 ;
+C 94 ; WX 1 ; N _0094 ; B 0 0 0 0 ;
+C 95 ; WX 1 ; N _0095 ; B 0 0 0 0 ;
+C 96 ; WX 489 ; N afii57433.iso ; B 10 -317 450 333 ;
+C 97 ; WX 0 ; N afii57454 ; B 36 596 185 716 ;
+C 98 ; WX 535 ; N afii57416.iso ; B 11 -254 531 208 ;
+C 99 ; WX 536 ; N afii57419.iso ; B 11 -43 531 406 ;
+C 100 ; WX 382 ; N afii57423.iso ; B 107 -27 377 328 ;
+C 101 ; WX 293 ; N uni06C0.iso ; B -3 -20 254 531 ;
+C 102 ; WX 655 ; N afii57441.iso ; B 4 -18 648 485 ;
+C 103 ; WX 589 ; N afii57509.iso ; B 3 0 592 570 ;
+C 104 ; WX 293 ; N afii57470.iso ; B 9 -20 254 288 ;
+C 105 ; WX 0 ; N afii57456 ; B -39 -462 125 -322 ;
+C 106 ; WX 489 ; N afii57420.iso ; B 10 -300 469 262 ;
+C 107 ; WX 456 ; N afii57443.iso ; B -12 -30 448 548 ;
+C 108 ; WX 397 ; N afii57444.iso ; B -13 -148 394 548 ;
+C 109 ; WX 340 ; N afii57445.iso ; B 11 -351 336 218 ;
+C 110 ; WX 446 ; N afii57446.iso ; B 6 -188 439 386 ;
+C 111 ; WX 0 ; N afii57458 ; B 39 569 184 741 ;
+C 112 ; WX 536 ; N afii57506.iso ; B 11 -330 531 208 ;
+C 113 ; WX 459 ; N afii57442.iso ; B 8 -214 452 419 ;
+C 114 ; WX 341 ; N afii57425.iso ; B -17 -200 341 188 ;
+C 115 ; WX 764 ; N afii57427.iso ; B 6 -188 747 201 ;
+C 116 ; WX 535 ; N afii57418.iso ; B 11 -43 531 289 ;
+C 117 ; WX 0 ; N afii57455 ; B 6 570 185 793 ;
+C 118 ; WX 655 ; N afii57505.iso ; B 4 -18 652 565 ;
+C 119 ; WX 1 ; N _0119 ; B 0 0 0 0 ;
+C 120 ; WX 489 ; N afii57422.iso ; B 10 -300 469 478 ;
+C 121 ; WX 1 ; N _0121 ; B 0 0 0 0 ;
+C 122 ; WX 341 ; N afii57426.iso ; B -17 -200 341 423 ;
+C 123 ; WX 293 ; N braceleft ; B 63 -252 256 591 ;
+C 124 ; WX 263 ; N afii57409.iso ; B -10 -24 208 213 ;
+C 125 ; WX 293 ; N braceright ; B 36 -252 227 591 ;
+C 126 ; WX 1 ; N _0126 ; B 0 0 0 0 ;
+C 127 ; WX 1 ; N _0127 ; B 0 0 0 0 ;
+C 128 ; WX 502 ; N _0128 ; B 8 -104 502 569 ;
+C 129 ; WX 1 ; N _0129 ; B 0 0 0 0 ;
+C 130 ; WX 1 ; N _0130 ; B 0 0 0 0 ;
+C 131 ; WX 244 ; N uni0671.iso ; B -19 -42 272 603 ;
+C 132 ; WX 293 ; N afii57417.iso ; B 9 -20 254 457 ;
+C 133 ; WX 382 ; N afii57424.iso ; B 107 -27 377 501 ;
+C 134 ; WX 382 ; N afii57424.fin ; B 106 -28 443 501 ;
+C 135 ; WX 489 ; N afii57519.fin ; B 115 -176 534 121 ;
+C 136 ; WX 535 ; N uni06D2.iso ; B 11 -43 531 208 ;
+C 137 ; WX 754 ; N afii57428.iso ; B 6 -188 747 481 ;
+C 138 ; WX 0 ; N afii57457_uni0653 ; B -46 569 197 888 ;
+C 139 ; WX 446 ; N afii57514.iso ; B 6 -188 439 184 ;
+C 140 ; WX 655 ; N uni06A1.iso ; B 4 -18 648 313 ;
+C 141 ; WX 459 ; N uni066F.iso ; B 8 -214 452 235 ;
+C 142 ; WX 0 ; N uni0670 ; B 22 550 85 773 ;
+C 143 ; WX 260 ; N afii57415.fin2 ; B 56 -13 334 433 ;
+C 144 ; WX 260 ; N afii57411.fin2 ; B 0 -13 334 621 ;
+C 145 ; WX 260 ; N afii57413.fin2 ; B 56 -261 334 433 ;
+C 146 ; WX 260 ; N afii57410.fin2 ; B -16 -13 334 621 ;
+C 147 ; WX 327 ; N afii57470.fin2 ; B 12 -10 339 355 ;
+C 148 ; WX 217 ; N afii57444_afii57457_uni0670.med ; B -60 -10 228 688 ;
+C 149 ; WX 1 ; N _0149 ; B 0 0 0 0 ;
+C 150 ; WX 0 ; N afii57457_afii57454 ; B 12 569 186 826 ;
+C 151 ; WX 0 ; N afii57457_afii57456 ; B 12 551 186 840 ;
+C 152 ; WX 0 ; N afii57457_afii57455 ; B -11 560 186 915 ;
+C 153 ; WX 0 ; N afii57451 ; B 21 570 185 795 ;
+C 154 ; WX 0 ; N afii57453 ; B -40 -547 124 -323 ;
+C 155 ; WX 0 ; N afii57452 ; B -1 570 187 790 ;
+C 156 ; WX 0 ; N afii57457_afii57451 ; B 8 564 190 928 ;
+C 157 ; WX 0 ; N afii57457_afii57453 ; B 12 570 186 917 ;
+C 158 ; WX 0 ; N afii57457_afii57452 ; B 3 556 190 942 ;
+C 159 ; WX 1 ; N uni0653 ; B 14 550 258 730 ;
+C 160 ; WX 302 ; N afii57441.med ; B -6 0 364 485 ;
+C 161 ; WX 655 ; N afii57441.fin ; B 5 -19 716 485 ;
+C 162 ; WX 375 ; N afii57509.ini ; B -6 0 366 570 ;
+C 163 ; WX 371 ; N afii57509.med ; B -20 0 432 587 ;
+C 164 ; WX 589 ; N afii57509.fin ; B 3 0 650 587 ;
+C 165 ; WX 435 ; N afii57470.ini ; B -6 -9 418 349 ;
+C 166 ; WX 355 ; N afii57470.med ; B -6 -192 416 286 ;
+C 167 ; WX 270 ; N afii57470.fin ; B 10 0 303 385 ;
+C 168 ; WX 514 ; N afii57420.ini ; B -6 -213 514 238 ;
+C 169 ; WX 514 ; N afii57420.med ; B -6 -213 576 238 ;
+C 170 ; WX 437 ; N afii57420.fin ; B 6 -317 499 221 ;
+C 171 ; WX 371 ; N afii57443.ini ; B -6 0 366 548 ;
+C 172 ; WX 375 ; N afii57443.med ; B -6 0 436 548 ;
+C 173 ; WX 446 ; N afii57443.fin ; B 10 -30 508 548 ;
+C 174 ; WX 195 ; N afii57444.ini ; B -6 0 192 548 ;
+C 175 ; WX 195 ; N afii57444.med ; B -6 0 257 548 ;
+C 176 ; WX 397 ; N afii57444.fin ; B -13 -148 459 548 ;
+C 177 ; WX 368 ; N afii57445.ini ; B -6 -6 362 223 ;
+C 178 ; WX 368 ; N afii57445.med ; B -6 -6 428 223 ;
+C 179 ; WX 340 ; N afii57445.fin ; B 11 -351 402 218 ;
+C 180 ; WX 245 ; N afii57446.ini ; B -6 0 245 447 ;
+C 181 ; WX 248 ; N afii57446.med ; B -6 0 310 447 ;
+C 182 ; WX 446 ; N afii57446.fin ; B 6 -188 508 386 ;
+C 183 ; WX 248 ; N afii57506.ini ; B -6 -321 245 242 ;
+C 184 ; WX 248 ; N afii57506.med ; B -6 -321 310 243 ;
+C 185 ; WX 536 ; N afii57506.fin ; B 10 -330 598 208 ;
+C 186 ; WX 302 ; N afii57442.ini ; B -6 0 305 483 ;
+C 187 ; WX 302 ; N afii57442.med ; B -6 0 364 483 ;
+C 188 ; WX 459 ; N afii57442.fin ; B 9 -214 520 418 ;
+C 189 ; WX 341 ; N afii57425.fin ; B -17 -201 403 188 ;
+C 190 ; WX 618 ; N afii57427.ini ; B -6 -6 615 201 ;
+C 191 ; WX 616 ; N afii57427.med ; B -6 -7 679 201 ;
+C 192 ; WX 755 ; N afii57427.fin ; B 6 -188 817 201 ;
+C 193 ; WX 248 ; N afii57418.ini ; B -6 0 245 442 ;
+C 194 ; WX 244 ; N afii57410.iso ; B 14 -42 258 601 ;
+C 195 ; WX 536 ; N afii57418.fin ; B 10 -44 598 289 ;
+C 196 ; WX 302 ; N afii57505.ini ; B -6 0 305 569 ;
+C 197 ; WX 302 ; N afii57505.med ; B -6 0 364 569 ;
+C 198 ; WX 655 ; N afii57505.fin ; B 6 -18 716 565 ;
+C 199 ; WX 514 ; N afii57422.ini ; B -6 0 514 480 ;
+C 200 ; WX 514 ; N afii57422.med ; B -6 0 576 480 ;
+C 201 ; WX 437 ; N afii57422.fin ; B 6 -317 499 428 ;
+C 202 ; WX 490 ; N afii57450.fin ; B 8 -422 551 71 ;
+C 203 ; WX 341 ; N afii57426.fin ; B -17 -201 403 423 ;
+C 204 ; WX 244 ; N afii57411.fin ; B 0 0 306 566 ;
+C 205 ; WX 244 ; N afii57413.fin ; B 56 -257 306 548 ;
+C 206 ; WX 326 ; N afii57412.fin ; B -57 -186 387 426 ;
+C 207 ; WX 248 ; N afii57414.ini ; B -6 0 245 509 ;
+C 208 ; WX 248 ; N afii57414.med ; B -6 0 310 509 ;
+C 209 ; WX 490 ; N afii57414.fin ; B -29 -274 551 368 ;
+C 210 ; WX 270 ; N afii57417.fin ; B 10 0 331 531 ;
+C 211 ; WX 248 ; N afii57419.ini ; B -6 0 245 562 ;
+C 212 ; WX 248 ; N afii57419.med ; B -6 0 310 562 ;
+C 213 ; WX 536 ; N afii57419.fin ; B 10 -44 598 406 ;
+C 214 ; WX 391 ; N afii57434.ini ; B -6 0 383 479 ;
+C 215 ; WX 355 ; N afii57434.med ; B -6 0 416 445 ;
+C 216 ; WX 393 ; N afii57434.fin ; B 13 -329 454 471 ;
+C 217 ; WX 341 ; N afii57508.fin ; B -17 -201 403 481 ;
+C 218 ; WX 618 ; N afii57428.ini ; B -6 -6 615 481 ;
+C 219 ; WX 618 ; N afii57428.med ; B -6 -7 679 481 ;
+C 220 ; WX 768 ; N afii57428.fin ; B 6 -188 817 481 ;
+C 221 ; WX 244 ; N afii57410.fin ; B -6 0 306 551 ;
+C 222 ; WX 245 ; N uni066E.ini ; B -6 0 245 242 ;
+C 223 ; WX 248 ; N uni066E.med ; B -6 0 310 243 ;
+C 224 ; WX 446 ; N afii57514.fin ; B 6 -188 508 184 ;
+C 225 ; WX 536 ; N uni066E.fin ; B 10 -44 598 208 ;
+C 226 ; WX 302 ; N uni06A1.ini ; B -6 0 305 317 ;
+C 227 ; WX 302 ; N uni06A1.med ; B -6 0 364 317 ;
+C 228 ; WX 244 ; N afii57411.iso ; B 66 -42 215 605 ;
+C 229 ; WX 459 ; N uni066F.fin ; B 9 -214 520 236 ;
+C 230 ; WX 238 ; N afii57415.fin3 ; B 40 10 274 401 ;
+C 231 ; WX 238 ; N afii57411.fin3 ; B -3 10 274 590 ;
+C 232 ; WX 238 ; N afii57413.fin3 ; B 40 -299 274 401 ;
+C 233 ; WX 238 ; N afii57410.fin3 ; B -16 10 274 591 ;
+C 234 ; WX 0 ; N afii57457_ ; B 12 556 186 951 ;
+C 235 ; WX 248 ; N afii57418.med ; B -6 0 310 442 ;
+C 236 ; WX 245 ; N afii57514.ini ; B -6 0 245 242 ;
+C 237 ; WX 248 ; N afii57514.med ; B -6 0 310 243 ;
+C 238 ; WX 302 ; N uni066F.ini ; B -6 0 305 317 ;
+C 239 ; WX 244 ; N afii57413.iso ; B 74 -291 235 548 ;
+C 240 ; WX 244 ; N uni0671.fin ; B -29 0 306 573 ;
+C 241 ; WX 260 ; N uni0671.fin2 ; B -39 -13 334 603 ;
+C 242 ; WX 238 ; N uni0671.fin3 ; B -49 10 274 583 ;
+C 243 ; WX 655 ; N uni06A1.fin ; B 6 -18 716 313 ;
+C 244 ; WX 248 ; N afii57417.ini ; B -6 0 245 442 ;
+C 245 ; WX 248 ; N afii57417.med ; B -6 0 310 442 ;
+C 246 ; WX 302 ; N uni066F.med ; B -6 0 364 317 ;
+C 247 ; WX 593 ; N afii57444_afii57444.iso ; B -13 -148 589 548 ;
+C 248 ; WX 390 ; N afii57444_afii57444.ini ; B -6 0 387 548 ;
+C 249 ; WX 445 ; N afii57444_afii57444.ini2 ; B -257 -62 442 548 ;
+C 250 ; WX 690 ; N afii57444_afii57444_afii57457_uni0670_afii57470.iso ; B 12 -51 660 688 ;
+C 251 ; WX 577 ; N _0251 ; B 14 9 560 541 ;
+C 252 ; WX 328 ; N afii57412.iso ; B -35 -185 328 426 ;
+C 253 ; WX 742 ; N _0253 ; B 56 -11 691 562 ;
+C 254 ; WX 936 ; N _0254 ; B 56 -11 887 562 ;
+C 255 ; WX 538 ; N afii57414.iso ; B -29 -215 530 456 ;
+EndCharMetrics
+EndFontMetrics
diff --git a/language/arabic/dad/Dad.pfb b/language/arabic/dad/Dad.pfb
new file mode 100644
index 0000000000..016f0984dc
--- /dev/null
+++ b/language/arabic/dad/Dad.pfb
Binary files differ
diff --git a/language/arabic/dad/OT1dad.fd b/language/arabic/dad/OT1dad.fd
new file mode 100644
index 0000000000..58fec9f55f
--- /dev/null
+++ b/language/arabic/dad/OT1dad.fd
@@ -0,0 +1,33 @@
+%%% ====================================================================
+%%% @font-description-file{
+%%% filename = "OT1dad.fd",
+%%% version = "1.1",
+%%% date = "2014/10/11",
+%%% author = "Yannis Haralambous",
+%%% copyright = "This file is part of the dad package, released
+%%% under the LPPL."
+%%% keywords = "TeX, file header,
+%%% supported = "yes",
+%%% abstract = "This is the OT1 font description file of the dad
+%%% system for typesetting in the Arabic language.",
+%%% }
+%%% ====================================================================
+%Filename: OT1dad.fd
+%Created by: tex fonttime
+%Created using: \familyinst{OT1}{dad}
+
+%This file contains the font definitions for the dade family in the
+%OT1 encoding. It is used by the LaTeX New Font Selection Scheme.
+%It was generated by the fontinst package.
+
+\DeclareFontFamily{OT1}{dad}{}
+
+\DeclareFontShape{OT1}{dad}{m}{n}{<-> [1.2] dad}{}
+
+\DeclareFontShape{OT1}{dad}{bx}{n}{<-> [1.2] dadbold}{}
+
+\DeclareFontShape{OT1}{dad}{m}{i}{<-> ssub * dad/m/n}{}
+
+\DeclareFontShape{OT1}{dad}{bx}{i}{<-> ssub * dad/m/n}{}
+
+\DeclareFontShape{OT1}{dad}{m}{mono}{<-> [1.0] dadmono}{}
diff --git a/language/arabic/dad/README b/language/arabic/dad/README
new file mode 100644
index 0000000000..968b9ea1dc
--- /dev/null
+++ b/language/arabic/dad/README
@@ -0,0 +1,134 @@
+README for ض (dad) package, 2017/05/20, v1.2
+
+TABLE OF CONTENTS
+=================
+
+0 Changes in v1.2
+1 Introduction
+2 Download
+3 Installation
+4 Additional Packages
+5 Package Compatibility
+6 Authors/Maintainer
+7 Bug Reports
+8 Known Problems
+
+
+0 CHANGES IN V1.2
+=================
+
+I added support for LuaTeX 0.95 by including package luatex85 and by changing \luatextextdir into \textdir in file dad.sty.
+
+
+1 INTRODUCTION
+==============
+
+This LaTeX package allows simple typesetting in Arabic script, intended for mixed Latin-Arabic script usage, in situations where heavy-duty solutions are discouraged.
+The ض system operates with both Unicode and transliterated input, allowing the user to choose the most appropriate approach for every situation.
+
+A paper describing the package has been submitted to TUGboat.
+
+This material is subject to the LaTeX Project Public License
+(LPPL). See http://www.ctan.org/tex-archive/help/Catalogue/
+licenses.lppl.html for the details of that license.
+
+2 DOWNLOAD
+==========
+
+ض should become available on CTAN soon:
+ CTAN:/language/arabic/dad/
+
+The distribution contains the following files:
+
+2.1 FONT FILES AND RELATED FILES
+================================
+dadbold.ofm
+dad.ofm
+dadmono.ofm
+dadmono.ovf
+dadbold.ovf
+dad.ovf
+Dad-mono.pfb
+Dad-bold.pfb
+Dad.pfb
+Dad.afm
+Dad-mono.afm
+Dad-bold.afm
+dadrealbold.tfm
+dadreal.tfm
+dadrealmono.tfm
+dad.map
+dad.sty
+OT1dad.fd
+T1dad.fd
+
+2.2 DOCUMENTATION
+=================
+dad-user-guide.pdf
+dad-user-guide.tex
+dad-user-guide.bib
+
+2.4 PERL SCRIPTS FOR UTF-8 <-> TRANSLITERATION CONVERSION
+=========================================================
+dad-to-utf8.pl
+utf8-to-dad.pl
+
+2.3 FILES USED FOR GENERATING THE FONT METRIC FILES
+===================================================
+make-dad-font.pl
+dadbold.adjust
+dad.adjust
+dadmono.adjust
+
+3 INSTALLATION
+==============
+
+Place the files in directories where TeX can find them.
+
+4 ADDITIONAL PACKAGES
+=====================
+
+ض itself does not load other packages.
+
+5 PACKAGE COMPATIBILITY
+=======================
+
+To typeset with this package you need lualatex.
+To generate the OVF and OFM files from OVP you need wovp2ovf version
+higher or equal than 1.13 (build 34787).
+
+6 AUTHOR/MAINTAINER
+=====================
+
+* Author and maintainer of the package:
+ Yannis Haralambous
+
+7 BUG REPORTS
+==============
+
+A bug report should contain:
+* Comprehensive problem description. This includes error or
+ warning messages.
+* \errorcontextlines=\maxdimen can be added in the
+ TeX code to get more information in TeX error messages.
+* Minimal test file that shows the problem, but does not
+ contain any unnecessary packages and code.
+* Used drivers/programs.
+* Version information about used packages and programs.
+* If you are using LaTeX, then add "\listfiles". Then
+ a list of version information is printed at the end
+ of the LaTeX run.
+* Please no other files than the minimal test file.
+ The other files .log, .dvi, .ps, .pdf are seldom
+ necessary, so send them only on request.
+* Please .zip or .tar.gz your file(s) before sending them!
+
+Bug address
+-----------
+Bug reports can be send to the maintainer:
+ Yannis Haralambous
+ <yannis [dot] haralambous [at] telecom-bretagne [dot] eu>
+
+
+8 KNOWN PROBLEMS
+=================
diff --git a/language/arabic/dad/T1dad.fd b/language/arabic/dad/T1dad.fd
new file mode 100644
index 0000000000..b0e89442a0
--- /dev/null
+++ b/language/arabic/dad/T1dad.fd
@@ -0,0 +1,33 @@
+%%% ====================================================================
+%%% @font-description-file{
+%%% filename = "T1dad.fd",
+%%% version = "1.1",
+%%% date = "2014/10/11",
+%%% author = "Yannis Haralambous",
+%%% copyright = "This file is part of the dad package, released
+%%% under the LPPL."
+%%% keywords = "TeX, file header,
+%%% supported = "yes",
+%%% abstract = "This is the T1 font description file of the dad
+%%% system for typesetting in the Arabic language.",
+%%% }
+%%% ====================================================================
+%Filename: T1dad.fd
+%Created by: tex fonttime
+%Created using: \familyinst{T1}{dad}
+
+%This file contains the font definitions for the dade family in the
+%T1 encoding. It is used by the LaTeX New Font Selection Scheme.
+%It was generated by the fontinst package.
+
+\DeclareFontFamily{T1}{dad}{}
+
+\DeclareFontShape{T1}{dad}{m}{n}{<-> [1.2] dad}{}
+
+\DeclareFontShape{T1}{dad}{bx}{n}{<-> [1.2] dadbold}{}
+
+\DeclareFontShape{T1}{dad}{m}{i}{<-> ssub * dad/m/n}{}
+
+\DeclareFontShape{T1}{dad}{bx}{i}{<-> ssub * dad/m/n}{}
+
+\DeclareFontShape{T1}{dad}{m}{mono}{<-> [1.0] dadmono}{}
diff --git a/language/arabic/dad/dad-to-utf8.pl b/language/arabic/dad/dad-to-utf8.pl
new file mode 100755
index 0000000000..85d971af48
--- /dev/null
+++ b/language/arabic/dad/dad-to-utf8.pl
@@ -0,0 +1,98 @@
+#!/usr/bin/perl
+use utf8;
+binmode stdin,":utf8";
+binmode stdout,":utf8";
+
+sub encode {
+my $s=shift;
+my @RES=();
+while ($s =~ m/(.)/g) {
+$c=$1;
+#if ($c =~ m/[A-Za-z]/) {
+push @RES, ord($c);
+#} else {
+#push @RES, $c;
+#}
+}
+return join("•",@RES);
+}
+
+sub decode {
+my $s=shift;
+my @S=split(/•/,$s);
+my $res="";
+foreach $c (@S) {
+#if ($c =~ m/^[0-9]+$/) {
+$res.=chr($c);
+#} else { $res.=$c; }
+}
+return $res;
+}
+
+while (<>) {
+s/\\([A-Za-z]+)/"\\".&encode($1)."§"/ge;
+s/\|/ء/g;
+s/'A/آ/g;
+s/'a/أ/g;
+s/'u/ؤ/g;
+s/'i/إ/g;
+s/'I/ئ/g;
+s/'b/ٮ/g;
+s/'n/ں/g;
+s/'f/ڡ/g;
+s/'q/ٯ/g;
+s/s-h/سه/g;
+s/t-h/ته/g;
+s/z-h/زه/g;
+s/d-h/ده/g;
+s/A/ا/g;
+s/b/ب/g;
+s/t\*/ة/g;
+s/c/ث/g;
+s/t/ت/g;
+s/j/ج/g;
+s/H/ح/g;
+s/x/خ/g;
+s/dh/ذ/g;
+s/d/د/g;
+s/r/ر/g;
+s/zh/ژ/g;
+s/z/ز/g;
+s/sh/ش/g;
+s/s/س/g;
+s/S/ص/g;
+s/D/ض/g;
+s/T/ط/g;
+s/Z/ظ/g;
+s/`/ع/g;
+s/R/غ/g;
+s/f/ف/g;
+s/q/ق/g;
+s/k/ك/g;
+s/[Ll]/ل/g;
+s/m/م/g;
+s/n/ن/g;
+s/h/ه/g;
+s/U/و/g;
+s/I/ى/g;
+s/Y/ي/g;
+s/p/پ/g;
+s/C/چ/g;
+s/v/ڤ/g;
+s/g/گ/g;
+s/e/ۀ/g;
+s/--/ـ/g;
+s/-/‍/g;
+s/aN/ً/g;
+s/uN/ٌ/g;
+s/iN/ٍ/g;
+s/a\*\*/ٓ/g;
+s/a\*/ٰ/g;
+s/a/َ/g;
+s/u/ُ/g;
+s/i/ِ/g;
+s/\+/ّ/g;
+s/o/ْ/g;
+s/\\([0-9•]+)§/"\\".&decode($1)/ge;
+print;
+} \ No newline at end of file
diff --git a/language/arabic/dad/dad-user-guide.bib b/language/arabic/dad/dad-user-guide.bib
new file mode 100644
index 0000000000..89c54ed978
--- /dev/null
+++ b/language/arabic/dad/dad-user-guide.bib
@@ -0,0 +1,231 @@
+%%% ====================================================================
+%%% BibTeX-file{
+%%% filename = "dad-user-guide.bib",
+%%% version = "1.1",
+%%% date = "2014/10/11",
+%%% author = "Yannis Haralambous",
+%%% copyright = "This file is part of the dad package, released
+%%% under the LPPL."
+%%% keywords = "TeX, file header",
+%%% supported = "yes",
+%%% abstract = "This is the BIB file of the user's guide of the dad
+%%% system for typesetting in the Arabic language.",
+%%% }
+%%% ====================================================================
+%% This BibTeX bibliography file was created using BibDesk.
+%% http://bibdesk.sourceforge.net/
+
+
+%% Created for Yannis Haralambous at 2014-07-30 18:07:22 +0200
+
+
+%% Saved with string encoding Occidental (ASCII)
+
+
+
+@inproceedings{yharabic2,
+ Author = {Haralambous, Yannis},
+ Booktitle = {Proceedings of {Euro\TeX} '92},
+ Date-Added = {2014-07-30 16:05:56 +0000},
+ Date-Modified = {2014-07-30 16:06:56 +0000},
+ Pages = {293--305},
+ Publisher = {Czechoslovak \TeX\ Users Group},
+ Title = {Towards the revival of traditional {A}rabic typography through {\TeX}},
+ Year = {1992}}
+
+@inproceedings{lagally,
+ Author = {Lagally, Klaus},
+ Booktitle = {Proceedings of {Euro\TeX} '92},
+ Date-Added = {2014-07-30 16:00:23 +0000},
+ Date-Modified = {2014-07-30 16:05:40 +0000},
+ Pages = {153--172},
+ Publisher = {Czechoslovak \TeX\ Users Group},
+ Title = {Arab{\TeX} --- Typesetting {A}rabic with vowels and ligatures},
+ Year = {1992}}
+
+@book{lakh2,
+ Address = {Rabat, Morocco},
+ Author = {Lakhdar-Ghazal, Ahmed},
+ Date-Added = {2014-07-30 15:55:34 +0000},
+ Date-Modified = {2014-07-30 15:56:19 +0000},
+ Publisher = {Institut d'\'etudes et de recherches pour l'arabisation},
+ Title = {Pour apprendre et ma\^itriser la langue arabe},
+ Year = {1991}}
+
+@book{lakh1,
+ Address = {Rabat, Morocco},
+ Author = {Richert, Nicole},
+ Date-Added = {2014-07-30 15:53:53 +0000},
+ Date-Modified = {2014-07-30 15:55:32 +0000},
+ Publisher = {Institut d'\'etudes et de recherches pour l'arabisation},
+ Title = {Arabisation et technologie},
+ Year = {1987}}
+
+@article{deksmartlig,
+ Author = {Knuth, Donald E.},
+ Date-Added = {2014-07-30 15:49:36 +0000},
+ Date-Modified = {2014-07-30 15:50:22 +0000},
+ Journal = {TUGboat},
+ Pages = {325--328},
+ Title = {The new versions of {\TeX} and {\MF}},
+ Volume = {10},
+ Year = {1989}}
+
+@article{yharabic,
+ Author = {Haralambous, Yannis},
+ Date-Added = {2014-07-30 15:46:40 +0000},
+ Date-Modified = {2014-07-30 15:47:48 +0000},
+ Journal = {TUGboat},
+ Pages = {520--522},
+ Title = {Arabic, {P}ersian and {O}ttoman {\TeX} for {Mac} and {PC}},
+ Volume = {11},
+ Year = {1990}}
+
+@article{dekvf,
+ Author = {Knuth, Donald E.},
+ Date-Added = {2014-07-30 15:44:04 +0000},
+ Date-Modified = {2014-07-30 15:45:53 +0000},
+ Journal = {TUGboat},
+ Pages = {13--23},
+ Title = {Virtual fonts: more fun for grand wizards},
+ Volume = {11},
+ Year = {1990}}
+
+@article{luatex,
+ Author = {Hoekwater, Taco},
+ Date-Added = {2014-07-30 15:39:58 +0000},
+ Date-Modified = {2014-07-30 15:41:35 +0000},
+ Journal = {TUGboat},
+ Pages = {312--313},
+ Title = {{Lua\TeX}},
+ Volume = {28},
+ Year = {2007}}
+
+@article{pdftex,
+ Author = {H{\`a}n, Th{\'e} Th{\`a}nh},
+ Date-Added = {2014-07-30 15:35:36 +0000},
+ Date-Modified = {2014-07-30 15:36:41 +0000},
+ Journal = {Cahiers GUTenberg},
+ Pages = {197--210},
+ Title = {The {pdf\TeX} Program},
+ Volume = {28--29},
+ Year = {1998}}
+
+@inproceedings{omega3,
+ Author = {Haralambous, Yannis and Plaice, John},
+ Booktitle = {{Electronic Publishing, Artistic Imaging, and Digital Typography}},
+ Date-Added = {2014-07-30 15:32:38 +0000},
+ Date-Modified = {2014-07-30 15:33:54 +0000},
+ Publisher = {Springer},
+ Series = {LNCS},
+ Title = {The Design and Use of a Multiple-Alphabet Font with {$\Omega$}},
+ Volume = {1375},
+ Year = {1998}}
+
+@inproceedings{omega2,
+ Author = {Haralambous, Yannis and Plaice, John},
+ Booktitle = {{Proceedings of the International Symposium on Multilingual Information Processing '97}},
+ Date-Added = {2014-07-30 15:30:59 +0000},
+ Date-Modified = {2014-07-30 15:33:43 +0000},
+ Pages = {137--154},
+ Publisher = {ETL, Tsukuba, Japan},
+ Title = {Multilingual Typesetting with ${\Omega}$, a Case Study : {Arabic}},
+ Year = {1997}}
+
+@article{omega,
+ Author = {Haralambous, Yannis and Plaice, John},
+ Date-Added = {2014-07-30 15:28:46 +0000},
+ Date-Modified = {2014-07-30 15:30:25 +0000},
+ Journal = {TUGboat},
+ Pages = {344--352},
+ Title = {First Applications of {$\Omega$} : {Adobe Poetica, Arabic, Greek, Khmer}},
+ Volume = {15},
+ Year = {1994}}
+
+@book{livre,
+ Author = {Haralambous, Yannis},
+ Date-Added = {2014-07-30 15:23:12 +0000},
+ Date-Modified = {2014-07-30 15:23:50 +0000},
+ Publisher = {O'Reilly},
+ Title = {Fonts \& {E}ncodings},
+ Year = {2007}}
+
+@article{xetex,
+ Author = {Kew, Jonathan},
+ Date-Added = {2014-07-30 15:20:37 +0000},
+ Date-Modified = {2014-07-30 15:21:45 +0000},
+ Journal = {TUGboat},
+ Pages = {115--124},
+ Title = {{\XeTeX}, the Multilingual Lion: {\TeX} meets {U}nicode and smart font technologies},
+ Volume = {26},
+ Year = {2005}}
+
+@unpublished{writelatex,
+ Author = {Hammersley, John and Lees-Miller, John and others},
+ Date-Added = {2014-07-30 15:16:36 +0000},
+ Date-Modified = {2014-07-30 15:19:03 +0000},
+ Note = {\url{http://www.writelatex.com}},
+ Title = {The {write\LaTeX} online collaborative {\LaTeX} editor}}
+
+@unpublished{ieee,
+ Author = {Shell, Michael},
+ Date-Added = {2014-07-30 15:14:54 +0000},
+ Date-Modified = {2014-07-30 15:16:15 +0000},
+ Note = {\url{http://www.ieee.org/documents/LaTeX_letter5March2007.pdf}},
+ Title = {{IEEEtran \LaTeX} class},
+ Year = {2007}}
+
+@unpublished{citala,
+ Author = {Haralambous, Yannis and Lenca, Philippe and Lazrek, Azzeddine},
+ Date-Added = {2014-07-30 15:13:16 +0000},
+ Date-Modified = {2014-07-30 15:14:38 +0000},
+ Note = {submitted to \emph{CITALA 2014}},
+ Title = {Arabic text classification using association rules, dependency relations and hyperonymization}}
+
+@book{learn,
+author={Mace, John},
+title={Arabic verbs and essential grammar},
+publisher={Teach yourself books},
+year={1999}}
+
+@book{learn2,
+author={Smart, John R.},
+title={Arabic},
+publisher={Teach yourself books},
+year={1986}}
+
+@book{syed,
+author={Syed, Barakat Ahmad},
+title={Introduction to {Q}uranic script},
+publisher={Curzon Press},
+year={1984}}
+
+@article{tugboat,
+author={Haralambous, Yannis},
+title={A simple Arabic typesetting system for mixed Latin/Arabic alphabet documents: \emph{\d{d}\=ad}},
+year={2014},
+journal={TUGboat},
+volume = {35},
+number = {3}
+}
+
+@unpublished{agl,
+author={{Adobe Systems}},
+title={Adobe Glyph List},
+year={2002},
+note={\url{http://partners.adobe.com/public/developer/en/opentype/glyphlist.txt}}}
+
+@unpublished{oum,
+author={\mbox{\arab{sAHrAlbsmt*}}},
+title={{\arab{Am klcUm klmAt ARAnY kUkb Alshrq AlsYd-h Am klcUm mUsU`h kAmlh}}},
+year={2008},
+note={\url{http://alsabbah.yoo7.com/t417-topic}}
+}
+
+@book{ryding2014,
+ Address = {Cambridge},
+ Author = {Ryding, Karin C.},
+ Publisher = {Cambridge University Press},
+ Title = {Arabic. A linguistic introduction},
+ Isbn = {978-1-107-02331},
+ Year = {2014}}
diff --git a/language/arabic/dad/dad-user-guide.pdf b/language/arabic/dad/dad-user-guide.pdf
new file mode 100644
index 0000000000..7fef54224c
--- /dev/null
+++ b/language/arabic/dad/dad-user-guide.pdf
Binary files differ
diff --git a/language/arabic/dad/dad-user-guide.tex b/language/arabic/dad/dad-user-guide.tex
new file mode 100644
index 0000000000..988557686c
--- /dev/null
+++ b/language/arabic/dad/dad-user-guide.tex
@@ -0,0 +1,437 @@
+%%% ====================================================================
+%%% @LaTeX-file{
+%%% filename = "dad-user-guide.tex",
+%%% version = "1.2",
+%%% date = "2017/05/20",
+%%% author = "Yannis Haralambous",
+%%% copyright = "This file is part of the dad package, released
+%%% under the LPPL."
+%%% keywords = "TeX, file header,
+%%% supported = "yes",
+%%% abstract = "This is the user's guide of the dad
+%%% system for typesetting in the Arabic language.",
+%%% }
+%%% ====================================================================
+% needs lualatex to be processed
+\documentclass[11pt,a4paper]{article}
+\usepackage{luatex85}
+\pdfmapfile{/hom/yannis/projets/smf/0/smfpdftex.map}
+\usepackage{graphicx,color,framed,a4wide}
+\usepackage{ifpdf}
+%\usepackage[utf8]{inputenc}
+\ifpdf
+\usepackage[breaklinks,hidelinks]{hyperref}
+\usepackage{tikz}
+\usetikzlibrary{arrows}
+\else
+\usepackage{url}
+\fi
+\usepackage[colorinlistoftodos]{todonotes}
+\usepackage{dad}
+\def\hamza{'}%\textsuperscript{\ejective}}
+\def\ayn{`}%\textsuperscript{\reveject}}
+\usepackage{fontspec}
+
+%%% Start of metadata %%%
+
+\title{User's Guide of \arab{D} (\emph{\d{d}\=ad}),\\ a Simple Arabic Typesetting System\\ for Mixed Latin/Arabic Alphabet Documents\\[12pt]Version 1.2/2017-05-20}
+
+% repeat info for each author.
+\author{Yannis Haralambous\thanks{IMT Atlantique,
+UMR~CNRS~6285 Lab-STICC,
+Technop\^ole Brest Iroise
+CS 83818, 29238~Brest~Cedex~3, France, \url{yannis.haralambous@imt-atlantique.fr}}}
+%\netaddress{yannis.haralambous (at) telecom-bretagne dot eu}
+%\personalURL{http://example.org/~user/}
+\date{}
+%%% End of metadata %%%
+
+
+%\newfontfamily\arabicfont[Script=Arabic,Scale=1.2]{Scheherazade-Regular.ttf}
+%\newcommand{\textarabic}[1]{\bgroup\textdir TRT\arabicfont #1\egroup}
+\begin{document}
+
+\maketitle
+
+\section*{New features of version 1.2}
+
+I added support for Lua\TeX\ 0.95 by including package \verb=luatex85= and by changing \verb=\luatextextdir= into \verb=\textdir=.
+
+\section{Introduction}
+
+\noindent\mbox{\arab{D}} is a package for typesetting Arabic in the simplest possible way. It is particularly well suited for mixed Arabic/Latin documents. ``Simplest possible'' means:
+\begin{itemize}
+\item it is compatible with all \LaTeX\ style files, since the code is minimal and all the complexity is in the font;
+\item input can be done in Unicode or in transliteration, the latter being often the best choice when mixing left-to-right and right-to-left scripts;
+\item the only \TeX nical requirement is Lua\TeX, not because of the Lua language (which is not used, for the moment), but because of features that have survived from Lua\TeX's $\Omega$ origins: bidirectionality and use of large fonts (OVF, OFM).
+\end{itemize}
+Choose Lua\TeX\ as your \TeX\ engine, load the package into your document, and \arab{AhlAaN Us-hlAaN!}, just start writing in Arabic using command \verb=\arab=.
+
+More information about \arab{D} (history, evolution, rationale of technical choices, \TeX nicalities) can be found in \cite{tugboat}.
+
+%\begin{framed}
+%\noindent ATTENTION! \textbf{\arab{xTr!}} Because of bugs in Lua\TeX, in some cases appear mysterious blank spaces on the left of the text, word parts are duplicated, and sometimes \TeX\ breaks with an error message \texttt{This can't happen (sub\_disc\_widths).} These errors have been submitted to the Lua\TeX\ team (\url{http://tracker.luatex.org/view.php?id=912&history=1#history}), which will provide the necessary corrections \arab{'in shA| ALLh}.
+%\end{framed}
+
+\section{The name}
+
+Thanks to the Internet, search engines, social media, and the like, people are becoming more and more aware of other languages and writing systems. Why not give this package an Arabic name, be it a single letter?
+
+The author has chosen letter \arab{D}, called \emph{\d{d}\=ad}, because Arabic is traditionally called the ``language of the \emph{\d{d}\=ad},'' since this sound was considered as being unique to Arabic.
+
+The reader is probably wondering how to pronounce this letter,technically a ``voiced velarized alveolar stop'' \cite[p.~16]{ryding2014}. Here is how \cite[p.~10]{learn2} describes its pronunciation:
+
+\begin{quotation}
+Pronounce the regular sound `d' and you will find that the tip of your tongue will touch in the region of the upper front teeth/gum. Now pronounce the sound again and at the same time depress the \emph{middle} of the tongue. This has the effect of creating a larger space between the tongue and the roof of the mouth and gives the sound produced a distinctive `hollow' characteristic, which also effects the surrounding vowels. It is difficult to find a parallel in English, but the difference between `Sam' and `psalm' (standard English pronunciation) gives a clue. Tense the tongue muscles in pronouncing `psalm' and you are nearly there. Now pronounce the a-vowel of `psalm' before and after `\d{d}', saying `a\d{d}a', keeping the tongue tense, and that's as near as we can get to describing it in print.
+\end{quotation}
+
+\section{How to use \arab{D}}
+
+The package provides three PostScript Type~1 fonts (plain, bold and typewriter), ``real'' fonts (regular TFM) and large virtual fonts (OVF and OFM files). There are also rudimentary FD and STY files, a MAP file, Perl scripts for conversion to (and from) UTF-8, the Perl script which builds the font and finally adjustment files, in case the user wants to change kerning and diacritic placement.
+
+Once the package is installed, to use it just call
+\begin{verbatim}
+\usepackage{dad}
+\end{verbatim}
+
+Notice however that it requires Lua\TeX\ (for change of direction and OVF/OFM compliance).
+
+To typeset in Arabic, one uses the command \verb=\arab= (which is ``long'': paragraph changes are allowed in its argument).
+
+Arabic text can be input in transliteration, as described in Table~\ref{trans} or in Unicode UTF-8 (\S\,\ref{unicode}).
+
+{\tolerance5000 For example, to obtain \arab{AlkitAb} one would write in transliteration \verb=\arab{=\texttt{AlkitAb}\verb=}= or in Unicode \verb=\arab{=\arabtt{AlkitAb}\verb=}=. By writing \verb=\arabtt{=\texttt{AlkitAb}\verb=}= one obtains the typewriter version \arabtt{AlkitAb} (which is less appealing, but fits quite nicely with the Computer Modern Typewriter font).
+
+}
+
+\begin{table*}[t]
+\centering{\renewcommand{\arraystretch}{2}
+
+\caption{Transliteration of \arab{D} system\label{trans}}
+\begin{tabular}{|c|c||c|c||c|c||c|c||c|c||c|c|}
+\hline
+\arab{|}&\texttt{|}&\arab{'A}&\texttt{'A}&\arab{'a}&\texttt{'a}&\arab{'u}&\texttt{'u}&\arab{'i}&\texttt{'i}&\arab{'I}&\texttt{'I}\\
+\arab{A}&\texttt{A}&\arab{b}&\texttt{b}&\arab{t*}&\texttt{t*}&\arab{t}&\texttt{t}&\arab{th}&\texttt{th}&\arab{j}&\texttt{j}\\
+\arab{H}&\texttt{H}&\arab{x}&\texttt{x}&\arab{d}&\texttt{d}&\arab{dh}&\texttt{dh}&\arab{r}&\texttt{r}&\arab{z}&\texttt{z}\\
+\arab{s}&\texttt{s}&\arab{sh}&\texttt{sh}&\arab{S}&\texttt{S}&\arab{D}&\texttt{D}&\arab{T}&\texttt{T}&\arab{Z}&\texttt{Z}\\
+\arab{`}&\texttt{`}&\arab{R}&\texttt{R}&\arab{f}&\texttt{f}&\arab{q}&\texttt{q}&\arab{k}&\texttt{k}&\arab{l}&\texttt{l}\\
+\arab{m}&\texttt{m}&\arab{n}&\texttt{n}&\arab{h}&\texttt{h}&\arab{U}&\texttt{U}&\arab{I}&\texttt{I}&\arab{Y}&\texttt{Y}\\\hline
+\arab{A*}&\texttt{A*}&\arab{^^^^00fbo}&\texttt{o}&\arab{^^^^00fba}&\texttt{a}&\arab{^^^^00fbi}&\texttt{i}&\arab{^^^^00fbu}&\texttt{u}&\arab{^^^^00fbaN}&\texttt{aN}\\
+\arab{^^^^00fbiN}&\texttt{iN}&\arab{^^^^00fbuN}&\texttt{uN}&\arab{^^^^00fb+}&\texttt{+}&\arab{^^^^00fb+a}&\texttt{+a}&\arab{^^^^00fb+i}&\texttt{+i}&\arab{^^^^00fb+u}&\texttt{+u}\\
+\arab{^^^^00fb+aN}&\texttt{+aN}&\arab{^^^^00fb+iN}&\texttt{+iN}&\arab{^^^^00fb+uN}&\texttt{+uN}&\arab{^^^^00fba*}&\texttt{a*}&\arab{^^^^00fb+a*}&\texttt{+a*}&\arab{LLh}&\texttt{LLh}\\\hline
+\arab{p}&\texttt{p}&\arab{g}&\texttt{g}&\arab{C}&\texttt{C}&\arab{J}&\texttt{J}&\arab{e}&\texttt{e}&\arab{v}&\texttt{v}\\\hline
+\arab{'b}&\texttt{'b}&\arab{'n}&\texttt{'n}&\arab{'f}&\texttt{'f}&\arab{'q}&\texttt{'q}&\arab{^^^^00fba**}&\texttt{a**}&\arab{^^^^00fb+a**}&\texttt{+a**}\\\hline
+\end{tabular}
+
+}
+\end{table*}
+
+\clubpenalty10000
+
+\subsection{Rationale of the transliteration}
+
+Here are the rules of the proposed transliteration:
+\begin{enumerate}
+\item pharyngeal \arabttexample{H}, emphatic \arabttexample{S}, \arabttexample{D}, \arabttexample{T},
+\arabttexample{Z} and velar \arabttexample{R} are \emph{uppercased}---do not confuse them with glottal \arabttexample{h}, non-emphatic \arabttexample{s}, \arabttexample{d}, \arabttexample{t}, \arabttexample{z}, and alveolar \arabttexample{r};
+\item long vowels (\arabttexample{A}, \arabttexample{U}, \arabttexample{Y}) and
+\emph{\hamza$\!$alif maq\d s\=ura} (\arabttexample{I}) are also
+\emph{uppercased};
+
+\item some consonants are modified by adding a character \texttt{h} (\arabttexample{dh}, \arabttexample{th}, \arabttexample{sh});
+
+\item the stand-alone \emph{hamza} is obtained by a vertical bar \texttt{|} and letter ayn by a grave accent (which, in legacy \TeX\ produces an inverted curly apostrophe, which is sometimes used to transliterate this letter);
+
+\item to avoid confusion between pairs of letters and letters obtained by digraphs, one has to use a dash to separate characters: compare \arabttexample{s-h} and \arabttexample{sh}, or \arabttexample{t-h} and \arabttexample{th};
+
+\item more generally, the dash plays the r\^ole of \emph{zero-width joiner}\footnote{Except for the case of letter \arabttexample{dh} which is biform and hence is not connected with the following letter. By writing \arabttexample{d-h} one obtains letters \emph{d\=al} and \emph{h\=a\hamza}, but the \emph{h\=a\hamza} is not in medial form, as it would be in any other case when preceded by a dash.}: when writing \arabttexample{-b}, the letter \emph{b\=a\hamza} will be in final form; \arabttexample{b-} and \arabttexample{-b-} will produce initial and middle letters, provided of course the letter is quadriform (as is letter \emph{b\=a\hamza} in this example). This is very useful when describing grammar rules, to signify that a letter (or letter group) is an affix;
+
+\item the dash can also be used to reestablish contextual forms when combined with \TeX\ commands, for example, to colorize letters. There is only one special case: when we want to colorize a letter of an isolated ligature \arab{lA}, instead of a dash, we use digit \texttt{4}. For the final ligature \arab{-lA} it will be a digit \texttt{5}. Example: to colorize the \emph{l\=am}s of \arab{t-\textcolor{red}{-l5-}-A5\textcolor{red}{l4-}-A4}, write
+\begin{verbatim}
+\arab{t-\textcolor{red}{-l5-}-A5%
+\textcolor{red}{l4-}-A4}
+\end{verbatim}
+
+%\def\kesh{\leavevmode\leaders\hrule height\fontdimen8\hfill\kern0pt}
+
+\item finally, there is yet another use of the dash: when doubled, it produces a kashida
+%tatweel
+%(also known as ``kashida'')
+stroke: compare \arabttexample{lYl} and \arabttexample{l--Y--l}. There is also a \verb=\kesh= command for extensible kashida (it is equivalent to a \verb=\hrulefill= using the default rule thickness font dimension \verb=\fontdimen8=): \verb=l--\kesh--Y--\kesh--l.= will produce:
+
+\noindent\arab{l--\kesh--Y--\kesh--l.}
+
+\item some digraphs start with an apostrophe: it is the case of \emph{hamza}-carriers \arabttexample{'a}, \arabttexample{'i}, \arabttexample{'u}, \arabttexample{'I}, \arabttexample{'A} but also of undotted letters \emph{b\=a\hamza} \arabttexample{'b}, \emph{n\=un} \arabttexample{'n}, \emph{f\=a\hamza} \arabttexample{'f} and \emph{q\=af} \arabttexample{'q};
+
+\item other digraphs end with one or more asterisks: the most frequent one is the \emph{t\=a\hamza\ marbu\d{t}a} \arabttexample{t*} (which can be used also in initial and medial, and then becomes a regular \emph{t\=a\hamza}). The asterisk is also used for the \emph{Ua\d{s}la} (which is only placed on the \emph{\hamza$\!$alif}) \arabttexample{A*} as well as for the vertical \emph{fat\d{h}a} (as in \arabttexample{ha*dhA}) and the \emph{madda}. The latter is normally used only on the \emph{\hamza$\!$alif} (\arabttexample{'A}) but can be found also in the notorious \emph{muqa\d t\d ta\ayn\=at} in the Koran, as in \arab{`a**sa**qa**} (\emph{Koran} 42:2) or \arab{ka**ha*Ya*`a**Sa**} (\emph{Koran} 19:1)---sometimes it is even combined with a \emph{\v{s}adda} (as in \arab{Ala**m+a**Sa**}, \emph{Koran} 7:1 and \cite[p.~111]{syed} for the \emph{\v{s}adda});
+
+\item there is a special transcription for the ligature \arabttexample{LLh} used for the \arab{اسم الجلالة} ``noun of majesty,'' which is the name of God \arab{ALLh}: in this case---and in this case only---an uppercase \texttt{L} is used. The reason is that we wish to avoid ambiguity with other uses of the trigram \emph{l\=am}-\emph{l\=am}-\emph{h\=a\hamza}, for example \arab{YuDolilohu} (\emph{Koran} 6:39) where we encounter letters \arab{llh} but not with the meaning ``God.'' Contrarily to other systems, the \arab{LLh} ligature is available also in final form (for \arab{faLiLhi} which occurs six times in the Koran, for example \emph{Koran} 6:149), and it is possible to add diacritics to its first glyph (as in \arab{UaLiLhi}, \emph{Koran} 2:115 or \arab{L+iLhi}, \emph{Koran} 2:165).
+\end{enumerate}
+
+\begin{figure*}[p]
+\arab{\begin{center}
+\textbf{rbA`YAt AlxYAm}
+
+\medskip
+
+\begin{minipage}{10cm}
+sm`t SUtA hAtfA fY AlsH--\kesh--r n--\kesh--AdI mn AlRYb rfAt Albsh--\kesh--r\\
+hbUA Aml'aUA k'as AlmnI qb--\kesh--l 'an tml'a k--\kesh--'as Al`m--\kesh--r kf Alq--\kesh--dr\\
+lA tshRl AlbAl bmADY Alzm--\kesh--An UlA b--\kesh--'At Al`Y--\kesh--sh qb--\kesh--l Al'aUAn\\
+U'aR--\kesh--nm mn AlHAD--\kesh--r ldhAt--\kesh--h flYs f--\kesh--Y Tb--\kesh--` AllYAl--\kesh--Y Al'am--\kesh--An\\
+Rd bZhr AlRYb UAlYUm l--\kesh--Y Ukm YxYb AlZ--\kesh--n f--\kesh--Y Almqb--\kesh--l\\
+Uls--\kesh--t bAlRAf--\kesh--l Ht--\kesh--I 'arI jm--\kesh--Al dnY--\kesh--AY U lA Ajtl--\kesh--I\\
+Alqlb qd 'aDnAh `shq Aljm--\kesh--Al UAlS--\kesh--dr q--\kesh--d D--\kesh--Aq bm--\kesh--A lA Yq--\kesh--Al\\
+YA rb hl YrDYk hdhA AlZlm--\kesh--A UAlm--\kesh--A| Yns--\kesh--Ab 'am--\kesh--Am--\kesh--Y zlAl\\
+'aUlI bhdhA Alqlb 'an Yxfq--\kesh--A U fY RrAm AlH--\kesh--b 'an YHtrq--\kesh--A\\
+mA 'aDY` AlYUm AldhY m--\kesh--r b--\kesh--Y mn RYr 'an 'ahUI U 'an 'a`shq--\kesh--A\\
+'afq xfYf AlZl hdhA AlsH--\kesh--r n--\kesh--AdI d` Aln--\kesh--Um Un--\kesh--AR AlUt--\kesh--r\\
+fm--\kesh--A 'aT--\kesh--Al Aln--\kesh--Um `m--\kesh--rA UlA qSr mn Al'a`mAr TUl Als-h--\kesh--r\\
+fk--\kesh--m tUl--\kesh--I AllY--\kesh--l b`--\kesh--d Alnh--\kesh--Ar UT--\kesh--Al bAl'anj--\kesh--m h--\kesh--dhA Alm--\kesh--dAr\\
+f'amsh AlhUYnt* 'an hdhA Alc--\kesh--rI m--\kesh--n 'a`Y--\kesh--n sAH--\kesh--rt* AlAH--\kesh--UrAr\\
+lA tUHsh Alnfs bxUf AlZn--\kesh--Un U'aRnm mn AlHADr 'amn AlYqY--\kesh--n\\
+fqd tsAUI fY AlcrI rAH--\kesh--l RdA UmAD mn AlUf AlsnY--\kesh--n\\
+ATf'I lZI Alqlb bshhd AlrD--\kesh--Ab f'inm--\kesh--A Al'aY--\kesh--Am mc--\kesh--l AlsH--\kesh--Ab\\
+U`Yshn--\kesh--A TY--\kesh--f xY--\kesh--Al fn--\kesh--l HZ--\kesh--k mn--\kesh--h qb--\kesh--l f--\kesh--Ut Alshb--\kesh--Ab\\
+lbst cUb Al`Ysh lm Astsh--\kesh--r UH--\kesh--rt fY--\kesh--h bY--\kesh--n sht--\kesh--I Alfk--\kesh--r\\
+UsUf 'anDU AlcUb `nY Ul--\kesh--m 'adrk lm--\kesh--AdhA j'I--\kesh--t 'aY--\kesh--n AlmR--\kesh--r\\
+YA mn YHAr Alfhm fY qdrt--\kesh--k UtTl--\kesh--b Alnf--\kesh--s Hm--\kesh--I TA`t--\kesh--k\\
+Askrn--\kesh--Y Al'ic--\kesh--m U lknn--\kesh--Y SH--\kesh--Ut bAl'am--\kesh--Al f--\kesh--Y rHmt--\kesh--k\\
+'in lm 'akn 'axlSt fY TA`t--\kesh--k f'inn--\kesh--Y 'aTm--\kesh--` f--\kesh--Y rHmt--\kesh--k\\
+U'inm--\kesh--A Yshf--\kesh--` l--\kesh--Y b'ann--\kesh--Y q--\kesh--d `sh--\kesh--t lA 'ash--\kesh--rk fY UHdt--\kesh--k\\
+nxfY `n AlnAs snI Tl`t--\kesh--k f'inn--\kesh--Y 'aTm--\kesh--` f--\kesh--Y rHmt--\kesh--k\\
+f'an--\kesh--t mj--\kesh--lAh U'an--\kesh--t Al--\kesh--dhY t--\kesh--rI bdY--\kesh--` AlSn--\kesh--` f--\kesh--Y 'AYt--\kesh--k\\
+An tfDl AlqTrt* mn bHrh--\kesh--A ff--\kesh--Y m--\kesh--dAh--\kesh--A mnt-h--\kesh--I 'amrh--\kesh--A\\
+tqArb--\kesh--t Y--\kesh--A rb m--\kesh--A bYnn--\kesh--A msAf--\kesh--t* Alb`--\kesh--d `l--\kesh--I qdrh--\kesh--A\\
+YA `Alm Al'asrAr `lm AlYq--\kesh--Y--\kesh--n Y--\kesh--A kAsh--\kesh--f AlD--\kesh--r `--\kesh--n AlbA'IsY--\kesh--n\\
+Y--\kesh--A qAb--\kesh--l Al'a`--\kesh--dhAr `dn--\kesh--A 'il--\kesh--I Zl--\kesh--k f'aqb--\kesh--l tUb--\kesh--t* AltA'IbY--\kesh--n
+\end{minipage}
+\end{center}}
+\caption{The lyrics of the song \arab{rbA`YAt AlxYAm} (Oum Kalthoum, 1950) \cite{oum}\label{oum}}
+\end{figure*}
+
+\begin{figure*}[p]
+
+\kern-2cm
+
+\scriptsize
+\begin{verbatim}
+\documentclass{article}
+\usepackage{dad}
+\begin{document}
+\arab{
+\begin{center}
+\textbf{rbA`YAt AlxYAm}
+
+\medskip
+
+\begin{minipage}{10cm}
+sm`t SUtA hAtfA fY AlsH--\kesh--r n--\kesh--AdI mn AlRYb rfAt Albsh--\kesh--r\\
+hbUA Aml'aUA k'as AlmnI qb--\kesh--l 'an tml'a k--\kesh--'as Al`m--\kesh--r kf
+Alq--\kesh--dr\\
+lA tshRl AlbAl bmADY Alzm--\kesh--An UlA b--\kesh--'At Al`Y--\kesh--sh qb--\kesh--l
+Al'aUAn\\
+U'aR--\kesh--nm mn AlHAD--\kesh--r ldhAt--\kesh--h flYs f--\kesh--Y Tb--\kesh--`
+AllYAl--\kesh--Y Al'am--\kesh--An\\
+Rd bZhr AlRYb UAlYUm l--\kesh--Y Ukm YxYb AlZ--\kesh--n f--\kesh--Y Almqb--\kesh--l\\
+Uls--\kesh--t bAlRAf--\kesh--l Ht--\kesh--I 'arI jm--\kesh--Al dnY--\kesh--AY U
+lA Ajtl--\kesh--I\\
+Alqlb qd 'aDnAh `shq Aljm--\kesh--Al UAlS--\kesh--dr q--\kesh--d D--\kesh--Aq bm--\kesh--A
+lA Yq--\kesh--Al\\
+YA rb hl YrDYk hdhA AlZlm--\kesh--A UAlm--\kesh--A| Yns--\kesh--Ab 'am--\kesh--Am--\kesh--Y
+zlAl\\
+'aUlI bhdhA Alqlb 'an Yxfq--\kesh--A U fY RrAm AlH--\kesh--b 'an YHtrq--\kesh--A\\
+mA 'aDY` AlYUm AldhY m--\kesh--r b--\kesh--Y mn RYr 'an 'ahUI U 'an 'a`shq--\kesh--A\\
+'afq xfYf AlZl hdhA AlsH--\kesh--r n--\kesh--AdI d` Aln--\kesh--Um Un--\kesh--AR
+AlUt--\kesh--r\\
+fm--\kesh--A 'aT--\kesh--Al Aln--\kesh--Um `m--\kesh--rA UlA qSr mn Al'a`mAr TUl
+Als-h--\kesh--r\\
+fk--\kesh--m tUl--\kesh--I AllY--\kesh--l b`--\kesh--d Alnh--\kesh--Ar UT--\kesh--Al
+bAl'anj--\kesh--m h--\kesh--dhA Alm--\kesh--dAr\\
+f'amsh AlhUYnt* 'an hdhA Alc--\kesh--rI m--\kesh--n 'a`Y--\kesh--n sAH--\kesh--rt*
+AlAH--\kesh--UrAr\\
+lA tUHsh Alnfs bxUf AlZn--\kesh--Un U'aRnm mn AlHADr 'amn AlYqY--\kesh--n\\
+fqd tsAUI fY AlcrI rAH--\kesh--l RdA UmAD mn AlUf AlsnY--\kesh--n\\
+ATf'I lZI Alqlb bshhd AlrD--\kesh--Ab f'inm--\kesh--A Al'aY--\kesh--Am mc--\kesh--l
+AlsH--\kesh--Ab\\
+U`Yshn--\kesh--A TY--\kesh--f xY--\kesh--Al fn--\kesh--l HZ--\kesh--k mn--\kesh--h
+qb--\kesh--l f--\kesh--Ut Alshb--\kesh--Ab\\
+lbst cUb Al`Ysh lm Astsh--\kesh--r UH--\kesh--rt fY--\kesh--h bY--\kesh--n sht--\kesh--I
+Alfk--\kesh--r\\
+UsUf 'anDU AlcUb `nY Ul--\kesh--m 'adrk lm--\kesh--AdhA j'I--\kesh--t 'aY--\kesh--n
+AlmR--\kesh--r\\
+YA mn YHAr Alfhm fY qdrt--\kesh--k UtTl--\kesh--b Alnf--\kesh--s Hm--\kesh--I TA`t--\kesh--k\\
+Askrn--\kesh--Y Al'ic--\kesh--m U lknn--\kesh--Y SH--\kesh--Ut bAl'am--\kesh--Al
+f--\kesh--Y rHmt--\kesh--k\\
+'in lm 'akn 'axlSt fY TA`t--\kesh--k f'inn--\kesh--Y 'aTm--\kesh--` f--\kesh--Y
+rHmt--\kesh--k\\
+U'inm--\kesh--A Yshf--\kesh--` l--\kesh--Y b'ann--\kesh--Y q--\kesh--d `sh--\kesh--t
+lA 'ash--\kesh--rk fY UHdt--\kesh--k\\
+nxfY `n AlnAs snI Tl`t--\kesh--k f'inn--\kesh--Y 'aTm--\kesh--` f--\kesh--Y rHmt--\kesh--k\\
+f'an--\kesh--t mj--\kesh--lAh U'an--\kesh--t Al--\kesh--dhY t--\kesh--rI bdY--\kesh--`
+AlSn--\kesh--` f--\kesh--Y 'AYt--\kesh--k\\
+An tfDl AlqTrt* mn bHrh--\kesh--A ff--\kesh--Y m--\kesh--dAh--\kesh--A mnt-h--\kesh--I
+'amrh--\kesh--A\\
+tqArb--\kesh--t Y--\kesh--A rb m--\kesh--A bYnn--\kesh--A msAf--\kesh--t* Alb`--\kesh--d
+`l--\kesh--I qdrh--\kesh--A\\
+YA `Alm Al'asrAr `lm AlYq--\kesh--Y--\kesh--n Y--\kesh--A kAsh--\kesh--f AlD--\kesh--r
+`--\kesh--n AlbA'IsY--\kesh--n\\
+Y--\kesh--A qAb--\kesh--l Al'a`--\kesh--dhAr `dn--\kesh--A 'il--\kesh--I Zl--\kesh--k
+f'aqb--\kesh--l tUb--\kesh--t* AltA'IbY--\kesh--n
+\end{minipage}
+\end{center}
+}
+\end{document}
+\end{verbatim}
+\caption{\TeX\ code of Fig.~\ref{oum}, transliterated input}
+\end{figure*}
+
+\begin{figure*}[p]
+
+\kern-2cm
+
+\scriptsize
+\begin{verbatim}
+\documentclass{article}
+\usepackage{dad}
+\begin{document}
+\arab{
+\begin{center}
+\end{verbatim}
+
+\kern-1.2\baselineskip
+
+\verb=\textbf{=\arabtt{rbA`YAt AlxYAm}\verb=}=
+
+\kern-1.2\baselineskip
+
+\begin{verbatim}
+
+\medskip
+
+\begin{minipage}{10cm}
+\end{verbatim}
+\def\CRCRCR{\textbackslash\textbackslash\\}
+\arabtt{sm`t SUtA hAtfA fY AlsH--\textbackslash tT --r n--\textbackslash tT --AdI mn AlRYb rfAt Albsh--\textbackslash tT --r\CRCRCR
+hbUA Aml'aUA k'as AlmnI qb--\textbackslash tT --l 'an tml'a k--\textbackslash tT --'as Al`m--\textbackslash tT --r kf
+Alq--\textbackslash tT --dr\CRCRCR
+lA tshRl AlbAl bmADY Alzm--\textbackslash tT --An UlA b--\textbackslash tT --'At Al`Y--\textbackslash tT --sh qb--\textbackslash tT --l
+Al'aUAn\CRCRCR
+U'aR--\textbackslash tT --nm mn AlHAD--\textbackslash tT --r ldhAt--\textbackslash tT --h flYs f--\textbackslash tT --Y Tb--\textbackslash tT --`
+AllYAl--\textbackslash tT --Y Al'am--\textbackslash tT --An\CRCRCR
+Rd bZhr AlRYb UAlYUm l--\textbackslash tT --Y Ukm YxYb AlZ--\textbackslash tT --n f--\textbackslash tT --Y Almqb--\textbackslash tT --l\CRCRCR
+Uls--\textbackslash tT --t bAlRAf--\textbackslash tT --l Ht--\textbackslash tT --I 'arI jm--\textbackslash tT --Al dnY--\textbackslash tT --AY U
+lA Ajtl--\textbackslash tT --I\CRCRCR
+Alqlb qd 'aDnAh `shq Aljm--\textbackslash tT --Al UAlS--\textbackslash tT --dr q--\textbackslash tT --d D--\textbackslash tT --Aq bm--\textbackslash tT --A
+lA Yq--\textbackslash tT --Al\CRCRCR
+YA rb hl YrDYk hdhA AlZlm--\textbackslash tT --A UAlm--\textbackslash tT --A| Yns--\textbackslash tT --Ab 'am--\textbackslash tT --Am--\textbackslash tT --Y
+zlAl\CRCRCR
+'aUlI bhdhA Alqlb 'an Yxfq--\textbackslash tT --A U fY RrAm AlH--\textbackslash tT --b 'an YHtrq--\textbackslash tT --A\CRCRCR
+mA 'aDY` AlYUm AldhY m--\textbackslash tT --r b--\textbackslash tT --Y mn RYr 'an 'ahUI U 'an 'a`shq--\textbackslash tT --A\CRCRCR
+'afq xfYf AlZl hdhA AlsH--\textbackslash tT --r n--\textbackslash tT --AdI d` Aln--\textbackslash tT --Um Un--\textbackslash tT --AR\\
+AlUt--\textbackslash tT --r\CRCRCR
+fm--\textbackslash tT --A 'aT--\textbackslash tT --Al Aln--\textbackslash tT --Um `m--\textbackslash tT --rA UlA qSr mn Al'a`mAr TUl
+Als-h--\textbackslash tT --r\CRCRCR
+fk--\textbackslash tT --m tUl--\textbackslash tT --I AllY--\textbackslash tT --l b`--\textbackslash tT --d Alnh--\textbackslash tT --Ar UT--\textbackslash tT --Al
+bAl'anj--\textbackslash tT --m h--\textbackslash tT --dhA Alm--\textbackslash tT --dAr\CRCRCR
+f'amsh AlhUYnt* 'an hdhA Alc--\textbackslash tT --rI m--\textbackslash tT --n 'a`Y--\textbackslash tT --n sAH--\textbackslash tT --rt*
+AlAH--\textbackslash tT --UrAr\CRCRCR
+lA tUHsh Alnfs bxUf AlZn--\textbackslash tT --Un U'aRnm mn AlHADr 'amn AlYqY--\textbackslash tT --n\CRCRCR
+fqd tsAUI fY AlcrI rAH--\textbackslash tT --l RdA UmAD mn AlUf AlsnY--\textbackslash tT --n\CRCRCR
+ATf'I lZI Alqlb bshhd AlrD--\textbackslash tT --Ab f'inm--\textbackslash tT --A Al'aY--\textbackslash tT --Am mc--\textbackslash tT --l
+AlsH--\textbackslash tT --Ab\CRCRCR
+U`Yshn--\textbackslash tT --A TY--\textbackslash tT --f xY--\textbackslash tT --Al fn--\textbackslash tT --l HZ--\textbackslash tT --k mn--\textbackslash tT --h
+qb--\textbackslash tT --l f--\textbackslash tT --Ut Alshb--\textbackslash tT --Ab\CRCRCR
+lbst cUb Al`Ysh lm Astsh--\textbackslash tT --r UH--\textbackslash tT --rt fY--\textbackslash tT --h bY--\textbackslash tT --n sht--\textbackslash tT --I
+Alfk--\textbackslash tT --r\CRCRCR
+UsUf 'anDU AlcUb `nY Ul--\textbackslash tT --m 'adrk lm--\textbackslash tT --AdhA j'I--\textbackslash tT --t 'aY--\textbackslash tT --n
+AlmR--\textbackslash tT --r\CRCRCR
+YA mn YHAr Alfhm fY qdrt--\textbackslash tT --k UtTl--\textbackslash tT --b Alnf--\textbackslash tT --s Hm--\textbackslash tT --I TA`t--\textbackslash tT --k\CRCRCR
+Askrn--\textbackslash tT --Y Al'ic--\textbackslash tT --m U lknn--\textbackslash tT --Y SH--\textbackslash tT --Ut bAl'am--\textbackslash tT --Al
+f--\textbackslash tT --Y rHmt--\textbackslash tT --k\CRCRCR
+'in lm 'akn 'axlSt fY TA`t--\textbackslash tT --k f'inn--\textbackslash tT --Y 'aTm--\textbackslash tT --` f--\textbackslash tT --Y
+rHmt--\textbackslash tT --k\CRCRCR
+U'inm--\textbackslash tT --A Yshf--\textbackslash tT --` l--\textbackslash tT --Y b'ann--\textbackslash tT --Y q--\textbackslash tT --d `sh--\textbackslash tT --t
+lA 'ash--\textbackslash tT --rk fY UHdt--\textbackslash tT --k\CRCRCR
+nxfY `n AlnAs snI Tl`t--\textbackslash tT --k f'inn--\textbackslash tT --Y 'aTm--\textbackslash tT --` f--\textbackslash tT --Y rHmt--\textbackslash tT --k\CRCRCR
+f'an--\textbackslash tT --t mj--\textbackslash tT --lAh U'an--\textbackslash tT --t Al--\textbackslash tT --dhY t--\textbackslash tT --rI bdY--\textbackslash tT --`
+AlSn--\textbackslash tT --` f--\textbackslash tT --Y 'AYt--\textbackslash tT --k\CRCRCR
+An tfDl AlqTrt* mn bHrh--\textbackslash tT --A ff--\textbackslash tT --Y m--\textbackslash tT --dAh--\textbackslash tT --A mnt-h--\textbackslash tT --I
+'amrh--\textbackslash tT --A\CRCRCR
+tqArb--\textbackslash tT --t Y--\textbackslash tT --A rb m--\textbackslash tT --A bYnn--\textbackslash tT --A msAf--\textbackslash tT --t* Alb`--\textbackslash tT --d
+`l--\textbackslash tT --I qdrh--\textbackslash tT --A\CRCRCR
+YA `Alm Al'asrAr `lm AlYq--\textbackslash tT --Y--\textbackslash tT --n Y--\textbackslash tT --A kAsh--\textbackslash tT --f AlD--\textbackslash tT --r
+`--\textbackslash tT --n AlbA'IsY--\textbackslash tT --n\CRCRCR
+Y--\textbackslash tT --A qAb--\textbackslash tT --l Al'a`--\textbackslash tT --dhAr `dn--\textbackslash tT --A 'il--\textbackslash tT --I Zl--\textbackslash tT --k
+f'aqb--\textbackslash tT --l tUb--\textbackslash tT --t*\\
+AltA'IbY--\textbackslash tT --n\hfill}
+\begin{verbatim}
+\end{minipage}
+\end{center}
+}
+\end{document}
+\end{verbatim}
+\caption{\TeX\ code of Fig.~\ref{oum}, Unicode input}
+\end{figure*}
+
+\subsection{Unicode input}\label{unicode}
+
+Input can be transliterated or provided directly in Unicode Arabic: \texttt{\textbackslash arab\{YAnis\}} or \texttt{\textbackslash arab\{\arabtt{YAn--is}\}} or even \texttt{\textbackslash arab\{\arabtt{YA}\,nis\}} or \texttt{\textbackslash arab\{YA\,\arabtt{n--is}\}} will produce the same result: \arab{YAnis}.
+
+All cells of Table~\ref{trans} can be obtained by the corresponding Unicode characters (mostly via a single character, except for \emph{\v{s}adda} + vowel combinations which require two characters). There is a special case, though: the \arab{LLh} ligature (see next section).
+
+For the convenience of the user who wants to write kashida (so that Arabic input is not disrupted) we have defined a command (in Arabic characters) \arabtt{tT}\textbackslash{} (\arab{tT} are the first two letters of \arab{tTUYl} = \emph{ta\d{t}Uyl}, the Arabic name of kashida) which is exactly equivalent to \verb=\kesh= and has to be placed between Unicode \textsc{U+0640 arabic tatwell} characters.
+
+\subsubsection{The \arab{LLh} ligature and Unicode}\label{allah}
+
+The \arab{LLh} ligature is traditionally used for writing the name of God: \arab{ALLh}. It can be found in religious texts, but also in expressions (for example, \arab{'in shA| ALLh} which means ``hopefully'' appears even in French language as \emph{inchallah} and in Portuguese as \emph{oxal\'a}) and in the very common surname \arab{`bd ALLh} Abdallah.
+
+The problem with this ligature is that it contains a rather rare diacritic (a \emph{\v{s}adda} combined with a vertical \emph{fat\d{h}a}---the latter us available on Apple Arabic keyboard layout but not on the Microsoft one) and, as a convenience, most standard fonts will replace the character string \emph{l\=am}-\emph{l\=am}-\emph{h\=a\hamza} (which would normally look like \arab{llh}) by the complete ligature \arab{LLh} (in other words: the font not only changes the glyphs but, at the same time, also adds the diacritics). This behavior is barely legitimate: a ligature (as in `fi' or `\arab{lA}') is normally limited to a change of glyphs, and should not add new characters (in this case, characters \textsc{U+0651 arabic shadda} and \textsc{U+0671 arabic letter superscript alef}) since this means that what is rendered does not correspond anymore to the underlying Unicode character string.
+
+Nevertheless, for the user's convenience, we have adopted that behavior also in \arab{D}, but only in the case of Unicode input. Therefore when the user types Unicode \emph{l\=am}-\emph{l\=am}-\emph{h\=a\hamza} (the first \emph{l\=am} must not be preceded by a quadriform letter), the system will produce the \arab{LLh} ligature.
+
+This method will not work if a diacritic is inserted between the two \emph{l\=am}s, or if the first \emph{l\=am} follows a quadriform letter and hence will be medial. For that case, we have defined a macro \arabtt{llh}\verb=/= (the macro name is in Arabic script so that right-to-left direction is not disrupted) which takes an argument: the vowel between the two \emph{l\=am}s. Hence, to obtain \arab{faLiLhi} the user can choose between one of the following two:
+\begin{quote}
+\arabtt{^^^^00fbi}\texttt{\{}\arabtt{^^^^00fbi}\texttt{\}}\arabtt{llh}\texttt{/}\arabtt{f--a}\\[6pt]
+\texttt{faLiLhi}
+\end{quote}
+(The dotted circle, used to show the combining nature of short vowels and other diacritics, can be obtained by the macros \verb=\arabdottedcircle= or \arabtt{dA'Irt*}\verb=/= with the macro name in Arabic script.)
+
+\begin{figure*}
+{\centering
+
+\begin{tikzpicture}[->,>=stealth',x=2cm,y=2cm,auto,node distance=3cm,
+ thick,main node/.style={circle,inner sep=1pt,draw,align=center,font=\small}]
+
+\node[main node] (8) at (-1,1) {$\emptyset$};
+\node[main node] (1) at (0,1) {$l_0$\\\arab{l}};
+\node[main node] (2) at (1.5,1) {$ll_0$\\\arab{ll}};
+\node[main node] (3) at (3,1) {$ll_5A_3$\\\arab{llA}};
+\node[main node] (4) at (3,0) {$ll_1k_3$\\\arab{llk}};
+\node[main node] (5) at (2,0) {$LLh_0$\\\arab{LLh}};
+\node[main node] (6) at (1,0) {$l_1k_3$\\\arab{lk}};
+\node[main node] (7) at (0,0) {$l_4A_4$\\\arab{lA}};
+
+\path[every node/.style={font=\small}]
+(8) edge node {$l_0$ \arab{l}} (1)
+(1) edge node {$l_0$ \arab{l}} (2)
+(2) edge node {$A_0$ \arab{A}} (3)
+(2) edge node {$k_0$ \arab{k}} (4)
+(2) edge node {$h_0$ \arab{h}} (5)
+(1) edge node {$k_0$ \arab{k}} (6)
+(1) edge node {$A_0$ \arab{A}} (7)
+;
+\end{tikzpicture}
+
+}
+\caption{Finite state automaton starting with an isolated \emph{l\=am} (\emph{\hamza$\!$alif} \arab{A} stands for the set of letter $\mathcal{A}={}\{$ \arab{A}, \arab{'a}, \arab{'i}, \arab{'A}, \arab{A*} $\}$; \arab{k} stands for any Arabic letter besides \arab{h} and set $\mathcal{A}$.\label{fsa}}
+\end{figure*}
+
+\section{\TeX nicalities}\label{technica}
+
+More information about \arab{D} (history, evolution, rationale of technical choices, \TeX nicalities) can be found in \cite{tugboat}.
+
+\bibliographystyle{plain} % we recommend the plain bibliography style
+\bibliography{dad-user-guide} % xampl.bib comes with BibTeX
+
+\end{document} \ No newline at end of file
diff --git a/language/arabic/dad/dad.adjust b/language/arabic/dad/dad.adjust
new file mode 100644
index 0000000000..c22301215f
--- /dev/null
+++ b/language/arabic/dad/dad.adjust
@@ -0,0 +1,492 @@
+KRN alif0 he0 -100
+KRN alif0 khe0 -100
+KRN alif0 dzim0 -100
+KRN alif0 tche0 -100
+KRN alifuphamza0 he0 -100
+KRN alifuphamza0 khe0 -100
+KRN alifuphamza0 dzim0 -100
+KRN alifuphamza0 tche0 -100
+KRN aliflohamza0 he0 -100
+KRN aliflohamza0 khe0 -100
+KRN aliflohamza0 dzim0 -100
+KRN aliflohamza0 tche0 -100
+KRN alifwasla0 he0 -100
+KRN alifwasla0 khe0 -100
+KRN alifwasla0 dzim0 -100
+KRN alifwasla0 tche0 -100
+KRN alifmadda0 he0 -100
+KRN alifmadda0 khe0 -100
+KRN alifmadda0 dzim0 -100
+KRN alifmadda0 tche0 -100
+KRN alif3 he0 -100
+KRN alif3 khe0 -100
+KRN alif3 dzim0 -100
+KRN alif3 tche0 -100
+KRN alifuphamza3 he0 -100
+KRN alifuphamza3 khe0 -100
+KRN alifuphamza3 dzim0 -100
+KRN alifuphamza3 tche0 -100
+KRN aliflohamza3 he0 -100
+KRN aliflohamza3 khe0 -100
+KRN aliflohamza3 dzim0 -100
+KRN aliflohamza3 tche0 -100
+KRN alifwasla3 he0 -100
+KRN alifwasla3 khe0 -100
+KRN alifwasla3 dzim0 -100
+KRN alifwasla3 tche0 -100
+KRN alifmadda3 he0 -100
+KRN alifmadda3 khe0 -100
+KRN alifmadda3 dzim0 -100
+KRN alifmadda3 tche0 -100
+KRN alif4 he0 -100
+KRN alif4 khe0 -100
+KRN alif4 dzim0 -100
+KRN alif4 tche0 -100
+KRN alifuphamza4 he0 -100
+KRN alifuphamza4 khe0 -100
+KRN alifuphamza4 dzim0 -100
+KRN alifuphamza4 tche0 -100
+KRN aliflohamza4 he0 -100
+KRN aliflohamza4 khe0 -100
+KRN aliflohamza4 dzim0 -100
+KRN aliflohamza4 tche0 -100
+KRN alifwasla4 he0 -100
+KRN alifwasla4 khe0 -100
+KRN alifwasla4 dzim0 -100
+KRN alifwasla4 tche0 -100
+KRN alifmadda43 he0 -100
+KRN alifmadda43 khe0 -100
+KRN alifmadda43 dzim0 -100
+KRN alifmadda43 tche0 -100
+KRN alif5 he0 -100
+KRN alif5 khe0 -100
+KRN alif5 dzim0 -100
+KRN alif5 tche0 -100
+KRN alifuphamza5 he0 -100
+KRN alifuphamza5 khe0 -100
+KRN alifuphamza5 dzim0 -100
+KRN alifuphamza5 tche0 -100
+KRN aliflohamza5 he0 -100
+KRN aliflohamza5 khe0 -100
+KRN aliflohamza5 dzim0 -100
+KRN aliflohamza5 tche0 -100
+KRN alifwasla5 he0 -100
+KRN alifwasla5 khe0 -100
+KRN alifwasla5 dzim0 -100
+KRN alifwasla5 tche0 -100
+KRN alifmadda5 he0 -100
+KRN alifmadda5 khe0 -100
+KRN alifmadda5 dzim0 -100
+KRN alifmadda5 tche0 -100
+KRN alif0 ayn0 -150
+KRN alif0 ghayn0 -150
+KRN alifuphamza0 ayn0 -150
+KRN alifuphamza0 ghayn0 -150
+KRN aliflohamza0 ayn0 -150
+KRN aliflohamza0 ghayn0 -150
+KRN alifwasla0 ayn0 -150
+KRN alifwasla0 ghayn0 -150
+KRN alifmadda0 ayn0 -150
+KRN alifmadda0 ghayn0 -150
+KRN alif3 ayn0 -150
+KRN alif3 ghayn0 -150
+KRN alifuphamza3 ayn0 -150
+KRN alifuphamza3 ghayn0 -150
+KRN aliflohamza3 ayn0 -150
+KRN aliflohamza3 ghayn0 -150
+KRN alifwasla3 ayn0 -150
+KRN alifwasla3 ghayn0 -150
+KRN alifmadda3 ayn0 -150
+KRN alifmadda3 ghayn0 -150
+KRN alif4 ayn0 -150
+KRN alif4 ghayn0 -150
+KRN alifuphamza4 ayn0 -150
+KRN alifuphamza4 ghayn0 -150
+KRN aliflohamza4 ayn0 -150
+KRN aliflohamza4 ghayn0 -150
+KRN alifwasla4 ayn0 -150
+KRN alifwasla4 ghayn0 -150
+KRN alifmadda43 ayn0 -150
+KRN alifmadda43 ghayn0 -150
+KRN alif5 ayn0 -150
+KRN alif5 ghayn0 -150
+KRN alifuphamza5 ayn0 -150
+KRN alifuphamza5 ghayn0 -150
+KRN aliflohamza5 ayn0 -150
+KRN aliflohamza5 ghayn0 -150
+KRN alifwasla5 ayn0 -150
+KRN alifwasla5 ghayn0 -150
+KRN alifmadda5 ayn0 -150
+KRN alifmadda5 ghayn0 -150
+KRN ra0 he0 -100
+KRN ra0 khe0 -100
+KRN ra0 dzim0 -100
+KRN ra0 tche0 -100
+KRN ra3 he0 -100
+KRN ra3 khe0 -100
+KRN ra3 dzim0 -100
+KRN ra3 tche0 -100
+KRN za0 he0 -100
+KRN za0 khe0 -100
+KRN za0 dzim0 -100
+KRN za0 tche0 -100
+KRN za3 he0 -100
+KRN za3 khe0 -100
+KRN za3 dzim0 -100
+KRN za3 tche0 -100
+KRN zhe0 he0 -100
+KRN zhe0 khe0 -100
+KRN zhe0 dzim0 -100
+KRN zhe0 tche0 -100
+KRN zhe3 he0 -100
+KRN zhe3 khe0 -100
+KRN zhe3 dzim0 -100
+KRN zhe3 tche0 -100
+KRN ra0 ayn0 -100
+KRN ra0 ghayn0 -100
+KRN ra3 ayn0 -100
+KRN ra3 ghayn0 -100
+KRN za0 ayn0 -100
+KRN za0 ghayn0 -100
+KRN za3 ayn0 -100
+KRN za3 ghayn0 -100
+KRN zhe0 ayn0 -100
+KRN zhe0 ghayn0 -100
+KRN zhe3 ayn0 -100
+KRN zhe3 ghayn0 -100
+KRN ra0 he0 -100
+KRN ra0 khe0 -100
+KRN ra0 dzim0 -100
+KRN ra0 tche0 -100
+KRN ra3 he0 -100
+KRN ra3 khe0 -100
+KRN ra3 dzim0 -100
+KRN ra3 tche0 -100
+KRN za0 he0 -100
+KRN za0 khe0 -100
+KRN za0 dzim0 -100
+KRN za0 tche0 -100
+KRN za3 he0 -100
+KRN za3 khe0 -100
+KRN za3 dzim0 -100
+KRN za3 tche0 -100
+KRN zhe0 he0 -100
+KRN zhe0 khe0 -100
+KRN zhe0 dzim0 -100
+KRN zhe0 tche0 -100
+KRN zhe3 he0 -100
+KRN zhe3 khe0 -100
+KRN zhe3 dzim0 -100
+KRN zhe3 tche0 -100
+KRN ra0 alif0 -100
+KRN ra0 alifuphamza0 -100
+KRN ra0 aliflohamza0 -100
+KRN ra0 alifwasla0 -100
+KRN ra0 alifmadda0 -100
+KRN ra3 alif0 -100
+KRN ra3 alifuphamza0 -100
+KRN ra3 aliflohamza0 -100
+KRN ra3 alifwasla0 -100
+KRN ra3 alifmadda0 -100
+# KRN za0 alif0 -100
+# KRN za0 alifuphamza0 -100
+# KRN za0 aliflohamza0 -100
+# KRN za0 alifwasla0 -100
+# KRN za0 alifmadda0 -100
+# KRN za3 alif0 -100
+# KRN za3 alifuphamza0 -100
+# KRN za3 aliflohamza0 -100
+# KRN za3 alifwasla0 -100
+# KRN za3 alifmadda0 -100
+# KRN zhe0 alif0 -100
+# KRN zhe0 alifuphamza0 -100
+# KRN zhe0 aliflohamza0 -100
+# KRN zhe0 alifwasla0 -100
+# KRN zhe0 alifmadda0 -100
+# KRN zhe3 alif0 -100
+# KRN zhe3 alifuphamza0 -100
+# KRN zhe3 aliflohamza0 -100
+# KRN zhe3 alifwasla0 -100
+# KRN zhe3 alifmadda0 -100
+KRN ra0 lam4 -50
+KRN ra3 lam4 -50
+KRN za0 lam4 -50
+KRN za3 lam4 -50
+KRN zhe0 lam4 -50
+KRN zhe3 lam4 -50
+KRN dal0 he0 -100
+KRN dal0 khe0 -100
+KRN dal0 dzim0 -100
+KRN dal0 tche0 -100
+KRN dal3 he0 -100
+KRN dal3 khe0 -100
+KRN dal3 dzim0 -100
+KRN dal3 tche0 -100
+KRN dhal0 he0 -100
+KRN dhal0 khe0 -100
+KRN dhal0 dzim0 -100
+KRN dhal0 tche0 -100
+KRN dhal3 he0 -100
+KRN dhal3 khe0 -100
+KRN dhal3 dzim0 -100
+KRN dhal3 tche0 -100
+KRN dal0 ayn0 -150
+KRN dal0 ghayn0 -150
+KRN dal3 ayn0 -150
+KRN dal3 ghayn0 -150
+KRN dhal0 ayn0 -150
+KRN dhal0 ghayn0 -150
+KRN dhal3 ayn0 -150
+KRN dhal3 ghayn0 -150
+ADJ tche0 #UVOWEL# 0 -200
+ADJ tche1 #UVOWEL# 0 -200
+ADJ tche2 #UVOWEL# 0 -200
+ADJ tche3 #UVOWEL# 0 -200
+ADJ he0 #UVOWEL# 0 -200
+ADJ he1 #UVOWEL# 0 -200
+ADJ he2 #UVOWEL# 0 -200
+ADJ he3 #UVOWEL# 0 -200
+ADJ he1 #LVOWEL# 0 150
+ADJ he2 #LVOWEL# 0 150
+ADJ khe1 #LVOWEL# 0 150
+ADJ khe2 #LVOWEL# 0 150
+ADJ khe0 #UVOWEL# 0 -50
+ADJ khe1 #UVOWEL# 0 -50
+ADJ khe2 #UVOWEL# 0 -50
+ADJ khe3 #UVOWEL# 0 -50
+ADJ dzim0 #UVOWEL# 0 -200
+ADJ dzim1 #UVOWEL# 0 -200
+ADJ dzim2 #UVOWEL# 0 -200
+ADJ dzim3 #UVOWEL# 0 -200
+ADJ dad0 #UVOWEL# 0 -200
+ADJ dad1 #UVOWEL# 50 -200
+ADJ dad2 #UVOWEL# 50 -200
+ADJ dad3 #UVOWEL# 0 -200
+ADJ dad1 #LVOWEL# 50 150
+ADJ dad2 #LVOWEL# 50 150
+ADJ alifmaqsura0 #UVOWEL# 0 -300
+ADJ alifmaqsura1 #UVOWEL# 0 -300
+ADJ alifmaqsura2 #UVOWEL# 0 -300
+ADJ alifmaqsura3 #UVOWEL# 0 -300
+ADJ ghayn1 #LVOWEL# 0 150
+ADJ ghayn2 #LVOWEL# 0 150
+ADJ sad0 #UVOWEL# 0 -200
+ADJ sad1 #UVOWEL# 50 -200
+ADJ sad2 #UVOWEL# 50 -200
+ADJ sad3 #UVOWEL# 0 -200
+ADJ sad1 #LVOWEL# 50 150
+ADJ sad2 #LVOWEL# 50 150
+ADJ tta0 #LVOWEL# 0 150
+ADJ tta1 #LVOWEL# 0 150
+ADJ tta2 #LVOWEL# 0 150
+ADJ tta3 #LVOWEL# 0 150
+ADJ zza0 #LVOWEL# 0 150
+ADJ zza1 #LVOWEL# 0 150
+ADJ zza2 #LVOWEL# 0 150
+ADJ zza3 #LVOWEL# 0 150
+ADJ waw0 #UVOWEL# 0 -200
+ADJ waw3 #UVOWEL# 0 -200
+ADJ ayn0 #UVOWEL# 0 -200
+ADJ ayn1 #UVOWEL# 0 -200
+ADJ ayn2 #UVOWEL# 0 -200
+ADJ ayn3 #UVOWEL# 0 -200
+ADJ ayn1 #LVOWEL# 0 150
+ADJ ayn2 #LVOWEL# 0 150
+ADJ ba0 #UVOWEL# 0 -200
+ADJ ba1 #UVOWEL# 0 -200
+ADJ ba2 #UVOWEL# 0 -200
+ADJ ba3 #UVOWEL# 0 -200
+ADJ banodots0 #UVOWEL# 0 -300
+ADJ banodots1 #UVOWEL# 0 -300
+ADJ banodots2 #UVOWEL# 0 -300
+ADJ banodots3 #UVOWEL# 0 -300
+ADJ banodots0 #LVOWEL# 0 150
+ADJ banodots1 #LVOWEL# 0 150
+ADJ banodots2 #LVOWEL# 0 150
+ADJ banodots3 #LVOWEL# 0 150
+ADJ pe0 #UVOWEL# 0 -200
+ADJ pe1 #UVOWEL# 0 -200
+ADJ pe2 #UVOWEL# 0 -200
+ADJ pe3 #UVOWEL# 0 -200
+ADJ ta0 #UVOWEL# 0 -150
+ADJ ta3 #UVOWEL# 0 -150
+ADJ ta0 #LVOWEL# 0 150
+ADJ ta1 #LVOWEL# 0 150
+ADJ ta2 #LVOWEL# 0 150
+ADJ ta3 #LVOWEL# 0 150
+ADJ tha0 #LVOWEL# 0 150
+ADJ tha1 #LVOWEL# 0 150
+ADJ tha2 #LVOWEL# 0 150
+ADJ tha3 #LVOWEL# 0 150
+ADJ tha0 #UVOWEL# 0 0
+ADJ tha1 #UVOWEL# -50 50
+ADJ tha2 #UVOWEL# -50 50
+ADJ tha3 #UVOWEL# 0 0
+ADJ dal0 #UVOWEL# 0 -200
+ADJ dal3 #UVOWEL# 0 -200
+ADJ dal0 #LVOWEL# 0 150
+ADJ dal3 #LVOWEL# 0 150
+ADJ fa0 #LVOWEL# 0 150
+ADJ fa1 #LVOWEL# 0 150
+ADJ fa2 #LVOWEL# 0 150
+ADJ fa3 #LVOWEL# 0 150
+ADJ fa0 #UVOWEL# 0 -200
+ADJ fa3 #UVOWEL# 0 -200
+ADJ fanodots0 #UVOWEL# 0 -200
+ADJ fanodots1 #UVOWEL# 0 -200
+ADJ fanodots2 #UVOWEL# 0 -200
+ADJ fanodots3 #UVOWEL# 0 -200
+ADJ fanodots0 #LVOWEL# 0 150
+ADJ fanodots1 #LVOWEL# 0 150
+ADJ fanodots2 #LVOWEL# 0 150
+ADJ fanodots3 #LVOWEL# 0 150
+ADJ gaf0 #LVOWEL# 0 150
+ADJ gaf1 #LVOWEL# 0 150
+ADJ gaf2 #LVOWEL# 0 150
+ADJ gaf3 #LVOWEL# 0 150
+ADJ gaf0 #UVOWEL# 0 -100
+ADJ gaf3 #UVOWEL# 0 -100
+ADJ kaf0 #LVOWEL# 0 150
+ADJ kaf1 #LVOWEL# 0 150
+ADJ kaf2 #LVOWEL# 0 150
+ADJ kaf3 #LVOWEL# 0 150
+ADJ kaf0 #UVOWEL# 0 -150
+ADJ kaf3 #UVOWEL# 0 -150
+ADJ ha0 #LVOWEL# 0 150
+ADJ ha1 #LVOWEL# 0 150
+ADJ ha3 #LVOWEL# 0 150
+ADJ ha4 #LVOWEL# 50 150
+ADJ ha0 #UVOWEL# 0 -150
+ADJ ha1 #UVOWEL# 0 -150
+ADJ ha2 #UVOWEL# 0 -150
+ADJ ha3 #UVOWEL# 0 -150
+ADJ ha4 #UVOWEL# 0 -150
+ADJ lam0 #UVOWEL# -50 -150
+ADJ lam3 #UVOWEL# -50 -150
+ADJ lam6 #UVOWEL# -50 -150
+# ADJ lam7 #UVOWEL# -50 -150
+ADJ lam8 #UVOWEL# -50 -150
+ADJ lam1 #LVOWEL# 50 150
+ADJ lam2 #LVOWEL# 50 150
+ADJ lam4 #LVOWEL# 50 150
+ADJ lam5 #LVOWEL# 50 150
+ADJ lam6 #LVOWEL# 50 150
+ADJ lam7 #LVOWEL# 50 150
+ADJ lam8 #LVOWEL# 50 150
+ADJ meem0 #UVOWEL# 0 -200
+ADJ meem1 #UVOWEL# 0 -200
+ADJ meem2 #UVOWEL# 0 -200
+ADJ meem3 #UVOWEL# 0 -200
+ADJ meem0 #LVOWEL# 0 -50
+ADJ meem1 #LVOWEL# 0 150
+ADJ meem2 #LVOWEL# 0 150
+ADJ meem3 #LVOWEL# 0 -50
+ADJ nun0 #UVOWEL# 0 -100
+ADJ nun1 #UVOWEL# 0 -50
+ADJ nun2 #UVOWEL# 0 -50
+ADJ nun3 #UVOWEL# 0 -100
+ADJ nun1 #LVOWEL# 0 150
+ADJ nun2 #LVOWEL# 0 150
+ADJ nunnodots0 #UVOWEL# 0 -300
+ADJ nunnodots1 #UVOWEL# 0 -300
+ADJ nunnodots2 #UVOWEL# 0 -300
+ADJ nunnodots3 #UVOWEL# 0 -300
+ADJ nunnodots1 #LVOWEL# 0 150
+ADJ nunnodots2 #LVOWEL# 0 150
+ADJ qaf0 #UVOWEL# 0 -100
+ADJ qaf3 #UVOWEL# 0 -100
+ADJ qaf1 #LVOWEL# 0 150
+ADJ qaf2 #LVOWEL# 0 150
+ADJ qafnodots0 #UVOWEL# 0 -200
+ADJ qafnodots1 #UVOWEL# 0 -200
+ADJ qafnodots2 #UVOWEL# 0 -200
+ADJ qafnodots3 #UVOWEL# 0 -200
+ADJ qafnodots1 #LVOWEL# 0 150
+ADJ qafnodots2 #LVOWEL# 0 150
+ADJ ra0 #UVOWEL# 0 -300
+ADJ ra3 #UVOWEL# 0 -300
+ADJ sin0 #UVOWEL# 0 -200
+ADJ sin1 #UVOWEL# 0 -200
+ADJ sin2 #UVOWEL# 0 -200
+ADJ sin3 #UVOWEL# 0 -200
+ADJ sin1 #LVOWEL# 0 150
+ADJ sin2 #LVOWEL# 0 150
+ADJ va0 #LVOWEL# 0 150
+ADJ va1 #LVOWEL# 0 150
+ADJ va2 #LVOWEL# 0 150
+ADJ va3 #LVOWEL# 0 150
+ADJ va0 #UVOWEL# 0 -200
+ADJ va3 #UVOWEL# 0 -200
+ADJ ya0 #UVOWEL# 0 -200
+ADJ ya1 #UVOWEL# 0 -200
+ADJ ya2 #UVOWEL# 0 -200
+ADJ ya3 #UVOWEL# 0 -300
+ADJ ya0 #LVOWEL# 0 -100
+ADJ ya3 #LVOWEL# 0 -100
+ADJ za0 #UVOWEL# 0 -100
+ADJ za3 #UVOWEL# 0 -100
+ADJ dhal0 #LVOWEL# 0 150
+ADJ dhal3 #LVOWEL# 0 150
+ADJ shin0 #UVOWEL# 0 -200
+ADJ shin1 #UVOWEL# 0 -200
+ADJ shin2 #UVOWEL# 0 -200
+ADJ shin3 #UVOWEL# 0 -200
+ADJ shin1 #LVOWEL# 0 150
+ADJ shin2 #LVOWEL# 0 150
+ADJ tamarbuta0 #LVOWEL# 0 150
+ADJ tamarbuta1 #LVOWEL# 0 150
+ADJ tamarbuta2 #LVOWEL# 0 150
+ADJ tamarbuta3 #LVOWEL# 0 150
+ADJ alif0 #LVOWEL# 75 150
+ADJ alif3 #LVOWEL# 100 150
+ADJ alif4 #LVOWEL# 0 150
+ADJ alif5 #LVOWEL# 0 150
+ADJ alif4 #UVOWEL# 0 -75
+ADJ alif5 #UVOWEL# 0 -75
+ADJ alifuphamza0 #LVOWEL# 0 150
+ADJ alifuphamza3 #LVOWEL# 0 150
+ADJ alifuphamza4 #LVOWEL# 0 150
+ADJ alifuphamza5 #LVOWEL# 0 150
+ADJ alifmadda0 #LVOWEL# 0 150
+ADJ alifmadda3 #LVOWEL# 0 150
+ADJ alifmadda4 #LVOWEL# 0 150
+ADJ alifmadda5 #LVOWEL# 0 150
+ADJ alifwasla0 #LVOWEL# 0 150
+ADJ alifwasla3 #LVOWEL# 0 150
+ADJ alifwasla4 #LVOWEL# 0 150
+ADJ alifwasla5 #LVOWEL# 0 150
+ADJ alifuphamza0 #UVOWEL# 0 50
+ADJ alifuphamza3 #UVOWEL# -40 30
+ADJ alifuphamza4 #UVOWEL# -50 70
+ADJ alifuphamza5 #UVOWEL# -60 40
+ADJ aliflohamza0 #LVOWEL# 100 20
+ADJ aliflohamza3 #LVOWEL# 80 60
+ADJ aliflohamza4 #LVOWEL# 80 60
+ADJ aliflohamza5 #LVOWEL# 80 30
+ADJ wawhamza0 #UVOWEL# 20 -140
+ADJ wawhamza3 #UVOWEL# 20 -140
+ADJ yahamza0 #UVOWEL# -80 -90
+ADJ yahamza1 #UVOWEL# 0 -30
+ADJ yahamza2 #UVOWEL# 0 -30
+ADJ yahamza3 #UVOWEL# -80 -170
+ADJ yahamza1 #LVOWEL# 50 150
+ADJ yahamza2 #LVOWEL# 50 150
+ADJ hamza0 #UVOWEL# -30 -300
+ADJ hamza0 #LVOWEL# 30 270
+ADJ lam6 #UVOWEL# 10 0
+ADJ keshideh0 #UVOWEL# 0 -300
+ADJ keshideh1 #UVOWEL# 0 -300
+ADJ keshideh2 #UVOWEL# 0 -300
+ADJ keshideh3 #UVOWEL# 0 -300
+ADJ keshideh0 #LVOWEL# 0 150
+ADJ keshideh1 #LVOWEL# 0 150
+ADJ keshideh2 #LVOWEL# 0 150
+ADJ keshideh3 #LVOWEL# 0 150
+ADJ zwj0 #UVOWEL# 0 -300
+ADJ zwj1 #UVOWEL# 0 -300
+ADJ zwj2 #UVOWEL# 0 -300
+ADJ zwj3 #UVOWEL# 0 -300
+ADJ zwj0 #LVOWEL# 0 150
+ADJ zwj1 #LVOWEL# 0 150
+ADJ zwj2 #LVOWEL# 0 150
+ADJ zwj3 #LVOWEL# 0 150
diff --git a/language/arabic/dad/dad.map b/language/arabic/dad/dad.map
new file mode 100644
index 0000000000..472294183d
--- /dev/null
+++ b/language/arabic/dad/dad.map
@@ -0,0 +1,3 @@
+dadreal Dad <Dad.pfb
+dadrealbold Dad-Bold <Dad-bold.pfb
+dadrealmono Dad-Mono <Dad-mono.pfb
diff --git a/language/arabic/dad/dad.ofm b/language/arabic/dad/dad.ofm
new file mode 100644
index 0000000000..bd1e54f416
--- /dev/null
+++ b/language/arabic/dad/dad.ofm
Binary files differ
diff --git a/language/arabic/dad/dad.ovf b/language/arabic/dad/dad.ovf
new file mode 100644
index 0000000000..302f0923cc
--- /dev/null
+++ b/language/arabic/dad/dad.ovf
Binary files differ
diff --git a/language/arabic/dad/dad.sty b/language/arabic/dad/dad.sty
new file mode 100644
index 0000000000..336dc01bbe
--- /dev/null
+++ b/language/arabic/dad/dad.sty
@@ -0,0 +1,31 @@
+%%% ====================================================================
+%%% @LaTeX-style-file{
+%%% filename = "dad.sty",
+%%% version = "1.2",
+%%% date = "2017/05/20",
+%%% author = "Yannis Haralambous",
+%%% copyright = "This file is part of the dad package, released
+%%% under the LPPL."
+%%% keywords = "TeX, file header,
+%%% supported = "yes",
+%%% abstract = "This is the LaTeX style file of the dad
+%%% system for typesetting in the Arabic language.",
+%%% }
+%%% ====================================================================
+\RequirePackage{luatex85}
+\long\def\arab#1{\bgroup\language-1\fontencoding{OT1}\fontfamily{dad}\selectfont\textdir TRT#1\egroup}
+\def\arabttexample#1{\arab{#1} $=$ \texttt{#1}}
+\long\def\arabtt#1{\bgroup\language-1\fontencoding{OT1}\fontfamily{dad}\fontshape{mono}\selectfont\textdir TRT#1\egroup}
+\def\kesh{\leavevmode\leaders\hrule height \fontdimen8\font\hfill\kern0pt}
+\def\arabttsep#1#2{\arab{#1} $=$ \texttt{#2}}
+\def\arabdottedcircle{^^^^00fb}
+\catcode"0626=11
+\catcode"0627=11
+\catcode"0629=11
+\catcode"0631=11
+\catcode"062F=11
+\catcode"0644=11
+\catcode"0647=11
+\def\لله#1{L#1Lh}
+\def\دائرة{^^^^00fb}
+\endinput \ No newline at end of file
diff --git a/language/arabic/dad/dadbold.adjust b/language/arabic/dad/dadbold.adjust
new file mode 100644
index 0000000000..ae7059be95
--- /dev/null
+++ b/language/arabic/dad/dadbold.adjust
@@ -0,0 +1,492 @@
+KRN alif0 he0 -100
+KRN alif0 khe0 -100
+KRN alif0 dzim0 -100
+KRN alif0 tche0 -100
+KRN alifuphamza0 he0 -100
+KRN alifuphamza0 khe0 -100
+KRN alifuphamza0 dzim0 -100
+KRN alifuphamza0 tche0 -100
+KRN aliflohamza0 he0 -100
+KRN aliflohamza0 khe0 -100
+KRN aliflohamza0 dzim0 -100
+KRN aliflohamza0 tche0 -100
+KRN alifwasla0 he0 -100
+KRN alifwasla0 khe0 -100
+KRN alifwasla0 dzim0 -100
+KRN alifwasla0 tche0 -100
+KRN alifmadda0 he0 -100
+KRN alifmadda0 khe0 -100
+KRN alifmadda0 dzim0 -100
+KRN alifmadda0 tche0 -100
+KRN alif3 he0 -100
+KRN alif3 khe0 -100
+KRN alif3 dzim0 -100
+KRN alif3 tche0 -100
+KRN alifuphamza3 he0 -100
+KRN alifuphamza3 khe0 -100
+KRN alifuphamza3 dzim0 -100
+KRN alifuphamza3 tche0 -100
+KRN aliflohamza3 he0 -100
+KRN aliflohamza3 khe0 -100
+KRN aliflohamza3 dzim0 -100
+KRN aliflohamza3 tche0 -100
+KRN alifwasla3 he0 -100
+KRN alifwasla3 khe0 -100
+KRN alifwasla3 dzim0 -100
+KRN alifwasla3 tche0 -100
+KRN alifmadda3 he0 -100
+KRN alifmadda3 khe0 -100
+KRN alifmadda3 dzim0 -100
+KRN alifmadda3 tche0 -100
+KRN alif4 he0 -100
+KRN alif4 khe0 -100
+KRN alif4 dzim0 -100
+KRN alif4 tche0 -100
+KRN alifuphamza4 he0 -100
+KRN alifuphamza4 khe0 -100
+KRN alifuphamza4 dzim0 -100
+KRN alifuphamza4 tche0 -100
+KRN aliflohamza4 he0 -100
+KRN aliflohamza4 khe0 -100
+KRN aliflohamza4 dzim0 -100
+KRN aliflohamza4 tche0 -100
+KRN alifwasla4 he0 -100
+KRN alifwasla4 khe0 -100
+KRN alifwasla4 dzim0 -100
+KRN alifwasla4 tche0 -100
+KRN alifmadda43 he0 -100
+KRN alifmadda43 khe0 -100
+KRN alifmadda43 dzim0 -100
+KRN alifmadda43 tche0 -100
+KRN alif5 he0 -100
+KRN alif5 khe0 -100
+KRN alif5 dzim0 -100
+KRN alif5 tche0 -100
+KRN alifuphamza5 he0 -100
+KRN alifuphamza5 khe0 -100
+KRN alifuphamza5 dzim0 -100
+KRN alifuphamza5 tche0 -100
+KRN aliflohamza5 he0 -100
+KRN aliflohamza5 khe0 -100
+KRN aliflohamza5 dzim0 -100
+KRN aliflohamza5 tche0 -100
+KRN alifwasla5 he0 -100
+KRN alifwasla5 khe0 -100
+KRN alifwasla5 dzim0 -100
+KRN alifwasla5 tche0 -100
+KRN alifmadda5 he0 -100
+KRN alifmadda5 khe0 -100
+KRN alifmadda5 dzim0 -100
+KRN alifmadda5 tche0 -100
+KRN alif0 ayn0 -150
+KRN alif0 ghayn0 -150
+KRN alifuphamza0 ayn0 -150
+KRN alifuphamza0 ghayn0 -150
+KRN aliflohamza0 ayn0 -150
+KRN aliflohamza0 ghayn0 -150
+KRN alifwasla0 ayn0 -150
+KRN alifwasla0 ghayn0 -150
+KRN alifmadda0 ayn0 -150
+KRN alifmadda0 ghayn0 -150
+KRN alif3 ayn0 -150
+KRN alif3 ghayn0 -150
+KRN alifuphamza3 ayn0 -150
+KRN alifuphamza3 ghayn0 -150
+KRN aliflohamza3 ayn0 -150
+KRN aliflohamza3 ghayn0 -150
+KRN alifwasla3 ayn0 -150
+KRN alifwasla3 ghayn0 -150
+KRN alifmadda3 ayn0 -150
+KRN alifmadda3 ghayn0 -150
+KRN alif4 ayn0 -150
+KRN alif4 ghayn0 -150
+KRN alifuphamza4 ayn0 -150
+KRN alifuphamza4 ghayn0 -150
+KRN aliflohamza4 ayn0 -150
+KRN aliflohamza4 ghayn0 -150
+KRN alifwasla4 ayn0 -150
+KRN alifwasla4 ghayn0 -150
+KRN alifmadda43 ayn0 -150
+KRN alifmadda43 ghayn0 -150
+KRN alif5 ayn0 -150
+KRN alif5 ghayn0 -150
+KRN alifuphamza5 ayn0 -150
+KRN alifuphamza5 ghayn0 -150
+KRN aliflohamza5 ayn0 -150
+KRN aliflohamza5 ghayn0 -150
+KRN alifwasla5 ayn0 -150
+KRN alifwasla5 ghayn0 -150
+KRN alifmadda5 ayn0 -150
+KRN alifmadda5 ghayn0 -150
+KRN ra0 he0 -100
+KRN ra0 khe0 -100
+KRN ra0 dzim0 -100
+KRN ra0 tche0 -100
+KRN ra3 he0 -100
+KRN ra3 khe0 -100
+KRN ra3 dzim0 -100
+KRN ra3 tche0 -100
+KRN za0 he0 -100
+KRN za0 khe0 -100
+KRN za0 dzim0 -100
+KRN za0 tche0 -100
+KRN za3 he0 -100
+KRN za3 khe0 -100
+KRN za3 dzim0 -100
+KRN za3 tche0 -100
+KRN zhe0 he0 -100
+KRN zhe0 khe0 -100
+KRN zhe0 dzim0 -100
+KRN zhe0 tche0 -100
+KRN zhe3 he0 -100
+KRN zhe3 khe0 -100
+KRN zhe3 dzim0 -100
+KRN zhe3 tche0 -100
+KRN ra0 ayn0 -100
+KRN ra0 ghayn0 -100
+KRN ra3 ayn0 -100
+KRN ra3 ghayn0 -100
+KRN za0 ayn0 -100
+KRN za0 ghayn0 -100
+KRN za3 ayn0 -100
+KRN za3 ghayn0 -100
+KRN zhe0 ayn0 -100
+KRN zhe0 ghayn0 -100
+KRN zhe3 ayn0 -100
+KRN zhe3 ghayn0 -100
+KRN ra0 he0 -100
+KRN ra0 khe0 -100
+KRN ra0 dzim0 -100
+KRN ra0 tche0 -100
+KRN ra3 he0 -100
+KRN ra3 khe0 -100
+KRN ra3 dzim0 -100
+KRN ra3 tche0 -100
+KRN za0 he0 -100
+KRN za0 khe0 -100
+KRN za0 dzim0 -100
+KRN za0 tche0 -100
+KRN za3 he0 -100
+KRN za3 khe0 -100
+KRN za3 dzim0 -100
+KRN za3 tche0 -100
+KRN zhe0 he0 -100
+KRN zhe0 khe0 -100
+KRN zhe0 dzim0 -100
+KRN zhe0 tche0 -100
+KRN zhe3 he0 -100
+KRN zhe3 khe0 -100
+KRN zhe3 dzim0 -100
+KRN zhe3 tche0 -100
+KRN ra0 alif0 -100
+KRN ra0 alifuphamza0 -100
+KRN ra0 aliflohamza0 -100
+KRN ra0 alifwasla0 -100
+KRN ra0 alifmadda0 -100
+KRN ra3 alif0 -100
+KRN ra3 alifuphamza0 -100
+KRN ra3 aliflohamza0 -100
+KRN ra3 alifwasla0 -100
+KRN ra3 alifmadda0 -100
+# KRN za0 alif0 -100
+# KRN za0 alifuphamza0 -100
+# KRN za0 aliflohamza0 -100
+# KRN za0 alifwasla0 -100
+# KRN za0 alifmadda0 -100
+# KRN za3 alif0 -100
+# KRN za3 alifuphamza0 -100
+# KRN za3 aliflohamza0 -100
+# KRN za3 alifwasla0 -100
+# KRN za3 alifmadda0 -100
+# KRN zhe0 alif0 -100
+# KRN zhe0 alifuphamza0 -100
+# KRN zhe0 aliflohamza0 -100
+# KRN zhe0 alifwasla0 -100
+# KRN zhe0 alifmadda0 -100
+# KRN zhe3 alif0 -100
+# KRN zhe3 alifuphamza0 -100
+# KRN zhe3 aliflohamza0 -100
+# KRN zhe3 alifwasla0 -100
+# KRN zhe3 alifmadda0 -100
+KRN ra0 lam4 -50
+KRN ra3 lam4 -50
+KRN za0 lam4 -50
+KRN za3 lam4 -50
+KRN zhe0 lam4 -50
+KRN zhe3 lam4 -50
+KRN dal0 he0 -100
+KRN dal0 khe0 -100
+KRN dal0 dzim0 -100
+KRN dal0 tche0 -100
+KRN dal3 he0 -100
+KRN dal3 khe0 -100
+KRN dal3 dzim0 -100
+KRN dal3 tche0 -100
+KRN dhal0 he0 -100
+KRN dhal0 khe0 -100
+KRN dhal0 dzim0 -100
+KRN dhal0 tche0 -100
+KRN dhal3 he0 -100
+KRN dhal3 khe0 -100
+KRN dhal3 dzim0 -100
+KRN dhal3 tche0 -100
+KRN dal0 ayn0 -150
+KRN dal0 ghayn0 -150
+KRN dal3 ayn0 -150
+KRN dal3 ghayn0 -150
+KRN dhal0 ayn0 -150
+KRN dhal0 ghayn0 -150
+KRN dhal3 ayn0 -150
+KRN dhal3 ghayn0 -150
+ADJ tche0 #UVOWEL# 0 -200
+ADJ tche1 #UVOWEL# 0 -200
+ADJ tche2 #UVOWEL# 0 -200
+ADJ tche3 #UVOWEL# 0 -200
+ADJ he0 #UVOWEL# 0 -200
+ADJ he1 #UVOWEL# 0 -200
+ADJ he2 #UVOWEL# 0 -200
+ADJ he3 #UVOWEL# 0 -200
+ADJ he1 #LVOWEL# 0 150
+ADJ he2 #LVOWEL# 0 150
+ADJ khe1 #LVOWEL# 0 150
+ADJ khe2 #LVOWEL# 0 150
+ADJ khe0 #UVOWEL# 0 -50
+ADJ khe1 #UVOWEL# 0 -50
+ADJ khe2 #UVOWEL# 0 -50
+ADJ khe3 #UVOWEL# 0 -50
+ADJ dzim0 #UVOWEL# 0 -200
+ADJ dzim1 #UVOWEL# 0 -200
+ADJ dzim2 #UVOWEL# 0 -200
+ADJ dzim3 #UVOWEL# 0 -200
+ADJ dad0 #UVOWEL# 0 -200
+ADJ dad1 #UVOWEL# 50 -200
+ADJ dad2 #UVOWEL# 50 -200
+ADJ dad3 #UVOWEL# 0 -200
+ADJ dad1 #LVOWEL# 50 150
+ADJ dad2 #LVOWEL# 50 150
+ADJ alifmaqsura0 #UVOWEL# 0 -300
+ADJ alifmaqsura1 #UVOWEL# 0 -300
+ADJ alifmaqsura2 #UVOWEL# 0 -300
+ADJ alifmaqsura3 #UVOWEL# 0 -300
+ADJ ghayn1 #LVOWEL# 0 150
+ADJ ghayn2 #LVOWEL# 0 150
+ADJ sad0 #UVOWEL# 0 -200
+ADJ sad1 #UVOWEL# 50 -200
+ADJ sad2 #UVOWEL# 50 -200
+ADJ sad3 #UVOWEL# 0 -200
+ADJ sad1 #LVOWEL# 50 150
+ADJ sad2 #LVOWEL# 50 150
+ADJ tta0 #LVOWEL# 0 150
+ADJ tta1 #LVOWEL# 0 150
+ADJ tta2 #LVOWEL# 0 150
+ADJ tta3 #LVOWEL# 0 150
+ADJ zza0 #LVOWEL# 0 150
+ADJ zza1 #LVOWEL# 0 150
+ADJ zza2 #LVOWEL# 0 150
+ADJ zza3 #LVOWEL# 0 150
+ADJ waw0 #UVOWEL# 0 -200
+ADJ waw3 #UVOWEL# 0 -200
+ADJ ayn0 #UVOWEL# 0 -200
+ADJ ayn1 #UVOWEL# 0 -200
+ADJ ayn2 #UVOWEL# 0 -200
+ADJ ayn3 #UVOWEL# 0 -200
+ADJ ayn1 #LVOWEL# 0 150
+ADJ ayn2 #LVOWEL# 0 150
+ADJ ba0 #UVOWEL# 0 -200
+ADJ ba1 #UVOWEL# 0 -200
+ADJ ba2 #UVOWEL# 0 -200
+ADJ ba3 #UVOWEL# 0 -200
+ADJ banodots0 #UVOWEL# 0 -300
+ADJ banodots1 #UVOWEL# 0 -300
+ADJ banodots2 #UVOWEL# 0 -300
+ADJ banodots3 #UVOWEL# 0 -300
+ADJ banodots0 #LVOWEL# 0 150
+ADJ banodots1 #LVOWEL# 0 150
+ADJ banodots2 #LVOWEL# 0 150
+ADJ banodots3 #LVOWEL# 0 150
+ADJ pe0 #UVOWEL# 0 -200
+ADJ pe1 #UVOWEL# 0 -200
+ADJ pe2 #UVOWEL# 0 -200
+ADJ pe3 #UVOWEL# 0 -200
+ADJ ta0 #UVOWEL# 0 -150
+ADJ ta3 #UVOWEL# 0 -150
+ADJ ta0 #LVOWEL# 0 150
+ADJ ta1 #LVOWEL# 0 150
+ADJ ta2 #LVOWEL# 0 150
+ADJ ta3 #LVOWEL# 0 150
+ADJ tha0 #LVOWEL# 0 150
+ADJ tha1 #LVOWEL# 0 150
+ADJ tha2 #LVOWEL# 0 150
+ADJ tha3 #LVOWEL# 0 150
+ADJ tha0 #UVOWEL# 0 0
+ADJ tha1 #UVOWEL# -50 50
+ADJ tha2 #UVOWEL# -50 50
+ADJ tha3 #UVOWEL# 0 0
+ADJ dal0 #UVOWEL# 0 -200
+ADJ dal3 #UVOWEL# 0 -200
+ADJ dal0 #LVOWEL# 0 150
+ADJ dal3 #LVOWEL# 0 150
+ADJ fa0 #LVOWEL# 0 150
+ADJ fa1 #LVOWEL# 0 150
+ADJ fa2 #LVOWEL# 0 150
+ADJ fa3 #LVOWEL# 0 150
+ADJ fa0 #UVOWEL# 0 -200
+ADJ fa3 #UVOWEL# 0 -200
+ADJ fanodots0 #UVOWEL# 0 -200
+ADJ fanodots1 #UVOWEL# 0 -200
+ADJ fanodots2 #UVOWEL# 0 -200
+ADJ fanodots3 #UVOWEL# 0 -200
+ADJ fanodots0 #LVOWEL# 0 150
+ADJ fanodots1 #LVOWEL# 0 150
+ADJ fanodots2 #LVOWEL# 0 150
+ADJ fanodots3 #LVOWEL# 0 150
+ADJ gaf0 #LVOWEL# 0 150
+ADJ gaf1 #LVOWEL# 0 150
+ADJ gaf2 #LVOWEL# 0 150
+ADJ gaf3 #LVOWEL# 0 150
+ADJ gaf0 #UVOWEL# 0 -100
+ADJ gaf3 #UVOWEL# 0 -100
+ADJ kaf0 #LVOWEL# 0 150
+ADJ kaf1 #LVOWEL# 0 150
+ADJ kaf2 #LVOWEL# 0 150
+ADJ kaf3 #LVOWEL# 0 150
+ADJ kaf0 #UVOWEL# 0 -150
+ADJ kaf3 #UVOWEL# 0 -150
+ADJ ha0 #LVOWEL# 0 150
+ADJ ha1 #LVOWEL# 0 150
+ADJ ha3 #LVOWEL# 0 150
+ADJ ha4 #LVOWEL# 50 150
+ADJ ha0 #UVOWEL# 0 -150
+ADJ ha1 #UVOWEL# 0 -150
+ADJ ha2 #UVOWEL# 0 -150
+ADJ ha3 #UVOWEL# 0 -150
+ADJ ha4 #UVOWEL# 0 -150
+ADJ lam0 #UVOWEL# -50 -150
+ADJ lam3 #UVOWEL# -50 -150
+ADJ lam6 #UVOWEL# -50 -150
+ADJ lam7 #UVOWEL# -50 -150
+ADJ lam8 #UVOWEL# -50 -150
+ADJ lam1 #LVOWEL# 50 150
+ADJ lam2 #LVOWEL# 50 150
+ADJ lam4 #LVOWEL# 50 150
+ADJ lam5 #LVOWEL# 50 150
+ADJ lam6 #LVOWEL# 50 150
+ADJ lam7 #LVOWEL# 50 150
+ADJ lam8 #LVOWEL# 50 150
+ADJ meem0 #UVOWEL# 0 -200
+ADJ meem1 #UVOWEL# 0 -200
+ADJ meem2 #UVOWEL# 0 -200
+ADJ meem3 #UVOWEL# 0 -200
+ADJ meem0 #LVOWEL# 0 -50
+ADJ meem1 #LVOWEL# 0 150
+ADJ meem2 #LVOWEL# 0 150
+ADJ meem3 #LVOWEL# 0 -50
+ADJ nun0 #UVOWEL# 0 -100
+ADJ nun1 #UVOWEL# 0 -50
+ADJ nun2 #UVOWEL# 0 -50
+ADJ nun3 #UVOWEL# 0 -100
+ADJ nun1 #LVOWEL# 0 150
+ADJ nun2 #LVOWEL# 0 150
+ADJ nunnodots0 #UVOWEL# 0 -300
+ADJ nunnodots1 #UVOWEL# 0 -300
+ADJ nunnodots2 #UVOWEL# 0 -300
+ADJ nunnodots3 #UVOWEL# 0 -300
+ADJ nunnodots1 #LVOWEL# 0 150
+ADJ nunnodots2 #LVOWEL# 0 150
+ADJ qaf0 #UVOWEL# 0 -100
+ADJ qaf3 #UVOWEL# 0 -100
+ADJ qaf1 #LVOWEL# 0 150
+ADJ qaf2 #LVOWEL# 0 150
+ADJ qafnodots0 #UVOWEL# 0 -200
+ADJ qafnodots1 #UVOWEL# 0 -200
+ADJ qafnodots2 #UVOWEL# 0 -200
+ADJ qafnodots3 #UVOWEL# 0 -200
+ADJ qafnodots1 #LVOWEL# 0 150
+ADJ qafnodots2 #LVOWEL# 0 150
+ADJ ra0 #UVOWEL# 0 -300
+ADJ ra3 #UVOWEL# 0 -300
+ADJ sin0 #UVOWEL# 0 -200
+ADJ sin1 #UVOWEL# 0 -200
+ADJ sin2 #UVOWEL# 0 -200
+ADJ sin3 #UVOWEL# 0 -200
+ADJ sin1 #LVOWEL# 0 150
+ADJ sin2 #LVOWEL# 0 150
+ADJ va0 #LVOWEL# 0 150
+ADJ va1 #LVOWEL# 0 150
+ADJ va2 #LVOWEL# 0 150
+ADJ va3 #LVOWEL# 0 150
+ADJ va0 #UVOWEL# 0 -200
+ADJ va3 #UVOWEL# 0 -200
+ADJ ya0 #UVOWEL# 0 -200
+ADJ ya1 #UVOWEL# 0 -200
+ADJ ya2 #UVOWEL# 0 -200
+ADJ ya3 #UVOWEL# 0 -300
+ADJ ya0 #LVOWEL# 0 -100
+ADJ ya3 #LVOWEL# 0 -100
+ADJ za0 #UVOWEL# 0 -100
+ADJ za3 #UVOWEL# 0 -100
+ADJ dhal0 #LVOWEL# 0 150
+ADJ dhal3 #LVOWEL# 0 150
+ADJ shin0 #UVOWEL# 0 -200
+ADJ shin1 #UVOWEL# 0 -200
+ADJ shin2 #UVOWEL# 0 -200
+ADJ shin3 #UVOWEL# 0 -200
+ADJ shin1 #LVOWEL# 0 150
+ADJ shin2 #LVOWEL# 0 150
+ADJ tamarbuta0 #LVOWEL# 0 150
+ADJ tamarbuta1 #LVOWEL# 0 150
+ADJ tamarbuta2 #LVOWEL# 0 150
+ADJ tamarbuta3 #LVOWEL# 0 150
+ADJ alif0 #LVOWEL# 75 150
+ADJ alif3 #LVOWEL# 100 150
+ADJ alif4 #LVOWEL# 50 150
+ADJ alif5 #LVOWEL# 0 150
+ADJ alif4 #UVOWEL# 0 -75
+ADJ alif5 #UVOWEL# 0 -75
+ADJ alifuphamza0 #LVOWEL# 0 150
+ADJ alifuphamza3 #LVOWEL# 0 150
+ADJ alifuphamza4 #LVOWEL# 0 150
+ADJ alifuphamza5 #LVOWEL# 0 150
+ADJ alifmadda0 #LVOWEL# 0 150
+ADJ alifmadda3 #LVOWEL# 0 150
+ADJ alifmadda4 #LVOWEL# 0 150
+ADJ alifmadda5 #LVOWEL# 0 150
+ADJ alifwasla0 #LVOWEL# 0 150
+ADJ alifwasla3 #LVOWEL# 0 150
+ADJ alifwasla4 #LVOWEL# 0 150
+ADJ alifwasla5 #LVOWEL# 0 150
+ADJ alifuphamza0 #UVOWEL# 0 -40
+ADJ alifuphamza3 #UVOWEL# -40 -40
+ADJ alifuphamza4 #UVOWEL# -70 -10
+ADJ alifuphamza5 #UVOWEL# -60 -40
+ADJ aliflohamza0 #LVOWEL# 100 160
+ADJ aliflohamza3 #LVOWEL# 70 140
+ADJ aliflohamza4 #LVOWEL# 60 50
+ADJ aliflohamza5 #LVOWEL# 40 40
+ADJ wawhamza0 #UVOWEL# 0 -60
+ADJ wawhamza3 #UVOWEL# 40 -60
+ADJ yahamza0 #UVOWEL# -80 -90
+ADJ yahamza1 #UVOWEL# 0 -60
+ADJ yahamza2 #UVOWEL# 0 -60
+ADJ yahamza3 #UVOWEL# -80 -220
+ADJ yahamza1 #LVOWEL# 50 150
+ADJ yahamza2 #LVOWEL# 50 150
+ADJ hamza0 #UVOWEL# 30 -250
+ADJ hamza0 #LVOWEL# 90 260
+ADJ lam6 #UVOWEL# 10 0
+ADJ keshideh0 #UVOWEL# 0 -300
+ADJ keshideh1 #UVOWEL# 0 -300
+ADJ keshideh2 #UVOWEL# 0 -300
+ADJ keshideh3 #UVOWEL# 0 -300
+ADJ keshideh0 #LVOWEL# 0 150
+ADJ keshideh1 #LVOWEL# 0 150
+ADJ keshideh2 #LVOWEL# 0 150
+ADJ keshideh3 #LVOWEL# 0 150
+ADJ zwj0 #UVOWEL# 0 -300
+ADJ zwj1 #UVOWEL# 0 -300
+ADJ zwj2 #UVOWEL# 0 -300
+ADJ zwj3 #UVOWEL# 0 -300
+ADJ zwj0 #LVOWEL# 0 150
+ADJ zwj1 #LVOWEL# 0 150
+ADJ zwj2 #LVOWEL# 0 150
+ADJ zwj3 #LVOWEL# 0 150
diff --git a/language/arabic/dad/dadbold.ofm b/language/arabic/dad/dadbold.ofm
new file mode 100644
index 0000000000..39c4ed824b
--- /dev/null
+++ b/language/arabic/dad/dadbold.ofm
Binary files differ
diff --git a/language/arabic/dad/dadbold.ovf b/language/arabic/dad/dadbold.ovf
new file mode 100644
index 0000000000..79bb7783b1
--- /dev/null
+++ b/language/arabic/dad/dadbold.ovf
Binary files differ
diff --git a/language/arabic/dad/dadmono.adjust b/language/arabic/dad/dadmono.adjust
new file mode 100644
index 0000000000..ce821bb99c
--- /dev/null
+++ b/language/arabic/dad/dadmono.adjust
@@ -0,0 +1,325 @@
+# ADJ lam7 #UVOWEL# -50 -150
+ADJ alif0 #LVOWEL# 0 0
+ADJ alif3 #LVOWEL# 0 0
+ADJ alif4 #LVOWEL# -150 0
+ADJ alif4 #UVOWEL# -150 -75
+ADJ alif5 #LVOWEL# -150 0
+ADJ alif5 #UVOWEL# -150 -75
+ADJ aliflohamza0 #LVOWEL# 0 -150
+ADJ aliflohamza3 #LVOWEL# 0 -150
+ADJ aliflohamza4 #LVOWEL# -100 -100
+ADJ aliflohamza5 #LVOWEL# -120 -170
+ADJ alifmadda0 #LVOWEL# 0 0
+ADJ alifmadda3 #LVOWEL# 0 0
+ADJ alifmadda4 #LVOWEL# 0 0
+ADJ alifmadda5 #LVOWEL# 0 0
+ADJ alifmaqsura0 #LVOWEL# 0 -100
+ADJ alifmaqsura0 #UVOWEL# 0 -250
+ADJ alifmaqsura1 #LVOWEL# 0 -250
+ADJ alifmaqsura1 #UVOWEL# 0 -250
+ADJ alifmaqsura2 #LVOWEL# 0 -250
+ADJ alifmaqsura2 #UVOWEL# 0 -250
+ADJ alifmaqsura3 #LVOWEL# 0 -250
+ADJ alifmaqsura3 #UVOWEL# 0 -500
+ADJ alifuphamza0 #LVOWEL# 0 0
+ADJ alifuphamza0 #UVOWEL# -100 100
+ADJ alifuphamza3 #LVOWEL# 0 0
+ADJ alifuphamza3 #UVOWEL# -100 100
+ADJ alifuphamza4 #LVOWEL# 0 0
+ADJ alifuphamza4 #UVOWEL# -200 100
+ADJ alifuphamza5 #LVOWEL# 0 0
+ADJ alifuphamza5 #UVOWEL# -200 100
+ADJ alifwasla0 #LVOWEL# 0 0
+ADJ alifwasla3 #LVOWEL# 0 0
+ADJ alifwasla4 #LVOWEL# 0 0
+ADJ alifwasla5 #LVOWEL# 0 0
+ADJ ayn0 #LVOWEL# 0 -250
+ADJ ayn0 #UVOWEL# 0 -200
+ADJ ayn1 #LVOWEL# 0 0
+ADJ ayn1 #UVOWEL# 0 -200
+ADJ ayn2 #LVOWEL# 0 0
+ADJ ayn2 #UVOWEL# 0 -200
+ADJ ayn3 #LVOWEL# 0 -250
+ADJ ayn3 #UVOWEL# 0 -200
+ADJ ba0 #LVOWEL# -100 -250
+ADJ ba0 #UVOWEL# 0 -200
+ADJ ba1 #LVOWEL# -100 -250
+ADJ ba1 #UVOWEL# 0 -200
+ADJ ba2 #LVOWEL# -100 -250
+ADJ ba2 #UVOWEL# 0 -200
+ADJ ba3 #LVOWEL# -100 -250
+ADJ ba3 #UVOWEL# 0 -200
+ADJ banodots0 #LVOWEL# 0 0
+ADJ banodots0 #UVOWEL# 0 -250
+ADJ banodots1 #LVOWEL# 0 0
+ADJ banodots1 #UVOWEL# 0 -250
+ADJ banodots2 #LVOWEL# 0 0
+ADJ banodots2 #UVOWEL# 0 -250
+ADJ banodots3 #LVOWEL# 0 0
+ADJ banodots3 #UVOWEL# 0 -250
+ADJ dad0 #LVOWEL# 0 -150
+ADJ dad0 #UVOWEL# 0 -100
+ADJ dad1 #UVOWEL# 50 -100
+ADJ dad2 #UVOWEL# 50 -100
+ADJ dad3 #LVOWEL# 0 -150
+ADJ dad3 #UVOWEL# 0 -100
+ADJ dal0 #LVOWEL# 0 0
+ADJ dal0 #UVOWEL# 0 -200
+ADJ dal3 #LVOWEL# 0 0
+ADJ dal3 #UVOWEL# 0 -200
+ADJ dhal0 #LVOWEL# 0 0
+ADJ dhal3 #LVOWEL# 0 0
+ADJ dzim0 #UVOWEL# 0 -200
+ADJ dzim1 #UVOWEL# 0 -200
+ADJ dzim2 #UVOWEL# 0 -200
+ADJ dzim3 #UVOWEL# 0 -200
+ADJ dzim0 #LVOWEL# 0 -250
+ADJ dzim1 #LVOWEL# 0 -100
+ADJ dzim2 #LVOWEL# 0 -200
+ADJ dzim3 #LVOWEL# 0 -250
+ADJ fa0 #LVOWEL# 0 0
+ADJ fa0 #UVOWEL# 0 -100
+ADJ fa1 #LVOWEL# 0 0
+ADJ fa1 #UVOWEL# 0 -100
+ADJ fa2 #LVOWEL# 0 0
+ADJ fa2 #UVOWEL# 0 -100
+ADJ fa3 #LVOWEL# 0 0
+ADJ fa3 #UVOWEL# 0 -100
+ADJ fanodots0 #LVOWEL# 0 0
+ADJ fanodots0 #UVOWEL# 0 -200
+ADJ fanodots1 #LVOWEL# 0 0
+ADJ fanodots1 #UVOWEL# 0 -200
+ADJ fanodots2 #LVOWEL# 0 0
+ADJ fanodots2 #UVOWEL# 0 -200
+ADJ fanodots3 #LVOWEL# 0 0
+ADJ fanodots3 #UVOWEL# 0 -200
+ADJ gaf0 #LVOWEL# 0 0
+ADJ gaf0 #UVOWEL# 0 -100
+ADJ gaf1 #LVOWEL# 0 0
+ADJ gaf2 #LVOWEL# 0 0
+ADJ gaf3 #LVOWEL# 0 0
+ADJ gaf3 #UVOWEL# 0 -100
+ADJ ghayn0 #LVOWEL# 0 -250
+ADJ ghayn1 #LVOWEL# 0 0
+ADJ ghayn2 #LVOWEL# 0 0
+ADJ ghayn3 #LVOWEL# 0 -250
+ADJ ghayn2 #UVOWEL# 0 -100
+ADJ ghayn3 #UVOWEL# 0 -100
+ADJ ha0 #LVOWEL# 0 0
+ADJ ha0 #UVOWEL# 0 -150
+ADJ ha1 #LVOWEL# 0 0
+ADJ ha1 #UVOWEL# 0 -150
+ADJ ha2 #UVOWEL# 0 -150
+ADJ ha2 #LVOWEL# 0 -200
+ADJ ha3 #LVOWEL# 0 0
+ADJ ha3 #UVOWEL# 0 -150
+ADJ ha4 #LVOWEL# -200 0
+ADJ ha4 #UVOWEL# -200 -250
+ADJ hamza0 #LVOWEL# 30 200
+ADJ hamza0 #UVOWEL# -30 -300
+ADJ he0 #LVOWEL# 0 -250
+ADJ he0 #UVOWEL# 0 -200
+ADJ he1 #LVOWEL# 0 0
+ADJ he1 #UVOWEL# 0 -200
+ADJ he2 #LVOWEL# 0 0
+ADJ he2 #UVOWEL# 0 -200
+ADJ he3 #LVOWEL# 0 -250
+ADJ he3 #UVOWEL# 0 -200
+ADJ kaf0 #LVOWEL# 0 0
+ADJ kaf0 #UVOWEL# 0 -100
+ADJ kaf1 #LVOWEL# 0 0
+ADJ kaf2 #LVOWEL# 0 0
+ADJ kaf3 #LVOWEL# 0 0
+ADJ kaf3 #UVOWEL# 0 -100
+ADJ keshideh0 #LVOWEL# 0 0
+ADJ keshideh0 #UVOWEL# 0 -250
+ADJ keshideh1 #LVOWEL# 0 0
+ADJ keshideh1 #UVOWEL# 0 -250
+ADJ keshideh2 #LVOWEL# 0 0
+ADJ keshideh2 #UVOWEL# 0 -250
+ADJ keshideh3 #LVOWEL# 0 0
+ADJ keshideh3 #UVOWEL# 0 -250
+ADJ khe0 #UVOWEL# 0 -50
+ADJ khe0 #LVOWEL# 0 -200
+ADJ khe1 #LVOWEL# 0 0
+ADJ khe1 #UVOWEL# 0 -50
+ADJ khe2 #LVOWEL# 0 0
+ADJ khe2 #UVOWEL# 0 -50
+ADJ khe3 #UVOWEL# 0 -50
+ADJ khe3 #LVOWEL# 0 -200
+ADJ lam0 #UVOWEL# -50 -100
+ADJ lam0 #LVOWEL# -50 -150
+ADJ lam1 #LVOWEL# 50 0
+ADJ lam2 #LVOWEL# 50 0
+ADJ lam3 #UVOWEL# -50 -100
+ADJ lam3 #LVOWEL# -50 -150
+ADJ lam4 #LVOWEL# -200 0
+ADJ lam5 #LVOWEL# -200 0
+ADJ lam4 #UVOWEL# -200 0
+ADJ lam5 #UVOWEL# -200 0
+ADJ lam6 #LVOWEL# -200 0
+ADJ lam6 #UVOWEL# -200 -200
+ADJ lam7 #UVOWEL# -200 -200
+ADJ lam7 #LVOWEL# -200 0
+ADJ lam8 #LVOWEL# -170 0
+ADJ lam8 #UVOWEL# -170 -100
+ADJ meem0 #LVOWEL# 0 -200
+ADJ meem0 #UVOWEL# 0 -200
+ADJ meem1 #LVOWEL# 0 0
+ADJ meem1 #UVOWEL# 0 -200
+ADJ meem2 #LVOWEL# 0 0
+ADJ meem2 #UVOWEL# 0 -200
+ADJ meem3 #LVOWEL# 0 -200
+ADJ meem3 #UVOWEL# 0 -200
+ADJ nun0 #UVOWEL# 0 -100
+ADJ nun0 #LVOWEL# 0 -200
+ADJ nun1 #LVOWEL# 0 0
+ADJ nun1 #UVOWEL# 0 -50
+ADJ nun2 #LVOWEL# 0 0
+ADJ nun2 #UVOWEL# 0 -50
+ADJ nun3 #UVOWEL# 0 -100
+ADJ nun3 #LVOWEL# 0 -200
+ADJ nunnodots0 #UVOWEL# 0 -250
+ADJ nunnodots1 #LVOWEL# 0 0
+ADJ nunnodots1 #UVOWEL# 0 -250
+ADJ nunnodots2 #LVOWEL# 0 0
+ADJ nunnodots2 #UVOWEL# 0 -250
+ADJ nunnodots3 #UVOWEL# 0 -250
+ADJ nunnodots3 #LVOWEL# 0 -200
+ADJ pe0 #UVOWEL# 0 -200
+ADJ pe1 #UVOWEL# 0 -200
+ADJ pe2 #UVOWEL# 0 -200
+ADJ pe3 #UVOWEL# 0 -200
+ADJ pe0 #LVOWEL# 0 -200
+ADJ pe1 #LVOWEL# 0 -200
+ADJ pe2 #LVOWEL# 0 -200
+ADJ pe3 #LVOWEL# 0 -200
+ADJ qaf0 #UVOWEL# 0 -100
+ADJ qaf1 #LVOWEL# 0 0
+ADJ qaf2 #LVOWEL# 0 0
+ADJ qaf3 #UVOWEL# 0 -100
+ADJ qaf0 #LVOWEL# 0 -150
+ADJ qaf3 #LVOWEL# 0 -150
+ADJ qafnodots0 #UVOWEL# 0 -200
+ADJ qafnodots1 #LVOWEL# 0 0
+ADJ qafnodots1 #UVOWEL# 0 -200
+ADJ qafnodots2 #LVOWEL# 0 0
+ADJ qafnodots2 #UVOWEL# 0 -200
+ADJ qafnodots3 #UVOWEL# 0 -200
+ADJ qafnodots0 #LVOWEL# 0 -150
+ADJ qafnodots3 #LVOWEL# 0 -150
+ADJ ra0 #LVOWEL# 0 -250
+ADJ ra0 #UVOWEL# 0 -250
+ADJ ra3 #LVOWEL# 0 -250
+ADJ ra3 #UVOWEL# 0 -250
+ADJ sad0 #LVOWEL# 0 -150
+ADJ sad0 #UVOWEL# 0 -200
+ADJ sad1 #LVOWEL# 50 0
+ADJ sad1 #UVOWEL# 50 -200
+ADJ sad2 #LVOWEL# 50 0
+ADJ sad2 #UVOWEL# 50 -200
+ADJ sad3 #LVOWEL# 0 -150
+ADJ sad3 #UVOWEL# 0 -200
+ADJ shin0 #UVOWEL# 0 -200
+ADJ shin0 #LVOWEL# 0 -100
+ADJ shin1 #LVOWEL# 0 0
+ADJ shin1 #UVOWEL# 0 -200
+ADJ shin2 #LVOWEL# 0 0
+ADJ shin2 #UVOWEL# 0 -200
+ADJ shin3 #UVOWEL# 0 -200
+ADJ shin3 #LVOWEL# 0 -100
+ADJ sin0 #UVOWEL# 0 -200
+ADJ sin0 #LVOWEL# 0 -100
+ADJ sin1 #LVOWEL# 0 0
+ADJ sin1 #UVOWEL# 0 -200
+ADJ sin2 #LVOWEL# 0 0
+ADJ sin2 #UVOWEL# 0 -200
+ADJ sin3 #UVOWEL# 0 -200
+ADJ sin3 #LVOWEL# 0 -100
+ADJ ta0 #LVOWEL# 0 0
+ADJ ta0 #UVOWEL# 0 -150
+ADJ ta1 #LVOWEL# 0 0
+ADJ ta2 #LVOWEL# 0 0
+ADJ ta3 #LVOWEL# 0 0
+ADJ ta3 #UVOWEL# 0 -150
+ADJ tamarbuta0 #LVOWEL# 0 0
+ADJ tamarbuta1 #LVOWEL# 0 0
+ADJ tamarbuta2 #LVOWEL# 0 0
+ADJ tamarbuta3 #LVOWEL# 0 0
+ADJ tamarbuta3 #UVOWEL# 0 50
+ADJ tche0 #LVOWEL# 0 -250
+ADJ tche0 #UVOWEL# 0 -200
+ADJ tche1 #LVOWEL# 0 -250
+ADJ tche1 #UVOWEL# 0 -200
+ADJ tche2 #LVOWEL# 0 -250
+ADJ tche2 #UVOWEL# 0 -200
+ADJ tche3 #LVOWEL# 0 -250
+ADJ tche3 #UVOWEL# 0 -200
+ADJ tha0 #LVOWEL# 0 0
+ADJ tha0 #UVOWEL# 0 100
+ADJ tha1 #LVOWEL# 0 0
+ADJ tha1 #UVOWEL# 0 100
+ADJ tha2 #LVOWEL# 0 0
+ADJ tha2 #UVOWEL# 0 100
+ADJ tha3 #LVOWEL# 0 0
+ADJ tha3 #UVOWEL# 0 100
+ADJ tta0 #LVOWEL# 0 0
+ADJ tta0 #UVOWEL# -100 0
+ADJ tta1 #LVOWEL# 0 0
+ADJ tta1 #UVOWEL# -100 0
+ADJ tta2 #LVOWEL# 0 0
+ADJ tta2 #UVOWEL# -100 0
+ADJ tta3 #LVOWEL# 0 0
+ADJ tta3 #UVOWEL# -100 0
+ADJ va0 #LVOWEL# 0 0
+ADJ va0 #UVOWEL# 0 0
+ADJ va1 #LVOWEL# 0 0
+ADJ va2 #LVOWEL# 0 0
+ADJ va3 #LVOWEL# 0 0
+ADJ va3 #UVOWEL# 0 0
+ADJ waw0 #LVOWEL# 0 -250
+ADJ waw0 #UVOWEL# 0 -250
+ADJ waw3 #LVOWEL# 0 -250
+ADJ waw3 #UVOWEL# 0 -250
+ADJ wawhamza0 #UVOWEL# 20 -100
+ADJ wawhamza3 #UVOWEL# 20 -100
+ADJ ya0 #LVOWEL# 0 -200
+ADJ ya0 #UVOWEL# 0 -200
+ADJ ya1 #UVOWEL# 0 -200
+ADJ ya2 #UVOWEL# 0 -200
+ADJ ya1 #LVOWEL# 0 -200
+ADJ ya2 #LVOWEL# 0 -200
+ADJ ya3 #LVOWEL# 0 -250
+ADJ ya3 #UVOWEL# 0 -400
+ADJ yahamza0 #LVOWEL# 0 -70
+ADJ yahamza0 #UVOWEL# -80 -90
+ADJ yahamza1 #LVOWEL# 50 0
+ADJ yahamza1 #UVOWEL# 50 -50
+ADJ yahamza2 #LVOWEL# 50 0
+ADJ yahamza2 #UVOWEL# 0 -30
+ADJ yahamza3 #LVOWEL# 0 -250
+ADJ yahamza3 #UVOWEL# -80 -250
+ADJ za0 #LVOWEL# 0 -250
+ADJ za0 #UVOWEL# 0 0
+ADJ za3 #LVOWEL# 0 -250
+ADJ za3 #UVOWEL# 0 0
+ADJ zhe0 #LVOWEL# 0 -250
+ADJ zhe0 #UVOWEL# 0 100
+ADJ zhe3 #LVOWEL# 0 -250
+ADJ zhe3 #UVOWEL# 0 100
+ADJ zwj0 #LVOWEL# 0 0
+ADJ zwj0 #UVOWEL# 0 -250
+ADJ zwj1 #LVOWEL# 0 0
+ADJ zwj1 #UVOWEL# 0 -250
+ADJ zwj2 #LVOWEL# 0 0
+ADJ zwj2 #UVOWEL# 0 -250
+ADJ zwj3 #LVOWEL# 0 0
+ADJ zwj3 #UVOWEL# 0 -250
+ADJ zza0 #LVOWEL# 0 0
+ADJ zza0 #UVOWEL# -100 0
+ADJ zza1 #LVOWEL# 0 0
+ADJ zza1 #UVOWEL# -100 0
+ADJ zza2 #LVOWEL# 0 0
+ADJ zza2 #UVOWEL# -100 0
+ADJ zza3 #LVOWEL# 0 0
+ADJ zza3 #UVOWEL# -100 0
diff --git a/language/arabic/dad/dadmono.ofm b/language/arabic/dad/dadmono.ofm
new file mode 100644
index 0000000000..187829f811
--- /dev/null
+++ b/language/arabic/dad/dadmono.ofm
Binary files differ
diff --git a/language/arabic/dad/dadmono.ovf b/language/arabic/dad/dadmono.ovf
new file mode 100644
index 0000000000..acdfe2e93e
--- /dev/null
+++ b/language/arabic/dad/dadmono.ovf
Binary files differ
diff --git a/language/arabic/dad/dadreal.tfm b/language/arabic/dad/dadreal.tfm
new file mode 100644
index 0000000000..48a8db7737
--- /dev/null
+++ b/language/arabic/dad/dadreal.tfm
Binary files differ
diff --git a/language/arabic/dad/dadrealbold.tfm b/language/arabic/dad/dadrealbold.tfm
new file mode 100644
index 0000000000..193aee7485
--- /dev/null
+++ b/language/arabic/dad/dadrealbold.tfm
Binary files differ
diff --git a/language/arabic/dad/dadrealmono.tfm b/language/arabic/dad/dadrealmono.tfm
new file mode 100644
index 0000000000..5c47cd0768
--- /dev/null
+++ b/language/arabic/dad/dadrealmono.tfm
Binary files differ
diff --git a/language/arabic/dad/make-dad-font.pl b/language/arabic/dad/make-dad-font.pl
new file mode 100644
index 0000000000..82fb82a37c
--- /dev/null
+++ b/language/arabic/dad/make-dad-font.pl
@@ -0,0 +1,1171 @@
+# %%% ====================================================================
+# %%% @Perl-file{
+# %%% filename = "make-dad-font.pl",
+# %%% version = "1.1",
+# %%% date = "2014/10/11",
+# %%% author = "Yannis Haralambous",
+# %%% copyright = "This file is part of the dad package, released
+# %%% under the LPPL."
+# %%% keywords = "TeX, file header,
+# %%% supported = "yes",
+# %%% abstract = "This is the Perl script that creates
+# %%% the dad fonts out of their AFM and ADJUST files.",
+# %%% }
+# %%% ====================================================================
+$MAXHEIGHT=560;
+$MAXDEPTH=-360;
+if ($ARGV[0] ne "") { $STYLE_="-".$ARGV[0]; $STYLE=$ARGV[0]; } else { $STYLE=""; }
+
+@LETTERS=("alif","ba","tamarbuta","ta","tha","dzim","he","khe","dal","dhal","ra","za",
+"sin","shin","sad","dad","tta","zza","ayn","ghayn","fa","qaf","kaf","lam","meem","nun",
+"ha","waw","ya","alifmaqsura","alifwasla","pe","tche","zhe","va","gaf",
+"hahamza","alifuphamza","alifmadda","aliflohamza","wawhamza","yahamza","banodots","nunnodots","fanodots","qafnodots","keshideh");
+@LETTERS_NO_LAMS=("alif","ba","tamarbuta","ta","tha","dzim","he","khe","dal","dhal","ra","za","sin","shin","sad","dad","tta","zza","ayn","ghayn","fa","qaf","kaf","meem","nun",
+"ha","waw","ya","alifmaqsura","alifwasla","alifmadda","pe","tche","zhe","va","gaf",
+"hahamza","alifuphamza","aliflohamza","wawhamza","yahamza","banodots","nunnodots","fanodots","qafnodots","keshideh");
+@LETTERS_NO_ALIFS=("ba","tamarbuta","ta","tha","dzim","he","khe","dal","dhal","ra","za",
+"sin","shin","sad","dad","tta","zza","ayn","ghayn","fa","qaf","kaf","lam","meem","nun",
+"ha","waw","ya","alifmaqsura","pe","tche","zhe","va","gaf",
+"hahamza","wawhamza","yahamza","banodots","nunnodots","fanodots","qafnodots","keshideh");
+@LETTERS_NO_LAMS_NO_ALIFS=("ba","tamarbuta","ta","tha","dzim","he","khe","dal","dhal","ra","za","sin","shin","sad","dad","tta","zza","ayn","ghayn","fa","qaf","kaf","meem","nun",
+"ha","waw","ya","alifmaqsura","pe","tche","zhe","va","gaf",
+"hahamza","wawhamza","yahamza","banodots","nunnodots","fanodots","qafnodots","keshideh");
+@LAMS=("lam");
+@ALIFS=("alif","alifuphamza","aliflohamza","alifwasla","alifmadda");
+@DIACS=("shadda","sukun","madda","vfatha");
+@vDIACS=("fatha","kasra","damma");
+$FORM{"apos"}=4;
+$FORM{"alif"}=2;
+$FORM{"ba"}=4;
+$FORM{"banodots"}=4;
+$FORM{"tamarbuta"}=4;
+$FORM{"ta"}=4;
+$FORM{"tha"}=4;
+$FORM{"dzim"}=4;
+$FORM{"he"}=4;
+$FORM{"khe"}=4;
+$FORM{"dal"}=2;
+$FORM{"dhal"}=2;
+$FORM{"ra"}=2;
+$FORM{"za"}=2;
+$FORM{"sin"}=4;
+$FORM{"shin"}=4;
+$FORM{"sad"}=4;
+$FORM{"dad"}=4;
+$FORM{"tta"}=4;
+$FORM{"zza"}=4;
+$FORM{"ayn"}=4;
+$FORM{"ghayn"}=4;
+$FORM{"fa"}=4;
+$FORM{"fanodots"}=4;
+$FORM{"qaf"}=4;
+$FORM{"qafnodots"}=4;
+$FORM{"kaf"}=4;
+$FORM{"lam"}=4;
+$FORM{"meem"}=4;
+$FORM{"nun"}=4;
+$FORM{"nunnodots"}=4;
+$FORM{"ha"}=4;
+$FORM{"waw"}=2;
+$FORM{"ya"}=4;
+$FORM{"alifmaqsura"}=2;
+$FORM{"alifwasla"}=2;
+$FORM{"pe"}=4;
+$FORM{"tche"}=4;
+$FORM{"zhe"}=2;
+$FORM{"va"}=4;
+$FORM{"gaf"}=4;
+$FORM{"hahamza"}=2;
+$FORM{"alifuphamza"}=2;
+$FORM{"aliflohamza"}=2;
+$FORM{"wawhamza"}=2;
+$FORM{"yahamza"}=4;
+$FORM{"hamza"}=1;
+$FORM{"keshideh"}=4;
+$FORM{"zwj"}=4;
+$POS{"alif0"}="41";
+$POS{"alif3"}="00";
+$POS{"alif4"}="8F";
+$POS{"alif5"}="E6";
+$POS{"ba0"}="62";
+$POS{"ba1"}="1A";
+$POS{"ba2"}="1B";
+$POS{"ba3"}="1C";
+$POS{"banodots0"}="88";
+$POS{"banodots1"}="DE";
+$POS{"banodots2"}="DF";
+$POS{"banodots3"}="E1";
+$POS{"tamarbuta0"}="84";
+$POS{"tamarbuta1"}="F4";
+$POS{"tamarbuta2"}="F5";
+$POS{"tamarbuta3"}="D2";
+$POS{"ta0"}="74";
+$POS{"ta1"}="C1";
+$POS{"ta2"}="EB";
+$POS{"ta3"}="C3";
+$POS{"tha0"}="63";
+$POS{"tha1"}="D3";
+$POS{"tha2"}="D4";
+$POS{"tha3"}="D5";
+$POS{"dzim0"}="6A";
+$POS{"dzim1"}="A8";
+$POS{"dzim2"}="A9";
+$POS{"dzim3"}="AA";
+$POS{"he0"}="48";
+$POS{"he1"}="07";
+$POS{"he2"}="08";
+$POS{"he3"}="09";
+$POS{"khe0"}="78";
+$POS{"khe1"}="C7";
+$POS{"khe2"}="C8";
+$POS{"khe3"}="C9";
+$POS{"dal0"}="64";
+$POS{"dal3"}="1D";
+$POS{"dhal0"}="85";
+$POS{"dhal3"}="86";
+$POS{"ra0"}="72";
+$POS{"ra3"}="BD";
+$POS{"za0"}="7A";
+$POS{"za3"}="CB";
+$POS{"sin0"}="73";
+$POS{"sin1"}="BE";
+$POS{"sin2"}="BF";
+$POS{"sin3"}="C0";
+$POS{"shin0"}="89";
+$POS{"shin1"}="DA";
+$POS{"shin2"}="DB";
+$POS{"shin3"}="DC";
+$POS{"sad0"}="53";
+$POS{"sad1"}="0D";
+$POS{"sad2"}="0E";
+$POS{"sad3"}="0F";
+$POS{"dad0"}="44";
+$POS{"dad1"}="04";
+$POS{"dad2"}="05";
+$POS{"dad3"}="06";
+$POS{"tta0"}="54";
+$POS{"tta1"}="10";
+$POS{"tta2"}="11";
+$POS{"tta3"}="12";
+$POS{"zza0"}="5A";
+$POS{"zza1"}="14";
+$POS{"zza2"}="15";
+$POS{"zza3"}="16";
+$POS{"ayn0"}="60";
+$POS{"ayn1"}="17";
+$POS{"ayn2"}="18";
+$POS{"ayn3"}="19";
+$POS{"ghayn0"}="52";
+$POS{"ghayn1"}="D6";
+$POS{"ghayn2"}="D7";
+$POS{"ghayn3"}="D8";
+$POS{"fa0"}="66";
+$POS{"fa1"}="1F";
+$POS{"fa2"}="A0";
+$POS{"fa3"}="A1";
+$POS{"fanodots0"}="8C";
+$POS{"fanodots1"}="E2";
+$POS{"fanodots2"}="E3";
+$POS{"fanodots3"}="F3";
+$POS{"qaf0"}="71";
+$POS{"qaf1"}="BA";
+$POS{"qaf2"}="BB";
+$POS{"qaf3"}="BC";
+$POS{"qafnodots0"}="8D";
+$POS{"qafnodots1"}="EE";
+$POS{"qafnodots2"}="F6";
+$POS{"qafnodots3"}="E5";
+$POS{"kaf0"}="6B";
+$POS{"kaf1"}="AB";
+$POS{"kaf2"}="AC";
+$POS{"kaf3"}="AD";
+$POS{"lam0"}="6C";
+$POS{"lam1"}="AE";
+$POS{"lam2"}="AF";
+$POS{"lam3"}="B0";
+$POS{"lam4"}="46"; #lam1-alif3
+$POS{"lam5"}="47"; #lam2-alif3
+$POS{"lam6"}="4C"; #lam1-(lam2)-ha3
+$POS{"lam7"}="4D"; #lam2-(lam2)-ha3
+$POS{"lam8"}="94"; #(lam1)-lam2-ha3
+$POS{"ll0"}="F7";
+$POS{"ll1"}="F8";
+$POS{"ll5"}="F9";
+$POS{"LLh0"}="FA";
+$POS{"meem0"}="6D";
+$POS{"meem1"}="B1";
+$POS{"meem2"}="B2";
+$POS{"meem3"}="B3";
+$POS{"nun0"}="6E";
+$POS{"nun1"}="B4";
+$POS{"nun2"}="B5";
+$POS{"nun3"}="B6";
+$POS{"nunnodots0"}="8B";
+$POS{"nunnodots1"}="EC";
+$POS{"nunnodots2"}="ED";
+$POS{"nunnodots3"}="E0";
+$POS{"ha0"}="68";
+$POS{"ha1"}="A5";
+$POS{"ha2"}="A6";
+$POS{"ha3"}="A7";
+$POS{"ha4"}="93"; #(lam1-lam2)-ha3
+$POS{"waw0"}="55";
+$POS{"waw3"}="13";
+$POS{"ya0"}="59";
+$POS{"ya1"}="0A";
+$POS{"ya2"}="0B";
+$POS{"ya3"}="CA";
+$POS{"alifmaqsura0"}="49";
+$POS{"alifmaqsura3"}="0C";
+$POS{"pe0"}="70";
+$POS{"pe1"}="B7";
+$POS{"pe2"}="B8";
+$POS{"pe3"}="B9";
+$POS{"tche0"}="43";
+$POS{"tche1"}="01";
+$POS{"tche2"}="02";
+$POS{"tche3"}="03";
+$POS{"zhe0"}="4A";
+$POS{"zhe3"}="D9";
+$POS{"va0"}="76";
+$POS{"va1"}="C4";
+$POS{"va2"}="C5";
+$POS{"va3"}="C6";
+$POS{"gaf0"}="67";
+$POS{"gaf1"}="A2";
+$POS{"gaf2"}="A3";
+$POS{"gaf3"}="A4";
+$POS{"hahamza0"}="65";
+$POS{"hahamza3"}="1E";
+$POS{"alifuphamza0"}="E4";
+$POS{"alifuphamza3"}="CC";
+$POS{"alifuphamza4"}="90";
+$POS{"alifuphamza5"}="E7";
+$POS{"aliflohamza0"}="EF";
+$POS{"aliflohamza3"}="CD";
+$POS{"aliflohamza4"}="91";
+$POS{"aliflohamza5"}="E8";
+$POS{"alifmadda0"}="C2";
+$POS{"alifmadda3"}="DD";
+$POS{"alifmadda4"}="92";
+$POS{"alifmadda5"}="E9";
+$POS{"alifwasla0"}="83";
+$POS{"alifwasla3"}="F0";
+$POS{"alifwasla4"}="F1";
+$POS{"alifwasla5"}="F2";
+$POS{"wawhamza0"}="FC";
+$POS{"wawhamza3"}="CE";
+$POS{"yahamza0"}="FF";
+$POS{"yahamza1"}="CF";
+$POS{"yahamza2"}="D0";
+$POS{"yahamza3"}="D1";
+$POS{"hamza0"}="7C";
+$POS{"keshideh0"}="4B";
+$POS{"keshideh1"}="4F";
+$POS{"keshideh2"}="50";
+$POS{"keshideh3"}="51";
+$POS{"zwj0"}="2D";
+$POS{"zwj1"}="2D";
+$POS{"zwj2"}="2D";
+$POS{"zwj3"}="26";
+$POS{"fatha"}="61";
+$POS{"vfatha"}="8E";
+$POS{"kasra"}="69";
+$POS{"damma"}="75";
+$POS{"sukun"}="6F";
+$POS{"madda"}="9F";
+$POS{"fathatan"}="99";
+$POS{"kasratan"}="9A";
+$POS{"dammatan"}="9B";
+$POS{"shadda"}="2B";
+$POS{"shaddafatha"}="96";
+$POS{"shaddavfatha"}="EA";
+$POS{"shaddakasra"}="97";
+$POS{"shaddadamma"}="98";
+$POS{"shaddamadda"}="8A";
+$POS{"shaddafathatan"}="9C";
+$POS{"shaddakasratan"}="9D";
+$POS{"shaddadammatan"}="9E";
+$POS{"BC"}="7C";
+$POS{"plus"}="2B";
+$POS{"apos0"}="27";
+$POS{"apos1"}="56";
+$POS{"apos2"}="57";
+$POS{"apos3"}="58";
+$POS{"apos4"}="5E";
+$POS{"apos5"}="5F";
+$POS{"aster"}="2A";
+$POS{"N"}="4E";
+$POS{"zero"}="30";
+$POS{"un"}="31";
+$POS{"deux"}="32";
+$POS{"trois"}="33";
+$POS{"quatre"}="34";
+$POS{"cinq"}="35";
+$POS{"six"}="36";
+$POS{"sept"}="37";
+$POS{"huit"}="38";
+$POS{"neuf"}="39";
+$POS{"question"}="3F";
+$POS{"comma"}="2C";
+$POS{"semicolon"}="EB";
+$DECALAGE{"fatha"}=1;
+$DECALAGE{"kasra"}=2;
+$DECALAGE{"damma"}=3;
+$DECALAGE{"fathatan"}=4;
+$DECALAGE{"kasratan"}=5;
+$DECALAGE{"dammatan"}=7;
+$DECALAGE{"shadda"}=8;
+$DECALAGE{"shaddafatha"}=9;
+$DECALAGE{"shaddakasra"}=10;
+$DECALAGE{"shaddadamma"}=11;
+$DECALAGE{"shaddafathatan"}=12;
+$DECALAGE{"shaddakasratan"}=13;
+$DECALAGE{"shaddadammatan"}=14;
+$DECALAGE{"sukun"}=15;
+$DECALAGE{"madda"}=16;
+$DECALAGE{"vfatha"}=17;
+$DECALAGE{"shaddavfatha"}=18;
+$DECALAGE{"shaddamadda"}=19;
+
+$UTFPOS{"alif0"}="0627";
+$UTFPOS{"ba0"}="0628";
+$UTFPOS{"banodots0"}="066E";
+$UTFPOS{"tamarbuta0"}="0629";
+$UTFPOS{"ta0"}="062A";
+$UTFPOS{"tha0"}="062B";
+$UTFPOS{"dzim0"}="062C";
+$UTFPOS{"he0"}="062D";
+$UTFPOS{"khe0"}="062E";
+$UTFPOS{"dal0"}="062F";
+$UTFPOS{"dhal0"}="0630";
+$UTFPOS{"ra0"}="0631";
+$UTFPOS{"za0"}="0632";
+$UTFPOS{"sin0"}="0633";
+$UTFPOS{"shin0"}="0634";
+$UTFPOS{"sad0"}="0635";
+$UTFPOS{"dad0"}="0636";
+$UTFPOS{"tta0"}="0637";
+$UTFPOS{"zza0"}="0638";
+$UTFPOS{"ayn0"}="0639";
+$UTFPOS{"ghayn0"}="063A";
+$UTFPOS{"fa0"}="0641";
+$UTFPOS{"fanodots0"}="06A1";
+$UTFPOS{"qaf0"}="0642";
+$UTFPOS{"qafnodots0"}="066F";
+$UTFPOS{"kaf0"}="0643";
+$UTFPOS{"lam0"}="0644";
+$UTFPOS{"meem0"}="0645";
+$UTFPOS{"nun0"}="0646";
+$UTFPOS{"nunnodots0"}="06BA";
+$UTFPOS{"ha0"}="0647";
+$UTFPOS{"waw0"}="0648";
+$UTFPOS{"ya0"}="064A";
+$UTFPOS{"alifmaqsura0"}="0649";
+$UTFPOS{"pe0"}="067E";
+$UTFPOS{"tche0"}="0686";
+$UTFPOS{"zhe0"}="0698";
+$UTFPOS{"va0"}="06A4";
+$UTFPOS{"gaf0"}="06AF";
+$UTFPOS{"hahamza0"}="06C2";
+$UTFPOS{"alifuphamza0"}="0623";
+$UTFPOS{"aliflohamza0"}="0625";
+$UTFPOS{"alifmadda0"}="0622";
+$UTFPOS{"alifwasla0"}="0671";
+$UTFPOS{"wawhamza0"}="0624";
+$UTFPOS{"yahamza0"}="0626";
+$UTFPOS{"hamza0"}="0621";
+$UTFPOS{"keshideh0"}="0640";
+$UTFPOS{"zwj0"}="200D";
+$UTFPOS{"fatha"}="064E";
+$UTFPOS{"vfatha"}="0670";
+$UTFPOS{"kasra"}="0650";
+$UTFPOS{"damma"}="064F";
+$UTFPOS{"shadda"}="0651";
+$UTFPOS{"sukun"}="0652";
+$UTFPOS{"madda"}="0653";
+$UTFPOS{"fathatan"}="064B";
+$UTFPOS{"kasratan"}="064D";
+$UTFPOS{"dammatan"}="064C";
+$UTFPOS{"zero"}="0660";
+$UTFPOS{"un"}="0661";
+$UTFPOS{"deux"}="0662";
+$UTFPOS{"trois"}="0663";
+$UTFPOS{"quatre"}="0664";
+$UTFPOS{"cinq"}="0665";
+$UTFPOS{"six"}="0666";
+$UTFPOS{"sept"}="0667";
+$UTFPOS{"huit"}="0668";
+$UTFPOS{"neuf"}="0669";
+$UTFPOS{"question"}="061F";
+$UTFPOS{"comma"}="060C";
+$UTFPOS{"semicolon"}="061B";
+foreach $utf (%UTFPOS) {
+if ($POS{$utf} ne "") {
+$UTF_GOTO{$POS{$utf}}=$UTFPOS{$utf};
+}}
+
+###read AFM file
+open IN, "Dad$STYLE_.afm";
+while (<IN>) {
+if (m/^C ([0-9]+) ; WX ([0-9]+) ; N [^;]+ ; B ([0-9-]+) ([0-9-]+) ([0-9-]+) ([0-9-]+) ;/) {
+$w=$2;
+$h=$6;
+$d=$4;
+$HEX=sprintf("%X",$1 + 0);
+$HEX=~s/^([0-9A-F])$/0\1/;
+$WIDTH{$HEX}=$w/1000;
+$HEIGHT{$HEX}=($h>$MAXHEIGHT?$MAXHEIGHT/1000:$h/1000);
+if ($d != 0) { $DEPTH{$HEX}=-($d<$MAXDEPTH?$MAXDEPTH/1000:$d/1000); } else { $DEPTH{$HEX}="0.0"; }
+}
+}
+close IN;
+
+if ($STYLE eq "bold") { $thickness="0.111"; }
+elsif ($STYLE eq "mono") { $thickness="0.113"; }
+else { $thickness="0.072"; }
+
+$PRELUDE="(OFMLEVEL D 0)
+(FONTDIR TL)
+(FAMILY YARABIC)
+(FACE F MRR)
+(CODINGSCHEME FONTSPECIFIC)
+(DESIGNSIZE R 10.0)
+(CHECKSUM H 9DCC4880)
+(FONTDIMEN
+ (SLANT R 0.000000)
+ (SPACE R 0.333334)
+ (STRETCH R 0.166667)
+ (SHRINK R 0.111112)
+ (XHEIGHT R 0.430555)
+ (QUAD R 1.000003)
+ (EXTRASPACE R 0.111112)
+ (DEFAULTRULETHICKNESS R $thickness)
+ )
+(MAPFONT D 0
+ (FONTNAME dadreal$STYLE)
+ (FONTAT R 1.0)
+ (FONTDSIZE R 10.0)
+ )
+(LIGTABLE
+";
+$PL_PRELUDE="(FAMILY DADREAL)
+(CODINGSCHEME FONTSPECIFIC)
+(DESIGNSIZE R 10.0)
+(FONTDIMEN
+ (SPACE R 0.333334)
+ (STRETCH R 0.166667)
+ (SHRINK R 0.111112)
+ (XHEIGHT R 0.430555)
+ (QUAD R 1.000003)
+ (EXTRASPACE R 0.111112)
+ )
+(LIGTABLE
+";
+
+###write real PL file
+open OUT, ">dadreal$STYLE.pl";
+print OUT $PL_PRELUDE;
+print OUT " )\n";
+foreach $i (0 .. 255) {
+$i_hex=sprintf("%X",$i);
+$i_hex=~s/^([0-9A-F])$/0\1/;
+print OUT "(CHARACTER H $i_hex (COMMENT char$i_hex)
+ (CHARWD R ".$WIDTH{$i_hex}.")
+ (CHARHT R ".$HEIGHT{$i_hex}.")
+ (CHARDP R ".$DEPTH{$i_hex}.")
+ )
+";
+}
+close OUT;
+system("pltotf dadreal$STYLE.pl");
+
+sub alter_LIGS {
+my $label=shift;
+my $LIG=shift;
+my $right=shift;
+my $result=shift;
+if ($label ne "" and $LIG ne "" and $right ne "" and $result ne "") {
+if ($LIGS{$label} =~ m|[/]?LIG[/>]*:$right:([0-9A-F]+)|) {
+$LIGS{$label} =~ s|[/]?LIG[/>]*:$right:([0-9A-F]+)|$LIG:$right:$result|;
+} else {
+if ($LIGS{$label} ne "") {
+$LIGS{$label} .= "#";
+}
+$LIGS{$label} .= "$LIG:$right:$result";
+}
+}
+}
+
+sub addoperation {
+my $tmp=shift;
+my $label=$POS{$tmp};
+my $LIG=shift;
+my $tmp=shift;
+my $right=$POS{$tmp};
+my $tmp=shift;
+my $result=$POS{$tmp};
+&alter_LIGS($label,$LIG,$right,$result);
+}
+
+sub addplusutfvowoperation {
+my $tmp=shift;
+my $label=$POS{$tmp};
+my $LIG=shift;
+my $tmp=shift;
+my $right=$UTFPOS{$tmp};
+my $tmp=shift;
+my $result=$POS{$tmp};
+&alter_LIGS($label,$LIG,$right,$result);
+}
+
+sub addutfoperation {
+my $tmp=shift;
+if ($tmp =~ m/^(.+?)([0-9])$/) { $labelc=$1; $labelp=$2; }
+my $label=$POS{$tmp};
+my $LIG=shift;
+my $tmp=shift;
+if ($tmp =~ m/^(.+?)([0-9])$/) { $rightc=$1; $rightp=$2; }
+my $right=$POS{$tmp};
+my $tmp=shift;
+if ($tmp =~ m/^(.+?)([0-9])$/) { $resultc=$1; $resultp=$2; }
+my $result=$POS{$tmp};
+
+if ($labelp==0 and $UTFPOS{$labelc.$labelp} ne "") { $label=$UTF_GOTO{$label}; }
+if ($rightp==0 and $UTFPOS{$rightc.$rightp} ne "") { $right=$UTF_GOTO{$right}; }
+if ($resultp==0 and $UTFPOS{$resultc.$resultp} ne "") { $result=$UTF_GOTO{$result}; }
+
+&alter_LIGS($label,$LIG,$right,$result);
+}
+
+sub addutfvowoperation {
+my $tmp=shift;
+my $label=$UTFPOS{$tmp};
+my $labellow=$POS{$tmp};
+my $tmp=shift;
+my $vowelname=$tmp;
+my $vow=$UTFPOS{$tmp};
+my $vowlow=$POS{$tmp};
+
+&alter_LIGS($label,"LIG",$vow,sprintf("%X",$DECALAGE{$vowelname}).$labellow);
+}
+
+# sub addutfccoperation {
+# my $tmp=shift;
+# my $label=$UTFPOS{$tmp};
+# my $labellow=$POS{$tmp};
+# my $tmp=shift;
+# my $vowelname=$tmp;
+# my $vow=$UTFPOS{$tmp};
+# my $vowlow=$POS{$tmp};
+# my $tmp=shift;
+# my $labelb=$UTFPOS{$tmp};
+# my $labelblow=$POS{$tmp};•••
+#
+# &alter_LIGS(sprintf("%X",$DECALAGE{$vowelname}).$labellow,"/LIG",$labelb,$labelblow);
+# }
+
+##k0 + l0 - /LIG/ -> k0 - l0
+##k0 + - LIG/ -> k1 -
+##- + l0 LIG -> l3
+# foreach $lettera (@LETTERS) {
+# if ($FORM{$lettera}==4) {
+# foreach $letterb (@LETTERS) {
+# &addoperation($lettera."0","/LIG/",$letterb."0","zwj0");
+# }
+# &addoperation($lettera."0","LIG/","zwj0",$lettera."1");
+# }
+# if ($FORM{$lettera}==4 or $FORM{$lettera}==2) {
+# &addoperation("zwj0","LIG",$lettera."0",$lettera."3");
+# }
+# }
+foreach $lettera (@LETTERS) {
+&addoperation("zwj0","LIG",$lettera."0",$lettera."3");
+&addutfoperation("zwj0","LIG",$lettera."0",$lettera."3");
+}
+&addoperation("zwj0","LIG","apos0","apos3");
+
+foreach $lettera (@LETTERS) {
+if ($FORM{$lettera}==4) {
+&addoperation($lettera."0","LIG/","zwj0",$lettera."1");
+&addoperation($lettera."3","LIG/","zwj0",$lettera."2");
+&addutfoperation($lettera."0","LIG/","zwj0",$lettera."1");
+&addutfoperation($lettera."3","LIG/","zwj0",$lettera."2");
+&addoperation($lettera."0","LIG/","apos0",$lettera."1");
+&addoperation($lettera."3","LIG/","apos0",$lettera."2");
+&addoperation($lettera."0","LIG/","lam6",$lettera."1");
+&addoperation($lettera."3","LIG/","lam6",$lettera."2");
+&addoperation($lettera."2","/LIG","lam6","lam7");
+&addoperation($lettera."1","/LIG","lam6","lam7");
+&addutfoperation($lettera."0","LIG/","lam6",$lettera."1");
+&addutfoperation($lettera."3","LIG/","lam6",$lettera."2");
+&addutfoperation($lettera."2","/LIG","lam6","lam7");
+&addutfoperation($lettera."1","/LIG","lam6","lam7");
+}
+elsif ($FORM{$lettera}==2) {
+&addoperation($lettera."0","/LIG","zwj0","zwj3");
+&addoperation($lettera."3","/LIG","zwj0","zwj3");
+}
+}
+foreach $lettera (@LETTERS_NO_LAMS) {
+if ($FORM{$lettera}==4) {
+&addoperation($lettera."1","/LIG","apos0","apos3");
+&addoperation($lettera."2","/LIG","apos0","apos3");
+}
+}
+foreach $lettera (@LAMS) {
+if ($FORM{$lettera}==4) {
+&addoperation($lettera."1","/LIG","apos0","apos3");
+&addoperation($lettera."2","/LIG","apos0","apos3");
+&addoperation($lettera."0","LIG/","apos0",$lettera."4");
+&addoperation($lettera."3","LIG/","apos0",$lettera."5");
+&addoperation($lettera."4","/LIG>","apos0","apos4");
+&addoperation($lettera."5","/LIG>","apos0","apos5");
+}
+}
+
+foreach $lettera (@LETTERS_NO_LAMS) {
+if ($FORM{$lettera}==4) {
+foreach $letterb (@LETTERS_NO_ALIFS) {
+if ($FORM{$letterb}==4 or $FORM{$letterb}==2) {
+&addoperation($lettera."0","LIG/",$letterb."0",$lettera."1");
+&addoperation($lettera."3","LIG/",$letterb."0",$lettera."2");
+&addoperation($lettera."1","/LIG",$letterb."0",$letterb."3");
+&addoperation($lettera."2","/LIG",$letterb."0",$letterb."3");
+&addutfoperation($lettera."0","LIG/",$letterb."0",$lettera."1");
+&addutfoperation($lettera."3","LIG/",$letterb."0",$lettera."2");
+&addutfoperation($lettera."1","/LIG",$letterb."0",$letterb."3");
+&addutfoperation($lettera."2","/LIG",$letterb."0",$letterb."3");
+}
+}
+}
+}
+foreach $lettera (@LAMS) {
+if ($FORM{$lettera}==4) {
+foreach $letterb (@LETTERS_NO_ALIFS) {
+if ($FORM{$letterb}==4 or $FORM{$letterb}==2) {
+&addoperation($lettera."0","LIG/",$letterb."0",$lettera."1");
+&addoperation($lettera."3","LIG/",$letterb."0",$lettera."2");
+&addoperation($lettera."1","/LIG",$letterb."0",$letterb."3");
+&addoperation($lettera."2","/LIG",$letterb."0",$letterb."3");
+&addutfoperation($lettera."0","LIG/",$letterb."0",$lettera."1");
+&addutfoperation($lettera."3","LIG/",$letterb."0",$lettera."2");
+&addutfoperation($lettera."1","/LIG",$letterb."0",$letterb."3");
+&addutfoperation($lettera."2","/LIG",$letterb."0",$letterb."3");
+}
+}
+}
+}
+foreach $lettera (@LETTERS_NO_LAMS) {
+if ($FORM{$lettera}==4) {
+foreach $letterb (@ALIFS) {
+if ($FORM{$letterb}==4 or $FORM{$letterb}==2) {
+&addoperation($lettera."0","LIG/",$letterb."0",$lettera."1");
+&addoperation($lettera."3","LIG/",$letterb."0",$lettera."2");
+&addoperation($lettera."1","/LIG",$letterb."0",$letterb."3");
+&addoperation($lettera."2","/LIG",$letterb."0",$letterb."3");
+&addutfoperation($lettera."0","LIG/",$letterb."0",$lettera."1");
+&addutfoperation($lettera."3","LIG/",$letterb."0",$lettera."2");
+&addutfoperation($lettera."1","/LIG",$letterb."0",$letterb."3");
+&addutfoperation($lettera."2","/LIG",$letterb."0",$letterb."3");
+}
+}
+}
+}
+foreach $lettera (@LAMS) {
+foreach $letterb (@ALIFS) {
+&addoperation($lettera."0","LIG/",$letterb."0",$lettera."4");
+&addoperation($lettera."3","LIG/",$letterb."0",$lettera."5");
+&addoperation($lettera."4","/LIG>",$letterb."0",$letterb."4");
+&addoperation($lettera."5","/LIG>",$letterb."0",$letterb."5");
+&addutfoperation($lettera."0","LIG/",$letterb."0",$lettera."4");
+&addutfoperation($lettera."3","LIG/",$letterb."0",$lettera."5");
+&addutfoperation($lettera."4","/LIG>",$letterb."0",$letterb."4");
+&addutfoperation($lettera."5","/LIG>",$letterb."0",$letterb."5");
+}
+}
+
+foreach $letter (@LETTERS) {
+foreach $vowel ("fatha","kasra","damma","sukun","shadda","madda","vfatha") {
+&addutfvowoperation($letter."0",$vowel);
+# foreach $letterb (@LETTERS) {
+# if ($FORM{$letter}==4 and $FORM{$letterb}==4) {•••
+# &addutfccoperation($letter."0",$vowel,"LIG/",$letterb."0",$letter."1");
+# &addutfccoperation($letter."1",$vowel,"/LIG",$letterb."0",$letterb."3");
+# }
+# }
+}
+}
+
+##encoding operations
+# &operation("'","LIG","a","alifuphamza0"); ä
+# &operation("'","LIG","i","aliflohamza0"); ï
+# &operation("'","LIG","u","wawhamza0"); ü
+# &operation("'","LIG","I","yahamza0"); ÿ
+# &operation("'","LIG","A","alifmadda0"); Â
+&addoperation("lam6","/LIG","lam6","lam8");
+&addoperation("lam7","/LIG","lam6","lam8");
+&addoperation("lam8","/LIG","ha0","ha4");
+&addoperation("apos0","LIG","ba0","banodots0");
+&addoperation("apos3","LIG","ba0","banodots3");
+&addoperation("apos0","LIG","nun0","nunnodots0");
+&addoperation("apos3","LIG","nun0","nunnodots3");
+&addoperation("apos0","LIG","fa0","fanodots0");
+&addoperation("apos3","LIG","fa0","fanodots3");
+&addoperation("apos0","LIG","qaf0","qafnodots0");
+&addoperation("apos3","LIG","qaf0","qafnodots3");
+&addoperation("apos0","LIG","fatha","alifuphamza0");
+&addoperation("apos3","LIG","fatha","alifuphamza3");
+&addoperation("apos4","LIG","fatha","alifuphamza4");
+&addoperation("apos5","LIG","fatha","alifuphamza5");
+&addoperation("apos0","LIG","kasra","aliflohamza0");
+&addoperation("apos3","LIG","kasra","aliflohamza3");
+&addoperation("apos4","LIG","kasra","aliflohamza4");
+&addoperation("apos5","LIG","kasra","aliflohamza5");
+&addoperation("apos0","LIG","alif0","alifmadda0");
+&addoperation("apos3","LIG","alif0","alifmadda3");
+&addoperation("apos4","LIG","alif0","alifmadda4");
+&addoperation("apos5","LIG","alif0","alifmadda5");
+&addoperation("apos0","LIG","damma","wawhamza0");
+&addoperation("apos3","LIG","damma","wawhamza3");
+&addoperation("apos0","LIG","alifmaqsura0","yahamza0");
+&addoperation("apos3","LIG","alifmaqsura0","yahamza3");
+&addoperation("alif0","LIG","aster","alifwasla0");
+&addoperation("alif3","LIG","aster","alifwasla3");
+&addoperation("ta0","LIG","aster","tamarbuta0");
+&addoperation("ta1","LIG","aster","tamarbuta1");
+&addoperation("ta2","LIG","aster","tamarbuta2");
+&addoperation("ta3","LIG","aster","tamarbuta3");
+&addoperation("ta0","LIG","ha0","tha0");
+&addoperation("ta1","LIG","ha0","tha1");
+&addoperation("ta2","LIG","ha0","tha2");
+&addoperation("ta3","LIG","ha0","tha3");
+&addoperation("dal0","LIG","ha0","dhal0");
+&addoperation("dal3","LIG","ha0","dhal3");
+# &addoperation("za0","LIG","ha0","zhe0");
+# &addoperation("za3","LIG","ha0","zhe3");
+# &addoperation("kaf0","LIG","ha0","khe0");
+# &addoperation("kaf1","LIG","ha0","khe1");
+# &addoperation("kaf2","LIG","ha0","khe2");
+# &addoperation("kaf3","LIG","ha0","khe3");
+&addoperation("lam0","LIG","quatre","lam4");
+&addoperation("lam3","LIG","cinq","lam5");
+&addoperation("lam1","LIG","quatre","lam4");
+&addoperation("lam2","LIG","cinq","lam5");
+&addoperation("alif3","LIG","quatre","alif4");
+&addoperation("alif3","LIG","cinq","alif5");
+&addoperation("alifuphamza3","LIG","quatre","alifuphamza4");
+&addoperation("alifuphamza3","LIG","cinq","alifuphamza5");
+&addoperation("aliflohamza3","LIG","quatre","aliflohamza4");
+&addoperation("aliflohamza3","LIG","cinq","aliflohamza5");
+&addoperation("alifmadda3","LIG","quatre","alifmadda4");
+&addoperation("alifmadda3","LIG","cinq","alifmadda5");
+&addoperation("alifwasla3","LIG","quatre","alifwasla4");
+&addoperation("alifwasla3","LIG","cinq","alifwasla5");
+&addoperation("sin0","LIG","ha0","shin0");
+&addoperation("sin1","LIG","ha0","shin1");
+&addoperation("sin2","LIG","ha0","shin2");
+&addoperation("sin3","LIG","ha0","shin3");
+# &addoperation("gaf0","LIG","ha0","ghayn0");
+# &addoperation("gaf1","LIG","ha0","ghayn1");
+# &addoperation("gaf2","LIG","ha0","ghayn2");
+# &addoperation("gaf3","LIG","ha0","ghayn3");
+&addoperation("plus","LIG","fatha","shaddafatha");
+&addoperation("plus","LIG","kasra","shaddakasra");
+&addoperation("plus","LIG","damma","shaddadamma");
+&addoperation("fatha","LIG","N","fathatan");
+&addoperation("kasra","LIG","N","kasratan");
+&addoperation("damma","LIG","N","dammatan");
+&addoperation("fatha","LIG","aster","vfatha");
+&addoperation("vfatha","LIG","aster","madda");
+&addoperation("shaddafatha","LIG","aster","shaddavfatha");
+&addoperation("shaddavfatha","LIG","aster","shaddamadda");
+&addoperation("shaddafatha","LIG","N","shaddafathatan");
+&addoperation("shaddakasra","LIG","N","shaddakasratan");
+&addoperation("shaddadamma","LIG","N","shaddadammatan");
+&addoperation("zwj0","LIG","zwj0","keshideh0");
+&addoperation("zwj3","LIG","zwj0","keshideh3");
+&addoperation("keshideh0","/LIG>","zwj0","keshideh0");
+&addoperation("keshideh3","/LIG>","zwj0","keshideh3");
+
+if (-e "dad$STYLE.adjust") {
+open ADJ, "dad$STYLE.adjust";
+while (<ADJ>) {
+if (m/^KRN ([^ ]+) ([^ ]+) ([0-9.-]+)/) {
+$l=$1;
+$r=$2;
+$k=$3;
+if ($POS{$l} ne "" and $POS{$r} ne "") {
+if ($LIGS{$POS{$l}} eq "") {
+$LIGS{$POS{$l}} = "KRN:".$POS{$r}.":".$k;
+} else {
+$LIGS{$POS{$l}} .= "#KRN:".$POS{$r}.":".$k;
+}
+}
+}
+elsif (m/^ADJ ([^ ]+) ([^ ]+) ([0-9.-]+) ([0-9.-]+)/) {
+$l=$1;
+$r=$2;
+$h=$3;
+$v=$4;
+if ($POS{$l} ne "" and ($POS{$r} ne "" or $r eq "#UVOWEL#" or $r eq "#LVOWEL#")) {
+$HADJUST{"$l:$r"}=$h;
+$VADJUST{"$l:$r"}=$v;
+}
+}
+}
+close ADJ;
+}
+
+%ALREADY_OUTPUT=();
+
+sub clone_LIGS {
+my $orig=shift;
+my $diac=shift;
+my $decalage=shift;
+
+my $new=$orig."+".$diac;
+
+foreach $i ("0","1","2","3","4","5","6","7","8") {
+if ($POS{$orig.$i} ne "") {
+
+
+###############
+$POS{$new.$i}=sprintf("%X",hex($POS{$orig.$i})+$decalage*256);
+
+my @lesLIGS=split(/#/,$LIGS{$POS{$orig.$i}});
+my @tmp=();
+foreach $laLIG (@lesLIGS) {
+($a,$b,$c)=split(/:/,$laLIG);
+
+if ($a eq "LIG/" and hex($b)<256) { $c=sprintf("%X",hex($c)+$decalage*256); }
+push @tmp, "$a:$b:$c";
+#if ($b eq "69" and $c eq "A6C") { print STDERR "zut"; }
+if ($UTF_GOTO{$b} ne "") {
+if ($decalage==8 and ($diac eq "fatha" or $diac eq "kasra" or $diac eq "damma" or $diac eq "fathatan" or $diac eq "kasratan" or $diac eq "dammatan" or $diac eq "vfatha" or $diac eq "damma")) {}
+else { push @tmp, "$a:".$UTF_GOTO{$b}.":$c"; }
+#if ($UTF_GOTO{$b} eq "0650" and $c eq "26C") { print STDERR "$b $c yes"; }
+}
+}
+
+###############
+if ($diac eq "fathatan" or $diac eq "kasratan" or $diac eq "dammatan") {
+$new_without_tan=$new;
+$new_without_tan=~s/tan$//;
+&addoperation($new_without_tan.$i,"LIG","N",$new.$i);
+}
+elsif ($diac eq "shaddafathatan" or $diac eq "shaddakasratan" or $diac eq "shaddadammatan") {
+$new_without_tan=$new;
+$new_without_tan=~s/tan$//;
+&addoperation($new_without_tan.$i,"LIG","N",$new.$i);
+$diac_without_shadda=$diac;
+$diac_without_shadda=~s/^shadda//;
+&addplusutfvowoperation($orig."+"."shadda".$i,"LIG",$diac_without_shadda,$new.$i);
+}
+elsif ($diac eq "shaddafatha" or $diac eq "shaddakasra" or $diac eq "shaddadamma") {
+$diac_without_shadda=$diac;
+$diac_without_shadda=~s/^shadda//;
+&addoperation($orig."+"."shadda".$i,"LIG",$diac_without_shadda,$new.$i);
+&addplusutfvowoperation($orig."+"."shadda".$i,"LIG",$diac_without_shadda,$new.$i);
+}
+elsif ($diac eq "shaddavfatha") {
+&addoperation($orig."+"."shaddafatha".$i,"LIG","aster",$orig."+"."shaddavfatha".$i);
+&addplusutfvowoperation($orig."+"."shadda".$i,"LIG","vfatha",$new.$i);
+}
+elsif ($diac eq "vfatha") {
+&addoperation($orig."+"."fatha".$i,"LIG","aster",$orig."+"."vfatha".$i);
+}
+elsif ($diac eq "madda") {
+&addoperation($orig."+"."vfatha".$i,"LIG","aster",$orig."+"."madda".$i);
+}
+elsif ($diac eq "shaddamadda") {
+&addoperation($orig."+"."shaddavfatha".$i,"LIG","aster",$orig."+"."shaddamadda".$i);
+&addplusutfvowoperation($orig."+"."shadda".$i,"LIG","madda",$new.$i);
+}
+###############
+
+$LIGS{$POS{$new.$i}}=join("#",@tmp);
+###############
+
+
+}
+}
+}
+
+
+$UVOWEL{"fatha"}=1;
+$UVOWEL{"damma"}=1;
+$LVOWEL{"kasra"}=1;
+$UVOWEL{"fathatan"}=1;
+$UVOWEL{"dammatan"}=1;
+$LVOWEL{"kasratan"}=1;
+$UVOWEL{"shaddafatha"}=1;
+$UVOWEL{"shaddadamma"}=1;
+$UVOWEL{"shaddakasra"}=1;
+$UVOWEL{"shaddafathatan"}=1;
+$UVOWEL{"shaddadammatan"}=1;
+$UVOWEL{"shaddakasratan"}=1;
+$UVOWEL{"sukun"}=1;
+$UVOWEL{"shadda"}=1;
+$UVOWEL{"madda"}=1;
+$UVOWEL{"vfatha"}=1;
+$UVOWEL{"shaddavfatha"}=1;
+$UVOWEL{"shaddamadda"}=1;
+
+sub buildchar_one {
+my $base=shift;
+my $form=shift;
+my $diac=shift;
+my $decalage=shift;
+my $position=sprintf("%X",hex($POS{$base.$form})+$decalage*256);
+my $res="";
+
+if ($POS{"$base$form"} ne "") {
+$POS{"$base+$diac$form"}=$position;
+&addoperation("$base$form","LIG",$diac,"$base+$diac$form");
+&addplusutfvowoperation("$base$form","LIG",$diac,"$base+$diac$form");
+$res="(CHARACTER H $position (COMMENT $base+$diac$form)
+ (CHARWD R ".$WIDTH{$POS{$base.$form}}.")
+ (CHARHT R ".$HEIGHT{$POS{$base.$form}}.")
+ (CHARDP R ".$DEPTH{$POS{$base.$form}}.")
+ (MAP
+ (SELECTFONT D 0)
+";
+
+if ($UVOWEL{$diac}==1 and ($HADJUST{"$base$form:#UVOWEL#"} ne "" or $VADJUST{"$base$form:#UVOWEL#"} ne "")) {
+$HADJUST{"$base$form:$diac"}=$HADJUST{"$base$form:#UVOWEL#"};
+$VADJUST{"$base$form:$diac"}=$VADJUST{"$base$form:#UVOWEL#"};
+}
+if ($LVOWEL{$diac}==1 and ($HADJUST{"$base$form:#LVOWEL#"} ne "" or $VADJUST{"$base$form:#LVOWEL#"} ne "")) {
+$HADJUST{"$base$form:$diac"}=$HADJUST{"$base$form:#LVOWEL#"};
+$VADJUST{"$base$form:$diac"}=$VADJUST{"$base$form:#LVOWEL#"};
+}
+
+$res.=
+" (PUSH)
+ (SETCHAR H ".$POS{$base.$form}.")
+ (POP)
+";
+if ($HADJUST{"$base$form:$diac"} ne "" or $VADJUST{"$base$form:$diac"} ne "")
+{
+$res.=
+" (PUSH)
+ (MOVERIGHT R ".($HADJUST{"$base$form:$diac"}/1000).")
+ (MOVEUP R ".($VADJUST{"$base$form:$diac"}/1000).")
+ (SETCHAR H ".$POS{$diac}.")
+ (POP)
+"; } else {
+$res.=" (SETCHAR H ".$POS{$diac}.")
+"; }
+$res.=" )
+ )
+";
+}
+}
+
+foreach $utf (sort keys %UTFPOS) {
+if ($WIDTH{$POS{$utf}} ne "") {
+$BUILD .= "(CHARACTER H ".$UTFPOS{$utf}." (COMMENT char".$UTFPOS{$utf}.")
+ (CHARWD R ".$WIDTH{$POS{$utf}}.")
+ (CHARHT R ".$HEIGHT{$POS{$utf}}.")
+ (CHARDP R ".$DEPTH{$POS{$utf}}.")
+ (MAP
+ (SELECTFONT D 0)
+ (SETCHAR H ".$POS{$utf}.")
+ )
+ )
+";
+}
+}
+
+foreach $vowel ("fatha","kasra","damma","fathatan","kasratan","dammatan","sukun","shadda","shaddafatha","shaddakasra","shaddadamma","shaddafathatan","shaddakasratan","shaddadammatan",
+"vfatha","shaddavfatha","madda","shaddamadda") #,"shadda","sukun","madda","shaddafatha","shaddakasra","shaddadamma","shaddafathatan","shaddakasratan","shaddadammatan")
+{
+foreach $letter (@LETTERS_NO_LAMS_NO_ALIFS) {
+if ($FORM{$letter}==4) {
+$BUILD .= &buildchar_one($letter,"0",$vowel,$DECALAGE{$vowel});
+$BUILD .= &buildchar_one($letter,"1",$vowel,$DECALAGE{$vowel});
+$BUILD .= &buildchar_one($letter,"2",$vowel,$DECALAGE{$vowel});
+$BUILD .= &buildchar_one($letter,"3",$vowel,$DECALAGE{$vowel});
+$BUILD .= &buildchar_one($letter,"4",$vowel,$DECALAGE{$vowel});
+} elsif ($FORM{$letter}==2) {
+$BUILD .= &buildchar_one($letter,"0",$vowel,$DECALAGE{$vowel});
+$BUILD .= &buildchar_one($letter,"3",$vowel,$DECALAGE{$vowel});
+} elsif ($FORM{$letter}==1) {
+$BUILD .= &buildchar_one($letter,"0",$vowel,$DECALAGE{$vowel});
+}
+&clone_LIGS($letter,$vowel,$DECALAGE{$vowel});
+}
+foreach $letter (@LAMS) {
+$BUILD .= &buildchar_one($letter,"0",$vowel,$DECALAGE{$vowel});
+$BUILD .= &buildchar_one($letter,"1",$vowel,$DECALAGE{$vowel});
+$BUILD .= &buildchar_one($letter,"2",$vowel,$DECALAGE{$vowel});
+$BUILD .= &buildchar_one($letter,"3",$vowel,$DECALAGE{$vowel});
+$BUILD .= &buildchar_one($letter,"4",$vowel,$DECALAGE{$vowel});
+$BUILD .= &buildchar_one($letter,"5",$vowel,$DECALAGE{$vowel});
+$BUILD .= &buildchar_one($letter,"6",$vowel,$DECALAGE{$vowel});
+$BUILD .= &buildchar_one($letter,"7",$vowel,$DECALAGE{$vowel});
+$BUILD .= &buildchar_one($letter,"8",$vowel,$DECALAGE{$vowel});
+&clone_LIGS($letter,$vowel,$DECALAGE{$vowel});
+}
+foreach $letter (@ALIFS) {
+$BUILD .= &buildchar_one($letter,"0",$vowel,$DECALAGE{$vowel});
+$BUILD .= &buildchar_one($letter,"3",$vowel,$DECALAGE{$vowel});
+$BUILD .= &buildchar_one($letter,"4",$vowel,$DECALAGE{$vowel});
+$BUILD .= &buildchar_one($letter,"5",$vowel,$DECALAGE{$vowel});
+&clone_LIGS($letter,$vowel,$DECALAGE{$vowel});
+}
+$BUILD .= &buildchar_one("hamza","0",$vowel,$DECALAGE{$vowel});
+&clone_LIGS("hamza",$vowel,$DECALAGE{$vowel});
+}
+
+# sub printLIGS {
+# my $res="";
+# my $letter=shift;
+# if ($ALREADY_OUTPUT{$POS{$letter}} ne "") { return ""; }
+# else { $ALREADY_OUTPUT{$POS{$letter}}=1;
+# if ($LIGS{$POS{$letter}} ne "") {
+# @lesLIGS=split(/#/,$LIGS{$POS{$letter}});
+# $res .= " (LABEL H ".$POS{$letter}.")\n";
+# foreach $uneLIG (@lesLIGS) {
+# ($LIG,$right,$result)=split(/:/,$uneLIG);
+# $res .= " ($LIG H $right H $result)\n";
+# }
+# $res .= " (STOP)\n";
+# }
+# return $res;
+# }
+# }
+
+%BIG=();
+foreach $key (sort keys %LIGS) {
+$BIG{$key."|".$LIGS{$key}}=1;
+}
+%LIGS=();
+foreach $entry (sort keys %BIG) {
+($left,$right)=split(/\|/,$entry);
+$LIGS{$left}=$right;
+}
+
+sub erase_ligature {
+my $left=shift;
+my $right=shift;
+$LIS{$left} =~ /#$right:[^:]+:[^#:]+/g;
+$LIS{$left} =~ /^$right:[^:]+:[^#:]+/;
+}
+
+&erase_ligature("0644","0644");
+&alter_LIGS("0644","LIG","0644","F7");
+
+foreach $letterb (@ALIFS) {
+&addutfoperation("ll0","LIG/",$letterb."0","ll5");
+&addutfoperation("ll5","/LIG>",$letterb."0",$letterb."5");
+}
+
+foreach $letterb (@LETTERS_NO_ALIFS) {
+if ($letterb ne "ha") {
+if ($FORM{$letterb}==4 or $FORM{$letterb}==2) {
+&addutfoperation("ll0","LIG/",$letterb."0","ll1");
+&addutfoperation("ll1","/LIG",$letterb."0",$letterb."3");
+}
+}
+}
+&addutfoperation("ll0","LIG","ha0","LLh0");
+
+###write dad.ovp
+open OUT, ">dad$STYLE.ovp";
+print OUT $PRELUDE;
+foreach $key (sort keys %LIGS) {
+if ($key ne "" and $LIGS{$key} ne "") {
+@lesLIGS=split(/#/,$LIGS{$key});
+$res .= " (LABEL H $key)\n";
+foreach $uneLIG (@lesLIGS) {
+($LIG,$right,$result)=split(/:/,$uneLIG);
+if ($LIG eq "KRN") {
+$result /= 1000;
+$res .= " ($LIG H $right R $result)\n";
+} else {
+$res .= " ($LIG H $right H $result)\n";
+}
+}
+$res .= " (STOP)\n";
+}
+}
+print OUT $res;
+
+# print OUT &printLIGS("zwj0");
+# foreach $letter (@LETTERS_NO_LAMS_NO_ALIFS) {
+# if ($FORM{$letter}==4) {
+# print OUT &printLIGS($letter."0");
+# print OUT &printLIGS($letter."1");
+# print OUT &printLIGS($letter."2");
+# print OUT &printLIGS($letter."3");
+# } elsif ($FORM{$letter}==2) {
+# print OUT &printLIGS($letter."0");
+# print OUT &printLIGS($letter."3");
+# } elsif ($FORM{$letter}==1) {
+# print OUT &printLIGS($letter."0");
+# }
+# }
+# foreach $letter (@LAMS) {
+# print OUT &printLIGS($letter."0");
+# print OUT &printLIGS($letter."1");
+# print OUT &printLIGS($letter."2");
+# print OUT &printLIGS($letter."3");
+# print OUT &printLIGS($letter."4");
+# print OUT &printLIGS($letter."5");
+# }
+# foreach $letter (@ALIFS) {
+# print OUT &printLIGS($letter."0");
+# print OUT &printLIGS($letter."3");
+# print OUT &printLIGS($letter."4");
+# print OUT &printLIGS($letter."5");
+# }
+# foreach $diac (@DIACS) {
+# print OUT &printLIGS($diac);
+# }
+# foreach $diac (@vDIACS) {
+# print OUT &printLIGS($diac."tan");
+# print OUT &printLIGS("shadda".$diac);
+# print OUT &printLIGS("shadda".$diac."tan");
+# }
+
+
+print OUT " )\n"; ###END OF LIGTABLE
+
+foreach $i (0 .. 255) {
+$i_hex=sprintf("%X",$i);
+$i_hex=~s/^([0-9A-F])$/0\1/;
+print OUT "(CHARACTER H $i_hex (COMMENT char$i_hex)
+ (CHARWD R ".$WIDTH{$i_hex}.")
+ (CHARHT R ".$HEIGHT{$i_hex}.")
+ (CHARDP R ".$DEPTH{$i_hex}.")
+ (MAP
+ (SELECTFONT D 0)
+ (SETCHAR H $i_hex)
+ )
+ )
+";
+}
+
+
+print OUT $BUILD;
+
+
+
+
+close OUT;
+system("cp Dad$STYLE_.pfa /hom/yannis/texmf-static/fonts/pfb/");
+system("wovp2ovf dad$STYLE.ovp");
+
+open IN, "dad$STYLE.ovp";
+while (<IN>) {
+if (m/LIG[^T]/) { $countLIG++; }
+if (m|/LIG/|) { $countSMA++; }
+elsif (m|/LIG|) { $countSMA++; }
+elsif (m|LIG/|) { $countSMA++; }
+if (m/KRN/) { $countKRN++; }
+if (m/CHARACTER/) { $countCHA++; }
+}
+print "$countLIG ligatures ($countSMA smart), $countKRN kerns, $countCHA characters\n";
+close IN;
diff --git a/language/arabic/dad/utf8-to-dad.pl b/language/arabic/dad/utf8-to-dad.pl
new file mode 100755
index 0000000000..e834ea5843
--- /dev/null
+++ b/language/arabic/dad/utf8-to-dad.pl
@@ -0,0 +1,82 @@
+#!/usr/bin/perl
+use utf8;
+binmode stdin,":utf8";
+binmode stdout,":utf8";
+
+while (<>) {
+s/لله/LLh/g;
+s/لِله/LiLh/g;
+s/لِّله/L+iLh/g;
+s/أ/'a/g;
+s/إ/'i/g;
+s/ؤ/'u/g;
+s/ىٔ/'I/g;
+s/هٔ/e/g;
+s/آ/'A/g;
+s/ء/|/g;
+s/ٱ/A*/g;
+s/آ/'A/g;
+s/أ/'a/g;
+s/ؤ/'u/g;
+s/إ/'i/g;
+s/ئ/'I/g;
+s/ا/A/g;
+s/ب/b/g;
+s/ة/t*/g;
+s/ت/t/g;
+s/ث/c/g;
+s/ج/j/g;
+s/ح/H/g;
+s/خ/x/g;
+s/د/d/g;
+s/ذ/d•/g;
+s/ر/r/g;
+s/ز/z/g;
+s/س/s/g;
+s/ش/s•/g;
+s/ص/S/g;
+s/ض/D/g;
+s/ط/T/g;
+s/ظ/Z/g;
+s/ع/`/g;
+s/غ/R/g;
+s/ف/f/g;
+s/ق/q/g;
+s/ك/k/g;
+s/ل/l/g;
+s/م/m/g;
+s/ن/n/g;
+s/ه/h/g;
+s/و/U/g;
+s/ى/I/g;
+s/ي/Y/g;
+s/پ/p/g;
+s/گ/g/g;
+s/چ/C/g;
+s/ۀ/e/g;
+s/ژ/J/g;
+s/ڤ/v/g;
+s/ٮ/'b/g;
+s/ں/'n/g;
+s/ڡ/'f/g;
+s/ٯ/'q/g;
+s/ً/aN/g;
+s/ٌ/uN/g;
+s/ٍ/iN/g;
+s/َ/a/g;
+s/ُ/u/g;
+s/ِ/i/g;
+s/ّ/+/g;
+s/ْ/o/g;
+s/ٰ/a*/g;
+s/ٓ/a**/g;
+s/،/,/g;
+s/؟/?/g;
+s/؛/;/g;
+tr/٠١٢٣٤٥٦٧٨٩٪/0123456789%/;
+s/‍/-/g;
+s/ـ/--/g;
+s/([tds])h/\1-h/g;
+s/•/h/g;
+print;
+} \ No newline at end of file