diff --git a/sys/lib/troff/font/devutf/shell.lib b/sys/lib/troff/font/devutf/shell.lib index d96e65655..49a4755c1 100644 --- a/sys/lib/troff/font/devutf/shell.lib +++ b/sys/lib/troff/font/devutf/shell.lib @@ -5,7 +5,8 @@ RESOLUTION=720 UNITWIDTH=10 -OCTALESCAPES=${OCTALESCAPES:-160} # <= code means add \0ddd names +if(~ $#OCTALESCAPES 0) + OCTALESCAPES=160 # <= code means add \0ddd names DOWNLOADVECTOR=FALSE # TRUE can mean incomplete tables # @@ -16,56 +17,55 @@ DOWNLOADVECTOR=FALSE # TRUE can mean incomplete tables # font. # -BuiltinTables() { - cat <<-'//End of BuiltinTables' - Proportional R Times-Roman - Proportional I Times-Italic - Proportional B Times-Bold - Proportional BI Times-BoldItalic - Proportional AB AvantGarde-Demi - Proportional AI AvantGarde-BookOblique - Proportional AR AvantGarde-Book - Proportional AX AvantGarde-DemiOblique - Proportional H Helvetica - Proportional HB Helvetica-Bold - Proportional HI Helvetica-Oblique - Proportional HX Helvetica-BoldOblique - Proportional Hb Helvetica-Narrow-Bold - Proportional Hi Helvetica-Narrow-Oblique - Proportional Hr Helvetica-Narrow - Proportional Hx Helvetica-Narrow-BoldOblique - Proportional KB Bookman-Demi - Proportional KI Bookman-LightItalic - Proportional KR Bookman-Light - Proportional KX Bookman-DemiItalic - Proportional NB NewCenturySchlbk-Bold - Proportional NI NewCenturySchlbk-Italic - Proportional NR NewCenturySchlbk-Roman - Proportional NX NewCenturySchlbk-BoldItalic - Proportional PA Palatino-Roman - Proportional PB Palatino-Bold - Proportional PI Palatino-Italic - Proportional PX Palatino-BoldItalic - Proportional ZI ZapfChancery-MediumItalic - FixedWidth C Courier - FixedWidth CB Courier-Bold - FixedWidth CI Courier-Oblique - FixedWidth CO Courier - FixedWidth CW Courier - FixedWidth CX Courier-BoldOblique - Dingbats ZD ZapfDingbats - Greek GR Symbol - Symbol S Symbol - Special S1 Times-Roman - Description DESC --- - //End of BuiltinTables +fn BuiltinTables { + echo 'Proportional R Times-Roman +Proportional I Times-Italic +Proportional B Times-Bold +Proportional BI Times-BoldItalic +Proportional AB AvantGarde-Demi +Proportional AI AvantGarde-BookOblique +Proportional AR AvantGarde-Book +Proportional AX AvantGarde-DemiOblique +Proportional H Helvetica +Proportional HB Helvetica-Bold +Proportional HI Helvetica-Oblique +Proportional HX Helvetica-BoldOblique +Proportional Hb Helvetica-Narrow-Bold +Proportional Hi Helvetica-Narrow-Oblique +Proportional Hr Helvetica-Narrow +Proportional Hx Helvetica-Narrow-BoldOblique +Proportional KB Bookman-Demi +Proportional KI Bookman-LightItalic +Proportional KR Bookman-Light +Proportional KX Bookman-DemiItalic +Proportional NB NewCenturySchlbk-Bold +Proportional NI NewCenturySchlbk-Italic +Proportional NR NewCenturySchlbk-Roman +Proportional NX NewCenturySchlbk-BoldItalic +Proportional PA Palatino-Roman +Proportional PB Palatino-Bold +Proportional PI Palatino-Italic +Proportional PX Palatino-BoldItalic +Proportional ZI ZapfChancery-MediumItalic +FixedWidth C Courier +FixedWidth CB Courier-Bold +FixedWidth CI Courier-Oblique +FixedWidth CO Courier +FixedWidth CW Courier +FixedWidth CX Courier-BoldOblique +Dingbats ZD ZapfDingbats +Greek GR Symbol +Symbol S Symbol +Special S1 Times-Roman +Proportional CMR12 CMR12 +Description DESC ---' } # # AllTables prints the complete list of builtin font names. # -AllTables() { +fn AllTables { BuiltinTables | awk '{print $2}' } @@ -84,703 +84,695 @@ AllTables() { # flagged with the PostScript comment "% missing". # -StandardCharset() { - cat <<-'//End of StandardCharset' - (!) /exclam - (") /quotedbl - (dq) (") % synonym - (#) /numbersign - ($) /dollar - (%) /percent - (&) /ampersand - (') /quoteright - (\() /parenleft - (\)) /parenright - (*) /asterisk - (+) /plus - (,) /comma - (-) /hyphen % changed from minus by request - (.) /period - (/) /slash - (0) /zero - (1) /one - (2) /two - (3) /three - (4) /four - (5) /five - (6) /six - (7) /seven - (8) /eight - (9) /nine - (:) /colon - (;) /semicolon - (<) /less - (=) /equal - (>) /greater - (?) /question - (@) /at - (A) /A - (B) /B - (C) /C - (D) /D - (E) /E - (F) /F - (G) /G - (H) /H - (I) /I - (J) /J - (K) /K - (L) /L - (M) /M - (N) /N - (O) /O - (P) /P - (Q) /Q - (R) /R - (S) /S - (T) /T - (U) /U - (V) /V - (W) /W - (X) /X - (Y) /Y - (Z) /Z - ([) /bracketleft - (\\) /backslash - (bs) (") % synonym - (]) /bracketright - (^) /asciicircum - (_) /underscore - (`) /quoteleft - (a) /a - (b) /b - (c) /c - (d) /d - (e) /e - (f) /f - (g) /g - (h) /h - (i) /i - (j) /j - (k) /k - (l) /l - (m) /m - (n) /n - (o) /o - (p) /p - (q) /q - (r) /r - (s) /s - (t) /t - (u) /u - (v) /v - (w) /w - (x) /x - (y) /y - (z) /z - ({) /braceleft - (|) /bar - (}) /braceright - (~) /asciitilde - (\\`) /grave % devpost character - (ga) (") % synonym - (!!) /exclamdown - (c|) /cent - (ct) (") % devpost synonym - (L-) /sterling - (ps) (") % devpost synonym - (xo) /currency - (cr) (") % devpost synonym - (Y-) /yen - (yn) (") % devpost synonym - (||) /brokenbar % missing - (so) /section - (sc) (") % devpost synonym - ("") /dieresis - (:a) (") % devpost synonym - (co) /copyright - (a_) /ordfeminine - (<<) /guillemotleft - (-,) /logicalnot - (hy) /hyphen - (--) /minus - (ro) /registered - (rg) (") % devpost synonym - (-^) /macron - (-a) (") % devpost synonym - (0^) /degree % missing - (+-) /plusminus % missing - (2^) /twosuperior % missing - (3^) /threesuperior % missing - (\\') /acute - (aa) (") % devpost synonym - (/u) /mu % missing - (P!) /paragraph - (pg) (") % devpost synonym - (.^) /periodcentered - (,,) /cedilla - (,a) (") % devpost synonym - (1^) /onesuperior % missing - (o_) /ordmasculine - (>>) /guillemotright - (14) /onequarter % missing - (12) /onehalf % missing - (34) /threequarters % missing - (??) /questiondown - (A`) /Agrave - (A') /Aacute - (A^) /Acircumflex - (A~) /Atilde - (A") /Adieresis - (A*) /Aring - (AE) /AE - (C,) /Ccedilla - (E`) /Egrave - (E') /Eacute - (E^) /Ecircumflex - (E") /Edieresis - (I`) /Igrave - (I') /Iacute - (I^) /Icircumflex - (I") /Idieresis - (D-) /Eth % missing - (N~) /Ntilde - (O`) /Ograve - (O') /Oacute - (O^) /Ocircumflex - (O~) /Otilde - (O") /Odieresis - (xx) /multiply % missing - (O/) /Oslash - (U`) /Ugrave - (U') /Uacute - (U^) /Ucircumflex - (U") /Udieresis - (Y') /Yacute % missing - (TH) /Thorn % missing - (ss) /germandbls - (a`) /agrave - (a') /aacute - (a^) /acircumflex - (a~) /atilde - (a") /adieresis - (a*) /aring - (ae) /ae - (c,) /ccedilla - (e`) /egrave - (e') /eacute - (e^) /ecircumflex - (e") /edieresis - (i`) /igrave - (i') /iacute - (i^) /icircumflex - (i") /idieresis - (d-) /eth % missing - (n~) /ntilde - (o`) /ograve - (o') /oacute - (o^) /ocircumflex - (o~) /otilde - (o") /odieresis - (-:) /divide % missing - (o/) /oslash - (u`) /ugrave - (u') /uacute - (u^) /ucircumflex - (u") /udieresis - (y') /yacute % missing - (th) /thorn % missing - (y") /ydieresis - (^a) /circumflex % devpost accent - (~a) /tilde % devpost accent - (Ua) /breve % devpost accent - (.a) /dotaccent % devpost accent - (oa) /ring % devpost accent - ("a) /hungarumlaut % devpost accent - (Ca) /ogonek % devpost accent - (va) /caron % devpost accent - //End of StandardCharset +fn StandardCharset { + echo '(!) /exclam +(") /quotedbl +(dq) (") % synonym +(#) /numbersign +($) /dollar +(%) /percent +(&) /ampersand +('') /quoteright +(\() /parenleft +(\)) /parenright +(*) /asterisk +(+) /plus +(,) /comma +(-) /hyphen % changed from minus by request +(.) /period +(/) /slash +(0) /zero +(1) /one +(2) /two +(3) /three +(4) /four +(5) /five +(6) /six +(7) /seven +(8) /eight +(9) /nine +(:) /colon +(;) /semicolon +(<) /less +(=) /equal +(>) /greater +(?) /question +(@) /at +(A) /A +(B) /B +(C) /C +(D) /D +(E) /E +(F) /F +(G) /G +(H) /H +(I) /I +(J) /J +(K) /K +(L) /L +(M) /M +(N) /N +(O) /O +(P) /P +(Q) /Q +(R) /R +(S) /S +(T) /T +(U) /U +(V) /V +(W) /W +(X) /X +(Y) /Y +(Z) /Z +([) /bracketleft +(\\) /backslash +(bs) (") % synonym +(]) /bracketright +(^) /asciicircum +(_) /underscore +(`) /quoteleft +(a) /a +(b) /b +(c) /c +(d) /d +(e) /e +(f) /f +(g) /g +(h) /h +(i) /i +(j) /j +(k) /k +(l) /l +(m) /m +(n) /n +(o) /o +(p) /p +(q) /q +(r) /r +(s) /s +(t) /t +(u) /u +(v) /v +(w) /w +(x) /x +(y) /y +(z) /z +({) /braceleft +(|) /bar +(}) /braceright +(~) /asciitilde +(\\`) /grave % devpost character +(ga) (") % synonym +(!!) /exclamdown +(c|) /cent +(ct) (") % devpost synonym +(L-) /sterling +(ps) (") % devpost synonym +(xo) /currency +(cr) (") % devpost synonym +(Y-) /yen +(yn) (") % devpost synonym +(||) /brokenbar % missing +(so) /section +(sc) (") % devpost synonym +("") /dieresis +(:a) (") % devpost synonym +(co) /copyright +(a_) /ordfeminine +(<<) /guillemotleft +(-,) /logicalnot +(hy) /hyphen +(--) /minus +(ro) /registered +(rg) (") % devpost synonym +(-^) /macron +(-a) (") % devpost synonym +(0^) /degree % missing +(+-) /plusminus % missing +(2^) /twosuperior % missing +(3^) /threesuperior % missing +(\\'') /acute +(aa) (") % devpost synonym +(/u) /mu % missing +(P!) /paragraph +(pg) (") % devpost synonym +(.^) /periodcentered +(,,) /cedilla +(,a) (") % devpost synonym +(1^) /onesuperior % missing +(o_) /ordmasculine +(>>) /guillemotright +(14) /onequarter % missing +(12) /onehalf % missing +(34) /threequarters % missing +(??) /questiondown +(A`) /Agrave +(A'') /Aacute +(A^) /Acircumflex +(A~) /Atilde +(A") /Adieresis +(A*) /Aring +(AE) /AE +(C,) /Ccedilla +(E`) /Egrave +(E'') /Eacute +(E^) /Ecircumflex +(E") /Edieresis +(I`) /Igrave +(I'') /Iacute +(I^) /Icircumflex +(I") /Idieresis +(D-) /Eth % missing +(N~) /Ntilde +(O`) /Ograve +(O'') /Oacute +(O^) /Ocircumflex +(O~) /Otilde +(O") /Odieresis +(xx) /multiply % missing +(O/) /Oslash +(U`) /Ugrave +(U'') /Uacute +(U^) /Ucircumflex +(U") /Udieresis +(Y'') /Yacute % missing +(TH) /Thorn % missing +(ss) /germandbls +(a`) /agrave +(a'') /aacute +(a^) /acircumflex +(a~) /atilde +(a") /adieresis +(a*) /aring +(ae) /ae +(c,) /ccedilla +(e`) /egrave +(e'') /eacute +(e^) /ecircumflex +(e") /edieresis +(i`) /igrave +(i'') /iacute +(i^) /icircumflex +(i") /idieresis +(d-) /eth % missing +(n~) /ntilde +(o`) /ograve +(o'') /oacute +(o^) /ocircumflex +(o~) /otilde +(o") /odieresis +(-:) /divide % missing +(o/) /oslash +(u`) /ugrave +(u'') /uacute +(u^) /ucircumflex +(u") /udieresis +(y'') /yacute % missing +(th) /thorn % missing +(y") /ydieresis +(^a) /circumflex % devpost accent +(~a) /tilde % devpost accent +(Ua) /breve % devpost accent +(.a) /dotaccent % devpost accent +(oa) /ring % devpost accent +("a) /hungarumlaut % devpost accent +(Ca) /ogonek % devpost accent +(va) /caron % devpost accent' } # # DingbatsCharset guarantees changes in StandardCharset don't show up in ZD. # -DingbatsCharset() { - cat <<-'//End of DingbatsCharset' - (!) /exclam - (") /quotedbl - (#) /numbersign - ($) /dollar - (%) /percent - (&) /ampersand - (') /quoteright - (\() /parenleft - (\)) /parenright - (*) /asterisk - (+) /plus - (,) /comma - (-) /minus % also hyphen in devpost - (.) /period - (/) /slash - (0) /zero - (1) /one - (2) /two - (3) /three - (4) /four - (5) /five - (6) /six - (7) /seven - (8) /eight - (9) /nine - (:) /colon - (;) /semicolon - (<) /less - (=) /equal - (>) /greater - (?) /question - (@) /at - (A) /A - (B) /B - (C) /C - (D) /D - (E) /E - (F) /F - (G) /G - (H) /H - (I) /I - (J) /J - (K) /K - (L) /L - (M) /M - (N) /N - (O) /O - (P) /P - (Q) /Q - (R) /R - (S) /S - (T) /T - (U) /U - (V) /V - (W) /W - (X) /X - (Y) /Y - (Z) /Z - ([) /bracketleft - (\\) /backslash - (]) /bracketright - (^) /asciicircum - (_) /underscore - (`) /quoteleft - (a) /a - (b) /b - (c) /c - (d) /d - (e) /e - (f) /f - (g) /g - (h) /h - (i) /i - (j) /j - (k) /k - (l) /l - (m) /m - (n) /n - (o) /o - (p) /p - (q) /q - (r) /r - (s) /s - (t) /t - (u) /u - (v) /v - (w) /w - (x) /x - (y) /y - (z) /z - ({) /braceleft - (|) /bar - (}) /braceright - (~) /asciitilde - (\\`) /grave % devpost character - (!!) /exclamdown - (c|) /cent - (L-) /sterling - (xo) /currency - (Y-) /yen - (||) /brokenbar % missing - (so) /section - ("") /dieresis - (co) /copyright - (a_) /ordfeminine - (<<) /guillemotleft - (-,) /logicalnot - (hy) /hyphen - (ro) /registered - (-^) /macron - (0^) /degree % missing - (+-) /plusminus % missing - (2^) /twosuperior % missing - (3^) /threesuperior % missing - (\\') /acute - (/u) /mu % missing - (P!) /paragraph - (.^) /periodcentered - (,,) /cedilla - (1^) /onesuperior % missing - (o_) /ordmasculine - (>>) /guillemotright - (14) /onequarter % missing - (12) /onehalf % missing - (34) /threequarters % missing - (??) /questiondown - (A`) /Agrave - (A') /Aacute - (A^) /Acircumflex - (A~) /Atilde - (A") /Adieresis - (A*) /Aring - (AE) /AE - (C,) /Ccedilla - (E`) /Egrave - (E') /Eacute - (E^) /Ecircumflex - (E") /Edieresis - (I`) /Igrave - (I') /Iacute - (I^) /Icircumflex - (I") /Idieresis - (D-) /Eth % missing - (N~) /Ntilde - (O`) /Ograve - (O') /Oacute - (O^) /Ocircumflex - (O~) /Otilde - (O") /Odieresis - (xx) /multiply % missing - (O/) /Oslash - (U`) /Ugrave - (U') /Uacute - (U^) /Ucircumflex - (U") /Udieresis - (Y') /Yacute % missing - (TH) /Thorn % missing - (ss) /germandbls - (a`) /agrave - (a') /aacute - (a^) /acircumflex - (a~) /atilde - (a") /adieresis - (a*) /aring - (ae) /ae - (c,) /ccedilla - (e`) /egrave - (e') /eacute - (e^) /ecircumflex - (e") /edieresis - (i`) /igrave - (i') /iacute - (i^) /icircumflex - (i") /idieresis - (d-) /eth % missing - (n~) /ntilde - (o`) /ograve - (o') /oacute - (o^) /ocircumflex - (o~) /otilde - (o") /odieresis - (-:) /divide % missing - (o/) /oslash - (u`) /ugrave - (u') /uacute - (u^) /ucircumflex - (u") /udieresis - (y') /yacute % missing - (th) /thorn % missing - (y") /ydieresis - //End of DingbatsCharset +fn DingbatsCharset { + echo '(!) /exclam +(") /quotedbl +(#) /numbersign +($) /dollar +(%) /percent +(&) /ampersand +('') /quoteright +(\() /parenleft +(\)) /parenright +(*) /asterisk +(+) /plus +(,) /comma +(-) /minus % also hyphen in devpost +(.) /period +(/) /slash +(0) /zero +(1) /one +(2) /two +(3) /three +(4) /four +(5) /five +(6) /six +(7) /seven +(8) /eight +(9) /nine +(:) /colon +(;) /semicolon +(<) /less +(=) /equal +(>) /greater +(?) /question +(@) /at +(A) /A +(B) /B +(C) /C +(D) /D +(E) /E +(F) /F +(G) /G +(H) /H +(I) /I +(J) /J +(K) /K +(L) /L +(M) /M +(N) /N +(O) /O +(P) /P +(Q) /Q +(R) /R +(S) /S +(T) /T +(U) /U +(V) /V +(W) /W +(X) /X +(Y) /Y +(Z) /Z +([) /bracketleft +(\\) /backslash +(]) /bracketright +(^) /asciicircum +(_) /underscore +(`) /quoteleft +(a) /a +(b) /b +(c) /c +(d) /d +(e) /e +(f) /f +(g) /g +(h) /h +(i) /i +(j) /j +(k) /k +(l) /l +(m) /m +(n) /n +(o) /o +(p) /p +(q) /q +(r) /r +(s) /s +(t) /t +(u) /u +(v) /v +(w) /w +(x) /x +(y) /y +(z) /z +({) /braceleft +(|) /bar +(}) /braceright +(~) /asciitilde +(\\`) /grave % devpost character +(!!) /exclamdown +(c|) /cent +(L-) /sterling +(xo) /currency +(Y-) /yen +(||) /brokenbar % missing +(so) /section +("") /dieresis +(co) /copyright +(a_) /ordfeminine +(<<) /guillemotleft +(-,) /logicalnot +(hy) /hyphen +(ro) /registered +(-^) /macron +(0^) /degree % missing +(+-) /plusminus % missing +(2^) /twosuperior % missing +(3^) /threesuperior % missing +(\\'') /acute +(/u) /mu % missing +(P!) /paragraph +(.^) /periodcentered +(,,) /cedilla +(1^) /onesuperior % missing +(o_) /ordmasculine +(>>) /guillemotright +(14) /onequarter % missing +(12) /onehalf % missing +(34) /threequarters % missing +(??) /questiondown +(A`) /Agrave +(A'') /Aacute +(A^) /Acircumflex +(A~) /Atilde +(A") /Adieresis +(A*) /Aring +(AE) /AE +(C,) /Ccedilla +(E`) /Egrave +(E'') /Eacute +(E^) /Ecircumflex +(E") /Edieresis +(I`) /Igrave +(I'') /Iacute +(I^) /Icircumflex +(I") /Idieresis +(D-) /Eth % missing +(N~) /Ntilde +(O`) /Ograve +(O'') /Oacute +(O^) /Ocircumflex +(O~) /Otilde +(O") /Odieresis +(xx) /multiply % missing +(O/) /Oslash +(U`) /Ugrave +(U'') /Uacute +(U^) /Ucircumflex +(U") /Udieresis +(Y'') /Yacute % missing +(TH) /Thorn % missing +(ss) /germandbls +(a`) /agrave +(a'') /aacute +(a^) /acircumflex +(a~) /atilde +(a") /adieresis +(a*) /aring +(ae) /ae +(c,) /ccedilla +(e`) /egrave +(e'') /eacute +(e^) /ecircumflex +(e") /edieresis +(i`) /igrave +(i'') /iacute +(i^) /icircumflex +(i") /idieresis +(d-) /eth % missing +(n~) /ntilde +(o`) /ograve +(o'') /oacute +(o^) /ocircumflex +(o~) /otilde +(o") /odieresis +(-:) /divide % missing +(o/) /oslash +(u`) /ugrave +(u'') /uacute +(u^) /ucircumflex +(u") /udieresis +(y'') /yacute % missing +(th) /thorn % missing +(y") /ydieresis' } -SymbolCharset() { - cat <<-'//End of SymbolCharset' - (---) /exclam - (fa) /universal - (---) /numbersign - (te) /existential - (---) /percent - (---) /ampersand - (st) /suchthat - (---) /parenleft - (---) /parenright - (**) /asteriskmath - (pl) /plus - (---) /comma - (mi) /minus - (---) /period - (sl) /slash - (---) /zero - (---) /one - (---) /two - (---) /three - (---) /four - (---) /five - (---) /six - (---) /seven - (---) /eight - (---) /nine - (---) /colon - (---) /semicolon - (<) /less - (eq) /equal - (>) /greater - (---) /question - (cg) /congruent - (*A) /Alpha - (\244x) (") - (*B) /Beta - (\244y) (") - (*X) /Chi - (\244\257) (") - (*D) /Delta - (\244{) (") - (*E) /Epsilon - (\244|) (") - (*F) /Phi - (\244\256) (") - (*G) /Gamma - (\244z) (") - (*Y) /Eta - (\244~) (") - (*I) /Iota - (\244\241) (") - (---) /theta1 - (\244\331) (") - (*K) /Kappa - (\244\242) (") - (*L) /Lambda - (\244\243) (") - (*M) /Mu - (\244\244) (") - (*N) /Nu - (\244\245) (") - (*O) /Omicron - (\244\247) (") - (*P) /Pi - (\244\250) (") - (*H) /Theta - (\244\240) (") - (*R) /Rho - (\244\251) (") - (*S) /Sigma - (\244\253) (") - (*T) /Tau - (\244\254) (") - (*U) /Upsilon - (\244\255) (") - (ts) /sigma1 - (\244\312) (") - (*W) /Omega - (\244\261) (") - (*C) /Xi - (\244\246) (") - (*Q) /Psi - (\244\260) (") - (*Z) /Zeta - (\244}) (") - (---) /bracketleft - (tf) /therefore - (---) /bracketright - (pp) /perpendicular - (ul) /underscore - (_) (") % synonym - (rn) /radicalex - (*a) /alpha - (\244\271) (") - (*b) /beta - (\244\272) (") - (*x) /chi - (\244\317) (") - (*d) /delta - (\244\274) (") - (*e) /epsilon - (\244\275) (") - (*f) /phi - (\244\316) (") - (*g) /gamma - (\244\273) (") - (*y) /eta - (\244\277) (") - (*i) /iota - (\244\301) (") - (---) /phi1 - (\244\335) (") - (*k) /kappa - (\244\302) (") - (*l) /lambda - (\244\303) (") - (*m) /mu - (\244\304) (") - (*n) /nu - (\244\305) (") - (*o) /omicron - (\244\307) (") - (*p) /pi - (\244\310) (") - (*h) /theta - (\244\300) (") - (*r) /rho - (\244\311) (") - (*s) /sigma - (\244\313) (") - (*t) /tau - (\244\314) (") - (*u) /upsilon - (\244\315) (") - (---) /omega1 - (\244\336) (") - (*w) /omega - (\244\321) (") - (*c) /xi - (\244\306) (") - (*q) /psi - (\244\320) (") - (*z) /zeta - (\244\276) (") - (---) /braceleft - (or) /bar - (---) /braceright - (ap) /similar - (---) /Upsilon1 - (fm) /minute - (<=) /lessequal - (fr) /fraction % devpost character - (if) /infinity - (fn) /florin % devpost character - (---) /club - (---) /diamond - (---) /heart - (---) /spade - (ab) /arrowboth - (<-) /arrowleft - (ua) /arrowup - (->) /arrowright - (da) /arrowdown - (de) /degree - (+-) /plusminus - (---) /second - (>=) /greaterequal - (mu) /multiply - (pt) /proportional - (pd) /partialdiff - (bu) /bullet - (di) /divide - (!=) /notequal - (==) /equivalence - (~~) /approxequal - (el) /ellipsis - (av) /arrowvertex - (ah) /arrowhorizex - (CR) /carriagereturn - (af) /aleph - (If) /Ifraktur - (Rf) /Rfraktur - (ws) /weierstrass - (Ox) /circlemultiply - (O+) /circleplus - (es) /emptyset - (ca) /intersection - (cu) /union - (sp) /propersuperset - (ip) /reflexsuperset - (!b) /notsubset - (sb) /propersubset - (ib) /reflexsubset - (mo) /element - (!m) /notelement - (an) /angle - (gr) /gradient - (rg) /registerserif - (co) /copyrightserif - (tm) /trademarkserif - (---) /product - (sr) /radical - (c.) /dotmath - (no) /logicalnot - (l&) /logicaland - (l|) /logicalor - (---) /arrowdblboth - (---) /arrowdblleft - (---) /arrowdblup - (---) /arrowdblright - (---) /arrowdbldown - (lz) /lozenge - (b<) /angleleft - (RG) /registersans - (CO) /copyrightsans - (TM) /trademarksans - (---) /summation - (LT) /parenlefttp - (br) /parenleftex - (LX) (") % synonym - (LB) /parenleftbt - (lc) /bracketlefttp - (lx) /bracketleftex - (lf) /bracketleftbt - (lt) /bracelefttp - (lk) /braceleftmid - (lb) /braceleftbt - (bv) /braceex - (|) (") % synonym - (b>) /angleright - (is) /integral - (---) /integraltp - (---) /integralex - (---) /integralbt - (RT) /parenrighttp - (RX) /parenrightex - (RB) /parenrightbt - (rc) /bracketrighttp - (rx) /bracketrightex - (rf) /bracketrightbt - (rt) /bracerighttp - (rk) /bracerightmid - (rb) /bracerightbt - (~=) (55 0 1) % charlib - //End of SymbolCharset +fn SymbolCharset { + echo '(---) /exclam +(fa) /universal +(---) /numbersign +(te) /existential +(---) /percent +(---) /ampersand +(st) /suchthat +(---) /parenleft +(---) /parenright +(**) /asteriskmath +(pl) /plus +(---) /comma +(mi) /minus +(---) /period +(sl) /slash +(---) /zero +(---) /one +(---) /two +(---) /three +(---) /four +(---) /five +(---) /six +(---) /seven +(---) /eight +(---) /nine +(---) /colon +(---) /semicolon +(<) /less +(eq) /equal +(>) /greater +(---) /question +(cg) /congruent +(*A) /Alpha +(\244x) (") +(*B) /Beta +(\244y) (") +(*X) /Chi +(\244\257) (") +(*D) /Delta +(\244{) (") +(*E) /Epsilon +(\244|) (") +(*F) /Phi +(\244\256) (") +(*G) /Gamma +(\244z) (") +(*Y) /Eta +(\244~) (") +(*I) /Iota +(\244\241) (") +(---) /theta1 +(\244\331) (") +(*K) /Kappa +(\244\242) (") +(*L) /Lambda +(\244\243) (") +(*M) /Mu +(\244\244) (") +(*N) /Nu +(\244\245) (") +(*O) /Omicron +(\244\247) (") +(*P) /Pi +(\244\250) (") +(*H) /Theta +(\244\240) (") +(*R) /Rho +(\244\251) (") +(*S) /Sigma +(\244\253) (") +(*T) /Tau +(\244\254) (") +(*U) /Upsilon +(\244\255) (") +(ts) /sigma1 +(\244\312) (") +(*W) /Omega +(\244\261) (") +(*C) /Xi +(\244\246) (") +(*Q) /Psi +(\244\260) (") +(*Z) /Zeta +(\244}) (") +(---) /bracketleft +(tf) /therefore +(---) /bracketright +(pp) /perpendicular +(ul) /underscore +(_) (") % synonym +(rn) /radicalex +(*a) /alpha +(\244\271) (") +(*b) /beta +(\244\272) (") +(*x) /chi +(\244\317) (") +(*d) /delta +(\244\274) (") +(*e) /epsilon +(\244\275) (") +(*f) /phi +(\244\316) (") +(*g) /gamma +(\244\273) (") +(*y) /eta +(\244\277) (") +(*i) /iota +(\244\301) (") +(---) /phi1 +(\244\335) (") +(*k) /kappa +(\244\302) (") +(*l) /lambda +(\244\303) (") +(*m) /mu +(\244\304) (") +(*n) /nu +(\244\305) (") +(*o) /omicron +(\244\307) (") +(*p) /pi +(\244\310) (") +(*h) /theta +(\244\300) (") +(*r) /rho +(\244\311) (") +(*s) /sigma +(\244\313) (") +(*t) /tau +(\244\314) (") +(*u) /upsilon +(\244\315) (") +(---) /omega1 +(\244\336) (") +(*w) /omega +(\244\321) (") +(*c) /xi +(\244\306) (") +(*q) /psi +(\244\320) (") +(*z) /zeta +(\244\276) (") +(---) /braceleft +(or) /bar +(---) /braceright +(ap) /similar +(---) /Upsilon1 +(fm) /minute +(<=) /lessequal +(fr) /fraction % devpost character +(if) /infinity +(fn) /florin % devpost character +(---) /club +(---) /diamond +(---) /heart +(---) /spade +(ab) /arrowboth +(<-) /arrowleft +(ua) /arrowup +(->) /arrowright +(da) /arrowdown +(de) /degree +(+-) /plusminus +(---) /second +(>=) /greaterequal +(mu) /multiply +(pt) /proportional +(pd) /partialdiff +(bu) /bullet +(di) /divide +(!=) /notequal +(==) /equivalence +(~~) /approxequal +(el) /ellipsis +(av) /arrowvertex +(ah) /arrowhorizex +(CR) /carriagereturn +(af) /aleph +(If) /Ifraktur +(Rf) /Rfraktur +(ws) /weierstrass +(Ox) /circlemultiply +(O+) /circleplus +(es) /emptyset +(ca) /intersection +(cu) /union +(sp) /propersuperset +(ip) /reflexsuperset +(!b) /notsubset +(sb) /propersubset +(ib) /reflexsubset +(mo) /element +(!m) /notelement +(an) /angle +(gr) /gradient +(rg) /registerserif +(co) /copyrightserif +(tm) /trademarkserif +(---) /product +(sr) /radical +(c.) /dotmath +(no) /logicalnot +(l&) /logicaland +(l|) /logicalor +(---) /arrowdblboth +(---) /arrowdblleft +(---) /arrowdblup +(---) /arrowdblright +(---) /arrowdbldown +(lz) /lozenge +(b<) /angleleft +(RG) /registersans +(CO) /copyrightsans +(TM) /trademarksans +(---) /summation +(LT) /parenlefttp +(br) /parenleftex +(LX) (") % synonym +(LB) /parenleftbt +(lc) /bracketlefttp +(lx) /bracketleftex +(lf) /bracketleftbt +(lt) /bracelefttp +(lk) /braceleftmid +(lb) /braceleftbt +(bv) /braceex +(|) (") % synonym +(b>) /angleright +(is) /integral +(---) /integraltp +(---) /integralex +(---) /integralbt +(RT) /parenrighttp +(RX) /parenrightex +(RB) /parenrightbt +(rc) /bracketrighttp +(rx) /bracketrightex +(rf) /bracketrightbt +(rt) /bracerighttp +(rk) /bracerightmid +(rb) /bracerightbt +(~=) (55 0 1) % charlib' } -SpecialCharset() { - cat <<-'//End of SpecialCharset' - (ru) /underscore - ('') /quotedblright % devpost character - (``) /quotedblleft % devpost character - (dg) /dagger % devpost character - (dd) /daggerdbl % devpost character - (en) /endash % devpost character - (\\-) (") % synonym - (em) /emdash +fn SpecialCharset { + echo '(ru) /underscore +('''') /quotedblright % devpost character +(``) /quotedblleft % devpost character +(dg) /dagger % devpost character +(dd) /daggerdbl % devpost character +(en) /endash % devpost character +(\\-) (") % synonym +(em) /emdash % (ff) (60 2 1) % charlib % (Fi) (84 2 1) % charlib % (Fl) (84 2 1) % charlib - (14) (75 2 1) % charlib - (12) (75 2 1) % charlib - (34) (75 2 1) % charlib - (bx) (50 2 1) % charlib - (ob) (38 2 1) % charlib - (ci) (75 0 1) % charlib - (sq) (50 2 1) % charlib - (Sl) (50 2 1) % charlib - (L1) (110 1 1) % charlib - (LA) (110 1 1) % charlib - (LV) (110 3 1) % charlib - (LH) (210 1 1) % charlib - (lh) (100 0 1) % charlib - (rh) (100 0 1) % charlib - (lH) (100 0 1) % charlib - (rH) (100 0 1) % charlib - (PC) (220 2 1) % charlib - (DG) (185 2 1) % charlib - //End of SpecialCharset +(14) (75 2 1) % charlib +(12) (75 2 1) % charlib +(34) (75 2 1) % charlib +(bx) (50 2 1) % charlib +(ob) (38 2 1) % charlib +(ci) (75 0 1) % charlib +(sq) (50 2 1) % charlib +(Sl) (50 2 1) % charlib +(L1) (110 1 1) % charlib +(LA) (110 1 1) % charlib +(LV) (110 3 1) % charlib +(LH) (210 1 1) % charlib +(lh) (100 0 1) % charlib +(rh) (100 0 1) % charlib +(lH) (100 0 1) % charlib +(rH) (100 0 1) % charlib +(PC) (220 2 1) % charlib +(DG) (185 2 1) % charlib' } # @@ -791,271 +783,269 @@ SpecialCharset() { # set appeared sometime after Version 50.0. # -Latin1() { - if [ "$DOWNLOADVECTOR" = TRUE ]; then - cat <<-'//End of ISOLatin1Encoding' - /ISOLatin1Encoding [ - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /space - /exclam - /quotedbl - /numbersign - /dollar - /percent - /ampersand - /quoteright - /parenleft - /parenright - /asterisk - /plus - /comma - /minus - /period - /slash - /zero - /one - /two - /three - /four - /five - /six - /seven - /eight - /nine - /colon - /semicolon - /less - /equal - /greater - /question - /at - /A - /B - /C - /D - /E - /F - /G - /H - /I - /J - /K - /L - /M - /N - /O - /P - /Q - /R - /S - /T - /U - /V - /W - /X - /Y - /Z - /bracketleft - /backslash - /bracketright - /asciicircum - /underscore - /quoteleft - /a - /b - /c - /d - /e - /f - /g - /h - /i - /j - /k - /l - /m - /n - /o - /p - /q - /r - /s - /t - /u - /v - /w - /x - /y - /z - /braceleft - /bar - /braceright - /asciitilde - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /.notdef - /dotlessi - /grave - /acute - /circumflex - /tilde - /macron - /breve - /dotaccent - /dieresis - /.notdef - /ring - /cedilla - /.notdef - /hungarumlaut - /ogonek - /caron - /space - /exclamdown - /cent - /sterling - /currency - /yen - /brokenbar - /section - /dieresis - /copyright - /ordfeminine - /guillemotleft - /logicalnot - /hyphen - /registered - /macron - /degree - /plusminus - /twosuperior - /threesuperior - /acute - /mu - /paragraph - /periodcentered - /cedilla - /onesuperior - /ordmasculine - /guillemotright - /onequarter - /onehalf - /threequarters - /questiondown - /Agrave - /Aacute - /Acircumflex - /Atilde - /Adieresis - /Aring - /AE - /Ccedilla - /Egrave - /Eacute - /Ecircumflex - /Edieresis - /Igrave - /Iacute - /Icircumflex - /Idieresis - /Eth - /Ntilde - /Ograve - /Oacute - /Ocircumflex - /Otilde - /Odieresis - /multiply - /Oslash - /Ugrave - /Uacute - /Ucircumflex - /Udieresis - /Yacute - /Thorn - /germandbls - /agrave - /aacute - /acircumflex - /atilde - /adieresis - /aring - /ae - /ccedilla - /egrave - /eacute - /ecircumflex - /edieresis - /igrave - /iacute - /icircumflex - /idieresis - /eth - /ntilde - /ograve - /oacute - /ocircumflex - /otilde - /odieresis - /divide - /oslash - /ugrave - /uacute - /ucircumflex - /udieresis - /yacute - /thorn - /ydieresis - ] def - //End of ISOLatin1Encoding - fi +fn Latin1 { + if(~ $"DOWNLOADVECTOR TRUE){ + echo ' /ISOLatin1Encoding [ +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/space +/exclam +/quotedbl +/numbersign +/dollar +/percent +/ampersand +/quoteright +/parenleft +/parenright +/asterisk +/plus +/comma +/minus +/period +/slash +/zero +/one +/two +/three +/four +/five +/six +/seven +/eight +/nine +/colon +/semicolon +/less +/equal +/greater +/question +/at +/A +/B +/C +/D +/E +/F +/G +/H +/I +/J +/K +/L +/M +/N +/O +/P +/Q +/R +/S +/T +/U +/V +/W +/X +/Y +/Z +/bracketleft +/backslash +/bracketright +/asciicircum +/underscore +/quoteleft +/a +/b +/c +/d +/e +/f +/g +/h +/i +/j +/k +/l +/m +/n +/o +/p +/q +/r +/s +/t +/u +/v +/w +/x +/y +/z +/braceleft +/bar +/braceright +/asciitilde +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/dotlessi +/grave +/acute +/circumflex +/tilde +/macron +/breve +/dotaccent +/dieresis +/.notdef +/ring +/cedilla +/.notdef +/hungarumlaut +/ogonek +/caron +/space +/exclamdown +/cent +/sterling +/currency +/yen +/brokenbar +/section +/dieresis +/copyright +/ordfeminine +/guillemotleft +/logicalnot +/hyphen +/registered +/macron +/degree +/plusminus +/twosuperior +/threesuperior +/acute +/mu +/paragraph +/periodcentered +/cedilla +/onesuperior +/ordmasculine +/guillemotright +/onequarter +/onehalf +/threequarters +/questiondown +/Agrave +/Aacute +/Acircumflex +/Atilde +/Adieresis +/Aring +/AE +/Ccedilla +/Egrave +/Eacute +/Ecircumflex +/Edieresis +/Igrave +/Iacute +/Icircumflex +/Idieresis +/Eth +/Ntilde +/Ograve +/Oacute +/Ocircumflex +/Otilde +/Odieresis +/multiply +/Oslash +/Ugrave +/Uacute +/Ucircumflex +/Udieresis +/Yacute +/Thorn +/germandbls +/agrave +/aacute +/acircumflex +/atilde +/adieresis +/aring +/ae +/ccedilla +/egrave +/eacute +/ecircumflex +/edieresis +/igrave +/iacute +/icircumflex +/idieresis +/eth +/ntilde +/ograve +/oacute +/ocircumflex +/otilde +/odieresis +/divide +/oslash +/ugrave +/uacute +/ucircumflex +/udieresis +/yacute +/thorn +/ydieresis +] def' + } - echo "ISOLatin1Encoding /$1 ReEncode" + echo 'ISOLatin1Encoding /'^$1^' ReEncode' } # @@ -1066,11 +1056,11 @@ Latin1() { # all available. # -Proportional() { - echo "/unitwidth $UNITWIDTH def" - echo "/resolution $RESOLUTION def" - echo "/octalescapes $OCTALESCAPES def" - echo "/charset [" +fn Proportional { + echo /unitwidth $UNITWIDTH def + echo /resolution $RESOLUTION def + echo /octalescapes $OCTALESCAPES def + echo '/charset [' # Get <>_ and | from S. Use accents for ascii ^ and ~. StandardCharset | awk ' $1 == "(<)" && $2 == "/less" {$1 = "(---)"} @@ -1087,118 +1077,118 @@ Proportional() { } {printf "%s\t%s\n", $1, $2} ' - echo "] def" + echo '] def' Latin1 $2 - echo "/$2 SelectFont" - echo "(opO) SetAscender" + echo /$2 SelectFont + echo '(opO) SetAscender' - echo "(name $1\\\\n) Print" - echo "(fontname $2\\\\n) Print" - echo "/$1 NamedInPrologue" - echo "(spacewidth ) Print 32 GetWidth Print (\n) Print" - echo "(charset\\\\n) Print" - echo "BuildFontCharset" + echo '(name '^$1^'\n) Print' + echo '(fontname '^$2^'\n) Print' + echo /$1 NamedInPrologue + echo '(spacewidth ) Print 32 GetWidth Print (\n) Print' + echo '(charset\n) Print' + echo BuildFontCharset } -FixedWidth() { - echo "/unitwidth $UNITWIDTH def" - echo "/resolution $RESOLUTION def" - echo "/octalescapes $OCTALESCAPES def" - echo "/charset [" +fn FixedWidth { + echo '/unitwidth $UNITWIDTH def' + echo '/resolution $RESOLUTION def' + echo '/octalescapes $OCTALESCAPES def' + echo '/charset [' StandardCharset - echo "] def" + echo '] def' Latin1 $2 - echo "/$2 SelectFont" - echo "(opO) SetAscender" + echo /$2 SelectFont + echo '(opO) SetAscender' - echo "(name $1\\\\n) Print" - echo "(fontname $2\\\\n) Print" - echo "/$1 NamedInPrologue" - echo "(spacewidth ) Print 32 GetWidth Print (\n) Print" - echo "(charset\\\\n) Print" - echo "BuildFontCharset" + echo '(name '^$1^'\n) Print' + echo '(fontname '^$2^'\n) Print' + echo /$1 NamedInPrologue + echo '(spacewidth ) Print 32 GetWidth Print (\n) Print' + echo '(charset\n) Print' + echo BuildFontCharset } -Dingbats() { - echo "/unitwidth $UNITWIDTH def" - echo "/resolution $RESOLUTION def" - echo "/octalescapes $OCTALESCAPES def" - echo "/charset [" +fn Dingbats { + echo '/unitwidth $UNITWIDTH def' + echo '/resolution $RESOLUTION def' + echo '/octalescapes $OCTALESCAPES def' + echo '/charset [' DingbatsCharset | awk '$1 != "(---)" && $2 ~ /^\/[a-zA-Z]/ { printf "%s\tISOLatin1Encoding %s GetCode\n", $1, $2 }' - echo "] def" + echo '] def' - echo "/$2 SelectFont" - echo "( ) SetAscender" + echo /$2 SelectFont + echo '( ) SetAscender' - echo "(name $1\\\\n) Print" - echo "(fontname $2\\\\n) Print" - echo "/$1 NamedInPrologue" - echo "(charset\\\\n) Print" - echo "BuildFontCharset" + echo '(name '^$1^'\n) Print' + echo '(fontname '^$2^'\n) Print' + echo /$1 NamedInPrologue + echo '(charset\n) Print' + echo BuildFontCharset } -Greek() { - echo "/unitwidth $UNITWIDTH def" - echo "/resolution $RESOLUTION def" - echo "/charset [" +fn Greek { + echo /unitwidth $UNITWIDTH def + echo /resolution $RESOLUTION def + echo /charset [ SymbolCharset | awk ' BEGIN {hit = -1} $1 ~ /\(\*[a-zA-Z]\)/ {print; hit = NR} $2 == "(\")" && hit == NR-1 {print; hit = NR} ' - echo "] def" + echo ] def - echo "/$2 SelectFont" - echo "(orO) SetAscender" + echo /$2 SelectFont + echo '(orO) SetAscender' - echo "(name $1\\\\n) Print" - echo "(fontname $2\\\\n) Print" - echo "/$1 NamedInPrologue" - echo "(spacewidth ) Print 32 GetWidth Print (\n) Print" - echo "(charset\\\\n) Print" - echo "BuildFontCharset" + echo '(name '^$1^'\n) Print' + echo '(fontname '^$2^'\n) Print' + echo /$1 NamedInPrologue + echo '(spacewidth ) Print 32 GetWidth Print (\n) Print' + echo '(charset\n) Print' + echo BuildFontCharset } -Symbol() { - echo "/unitwidth $UNITWIDTH def" - echo "/resolution $RESOLUTION def" - echo "/charset [" +fn Symbol { + echo /unitwidth $UNITWIDTH def + echo /resolution $RESOLUTION def + echo /charset [ SymbolCharset - echo "] def" + echo ] def - echo "ChangeMetrics" - echo "/S SelectFont" - echo "(orO) SetAscender" + echo ChangeMetrics + echo /S SelectFont + echo '(orO) SetAscender' - echo "(name $1\\\\n) Print" - echo "(fontname $2\\\\n) Print" - echo "/$1 NamedInPrologue" - echo "(special\\\\n) Print" - echo "(charset\\\\n) Print" - echo "BuildFontCharset" + echo '(name '^$1^'\n) Print' + echo '(fontname '^$2^'\n) Print' + echo /$1 NamedInPrologue + echo '(special\n) Print' + echo '(charset\n) Print' + echo BuildFontCharset } -Special() { - echo "/unitwidth $UNITWIDTH def" - echo "/resolution $RESOLUTION def" - echo "/charset [" +fn Special { + echo /unitwidth $UNITWIDTH def + echo /resolution $RESOLUTION def + echo /charset [ SpecialCharset - echo "] def" + echo ] def - echo "ChangeMetrics" - echo "/S1 SelectFont" + echo ChangeMetrics + echo /S1 SelectFont - echo "(# Times-Roman special font\\\\n) Print" - echo "(name $1\\\\n) Print" - echo "(fontname $2\\\\n) Print" - echo "/$1 NamedInPrologue" - echo "(special\\\\n) Print" - echo "(charset\\\\n) Print" - echo "BuildFontCharset" + echo '(# Times-Roman special font\n) Print' + echo '(name '^$1^'\n) Print' + echo '(fontname '^$2^'\n) Print' + echo /$1 NamedInPrologue + echo '(special\n) Print' + echo '(charset\n) Print' + echo BuildFontCharset } # @@ -1206,33 +1196,31 @@ Special() { # consistency. # -Description() { - echo "/charset [" # awk - so the stack doesn't overflow +fn Description { + echo /charset [ # awk - so the stack doesn't overflow StandardCharset | awk '$1 !~ /\(\\[0-9]/ {print $1}' SymbolCharset | awk '$1 !~ /\(\\[0-9]/ {print $1}' SpecialCharset | awk '$1 !~ /\(\\[0-9]/ {print $1}' - echo "] def" + echo ] def - cat <<-//DESC - (#Device Description - utf character set + echo '(#Device Description - utf character set - PDL PostScript - Encoding Latin1 +PDL PostScript +Encoding Latin1 - fonts 10 R I B BI CW H HI HB S1 S - sizes 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 - 23 24 25 26 27 28 29 30 31 32 33 34 35 36 38 40 42 44 46 - 48 50 52 54 56 58 60 64 68 72 78 84 90 96 100 105 110 115 - 120 125 130 135 140 145 150 155 160 0 - res $RESOLUTION - hor 1 - vert 1 - unitwidth $UNITWIDTH +fonts 10 R I B BI CW H HI HB S1 S +sizes 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 +23 24 25 26 27 28 29 30 31 32 33 34 35 36 38 40 42 44 46 +48 50 52 54 56 58 60 64 68 72 78 84 90 96 100 105 110 115 +120 125 130 135 140 145 150 155 160 0 +res $RESOLUTION +hor 1 +vert 1 +unitwidth $UNITWIDTH - ) Print - //DESC - echo "(charset\\\\n) Print" - echo "BuildDescCharset" - echo "(\\\\n) Print" +) Print' + echo '(charset\n) Print' + echo BuildDescCharset + echo '(\n) Print' } diff --git a/sys/src/cmd/postscript/trofftable/trofftable.1.man b/sys/src/cmd/postscript/trofftable/trofftable.1.man index 031e2ed04..20dac5972 100644 --- a/sys/src/cmd/postscript/trofftable/trofftable.1.man +++ b/sys/src/cmd/postscript/trofftable/trofftable.1.man @@ -1,46 +1,63 @@ -.ds dF /usr/lib/font -.ds dQ /usr/lib/postscript -.TH TROFFTABLE 1 "DWB 3.2" +.ds dF /sys/lib/troff/font +.ds dQ /sys/lib/postscript/prologues +.TH TROFFTABLE 1 .SH NAME -.B trofftable -\- output a PostScript program that builds a font width table +trofftable \- output a PostScript program that builds a font width table .SH SYNOPSIS -\*(mBtrofftable\f1 -.OP "" options [] -.OP "" shortname -.OP "" longname [] -.SH DESCRIPTION .B trofftable +[ +.B -t +.I name +] [ +.B -C +.I file +] [ +.B -H +.I hostdir +] [ +.B -L +.I file +] [ +.B -S +.I file +] [ +.B -T +.I name +] +.I shortname +[ +.I longname +] +.SH DESCRIPTION +.I Trofftable writes a PostScript program on the standard output that builds a font width table or typesetter description file. -The following -.I options -are understood: -.TP 1.0i -.OP \-t name +The following options are understood: +.TP +.BI -t " name" Use .I name as the template for fonts not in the default set. Choose -.MW R +.B R for proportionally spaced fonts and -.MW CW +.B CW for fixed width fonts. Try -.MW ZD +.B ZD (ZapfDingbats) if the font has a non-standard character set. The default is -.MR R . -.TP 1.0i -.OP \-C file +.BR R . +.TP +.BI -C " file" Copy .I file into each PostScript table program; .I file must contain legitimate PostScript. -.TP 1.0i -.OP \-H hostdir +.TP +.BI -H " hostdir" Use .I hostdir as the host resident font directory. @@ -50,55 +67,55 @@ that matches the name of the troff font is assumed to be a host resident font program and is included in the PostScript width table program. There is no default. -.TP 1.0i -.OP \-L file +.TP +.BI -L " file" Use .I file as the PostScript prologue. .br The default is -.MW \*(dQ/trofftable.ps -.TP 1.0i -.OP \-S file +.B \*(dQ/trofftable.ps +.TP +.BI -S " file" Use .I file as the shell library file. Overrides the choice made with the -.OP \-T +.B -T option. -.TP 1.0i -.OP \-T name +.TP +.BI -T " name" Set the target device to .IR name . Device .I name means .br -.MI \*(dF/dev name /shell.lib +.BI \*(dF/dev name /shell.lib is the shell library file. There is no default. .PP One of -.OP \-T +.B -T or -.OP \-S +.B -S is required. If both are given -.OP \-S +.B -S wins. Either -.OP \-H +.B -H or -.OP \-C +.B -C can be used to include a host resident font. .PP The shell library file defines a collection of functions used to build troff tables. The default set of tables is the list of names returned by the -.MW AllTables +.B AllTables function. Changes to the default list can be made by updating the -.MW BuiltinTables +.B BuiltinTables function. .PP .I Shortname @@ -112,16 +129,16 @@ can be omitted only if .I shortname is a default table name. PostScript table programs created by -.B trofftable +.I trofftable return data to the host computer using PostScript's -.MW print +.B print operator. See -.BR hardcopy (1) +.IR hardcopy (1) if you don't have access to the printer's serial port. .SH EXAMPLES Get the PostScript program that builds a width table for font -.MR R : +.BR R : .EX trofftable -Tpost R >R.ps .EE @@ -133,32 +150,32 @@ trofftable -TLatin1 GL Garamond-Light >GL.ps .EE A font must be available on the printer when the table is built. Use -.OP \-H +.B -H or -.OP \-C +.B -C to include host resident fonts. .SH WARNINGS A width table will not build properly if the printer cannot access the PostScript font. .PP The -.OP -TLatin1 +.B -TLatin1 option only works on PostScript printers that support the full .SM ISO Latin-1 character set. The error message from older printers will likely indicate a missing -.MW ISOLatin1Encoding +.B ISOLatin1Encoding array. .SH FILES -.MW \*(dF/dev*/shell.lib +.B \*(dF/dev*/shell.lib .br -.MW \*(dQ/dpost.ps +.B \*(dQ/dpost.ps .br -.MW \*(dQ/trofftable.ps +.B \*(dQ/trofftable.ps .SH SEE ALSO -.BR dpost (1), -.BR hardcopy (1), -.BR postio (1), -.BR troff (1), -.BR buildtables (1), -.BR font (5) +.IR dpost (1), +.IR hardcopy (1), +.IR postio (1), +.IR troff (1), +.IR buildtables (1), +.IR font (5) diff --git a/sys/src/cmd/postscript/trofftable/trofftable.rc b/sys/src/cmd/postscript/trofftable/trofftable.rc index 47c56b5bd..958f695e2 100755 --- a/sys/src/cmd/postscript/trofftable/trofftable.rc +++ b/sys/src/cmd/postscript/trofftable/trofftable.rc @@ -5,6 +5,8 @@ # serial port. Try hardcopy if you don't have access to the port. # +rfork e + POSTLIB=/sys/lib/postscript/prologues FONTDIR=/sys/lib/troff/font @@ -15,7 +17,7 @@ COPYFILE=() HOSTFONTDIR=() DEVICE=() LIBRARY=() -TEMPLATE=-R +TEMPLATE=R SLOWDOWN=25 STARTCOMMENTS=256 @@ -28,8 +30,8 @@ TRAILER='%%Trailer' while (! ~ $#* 0 && ~ $1 -*) { switch ($1) { - case -C; shift; COPYFILE=$COPYFILE' '$1 - case -C*; COPYFILE=$COPYFILE' '`{echo $1 | sed s/-C//} + case -C; shift; COPYFILE=($COPYFILE $1) + case -C*; COPYFILE=($COPYFILE `{echo $1 | sed s/-C//}) case -F; shift; FONTDIR=$1 case -F*; FONTDIR=`{echo $1 | sed s/-F//} @@ -63,7 +65,7 @@ while (! ~ $#* 0 && ~ $1 -*) { shift } -if (! ~ $#DEVICE 0 && ! ~ $#LIBRARY 0) { +if (~ $#DEVICE 0 && ~ $#LIBRARY 0) { echo $0: no device or shell library >[1=2] exit 1 } @@ -73,28 +75,31 @@ if (! ~ $#* 1 2) { exit 1 } -if (test -d $HOSTFONTDIR -a -f $HOSTFONTDIR/$1) { - COPYFILE=$COPYFILE' '$HOSTFONTDIR/$1 +if (! ~ $#HOSTFONTDIR 0 && test -d $HOSTFONTDIR -a -f $HOSTFONTDIR/$1) { + COPYFILE=($COPYFILE $HOSTFONTDIR/$1) } # # Include the shell library and get the command used to build the table. # Make awk call a separate library function?? # -if (~ $#LIBRARY 0 || ~ $LIBRARY '') LIBRARY=$FONTDIR/dev$DEVICE/shell.lib +if (~ $#LIBRARY 0) LIBRARY=$FONTDIR/dev$DEVICE/shell.lib . $LIBRARY if (~ $#* 1) TEMPLATE=$1 +if (~ $#* 2) pname=$2 +if not pname='' + CMD=`{BuiltinTables | awk '$2 == template"" { if ( pname == "" ) pname = $3 printf "%s %s %s", $1, tname, pname exit 0 -}' template=$TEMPLATE tname=$1 pname=$2} +}' 'template='$TEMPLATE 'tname='$1 'pname='$pname} -if (! $CMD) { +if (~ $#CMD 0) { echo $0: $TEMPLATE not found >[1=2] exit 1 } @@ -111,8 +116,8 @@ echo end def echo $ENDPROLOG echo $BEGINSETUP -if (~ $COPYFILE '') COPYFILE=/dev/null -cat $COPYFILE +if (! ~ $#COPYFILE 0) + cat $COPYFILE echo /slowdown $SLOWDOWN def echo /startcomments $STARTCOMMENTS def echo $ENDSETUP @@ -120,4 +125,3 @@ echo $ENDSETUP $CMD echo $TRAILER -