1226 lines · 19.6 KB · Text
RawDownload
## 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.