Annotation of researchv10no/cmd/post.src/devpost/shell.lib, revision 1.1

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: 

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.