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

1.1     ! root        1: #
        !             2: # Shell library - for building devLatin1 tables.
        !             3: #
        !             4: # The full ISO Latin1 alphabet appeared in Adobe's interpreter sometime
        !             5: # around Version 50.0. Prior to that ROM resident Type 1 text fonts were
        !             6: # missing 18 characters that are now part of the Latin1 standard. Width
        !             7: # tables will not build on printers that lack full Latin1 support. Error
        !             8: # message will likely reflect a missing ISOLatin1Encoding array.
        !             9: #
        !            10: 
        !            11: RESOLUTION=720
        !            12: UNITWIDTH=10
        !            13: 
        !            14: OCTALESCAPES=${OCTALESCAPES:-160}      # <= code means add \0ddd names
        !            15: DOWNLOADVECTOR=FALSE                   # TRUE can mean incomplete tables
        !            16: 
        !            17: #
        !            18: # BuiltinTables returns command lines that generate PostScript programs
        !            19: # for building a typesetter description file and font width tables for
        !            20: # a relatively standard collection of fonts. Use awk to select a command
        !            21: # line or modify an existing command to build a width table for a new
        !            22: # font.
        !            23: #
        !            24: 
        !            25: BuiltinTables() {
        !            26:        cat <<-'//End of BuiltinTables'
        !            27:                Proportional    R       Times-Roman
        !            28:                Proportional    I       Times-Italic
        !            29:                Proportional    B       Times-Bold
        !            30:                Proportional    BI      Times-BoldItalic
        !            31:                Proportional    AB      AvantGarde-Demi
        !            32:                Proportional    AI      AvantGarde-BookOblique
        !            33:                Proportional    AR      AvantGarde-Book
        !            34:                Proportional    AX      AvantGarde-DemiOblique
        !            35:                Proportional    H       Helvetica
        !            36:                Proportional    HB      Helvetica-Bold
        !            37:                Proportional    HI      Helvetica-Oblique
        !            38:                Proportional    HX      Helvetica-BoldOblique
        !            39:                Proportional    Hb      Helvetica-Narrow-Bold
        !            40:                Proportional    Hi      Helvetica-Narrow-Oblique
        !            41:                Proportional    Hr      Helvetica-Narrow
        !            42:                Proportional    Hx      Helvetica-Narrow-BoldOblique
        !            43:                Proportional    KB      Bookman-Demi
        !            44:                Proportional    KI      Bookman-LightItalic
        !            45:                Proportional    KR      Bookman-Light
        !            46:                Proportional    KX      Bookman-DemiItalic
        !            47:                Proportional    NB      NewCenturySchlbk-Bold
        !            48:                Proportional    NI      NewCenturySchlbk-Italic
        !            49:                Proportional    NR      NewCenturySchlbk-Roman
        !            50:                Proportional    NX      NewCenturySchlbk-BoldItalic
        !            51:                Proportional    PA      Palatino-Roman
        !            52:                Proportional    PB      Palatino-Bold
        !            53:                Proportional    PI      Palatino-Italic
        !            54:                Proportional    PX      Palatino-BoldItalic
        !            55:                Proportional    ZI      ZapfChancery-MediumItalic
        !            56:                FixedWidth      C       Courier
        !            57:                FixedWidth      CB      Courier-Bold
        !            58:                FixedWidth      CI      Courier-Oblique
        !            59:                FixedWidth      CO      Courier
        !            60:                FixedWidth      CW      Courier
        !            61:                FixedWidth      CX      Courier-BoldOblique
        !            62:                Dingbats        ZD      ZapfDingbats
        !            63:                Greek           GR      Symbol
        !            64:                Symbol          S       Symbol
        !            65:                Special         S1      Times-Roman
        !            66:                Description     DESC    ---
        !            67:        //End of BuiltinTables
        !            68: }
        !            69: 
        !            70: #
        !            71: # AllTables prints the complete list of builtin font names.
        !            72: #
        !            73: 
        !            74: AllTables() {
        !            75:        BuiltinTables | awk '{print $2}'
        !            76: }
        !            77: 
        !            78: #
        !            79: # Charset functions generate keyword/value pairs (as PostScript objects)
        !            80: # that describe the character set available in a font. The keyword is a
        !            81: # PostScript string that represents troff's name for the character. The
        !            82: # value is usually the literal name (i.e. begins with a /) assigned to
        !            83: # the character in the PostScript font. The value can also be an integer
        !            84: # or a PostScript string. An integer value is used as an index in the
        !            85: # current font's Encoding array. A string value is returned to the host
        !            86: # unchanged when the entry for the character is constructed. Entries that
        !            87: # have (") as their value are synonyms for the preceeding character.
        !            88: #
        !            89: # The 18 characters missing from ROM resident fonts on older printers are
        !            90: # flagged with the PostScript comment "% missing".
        !            91: #
        !            92: 
        !            93: StandardCharset() {
        !            94:        cat <<-'//End of StandardCharset'
        !            95:                (!)     /exclam
        !            96:                (")     /quotedbl
        !            97:                (#)     /numbersign
        !            98:                ($)     /dollar
        !            99:                (%)     /percent
        !           100:                (&)     /ampersand
        !           101:                (')     /quoteright
        !           102:                (\()    /parenleft
        !           103:                (\))    /parenright
        !           104:                (*)     /asterisk
        !           105:                (+)     /plus
        !           106:                (,)     /comma
        !           107:                (-)     /hyphen         % changed from minus by request
        !           108:                (.)     /period
        !           109:                (/)     /slash
        !           110:                (0)     /zero
        !           111:                (1)     /one
        !           112:                (2)     /two
        !           113:                (3)     /three
        !           114:                (4)     /four
        !           115:                (5)     /five
        !           116:                (6)     /six
        !           117:                (7)     /seven
        !           118:                (8)     /eight
        !           119:                (9)     /nine
        !           120:                (:)     /colon
        !           121:                (;)     /semicolon
        !           122:                (<)     /less
        !           123:                (=)     /equal
        !           124:                (>)     /greater
        !           125:                (?)     /question
        !           126:                (@)     /at
        !           127:                (A)     /A
        !           128:                (B)     /B
        !           129:                (C)     /C
        !           130:                (D)     /D
        !           131:                (E)     /E
        !           132:                (F)     /F
        !           133:                (G)     /G
        !           134:                (H)     /H
        !           135:                (I)     /I
        !           136:                (J)     /J
        !           137:                (K)     /K
        !           138:                (L)     /L
        !           139:                (M)     /M
        !           140:                (N)     /N
        !           141:                (O)     /O
        !           142:                (P)     /P
        !           143:                (Q)     /Q
        !           144:                (R)     /R
        !           145:                (S)     /S
        !           146:                (T)     /T
        !           147:                (U)     /U
        !           148:                (V)     /V
        !           149:                (W)     /W
        !           150:                (X)     /X
        !           151:                (Y)     /Y
        !           152:                (Z)     /Z
        !           153:                ([)     /bracketleft
        !           154:                (\\)    /backslash
        !           155:                (])     /bracketright
        !           156:                (^)     /asciicircum
        !           157:                (_)     /underscore
        !           158:                (`)     /quoteleft
        !           159:                (a)     /a
        !           160:                (b)     /b
        !           161:                (c)     /c
        !           162:                (d)     /d
        !           163:                (e)     /e
        !           164:                (f)     /f
        !           165:                (g)     /g
        !           166:                (h)     /h
        !           167:                (i)     /i
        !           168:                (j)     /j
        !           169:                (k)     /k
        !           170:                (l)     /l
        !           171:                (m)     /m
        !           172:                (n)     /n
        !           173:                (o)     /o
        !           174:                (p)     /p
        !           175:                (q)     /q
        !           176:                (r)     /r
        !           177:                (s)     /s
        !           178:                (t)     /t
        !           179:                (u)     /u
        !           180:                (v)     /v
        !           181:                (w)     /w
        !           182:                (x)     /x
        !           183:                (y)     /y
        !           184:                (z)     /z
        !           185:                ({)     /braceleft
        !           186:                (|)     /bar
        !           187:                (})     /braceright
        !           188:                (~)     /asciitilde
        !           189:                (\\`)   /grave                  % devpost character
        !           190:                (ga)    (")                     % synonym
        !           191:                (!!)    /exclamdown
        !           192:                (c|)    /cent
        !           193:                (ct)    (")                     % devpost synonym
        !           194:                (L-)    /sterling
        !           195:                (ps)    (")                     % devpost synonym
        !           196:                (xo)    /currency
        !           197:                (cr)    (")                     % devpost synonym
        !           198:                (Y-)    /yen
        !           199:                (yn)    (")                     % devpost synonym
        !           200:                (||)    /brokenbar              % missing
        !           201:                (so)    /section
        !           202:                (sc)    (")                     % devpost synonym
        !           203:                ("")    /dieresis
        !           204:                (:a)    (")                     % devpost synonym
        !           205:                (co)    /copyright
        !           206:                (a_)    /ordfeminine
        !           207:                (<<)    /guillemotleft
        !           208:                (-,)    /logicalnot
        !           209:                (hy)    /hyphen
        !           210:                (--)    (")                     % synonym
        !           211:                (ro)    /registered
        !           212:                (rg)    (")                     % devpost synonym
        !           213:                (-^)    /macron
        !           214:                (-a)    (")                     % devpost synonym
        !           215:                (0^)    /degree                 % missing
        !           216:                (+-)    /plusminus              % missing
        !           217:                (2^)    /twosuperior            % missing
        !           218:                (3^)    /threesuperior          % missing
        !           219:                (\\')   /acute
        !           220:                (aa)    (")                     % devpost synonym
        !           221:                (/u)    /mu                     % missing
        !           222:                (P!)    /paragraph
        !           223:                (pg)    (")                     % devpost synonym
        !           224:                (.^)    /periodcentered
        !           225:                (,,)    /cedilla
        !           226:                (,a)    (")                     % devpost synonym
        !           227:                (1^)    /onesuperior            % missing
        !           228:                (o_)    /ordmasculine
        !           229:                (>>)    /guillemotright
        !           230:                (14)    /onequarter             % missing
        !           231:                (12)    /onehalf                % missing
        !           232:                (34)    /threequarters          % missing
        !           233:                (??)    /questiondown
        !           234:                (A`)    /Agrave
        !           235:                (A')    /Aacute
        !           236:                (A^)    /Acircumflex
        !           237:                (A~)    /Atilde
        !           238:                (A")    /Adieresis
        !           239:                (A*)    /Aring
        !           240:                (AE)    /AE
        !           241:                (C,)    /Ccedilla
        !           242:                (E`)    /Egrave
        !           243:                (E')    /Eacute
        !           244:                (E^)    /Ecircumflex
        !           245:                (E")    /Edieresis
        !           246:                (I`)    /Igrave
        !           247:                (I')    /Iacute
        !           248:                (I^)    /Icircumflex
        !           249:                (I")    /Idieresis
        !           250:                (D-)    /Eth                    % missing
        !           251:                (N~)    /Ntilde
        !           252:                (O`)    /Ograve
        !           253:                (O')    /Oacute
        !           254:                (O^)    /Ocircumflex
        !           255:                (O~)    /Otilde
        !           256:                (O")    /Odieresis
        !           257:                (xx)    /multiply               % missing
        !           258:                (O/)    /Oslash
        !           259:                (U`)    /Ugrave
        !           260:                (U')    /Uacute
        !           261:                (U^)    /Ucircumflex
        !           262:                (U")    /Udieresis
        !           263:                (Y')    /Yacute                 % missing
        !           264:                (TH)    /Thorn                  % missing
        !           265:                (ss)    /germandbls
        !           266:                (a`)    /agrave
        !           267:                (a')    /aacute
        !           268:                (a^)    /acircumflex
        !           269:                (a~)    /atilde
        !           270:                (a")    /adieresis
        !           271:                (a*)    /aring
        !           272:                (ae)    /ae
        !           273:                (c,)    /ccedilla
        !           274:                (e`)    /egrave
        !           275:                (e')    /eacute
        !           276:                (e^)    /ecircumflex
        !           277:                (e")    /edieresis
        !           278:                (i`)    /igrave
        !           279:                (i')    /iacute
        !           280:                (i^)    /icircumflex
        !           281:                (i")    /idieresis
        !           282:                (d-)    /eth                    % missing
        !           283:                (n~)    /ntilde
        !           284:                (o`)    /ograve
        !           285:                (o')    /oacute
        !           286:                (o^)    /ocircumflex
        !           287:                (o~)    /otilde
        !           288:                (o")    /odieresis
        !           289:                (-:)    /divide                 % missing
        !           290:                (o/)    /oslash
        !           291:                (u`)    /ugrave
        !           292:                (u')    /uacute
        !           293:                (u^)    /ucircumflex
        !           294:                (u")    /udieresis
        !           295:                (y')    /yacute                 % missing
        !           296:                (th)    /thorn                  % missing
        !           297:                (y")    /ydieresis
        !           298:                (^a)    /circumflex             % devpost accent
        !           299:                (~a)    /tilde                  % devpost accent
        !           300:                (Ua)    /breve                  % devpost accent
        !           301:                (.a)    /dotaccent              % devpost accent
        !           302:                (oa)    /ring                   % devpost accent
        !           303:                ("a)    /hungarumlaut           % devpost accent
        !           304:                (Ca)    /ogonek                 % devpost accent
        !           305:                (va)    /caron                  % devpost accent
        !           306:        //End of StandardCharset
        !           307: }
        !           308: 
        !           309: #
        !           310: # DingbatsCharset guarantees changes in StandardCharset don't show up in ZD.
        !           311: #
        !           312: 
        !           313: DingbatsCharset() {
        !           314:        cat <<-'//End of DingbatsCharset'
        !           315:                (!)     /exclam
        !           316:                (")     /quotedbl
        !           317:                (#)     /numbersign
        !           318:                ($)     /dollar
        !           319:                (%)     /percent
        !           320:                (&)     /ampersand
        !           321:                (')     /quoteright
        !           322:                (\()    /parenleft
        !           323:                (\))    /parenright
        !           324:                (*)     /asterisk
        !           325:                (+)     /plus
        !           326:                (,)     /comma
        !           327:                (-)     /minus          % also hyphen in devpost
        !           328:                (.)     /period
        !           329:                (/)     /slash
        !           330:                (0)     /zero
        !           331:                (1)     /one
        !           332:                (2)     /two
        !           333:                (3)     /three
        !           334:                (4)     /four
        !           335:                (5)     /five
        !           336:                (6)     /six
        !           337:                (7)     /seven
        !           338:                (8)     /eight
        !           339:                (9)     /nine
        !           340:                (:)     /colon
        !           341:                (;)     /semicolon
        !           342:                (<)     /less
        !           343:                (=)     /equal
        !           344:                (>)     /greater
        !           345:                (?)     /question
        !           346:                (@)     /at
        !           347:                (A)     /A
        !           348:                (B)     /B
        !           349:                (C)     /C
        !           350:                (D)     /D
        !           351:                (E)     /E
        !           352:                (F)     /F
        !           353:                (G)     /G
        !           354:                (H)     /H
        !           355:                (I)     /I
        !           356:                (J)     /J
        !           357:                (K)     /K
        !           358:                (L)     /L
        !           359:                (M)     /M
        !           360:                (N)     /N
        !           361:                (O)     /O
        !           362:                (P)     /P
        !           363:                (Q)     /Q
        !           364:                (R)     /R
        !           365:                (S)     /S
        !           366:                (T)     /T
        !           367:                (U)     /U
        !           368:                (V)     /V
        !           369:                (W)     /W
        !           370:                (X)     /X
        !           371:                (Y)     /Y
        !           372:                (Z)     /Z
        !           373:                ([)     /bracketleft
        !           374:                (\\)    /backslash
        !           375:                (])     /bracketright
        !           376:                (^)     /asciicircum
        !           377:                (_)     /underscore
        !           378:                (`)     /quoteleft
        !           379:                (a)     /a
        !           380:                (b)     /b
        !           381:                (c)     /c
        !           382:                (d)     /d
        !           383:                (e)     /e
        !           384:                (f)     /f
        !           385:                (g)     /g
        !           386:                (h)     /h
        !           387:                (i)     /i
        !           388:                (j)     /j
        !           389:                (k)     /k
        !           390:                (l)     /l
        !           391:                (m)     /m
        !           392:                (n)     /n
        !           393:                (o)     /o
        !           394:                (p)     /p
        !           395:                (q)     /q
        !           396:                (r)     /r
        !           397:                (s)     /s
        !           398:                (t)     /t
        !           399:                (u)     /u
        !           400:                (v)     /v
        !           401:                (w)     /w
        !           402:                (x)     /x
        !           403:                (y)     /y
        !           404:                (z)     /z
        !           405:                ({)     /braceleft
        !           406:                (|)     /bar
        !           407:                (})     /braceright
        !           408:                (~)     /asciitilde
        !           409:                (\\`)   /grave                  % devpost character
        !           410:                (ga)    (")                     % synonym
        !           411:                (!!)    /exclamdown
        !           412:                (c|)    /cent
        !           413:                (ct)    (")                     % devpost synonym
        !           414:                (L-)    /sterling
        !           415:                (ps)    (")                     % devpost synonym
        !           416:                (xo)    /currency
        !           417:                (cr)    (")                     % devpost synonym
        !           418:                (Y-)    /yen
        !           419:                (yn)    (")                     % devpost synonym
        !           420:                (||)    /brokenbar              % missing
        !           421:                (so)    /section
        !           422:                (sc)    (")                     % devpost synonym
        !           423:                ("")    /dieresis
        !           424:                (co)    /copyright
        !           425:                (a_)    /ordfeminine
        !           426:                (<<)    /guillemotleft
        !           427:                (-,)    /logicalnot
        !           428:                (hy)    /hyphen
        !           429:                (--)    (")                     % synonym
        !           430:                (ro)    /registered
        !           431:                (rg)    (")                     % devpost synonym
        !           432:                (-^)    /macron
        !           433:                (0^)    /degree                 % missing
        !           434:                (+-)    /plusminus              % missing
        !           435:                (2^)    /twosuperior            % missing
        !           436:                (3^)    /threesuperior          % missing
        !           437:                (\\')   /acute
        !           438:                (aa)    (")                     % devpost synonym
        !           439:                (/u)    /mu                     % missing
        !           440:                (P!)    /paragraph
        !           441:                (pg)    (")                     % devpost synonym
        !           442:                (.^)    /periodcentered
        !           443:                (,,)    /cedilla
        !           444:                (1^)    /onesuperior            % missing
        !           445:                (o_)    /ordmasculine
        !           446:                (>>)    /guillemotright
        !           447:                (14)    /onequarter             % missing
        !           448:                (12)    /onehalf                % missing
        !           449:                (34)    /threequarters          % missing
        !           450:                (??)    /questiondown
        !           451:                (A`)    /Agrave
        !           452:                (A')    /Aacute
        !           453:                (A^)    /Acircumflex
        !           454:                (A~)    /Atilde
        !           455:                (A")    /Adieresis
        !           456:                (A*)    /Aring
        !           457:                (AE)    /AE
        !           458:                (C,)    /Ccedilla
        !           459:                (E`)    /Egrave
        !           460:                (E')    /Eacute
        !           461:                (E^)    /Ecircumflex
        !           462:                (E")    /Edieresis
        !           463:                (I`)    /Igrave
        !           464:                (I')    /Iacute
        !           465:                (I^)    /Icircumflex
        !           466:                (I")    /Idieresis
        !           467:                (D-)    /Eth                    % missing
        !           468:                (N~)    /Ntilde
        !           469:                (O`)    /Ograve
        !           470:                (O')    /Oacute
        !           471:                (O^)    /Ocircumflex
        !           472:                (O~)    /Otilde
        !           473:                (O")    /Odieresis
        !           474:                (xx)    /multiply               % missing
        !           475:                (O/)    /Oslash
        !           476:                (U`)    /Ugrave
        !           477:                (U')    /Uacute
        !           478:                (U^)    /Ucircumflex
        !           479:                (U")    /Udieresis
        !           480:                (Y')    /Yacute                 % missing
        !           481:                (TH)    /Thorn                  % missing
        !           482:                (ss)    /germandbls
        !           483:                (a`)    /agrave
        !           484:                (a')    /aacute
        !           485:                (a^)    /acircumflex
        !           486:                (a~)    /atilde
        !           487:                (a")    /adieresis
        !           488:                (a*)    /aring
        !           489:                (ae)    /ae
        !           490:                (c,)    /ccedilla
        !           491:                (e`)    /egrave
        !           492:                (e')    /eacute
        !           493:                (e^)    /ecircumflex
        !           494:                (e")    /edieresis
        !           495:                (i`)    /igrave
        !           496:                (i')    /iacute
        !           497:                (i^)    /icircumflex
        !           498:                (i")    /idieresis
        !           499:                (d-)    /eth                    % missing
        !           500:                (n~)    /ntilde
        !           501:                (o`)    /ograve
        !           502:                (o')    /oacute
        !           503:                (o^)    /ocircumflex
        !           504:                (o~)    /otilde
        !           505:                (o")    /odieresis
        !           506:                (-:)    /divide                 % missing
        !           507:                (o/)    /oslash
        !           508:                (u`)    /ugrave
        !           509:                (u')    /uacute
        !           510:                (u^)    /ucircumflex
        !           511:                (u")    /udieresis
        !           512:                (y')    /yacute                 % missing
        !           513:                (th)    /thorn                  % missing
        !           514:                (y")    /ydieresis
        !           515:        //End of DingbatsCharset
        !           516: }
        !           517: 
        !           518: SymbolCharset() {
        !           519:        cat <<-'//End of SymbolCharset'
        !           520:                (---)   /exclam
        !           521:                (fa)    /universal
        !           522:                (---)   /numbersign
        !           523:                (te)    /existential
        !           524:                (---)   /percent
        !           525:                (---)   /ampersand
        !           526:                (st)    /suchthat
        !           527:                (---)   /parenleft
        !           528:                (---)   /parenright
        !           529:                (**)    /asteriskmath
        !           530:                (pl)    /plus
        !           531:                (---)   /comma
        !           532:                (mi)    /minus
        !           533:                (---)   /period
        !           534:                (sl)    /slash
        !           535:                (---)   /zero
        !           536:                (---)   /one
        !           537:                (---)   /two
        !           538:                (---)   /three
        !           539:                (---)   /four
        !           540:                (---)   /five
        !           541:                (---)   /six
        !           542:                (---)   /seven
        !           543:                (---)   /eight
        !           544:                (---)   /nine
        !           545:                (---)   /colon
        !           546:                (---)   /semicolon
        !           547:                (<)     /less
        !           548:                (eq)    /equal
        !           549:                (>)     /greater
        !           550:                (---)   /question
        !           551:                (cg)    /congruent
        !           552:                (*A)    /Alpha
        !           553:                (*B)    /Beta
        !           554:                (*X)    /Chi
        !           555:                (*D)    /Delta
        !           556:                (*E)    /Epsilon
        !           557:                (*F)    /Phi
        !           558:                (*G)    /Gamma
        !           559:                (*Y)    /Eta
        !           560:                (*I)    /Iota
        !           561:                (---)   /theta1
        !           562:                (*K)    /Kappa
        !           563:                (*L)    /Lambda
        !           564:                (*M)    /Mu
        !           565:                (*N)    /Nu
        !           566:                (*O)    /Omicron
        !           567:                (*P)    /Pi
        !           568:                (*H)    /Theta
        !           569:                (*R)    /Rho
        !           570:                (*S)    /Sigma
        !           571:                (*T)    /Tau
        !           572:                (*U)    /Upsilon
        !           573:                (ts)    /sigma1
        !           574:                (*W)    /Omega
        !           575:                (*C)    /Xi
        !           576:                (*Q)    /Psi
        !           577:                (*Z)    /Zeta
        !           578:                (---)   /bracketleft
        !           579:                (tf)    /therefore
        !           580:                (---)   /bracketright
        !           581:                (pp)    /perpendicular
        !           582:                (ul)    /underscore
        !           583:                (_)     (")                     % synonym
        !           584:                (rn)    /radicalex
        !           585:                (*a)    /alpha
        !           586:                (*b)    /beta
        !           587:                (*x)    /chi
        !           588:                (*d)    /delta
        !           589:                (*e)    /epsilon
        !           590:                (*f)    /phi
        !           591:                (*g)    /gamma
        !           592:                (*y)    /eta
        !           593:                (*i)    /iota
        !           594:                (---)   /phi1
        !           595:                (*k)    /kappa
        !           596:                (*l)    /lambda
        !           597:                (*m)    /mu
        !           598:                (*n)    /nu
        !           599:                (*o)    /omicron
        !           600:                (*p)    /pi
        !           601:                (*h)    /theta
        !           602:                (*r)    /rho
        !           603:                (*s)    /sigma
        !           604:                (*t)    /tau
        !           605:                (*u)    /upsilon
        !           606:                (---)   /omega1
        !           607:                (*w)    /omega
        !           608:                (*c)    /xi
        !           609:                (*q)    /psi
        !           610:                (*z)    /zeta
        !           611:                (---)   /braceleft
        !           612:                (or)    /bar
        !           613:                (---)   /braceright
        !           614:                (ap)    /similar
        !           615:                (---)   /Upsilon1
        !           616:                (fm)    /minute
        !           617:                (<=)    /lessequal
        !           618:                (fr)    /fraction               % devpost character
        !           619:                (if)    /infinity
        !           620:                (fn)    /florin                 % devpost character
        !           621:                (---)   /club
        !           622:                (---)   /diamond
        !           623:                (---)   /heart
        !           624:                (---)   /spade
        !           625:                (ab)    /arrowboth
        !           626:                (<-)    /arrowleft
        !           627:                (ua)    /arrowup
        !           628:                (->)    /arrowright
        !           629:                (da)    /arrowdown
        !           630:                (de)    /degree
        !           631:                (+-)    /plusminus
        !           632:                (---)   /second
        !           633:                (>=)    /greaterequal
        !           634:                (mu)    /multiply
        !           635:                (pt)    /proportional
        !           636:                (pd)    /partialdiff
        !           637:                (bu)    /bullet
        !           638:                (di)    /divide
        !           639:                (!=)    /notequal
        !           640:                (==)    /equivalence
        !           641:                (~~)    /approxequal
        !           642:                (el)    /ellipsis
        !           643:                (av)    /arrowvertex
        !           644:                (ah)    /arrowhorizex
        !           645:                (CR)    /carriagereturn
        !           646:                (af)    /aleph
        !           647:                (If)    /Ifraktur
        !           648:                (Rf)    /Rfraktur
        !           649:                (ws)    /weierstrass
        !           650:                (Ox)    /circlemultiply
        !           651:                (O+)    /circleplus
        !           652:                (es)    /emptyset
        !           653:                (ca)    /intersection
        !           654:                (cu)    /union
        !           655:                (sp)    /propersuperset
        !           656:                (ip)    /reflexsuperset
        !           657:                (!b)    /notsubset
        !           658:                (sb)    /propersubset
        !           659:                (ib)    /reflexsubset
        !           660:                (mo)    /element
        !           661:                (!m)    /notelement
        !           662:                (an)    /angle
        !           663:                (gr)    /gradient
        !           664:                (rg)    /registerserif
        !           665:                (co)    /copyrightserif
        !           666:                (tm)    /trademarkserif
        !           667:                (---)   /product
        !           668:                (sr)    /radical
        !           669:                (c.)    /dotmath
        !           670:                (no)    /logicalnot
        !           671:                (l&)    /logicaland
        !           672:                (l|)    /logicalor
        !           673:                (---)   /arrowdblboth
        !           674:                (---)   /arrowdblleft
        !           675:                (---)   /arrowdblup
        !           676:                (---)   /arrowdblright
        !           677:                (---)   /arrowdbldown
        !           678:                (lz)    /lozenge
        !           679:                (b<)    /angleleft
        !           680:                (RG)    /registersans
        !           681:                (CO)    /copyrightsans
        !           682:                (TM)    /trademarksans
        !           683:                (---)   /summation
        !           684:                (LT)    /parenlefttp
        !           685:                (br)    /parenleftex
        !           686:                (LX)    (")                     % synonym
        !           687:                (LB)    /parenleftbt
        !           688:                (lc)    /bracketlefttp
        !           689:                (lx)    /bracketleftex
        !           690:                (lf)    /bracketleftbt
        !           691:                (lt)    /bracelefttp
        !           692:                (lk)    /braceleftmid
        !           693:                (lb)    /braceleftbt
        !           694:                (bv)    /braceex
        !           695:                (|)     (")                     % synonym
        !           696:                (b>)    /angleright
        !           697:                (is)    /integral
        !           698:                (---)   /integraltp
        !           699:                (---)   /integralex
        !           700:                (---)   /integralbt
        !           701:                (RT)    /parenrighttp
        !           702:                (RX)    /parenrightex
        !           703:                (RB)    /parenrightbt
        !           704:                (rc)    /bracketrighttp
        !           705:                (rx)    /bracketrightex
        !           706:                (rf)    /bracketrightbt
        !           707:                (rt)    /bracerighttp
        !           708:                (rk)    /bracerightmid
        !           709:                (rb)    /bracerightbt
        !           710:                (~=)    (55     0       1)      % charlib
        !           711:        //End of SymbolCharset
        !           712: }
        !           713: 
        !           714: SpecialCharset() {
        !           715:        cat <<-'//End of SpecialCharset'
        !           716:                (ru)    /underscore
        !           717:                ('')    /quotedblright          % devpost character
        !           718:                (``)    /quotedblleft           % devpost character
        !           719:                (dg)    /dagger                 % devpost character
        !           720:                (dd)    /daggerdbl              % devpost character
        !           721:                (en)    /endash                 % devpost character
        !           722:                (\\-)   (")                     % synonym
        !           723:                (em)    /emdash
        !           724: %              (ff)    (60     2       1)      % charlib
        !           725: %              (Fi)    (84     2       1)      % charlib
        !           726: %              (Fl)    (84     2       1)      % charlib
        !           727:                (14)    (75     2       1)      % charlib
        !           728:                (12)    (75     2       1)      % charlib
        !           729:                (34)    (75     2       1)      % charlib
        !           730:                (bx)    (50     2       1)      % charlib
        !           731:                (ob)    (38     2       1)      % charlib
        !           732:                (ci)    (75     0       1)      % charlib
        !           733:                (sq)    (50     2       1)      % charlib
        !           734:                (Sl)    (50     2       1)      % charlib
        !           735:                (L1)    (110    1       2)      % charlib
        !           736:                (LA)    (110    1       2)      % charlib
        !           737:                (LV)    (110    3       1)      % charlib
        !           738:                (LH)    (210    1       1)      % charlib
        !           739:                (lh)    (100    0       1)      % charlib
        !           740:                (rh)    (100    0       1)      % charlib
        !           741:                (lH)    (100    0       1)      % charlib
        !           742:                (rH)    (100    0       1)      % charlib
        !           743:                (PC)    (220    2       1)      % charlib
        !           744:                (DG)    (185    2       1)      % charlib
        !           745:        //End of SpecialCharset
        !           746: }
        !           747: 
        !           748: #
        !           749: # Latin1 ensures a font uses the ISOLatin1Encoding vector, although only
        !           750: # text fonts should be re-encoded. Downloading the Encoding vector doesn't
        !           751: # often make sense. No ISOLatin1Encoding array likely means ROM based fonts
        !           752: # on your printer are incomplete. Type 1 fonts with a full Latin1 character
        !           753: # set appeared sometime after Version 50.0.
        !           754: #
        !           755: 
        !           756: Latin1() {
        !           757:        if [ "$DOWNLOADVECTOR" = TRUE ]; then
        !           758:                cat <<-'//End of ISOLatin1Encoding'
        !           759:                        /ISOLatin1Encoding [
        !           760:                                /.notdef
        !           761:                                /.notdef
        !           762:                                /.notdef
        !           763:                                /.notdef
        !           764:                                /.notdef
        !           765:                                /.notdef
        !           766:                                /.notdef
        !           767:                                /.notdef
        !           768:                                /.notdef
        !           769:                                /.notdef
        !           770:                                /.notdef
        !           771:                                /.notdef
        !           772:                                /.notdef
        !           773:                                /.notdef
        !           774:                                /.notdef
        !           775:                                /.notdef
        !           776:                                /.notdef
        !           777:                                /.notdef
        !           778:                                /.notdef
        !           779:                                /.notdef
        !           780:                                /.notdef
        !           781:                                /.notdef
        !           782:                                /.notdef
        !           783:                                /.notdef
        !           784:                                /.notdef
        !           785:                                /.notdef
        !           786:                                /.notdef
        !           787:                                /.notdef
        !           788:                                /.notdef
        !           789:                                /.notdef
        !           790:                                /.notdef
        !           791:                                /.notdef
        !           792:                                /space
        !           793:                                /exclam
        !           794:                                /quotedbl
        !           795:                                /numbersign
        !           796:                                /dollar
        !           797:                                /percent
        !           798:                                /ampersand
        !           799:                                /quoteright
        !           800:                                /parenleft
        !           801:                                /parenright
        !           802:                                /asterisk
        !           803:                                /plus
        !           804:                                /comma
        !           805:                                /minus
        !           806:                                /period
        !           807:                                /slash
        !           808:                                /zero
        !           809:                                /one
        !           810:                                /two
        !           811:                                /three
        !           812:                                /four
        !           813:                                /five
        !           814:                                /six
        !           815:                                /seven
        !           816:                                /eight
        !           817:                                /nine
        !           818:                                /colon
        !           819:                                /semicolon
        !           820:                                /less
        !           821:                                /equal
        !           822:                                /greater
        !           823:                                /question
        !           824:                                /at
        !           825:                                /A
        !           826:                                /B
        !           827:                                /C
        !           828:                                /D
        !           829:                                /E
        !           830:                                /F
        !           831:                                /G
        !           832:                                /H
        !           833:                                /I
        !           834:                                /J
        !           835:                                /K
        !           836:                                /L
        !           837:                                /M
        !           838:                                /N
        !           839:                                /O
        !           840:                                /P
        !           841:                                /Q
        !           842:                                /R
        !           843:                                /S
        !           844:                                /T
        !           845:                                /U
        !           846:                                /V
        !           847:                                /W
        !           848:                                /X
        !           849:                                /Y
        !           850:                                /Z
        !           851:                                /bracketleft
        !           852:                                /backslash
        !           853:                                /bracketright
        !           854:                                /asciicircum
        !           855:                                /underscore
        !           856:                                /quoteleft
        !           857:                                /a
        !           858:                                /b
        !           859:                                /c
        !           860:                                /d
        !           861:                                /e
        !           862:                                /f
        !           863:                                /g
        !           864:                                /h
        !           865:                                /i
        !           866:                                /j
        !           867:                                /k
        !           868:                                /l
        !           869:                                /m
        !           870:                                /n
        !           871:                                /o
        !           872:                                /p
        !           873:                                /q
        !           874:                                /r
        !           875:                                /s
        !           876:                                /t
        !           877:                                /u
        !           878:                                /v
        !           879:                                /w
        !           880:                                /x
        !           881:                                /y
        !           882:                                /z
        !           883:                                /braceleft
        !           884:                                /bar
        !           885:                                /braceright
        !           886:                                /asciitilde
        !           887:                                /.notdef
        !           888:                                /.notdef
        !           889:                                /.notdef
        !           890:                                /.notdef
        !           891:                                /.notdef
        !           892:                                /.notdef
        !           893:                                /.notdef
        !           894:                                /.notdef
        !           895:                                /.notdef
        !           896:                                /.notdef
        !           897:                                /.notdef
        !           898:                                /.notdef
        !           899:                                /.notdef
        !           900:                                /.notdef
        !           901:                                /.notdef
        !           902:                                /.notdef
        !           903:                                /.notdef
        !           904:                                /dotlessi
        !           905:                                /grave
        !           906:                                /acute
        !           907:                                /circumflex
        !           908:                                /tilde
        !           909:                                /macron
        !           910:                                /breve
        !           911:                                /dotaccent
        !           912:                                /dieresis
        !           913:                                /.notdef
        !           914:                                /ring
        !           915:                                /cedilla
        !           916:                                /.notdef
        !           917:                                /hungarumlaut
        !           918:                                /ogonek
        !           919:                                /caron
        !           920:                                /space
        !           921:                                /exclamdown
        !           922:                                /cent
        !           923:                                /sterling
        !           924:                                /currency
        !           925:                                /yen
        !           926:                                /brokenbar
        !           927:                                /section
        !           928:                                /dieresis
        !           929:                                /copyright
        !           930:                                /ordfeminine
        !           931:                                /guillemotleft
        !           932:                                /logicalnot
        !           933:                                /hyphen
        !           934:                                /registered
        !           935:                                /macron
        !           936:                                /degree
        !           937:                                /plusminus
        !           938:                                /twosuperior
        !           939:                                /threesuperior
        !           940:                                /acute
        !           941:                                /mu
        !           942:                                /paragraph
        !           943:                                /periodcentered
        !           944:                                /cedilla
        !           945:                                /onesuperior
        !           946:                                /ordmasculine
        !           947:                                /guillemotright
        !           948:                                /onequarter
        !           949:                                /onehalf
        !           950:                                /threequarters
        !           951:                                /questiondown
        !           952:                                /Agrave
        !           953:                                /Aacute
        !           954:                                /Acircumflex
        !           955:                                /Atilde
        !           956:                                /Adieresis
        !           957:                                /Aring
        !           958:                                /AE
        !           959:                                /Ccedilla
        !           960:                                /Egrave
        !           961:                                /Eacute
        !           962:                                /Ecircumflex
        !           963:                                /Edieresis
        !           964:                                /Igrave
        !           965:                                /Iacute
        !           966:                                /Icircumflex
        !           967:                                /Idieresis
        !           968:                                /Eth
        !           969:                                /Ntilde
        !           970:                                /Ograve
        !           971:                                /Oacute
        !           972:                                /Ocircumflex
        !           973:                                /Otilde
        !           974:                                /Odieresis
        !           975:                                /multiply
        !           976:                                /Oslash
        !           977:                                /Ugrave
        !           978:                                /Uacute
        !           979:                                /Ucircumflex
        !           980:                                /Udieresis
        !           981:                                /Yacute
        !           982:                                /Thorn
        !           983:                                /germandbls
        !           984:                                /agrave
        !           985:                                /aacute
        !           986:                                /acircumflex
        !           987:                                /atilde
        !           988:                                /adieresis
        !           989:                                /aring
        !           990:                                /ae
        !           991:                                /ccedilla
        !           992:                                /egrave
        !           993:                                /eacute
        !           994:                                /ecircumflex
        !           995:                                /edieresis
        !           996:                                /igrave
        !           997:                                /iacute
        !           998:                                /icircumflex
        !           999:                                /idieresis
        !          1000:                                /eth
        !          1001:                                /ntilde
        !          1002:                                /ograve
        !          1003:                                /oacute
        !          1004:                                /ocircumflex
        !          1005:                                /otilde
        !          1006:                                /odieresis
        !          1007:                                /divide
        !          1008:                                /oslash
        !          1009:                                /ugrave
        !          1010:                                /uacute
        !          1011:                                /ucircumflex
        !          1012:                                /udieresis
        !          1013:                                /yacute
        !          1014:                                /thorn
        !          1015:                                /ydieresis
        !          1016:                        ] def
        !          1017:                //End of ISOLatin1Encoding
        !          1018:        fi
        !          1019: 
        !          1020:        echo "ISOLatin1Encoding /$1 ReEncode"
        !          1021: }
        !          1022: 
        !          1023: #
        !          1024: # Generating functions output PostScript programs that build font width
        !          1025: # tables or a typesetter description file. Send the program to a printer
        !          1026: # and the complete table will come back on the serial port. All write on
        !          1027: # stdout and assume the prologue and other required PostScript files are
        !          1028: # all available.
        !          1029: #
        !          1030: 
        !          1031: Proportional() {
        !          1032:        echo "/unitwidth $UNITWIDTH def"
        !          1033:        echo "/resolution $RESOLUTION def"
        !          1034:        echo "/octalescapes $OCTALESCAPES def"
        !          1035:        echo "/charset ["
        !          1036:                # Get <>_ and | from S. Use accents for ascii ^ and ~.
        !          1037:                StandardCharset | awk '
        !          1038:                        $1 == "(<)" && $2 == "/less" {$1 = "(---)"}
        !          1039:                        $1 == "(>)" && $2 == "/greater" {$1 = "(---)"}
        !          1040:                        $1 == "(_)" && $2 == "/underscore" {$1 = "(---)"}
        !          1041:                        $1 == "(|)" && $2 == "/bar" {$1 = "(---)"}
        !          1042:                        $1 == "(^)" && $2 == "/asciicircum" {
        !          1043:                                printf "(^)\t/circumflex\n"
        !          1044:                                $1 = "(---)"
        !          1045:                        }
        !          1046:                        $1 == "(~)" && $2 == "/asciitilde" {
        !          1047:                                printf "(~)\t/tilde\n"
        !          1048:                                $1 = "(---)"
        !          1049:                        }
        !          1050:                        {printf "%s\t%s\n", $1, $2}
        !          1051:                '
        !          1052:        echo "] def"
        !          1053: 
        !          1054:        Latin1 $2
        !          1055:        echo "/$2 SelectFont"
        !          1056:        echo "(opO) SetAscender"
        !          1057: 
        !          1058:        echo "(name $1\\\\n) Print"
        !          1059:        echo "(fontname $2\\\\n) Print"
        !          1060:        echo "/$1 NamedInPrologue"
        !          1061:        echo "(spacewidth ) Print 32 GetWidth Print (\n) Print"
        !          1062:        echo "(charset\\\\n) Print"
        !          1063:        echo "BuildFontCharset"
        !          1064: }
        !          1065: 
        !          1066: FixedWidth() {
        !          1067:        echo "/unitwidth $UNITWIDTH def"
        !          1068:        echo "/resolution $RESOLUTION def"
        !          1069:        echo "/octalescapes $OCTALESCAPES def"
        !          1070:        echo "/charset ["
        !          1071:                StandardCharset
        !          1072:        echo "] def"
        !          1073: 
        !          1074:        Latin1 $2
        !          1075:        echo "/$2 SelectFont"
        !          1076:        echo "(opO) SetAscender"
        !          1077: 
        !          1078:        echo "(name $1\\\\n) Print"
        !          1079:        echo "(fontname $2\\\\n) Print"
        !          1080:        echo "/$1 NamedInPrologue"
        !          1081:        echo "(spacewidth ) Print 32 GetWidth Print (\n) Print"
        !          1082:        echo "(charset\\\\n) Print"
        !          1083:        echo "BuildFontCharset"
        !          1084: }
        !          1085: 
        !          1086: Dingbats() {
        !          1087:        echo "/unitwidth $UNITWIDTH def"
        !          1088:        echo "/resolution $RESOLUTION def"
        !          1089:        echo "/octalescapes $OCTALESCAPES def"
        !          1090:        echo "/charset ["
        !          1091:                DingbatsCharset | awk '$1 != "(---)" && $2 ~ /^\/[a-zA-Z]/ {
        !          1092:                        printf "%s\tISOLatin1Encoding %s GetCode\n", $1, $2
        !          1093:                }'
        !          1094:        echo "] def"
        !          1095: 
        !          1096:        echo "/$2 SelectFont"
        !          1097:        echo "(   ) SetAscender"
        !          1098: 
        !          1099:        echo "(name $1\\\\n) Print"
        !          1100:        echo "(fontname $2\\\\n) Print"
        !          1101:        echo "/$1 NamedInPrologue"
        !          1102:        echo "(charset\\\\n) Print"
        !          1103:        echo "BuildFontCharset"
        !          1104: }
        !          1105: 
        !          1106: Greek() {
        !          1107:        echo "/unitwidth $UNITWIDTH def"
        !          1108:        echo "/resolution $RESOLUTION def"
        !          1109:        echo "/charset ["
        !          1110:                SymbolCharset | awk '$1 ~ /\(\*[a-zA-Z]\)/'
        !          1111:        echo "] def"
        !          1112: 
        !          1113:        echo "/$2 SelectFont"
        !          1114:        echo "(orO) SetAscender"
        !          1115: 
        !          1116:        echo "(name $1\\\\n) Print"
        !          1117:        echo "(fontname $2\\\\n) Print"
        !          1118:        echo "/$1 NamedInPrologue"
        !          1119:        echo "(spacewidth ) Print 32 GetWidth Print (\n) Print"
        !          1120:        echo "(charset\\\\n) Print"
        !          1121:        echo "BuildFontCharset"
        !          1122: }
        !          1123: 
        !          1124: Symbol() {
        !          1125:        echo "/unitwidth $UNITWIDTH def"
        !          1126:        echo "/resolution $RESOLUTION def"
        !          1127:        echo "/charset ["
        !          1128:                SymbolCharset
        !          1129:        echo "] def"
        !          1130: 
        !          1131:        echo "ChangeMetrics"
        !          1132:        echo "/S SelectFont"
        !          1133:        echo "(orO) SetAscender"
        !          1134: 
        !          1135:        echo "(name $1\\\\n) Print"
        !          1136:        echo "(fontname $2\\\\n) Print"
        !          1137:        echo "/$1 NamedInPrologue"
        !          1138:        echo "(special\\\\n) Print"
        !          1139:        echo "(charset\\\\n) Print"
        !          1140:        echo "BuildFontCharset"
        !          1141: }
        !          1142: 
        !          1143: Special() {
        !          1144:        echo "/unitwidth $UNITWIDTH def"
        !          1145:        echo "/resolution $RESOLUTION def"
        !          1146:        echo "/charset ["
        !          1147:                SpecialCharset
        !          1148:        echo "] def"
        !          1149: 
        !          1150:        echo "ChangeMetrics"
        !          1151:        echo "/S1 SelectFont"
        !          1152: 
        !          1153:        echo "(# Times-Roman special font\\\\n) Print"
        !          1154:        echo "(name $1\\\\n) Print"
        !          1155:        echo "(fontname $2\\\\n) Print"
        !          1156:        echo "/$1 NamedInPrologue"
        !          1157:        echo "(special\\\\n) Print"
        !          1158:        echo "(charset\\\\n) Print"
        !          1159:        echo "BuildFontCharset"
        !          1160: }
        !          1161: 
        !          1162: #
        !          1163: # The DESC file doesn't have to be built on a printer. It's only here for
        !          1164: # consistency.
        !          1165: #
        !          1166: 
        !          1167: Description() {
        !          1168:        echo "/charset ["       # awk - so the stack doesn't overflow
        !          1169:                StandardCharset | awk '{print $1}'
        !          1170:                SymbolCharset | awk '{print $1}'
        !          1171:                SpecialCharset | awk '{print $1}'
        !          1172:        echo "] def"
        !          1173: 
        !          1174:        cat <<-//DESC
        !          1175:                (#Device Description - Latin1 character set
        !          1176: 
        !          1177:                PDL PostScript
        !          1178:                Encoding Latin1
        !          1179: 
        !          1180:                fonts 10 R I B BI CW H HI HB S1 S
        !          1181:                sizes 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
        !          1182:                23 24 25 26 27 28 29 30 31 32 33 34 35 36 38 40 42 44 46
        !          1183:                48 50 52 54 56 58 60 64 68 72 78 84 90 96 100 105 110 115
        !          1184:                120 125 130 135 140 145 150 155 160 0
        !          1185:                res $RESOLUTION
        !          1186:                hor 1
        !          1187:                vert 1
        !          1188:                unitwidth $UNITWIDTH
        !          1189: 
        !          1190:                ) Print
        !          1191:        //DESC
        !          1192:        echo "(charset\\\\n) Print"
        !          1193:        echo "BuildDescCharset"
        !          1194:        echo "(\\\\n) Print"
        !          1195: }
        !          1196: 

unix.superglobalmegacorp.com

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