|
|
1.1 ! root 1: # ! 2: # Shell library - for building devpost tables. Original collection was ! 3: # built on a Version 47.0 PS-810. ! 4: # ! 5: ! 6: RESOLUTION=720 ! 7: UNITWIDTH=10 ! 8: ! 9: # ! 10: # BuiltinTables returns command lines that generate PostScript programs ! 11: # for building a typesetter description file and font width tables for ! 12: # a relatively standard collection of fonts. Use awk to select a command ! 13: # line or modify an existing command to build a width table for a new ! 14: # font. ! 15: # ! 16: ! 17: BuiltinTables() { ! 18: cat <<-'//End of BuiltinTables' ! 19: Proportional R Times-Roman ! 20: Proportional I Times-Italic ! 21: Proportional B Times-Bold ! 22: Proportional BI Times-BoldItalic ! 23: Proportional AB AvantGarde-Demi ! 24: Proportional AI AvantGarde-BookOblique ! 25: Proportional AR AvantGarde-Book ! 26: Proportional AX AvantGarde-DemiOblique ! 27: Proportional H Helvetica ! 28: Proportional HB Helvetica-Bold ! 29: Proportional HI Helvetica-Oblique ! 30: Proportional HX Helvetica-BoldOblique ! 31: Proportional Hb Helvetica-Narrow-Bold ! 32: Proportional Hi Helvetica-Narrow-Oblique ! 33: Proportional Hr Helvetica-Narrow ! 34: Proportional Hx Helvetica-Narrow-BoldOblique ! 35: Proportional KB Bookman-Demi ! 36: Proportional KI Bookman-LightItalic ! 37: Proportional KR Bookman-Light ! 38: Proportional KX Bookman-DemiItalic ! 39: Proportional NB NewCenturySchlbk-Bold ! 40: Proportional NI NewCenturySchlbk-Italic ! 41: Proportional NR NewCenturySchlbk-Roman ! 42: Proportional NX NewCenturySchlbk-BoldItalic ! 43: Proportional PA Palatino-Roman ! 44: Proportional PB Palatino-Bold ! 45: Proportional PI Palatino-Italic ! 46: Proportional PX Palatino-BoldItalic ! 47: Proportional ZI ZapfChancery-MediumItalic ! 48: FixedWidth C Courier ! 49: FixedWidth CB Courier-Bold ! 50: FixedWidth CI Courier-Oblique ! 51: FixedWidth CO Courier ! 52: FixedWidth CW Courier ! 53: FixedWidth CX Courier-BoldOblique ! 54: Dingbats ZD ZapfDingbats ! 55: Greek GR Symbol ! 56: Symbol S Symbol ! 57: Special S1 Times-Roman ! 58: Description DESC --- ! 59: //End of BuiltinTables ! 60: } ! 61: ! 62: # ! 63: # AllTables prints the complete list of builtin font names. ! 64: # ! 65: ! 66: AllTables() { ! 67: BuiltinTables | awk '{print $2}' ! 68: } ! 69: ! 70: # ! 71: # Charset functions generate keyword/value pairs (as PostScript objects) ! 72: # that describe the character set available in a font. The keyword is a ! 73: # PostScript string that represents troff's name for the character. The ! 74: # value is usually the literal name (i.e. begins with a /) assigned to ! 75: # the character in the PostScript font. The value can also be an integer ! 76: # or a PostScript string. An integer value is used as an index in the ! 77: # current font's Encoding array. A string value is returned to the host ! 78: # unchanged when the entry for the character is constructed. Entries that ! 79: # have (") as their value are synonyms for the preceeding character. ! 80: # ! 81: ! 82: StandardCharset() { ! 83: cat <<-'//End of StandardCharset' ! 84: (!) /exclam ! 85: (") /quotedbl ! 86: (dq) (") ! 87: (#) /numbersign ! 88: ($) /dollar ! 89: (%) /percent ! 90: (&) /ampersand ! 91: (') /quoteright ! 92: (\() /parenleft ! 93: (\)) /parenright ! 94: (*) /asterisk ! 95: (+) /plus ! 96: (,) /comma ! 97: (hy) /hyphen ! 98: (-) (") % synonym ! 99: (.) /period ! 100: (/) /slash ! 101: (0) /zero ! 102: (1) /one ! 103: (2) /two ! 104: (3) /three ! 105: (4) /four ! 106: (5) /five ! 107: (6) /six ! 108: (7) /seven ! 109: (8) /eight ! 110: (9) /nine ! 111: (:) /colon ! 112: (;) /semicolon ! 113: (<) /less ! 114: (=) /equal ! 115: (>) /greater ! 116: (?) /question ! 117: (@) /at ! 118: (A) /A ! 119: (B) /B ! 120: (C) /C ! 121: (D) /D ! 122: (E) /E ! 123: (F) /F ! 124: (G) /G ! 125: (H) /H ! 126: (I) /I ! 127: (J) /J ! 128: (K) /K ! 129: (L) /L ! 130: (M) /M ! 131: (N) /N ! 132: (O) /O ! 133: (P) /P ! 134: (Q) /Q ! 135: (R) /R ! 136: (S) /S ! 137: (T) /T ! 138: (U) /U ! 139: (V) /V ! 140: (W) /W ! 141: (X) /X ! 142: (Y) /Y ! 143: (Z) /Z ! 144: ([) /bracketleft ! 145: (\\) /backslash ! 146: (bs) (") ! 147: (]) /bracketright ! 148: (^) /asciicircum ! 149: (_) /underscore ! 150: (`) /quoteleft ! 151: (a) /a ! 152: (b) /b ! 153: (c) /c ! 154: (d) /d ! 155: (e) /e ! 156: (f) /f ! 157: (g) /g ! 158: (h) /h ! 159: (i) /i ! 160: (j) /j ! 161: (k) /k ! 162: (l) /l ! 163: (m) /m ! 164: (n) /n ! 165: (o) /o ! 166: (p) /p ! 167: (q) /q ! 168: (r) /r ! 169: (s) /s ! 170: (t) /t ! 171: (u) /u ! 172: (v) /v ! 173: (w) /w ! 174: (x) /x ! 175: (y) /y ! 176: (z) /z ! 177: ({) /braceleft ! 178: (|) /bar ! 179: (}) /braceright ! 180: (~) /asciitilde ! 181: (!!) /exclamdown ! 182: (ct) /cent ! 183: (ps) /sterling ! 184: (fr) /fraction ! 185: (yn) /yen ! 186: (fn) /florin ! 187: (sc) /section ! 188: (cr) /currency ! 189: (---) /quotesingle ! 190: (``) /quotedblleft ! 191: (---) /guillemotleft ! 192: (---) /guilsinglleft ! 193: (---) /guilsinglright ! 194: (fi) /fi ! 195: (fl) /fl ! 196: (en) /endash ! 197: (\\-) (") ! 198: (dg) /dagger ! 199: (dd) /daggerdbl ! 200: (---) /periodcentered ! 201: (pg) /paragraph ! 202: (---) /bullet ! 203: (---) /quotesinglbase ! 204: (---) /quotedblbase ! 205: ('') /quotedblright ! 206: (---) /guillemotright ! 207: (---) /ellipsis ! 208: (---) /perthousand ! 209: (??) /questiondown ! 210: (ga) /grave ! 211: (\\`) (") ! 212: (aa) /acute ! 213: (\\') (") ! 214: (^a) /circumflex ! 215: (~a) /tilde ! 216: (-a) /macron ! 217: (Ua) /breve ! 218: (.a) /dotaccent ! 219: (:a) /dieresis ! 220: (oa) /ring ! 221: (,a) /cedilla ! 222: ("a) /hungarumlaut ! 223: (Ca) /ogonek ! 224: (va) /caron ! 225: (em) /emdash ! 226: (---) /AE ! 227: (---) /ordfeminine ! 228: (---) /Lslash ! 229: (---) /Oslash ! 230: (---) /OE ! 231: (---) /ordmasculine ! 232: (---) /ae ! 233: (---) /dotlessi ! 234: (---) /lslash ! 235: (---) /oslash ! 236: (---) /oe ! 237: (---) /germandbls ! 238: //End of StandardCharset ! 239: } ! 240: ! 241: SymbolCharset() { ! 242: cat <<-'//End of SymbolCharset' ! 243: (---) /exclam ! 244: (fa) /universal ! 245: (---) /numbersign ! 246: (te) /existential ! 247: (---) /percent ! 248: (---) /ampersand ! 249: (st) /suchthat ! 250: (---) /parenleft ! 251: (---) /parenright ! 252: (**) /asteriskmath ! 253: (pl) /plus ! 254: (---) /comma ! 255: (mi) /minus ! 256: (---) /period ! 257: (sl) /slash ! 258: (---) /zero ! 259: (---) /one ! 260: (---) /two ! 261: (---) /three ! 262: (---) /four ! 263: (---) /five ! 264: (---) /six ! 265: (---) /seven ! 266: (---) /eight ! 267: (---) /nine ! 268: (---) /colon ! 269: (---) /semicolon ! 270: (<) /less ! 271: (eq) /equal ! 272: (>) /greater ! 273: (---) /question ! 274: (cg) /congruent ! 275: (*A) /Alpha ! 276: (*B) /Beta ! 277: (*X) /Chi ! 278: (*D) /Delta ! 279: (*E) /Epsilon ! 280: (*F) /Phi ! 281: (*G) /Gamma ! 282: (*Y) /Eta ! 283: (*I) /Iota ! 284: (---) /theta1 ! 285: (*K) /Kappa ! 286: (*L) /Lambda ! 287: (*M) /Mu ! 288: (*N) /Nu ! 289: (*O) /Omicron ! 290: (*P) /Pi ! 291: (*H) /Theta ! 292: (*R) /Rho ! 293: (*S) /Sigma ! 294: (*T) /Tau ! 295: (*U) /Upsilon ! 296: (ts) /sigma1 ! 297: (*W) /Omega ! 298: (*C) /Xi ! 299: (*Q) /Psi ! 300: (*Z) /Zeta ! 301: (---) /bracketleft ! 302: (tf) /therefore ! 303: (---) /bracketright ! 304: (pp) /perpendicular ! 305: (ul) /underscore ! 306: (_) (") % synonym ! 307: (rn) /radicalex ! 308: (*a) /alpha ! 309: (*b) /beta ! 310: (*x) /chi ! 311: (*d) /delta ! 312: (*e) /epsilon ! 313: (*f) /phi ! 314: (*g) /gamma ! 315: (*y) /eta ! 316: (*i) /iota ! 317: (---) /phi1 ! 318: (*k) /kappa ! 319: (*l) /lambda ! 320: (*m) /mu ! 321: (*n) /nu ! 322: (*o) /omicron ! 323: (*p) /pi ! 324: (*h) /theta ! 325: (*r) /rho ! 326: (*s) /sigma ! 327: (*t) /tau ! 328: (*u) /upsilon ! 329: (---) /omega1 ! 330: (*w) /omega ! 331: (*c) /xi ! 332: (*q) /psi ! 333: (*z) /zeta ! 334: (---) /braceleft ! 335: (or) /bar ! 336: (---) /braceright ! 337: (ap) /similar ! 338: (---) /Upsilon1 ! 339: (fm) /minute ! 340: (<=) /lessequal ! 341: (---) /fraction ! 342: (if) /infinity ! 343: (---) /florin ! 344: (---) /club ! 345: (---) /diamond ! 346: (---) /heart ! 347: (---) /spade ! 348: (ab) /arrowboth ! 349: (<-) /arrowleft ! 350: (ua) /arrowup ! 351: (->) /arrowright ! 352: (da) /arrowdown ! 353: (de) /degree ! 354: (+-) /plusminus ! 355: (---) /second ! 356: (>=) /greaterequal ! 357: (mu) /multiply ! 358: (pt) /proportional ! 359: (pd) /partialdiff ! 360: (bu) /bullet ! 361: (di) /divide ! 362: (!=) /notequal ! 363: (==) /equivalence ! 364: (~~) /approxequal ! 365: (el) /ellipsis ! 366: (av) /arrowvertex ! 367: (ah) /arrowhorizex ! 368: (CR) /carriagereturn ! 369: (af) /aleph ! 370: (If) /Ifraktur ! 371: (Rf) /Rfraktur ! 372: (ws) /weierstrass ! 373: (Ox) /circlemultiply ! 374: (O+) /circleplus ! 375: (es) /emptyset ! 376: (ca) /intersection ! 377: (cu) /union ! 378: (sp) /propersuperset ! 379: (ip) /reflexsuperset ! 380: (!b) /notsubset ! 381: (sb) /propersubset ! 382: (ib) /reflexsubset ! 383: (mo) /element ! 384: (!m) /notelement ! 385: (an) /angle ! 386: (gr) /gradient ! 387: (rg) /registerserif ! 388: (co) /copyrightserif ! 389: (tm) /trademarkserif ! 390: (---) /product ! 391: (sr) /radical ! 392: (c.) /dotmath ! 393: (no) /logicalnot ! 394: (l&) /logicaland ! 395: (l|) /logicalor ! 396: (---) /arrowdblboth ! 397: (---) /arrowdblleft ! 398: (---) /arrowdblup ! 399: (---) /arrowdblright ! 400: (---) /arrowdbldown ! 401: (lz) /lozenge ! 402: (b<) /angleleft ! 403: (RG) /registersans ! 404: (CO) /copyrightsans ! 405: (TM) /trademarksans ! 406: (---) /summation ! 407: (LT) /parenlefttp ! 408: (br) /parenleftex ! 409: (LX) (") % synonym ! 410: (LB) /parenleftbt ! 411: (lc) /bracketlefttp ! 412: (lx) /bracketleftex ! 413: (lf) /bracketleftbt ! 414: (lt) /bracelefttp ! 415: (lk) /braceleftmid ! 416: (lb) /braceleftbt ! 417: (bv) /braceex ! 418: (|) (") % synonym ! 419: (b>) /angleright ! 420: (is) /integral ! 421: (---) /integraltp ! 422: (---) /integralex ! 423: (---) /integralbt ! 424: (RT) /parenrighttp ! 425: (RX) /parenrightex ! 426: (RB) /parenrightbt ! 427: (rc) /bracketrighttp ! 428: (rx) /bracketrightex ! 429: (rf) /bracketrightbt ! 430: (rt) /bracerighttp ! 431: (rk) /bracerightmid ! 432: (rb) /bracerightbt ! 433: (~=) (55 0 1) % charlib ! 434: //End of SymbolCharset ! 435: } ! 436: ! 437: SpecialCharset() { ! 438: cat <<-'//End of SpecialCharset' ! 439: (ru) /underscore ! 440: (ff) (60 2 1) % charlib ! 441: (Fi) (84 2 1) % charlib ! 442: (Fl) (84 2 1) % charlib ! 443: (14) (75 2 1) % charlib ! 444: (12) (75 2 1) % charlib ! 445: (34) (75 2 1) % charlib ! 446: (bx) (50 2 1) % charlib ! 447: (ob) (38 2 1) % charlib ! 448: (ci) (75 0 1) % charlib ! 449: (sq) (50 2 1) % charlib ! 450: (Sl) (50 2 1) % charlib ! 451: (L1) (110 1 1) % charlib ! 452: (LA) (110 1 1) % charlib ! 453: (LV) (110 3 1) % charlib ! 454: (LH) (210 1 1) % charlib ! 455: (lh) (100 0 1) % charlib ! 456: (rh) (100 0 1) % charlib ! 457: (lH) (100 0 1) % charlib ! 458: (rH) (100 0 1) % charlib ! 459: (PC) (220 2 1) % charlib ! 460: (DG) (185 2 1) % charlib ! 461: //End of SpecialCharset ! 462: } ! 463: ! 464: DingbatsCharset() { ! 465: cat <<-'//End of DingbatsCharset' ! 466: (!) 33 ! 467: (") 34 ! 468: (#) 35 ! 469: ($) 36 ! 470: (%) 37 ! 471: (&) 38 ! 472: (') 39 ! 473: (\() 40 ! 474: (\)) 41 ! 475: (*) 42 ! 476: (+) 43 ! 477: (,) 44 ! 478: (-) 45 ! 479: (.) 46 ! 480: (/) 47 ! 481: (0) 48 ! 482: (1) 49 ! 483: (2) 50 ! 484: (3) 51 ! 485: (4) 52 ! 486: (5) 53 ! 487: (6) 54 ! 488: (7) 55 ! 489: (8) 56 ! 490: (9) 57 ! 491: (:) 58 ! 492: (;) 59 ! 493: (<) 60 ! 494: (=) 61 ! 495: (>) 62 ! 496: (?) 63 ! 497: (@) 64 ! 498: (A) 65 ! 499: (B) 66 ! 500: (C) 67 ! 501: (D) 68 ! 502: (E) 69 ! 503: (F) 70 ! 504: (G) 71 ! 505: (H) 72 ! 506: (I) 73 ! 507: (J) 74 ! 508: (K) 75 ! 509: (L) 76 ! 510: (M) 77 ! 511: (N) 78 ! 512: (O) 79 ! 513: (P) 80 ! 514: (Q) 81 ! 515: (R) 82 ! 516: (S) 83 ! 517: (T) 84 ! 518: (U) 85 ! 519: (V) 86 ! 520: (W) 87 ! 521: (X) 88 ! 522: (Y) 89 ! 523: (Z) 90 ! 524: ([) 91 ! 525: (\\) 92 ! 526: (]) 93 ! 527: (^) 94 ! 528: (_) 95 ! 529: (`) 96 ! 530: (a) 97 ! 531: (b) 98 ! 532: (c) 99 ! 533: (d) 100 ! 534: (e) 101 ! 535: (f) 102 ! 536: (g) 103 ! 537: (h) 104 ! 538: (i) 105 ! 539: (j) 106 ! 540: (k) 107 ! 541: (l) 108 ! 542: (m) 109 ! 543: (n) 110 ! 544: (o) 111 ! 545: (p) 112 ! 546: (q) 113 ! 547: (r) 114 ! 548: (s) 115 ! 549: (t) 116 ! 550: (u) 117 ! 551: (v) 118 ! 552: (w) 119 ! 553: (x) 120 ! 554: (y) 121 ! 555: (z) 122 ! 556: ({) 123 ! 557: (|) 124 ! 558: (}) 125 ! 559: (~) 126 ! 560: (hy) 161 ! 561: (em) 162 ! 562: (de) 163 ! 563: (\\-) 164 ! 564: (en) 165 ! 565: (ff) 166 ! 566: (fi) 167 ! 567: (fl) 168 ! 568: (Fi) 169 ! 569: (Fl) 170 ! 570: (fm) 171 ! 571: (ru) 172 ! 572: (dg) 173 ! 573: (bu) 174 ! 574: (14) 175 ! 575: (34) 176 ! 576: (12) 177 ! 577: (ct) 178 ! 578: (rg) 179 ! 579: (sq) 180 ! 580: (sl) 181 ! 581: (ul) 182 ! 582: (or) 183 ! 583: (no) 184 ! 584: (->) 185 ! 585: (<-) 186 ! 586: (da) 187 ! 587: (lh) 188 ! 588: (ua) 189 ! 589: (ab) 190 ! 590: (!b) 191 ! 591: (aa) 192 ! 592: (!m) 193 ! 593: (ga) 194 ! 594: (pl) 195 ! 595: (mi) 196 ! 596: (mu) 197 ! 597: (di) 198 ! 598: (eq) 199 ! 599: (==) 200 ! 600: (>=) 201 ! 601: (<=) 202 ! 602: (!=) 203 ! 603: (+-) 204 ! 604: (-+) 205 ! 605: (ap) 206 ! 606: (~=) 207 ! 607: (gr) 208 ! 608: (is) 209 ! 609: (pd) 210 ! 610: (if) 211 ! 611: (sr) 212 ! 612: (rn) 213 ! 613: (sb) 214 ! 614: (sp) 215 ! 615: (cu) 216 ! 616: (ca) 217 ! 617: (ib) 218 ! 618: (ip) 219 ! 619: (mo) 220 ! 620: (es) 221 ! 621: (sc) 222 ! 622: (dd) 223 ! 623: (lc) 224 ! 624: (rc) 225 ! 625: (lf) 226 ! 626: (rf) 227 ! 627: (bv) 228 ! 628: (**) 229 ! 629: (br) 230 ! 630: (ci) 231 ! 631: (ts) 232 ! 632: (co) 233 ! 633: (lt) 234 ! 634: (rt) 235 ! 635: (lb) 236 ! 636: (rb) 237 ! 637: (lk) 238 ! 638: (rk) 239 ! 639: (rh) 241 ! 640: (tm) 242 ! 641: (Sl) 243 ! 642: (ps) 244 ! 643: (cs) 245 ! 644: (cy) 246 ! 645: (as) 247 ! 646: (os) 248 ! 647: (=.) 249 ! 648: (ld) 250 ! 649: (rd) 251 ! 650: (le) 252 ! 651: (ge) 253 ! 652: (pp) 254 ! 653: //End of DingbatsCharset ! 654: } ! 655: ! 656: # ! 657: # Generating functions output PostScript programs that build font width ! 658: # tables or a typesetter description file. Send the program to a printer ! 659: # and the complete table will come back on the serial port. All write on ! 660: # stdout and assume the prologue and other required PostScript files are ! 661: # all available. ! 662: # ! 663: ! 664: Proportional() { ! 665: echo "/unitwidth $UNITWIDTH def" ! 666: echo "/resolution $RESOLUTION def" ! 667: echo "/charset [" ! 668: # Get <>_ and | from S. Use accents for ascii ^ and ~. ! 669: StandardCharset | awk ' ! 670: $1 == "(<)" && $2 == "/less" {$1 = "(---)"} ! 671: $1 == "(>)" && $2 == "/greater" {$1 = "(---)"} ! 672: $1 == "(_)" && $2 == "/underscore" {$1 = "(---)"} ! 673: $1 == "(|)" && $2 == "/bar" {$1 = "(---)"} ! 674: $1 == "(^)" && $2 == "/asciicircum" {$1 = "(---)"} ! 675: $1 == "(~)" && $2 == "/asciitilde" {$1 = "(---)"} ! 676: {printf "%s\t%s\n", $1, $2} ! 677: $2 == "/circumflex" {printf "(^)\t(\")\n"} ! 678: $2 == "/tilde" {printf "(~)\t(\")\n"} ! 679: ' ! 680: echo "] def" ! 681: ! 682: echo "/$2 SelectFont" ! 683: echo "(opO) SetAscender" ! 684: ! 685: echo "(name $1\\\\n) Print" ! 686: echo "(fontname $2\\\\n) Print" ! 687: echo "/$1 NamedInPrologue" ! 688: echo "(ligatures fi fl 0\\\\n) Print" ! 689: echo "(spacewidth ) Print 32 GetWidth Print (\n) Print" ! 690: echo "(charset\\\\n) Print" ! 691: echo "BuildFontCharset" ! 692: } ! 693: ! 694: FixedWidth() { ! 695: echo "/unitwidth $UNITWIDTH def" ! 696: echo "/resolution $RESOLUTION def" ! 697: echo "/charset [" ! 698: # awk is not important - it's only here for compatibility ! 699: StandardCharset | awk ' ! 700: $1 == "(fi)" || $1 == "(fl)" {next} ! 701: {printf "%s\t%s\n", $1, $2} ! 702: $2 == "/circumflex" {printf "(^)\t(\")\n"} ! 703: $2 == "/tilde" {printf "(~)\t(\")\n"} ! 704: ' ! 705: echo "] def" ! 706: ! 707: echo "/$2 SelectFont" ! 708: echo "(opO) SetAscender" ! 709: ! 710: echo "(name $1\\\\n) Print" ! 711: echo "(fontname $2\\\\n) Print" ! 712: echo "/$1 NamedInPrologue" ! 713: echo "(spacewidth ) Print 32 GetWidth Print (\n) Print" ! 714: echo "(charset\\\\n) Print" ! 715: echo "BuildFontCharset" ! 716: } ! 717: ! 718: Dingbats() { ! 719: echo "/unitwidth $UNITWIDTH def" ! 720: echo "/resolution $RESOLUTION def" ! 721: echo "/charset [" ! 722: DingbatsCharset ! 723: echo "] def" ! 724: ! 725: echo "/$2 SelectFont" ! 726: echo "( ) SetAscender" ! 727: ! 728: echo "(name $1\\\\n) Print" ! 729: echo "(fontname $2\\\\n) Print" ! 730: echo "/$1 NamedInPrologue" ! 731: echo "(charset\\\\n) Print" ! 732: echo "BuildFontCharset" ! 733: } ! 734: ! 735: Greek() { ! 736: echo "/unitwidth $UNITWIDTH def" ! 737: echo "/resolution $RESOLUTION def" ! 738: echo "/charset [" ! 739: SymbolCharset | awk '$1 ~ /\(\*[a-zA-Z]\)/' ! 740: echo "] def" ! 741: ! 742: echo "/$2 SelectFont" ! 743: echo "(orO) SetAscender" ! 744: ! 745: echo "(name $1\\\\n) Print" ! 746: echo "(fontname $2\\\\n) Print" ! 747: echo "/$1 NamedInPrologue" ! 748: echo "(spacewidth ) Print 32 GetWidth Print (\n) Print" ! 749: echo "(charset\\\\n) Print" ! 750: echo "BuildFontCharset" ! 751: } ! 752: ! 753: Symbol() { ! 754: echo "/unitwidth $UNITWIDTH def" ! 755: echo "/resolution $RESOLUTION def" ! 756: echo "/charset [" ! 757: SymbolCharset ! 758: echo "] def" ! 759: ! 760: echo "ChangeMetrics" ! 761: echo "/S SelectFont" ! 762: echo "(orO) SetAscender" ! 763: ! 764: echo "(name $1\\\\n) Print" ! 765: echo "(fontname $2\\\\n) Print" ! 766: echo "/$1 NamedInPrologue" ! 767: echo "(special\\\\n) Print" ! 768: echo "(charset\\\\n) Print" ! 769: echo "BuildFontCharset" ! 770: } ! 771: ! 772: Special() { ! 773: echo "/unitwidth $UNITWIDTH def" ! 774: echo "/resolution $RESOLUTION def" ! 775: echo "/charset [" ! 776: SpecialCharset ! 777: echo "] def" ! 778: ! 779: echo "ChangeMetrics" ! 780: echo "/S1 SelectFont" ! 781: ! 782: echo "(# Times-Roman special font\\\\n) Print" ! 783: echo "(name $1\\\\n) Print" ! 784: echo "(fontname $2\\\\n) Print" ! 785: echo "/$1 NamedInPrologue" ! 786: echo "(special\\\\n) Print" ! 787: echo "(charset\\\\n) Print" ! 788: echo "BuildFontCharset" ! 789: } ! 790: ! 791: # ! 792: # The DESC file doesn't have to be built on a printer. It's only here for ! 793: # consistency. ! 794: # ! 795: ! 796: Description() { ! 797: echo "/charset [" # awk - so the stack doesn't overflow ! 798: StandardCharset | awk '$1 != "(---)" {print $1}' ! 799: SymbolCharset | awk '$1 != "(---)" {print $1}' ! 800: SpecialCharset | awk '$1 != "(---)" {print $1}' ! 801: DingbatsCharset | awk '$1 != "(---)" {print $1}' ! 802: echo "] def" ! 803: ! 804: cat <<-//DESC ! 805: (#Device Description - original PostScript character set ! 806: ! 807: PDL PostScript ! 808: ! 809: fonts 10 R I B BI CW H HI HB S1 S ! 810: sizes 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 ! 811: 23 24 25 26 27 28 29 30 31 32 33 34 35 36 38 40 42 44 46 ! 812: 48 50 52 54 56 58 60 64 68 72 78 84 90 96 100 105 110 115 ! 813: 120 125 130 135 140 145 150 155 160 0 ! 814: ! 815: res $RESOLUTION ! 816: hor 1 ! 817: vert 1 ! 818: unitwidth $UNITWIDTH ! 819: ! 820: ) Print ! 821: //DESC ! 822: echo "(charset\\\\n) Print" ! 823: echo "BuildDescCharset" ! 824: echo "(\\\\n) Print" ! 825: } ! 826:
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.