## Shell library - for building devutf tables.# RESOLUTION=720UNITWIDTH=10 if(~ $#OCTALESCAPES 0) OCTALESCAPES=160 # <= code means add \0ddd namesDOWNLOADVECTOR=FALSE # TRUE can mean incomplete tables ## BuiltinTables returns command lines that generate PostScript programs# for building a typesetter description file and font width tables for# a relatively standard collection of fonts. Use awk to select a command# line or modify an existing command to build a width table for a new# font.# fn BuiltinTables { echo 'Proportional R Times-RomanProportional I Times-ItalicProportional B Times-BoldProportional BI Times-BoldItalicProportional AB AvantGarde-DemiProportional AI AvantGarde-BookObliqueProportional AR AvantGarde-BookProportional AX AvantGarde-DemiObliqueProportional H HelveticaProportional HB Helvetica-BoldProportional HI Helvetica-ObliqueProportional HX Helvetica-BoldObliqueProportional Hb Helvetica-Narrow-BoldProportional Hi Helvetica-Narrow-ObliqueProportional Hr Helvetica-NarrowProportional Hx Helvetica-Narrow-BoldObliqueProportional KB Bookman-DemiProportional KI Bookman-LightItalicProportional KR Bookman-LightProportional KX Bookman-DemiItalicProportional NB NewCenturySchlbk-BoldProportional NI NewCenturySchlbk-ItalicProportional NR NewCenturySchlbk-RomanProportional NX NewCenturySchlbk-BoldItalicProportional PA Palatino-RomanProportional PB Palatino-BoldProportional PI Palatino-ItalicProportional PX Palatino-BoldItalicProportional ZI ZapfChancery-MediumItalicFixedWidth C CourierFixedWidth CB Courier-BoldFixedWidth CI Courier-ObliqueFixedWidth CO CourierFixedWidth CW CourierFixedWidth CX Courier-BoldObliqueDingbats ZD ZapfDingbatsGreek GR SymbolSymbol S SymbolSpecial S1 Times-RomanProportional CMR12 CMR12Description DESC ---'} ## AllTables prints the complete list of builtin font names.# fn AllTables { BuiltinTables | awk '{print $2}'} ## Charset functions generate keyword/value pairs (as PostScript objects)# that describe the character set available in a font. The keyword is a# PostScript string that represents troff's name for the character. The# value is usually the literal name (i.e. begins with a /) assigned to# the character in the PostScript font. The value can also be an integer# or a PostScript string. An integer value is used as an index in the# current font's Encoding array. A string value is returned to the host# unchanged when the entry for the character is constructed. Entries that# have (") as their value are synonyms for the preceeding character.## The 18 characters missing from ROM resident fonts on older printers are# flagged with the PostScript comment "% missing".# 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.# 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'} fn SymbolCharset {Lines 1–500 of 1226. Load more
# # Shell library - for building devutf tables. # RESOLUTION=720 UNITWIDTH=10 if(~ $#OCTALESCAPES 0) OCTALESCAPES=160 # <= code means add \0ddd names DOWNLOADVECTOR=FALSE # TRUE can mean incomplete tables # # BuiltinTables returns command lines that generate PostScript programs # for building a typesetter description file and font width tables for # a relatively standard collection of fonts. Use awk to select a command # line or modify an existing command to build a width table for a new # font. # 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. # fn AllTables { BuiltinTables | awk '{print $2}' } # # Charset functions generate keyword/value pairs (as PostScript objects) # that describe the character set available in a font. The keyword is a # PostScript string that represents troff's name for the character. The # value is usually the literal name (i.e. begins with a /) assigned to # the character in the PostScript font. The value can also be an integer # or a PostScript string. An integer value is used as an index in the # current font's Encoding array. A string value is returned to the host # unchanged when the entry for the character is constructed. Entries that # have (") as their value are synonyms for the preceeding character. # # The 18 characters missing from ROM resident fonts on older printers are # flagged with the PostScript comment "% missing". # 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. # 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' } fn SymbolCharset {