1if(dev.cur() <= 1) get(getOption("device"))()
2
3#opar <- par(ask = interactive() &&
4#            (.Device %in% c("X11", "GTK", "gnome", "windows", "Macintosh")))
5
6## --- Hershey Vector Fonts
7
8######
9# create tables of vector font functionality
10######
11make.table <- function(nr, nc) {
12    savepar <- par(mar=rep(0, 4), pty="s")
13    plot(c(0, nc*2 + 1), c(0, -(nr + 1)),
14         type="n", xlab="", ylab="", axes=FALSE)
15    savepar
16}
17
18get.r <- function(i, nr)     i %% nr + 1
19get.c <- function(i, nr)     i %/% nr + 1
20
21draw.title <- function(title, i = 0, nr, nc) {
22    r <- get.r(i, nr)
23    c <- get.c(i, nr)
24    text((nc*2 + 1)/2, 0, title, font=2)
25}
26
27draw.sample.cell <- function(typeface, fontindex, string, i, nr) {
28    r <- get.r(i, nr)
29    c <- get.c(i, nr)
30    text(2*(c - 1) + 1, -r, paste(typeface, fontindex))
31    text(2*c, -r, string, vfont=c(typeface, fontindex), cex=1.5)
32    rect(2*(c - 1) + .5, -(r - .5), 2*c + .5, -(r + .5), border="grey")
33}
34
35draw.vf.cell <- function(typeface, fontindex, string, i, nr, raw.string=NULL) {
36    r <- get.r(i, nr)
37    c <- get.c(i, nr)
38    if (is.null(raw.string))
39        raw.string <- paste("\\", string, sep="")
40    text(2*(c - 1) + 1, -r, raw.string, col="grey")
41    text(2*c, -r, string, vfont=c(typeface, fontindex))
42    rect(2*(c - 1) + .5, -(r - .5), (2*c + .5), -(r + .5), border="grey")
43}
44
45nr <- 23
46nc <- 1
47oldpar <- make.table(nr, nc)
48i <- 0
49draw.title("Sample 'a' for each available font", i, nr, nc)
50draw.sample.cell("serif", "plain", "a", i, nr); i <- i + 1
51draw.sample.cell("serif", "italic", "a", i, nr); i <- i + 1
52draw.sample.cell("serif", "bold", "a", i, nr); i <- i + 1
53draw.sample.cell("serif", "bold italic", "a", i, nr); i <- i + 1
54draw.sample.cell("serif", "cyrillic", "a", i, nr); i <- i + 1
55draw.sample.cell("serif", "oblique cyrillic", "a", i, nr); i <- i + 1
56draw.sample.cell("serif", "EUC", "a", i, nr); i <- i + 1
57draw.sample.cell("sans serif", "plain", "a", i, nr); i <- i + 1
58draw.sample.cell("sans serif", "italic", "a", i, nr); i <- i + 1
59draw.sample.cell("sans serif", "bold", "a", i, nr); i <- i + 1
60draw.sample.cell("sans serif", "bold italic", "a", i, nr); i <- i + 1
61draw.sample.cell("script", "plain", "a", i, nr); i <- i + 1
62draw.sample.cell("script", "italic", "a", i, nr); i <- i + 1
63draw.sample.cell("script", "bold", "a", i, nr); i <- i + 1
64draw.sample.cell("gothic english", "plain", "a", i, nr); i <- i + 1
65draw.sample.cell("gothic german", "plain", "a", i, nr); i <- i + 1
66draw.sample.cell("gothic italian", "plain", "a", i, nr); i <- i + 1
67draw.sample.cell("serif symbol", "plain", "a", i, nr); i <- i + 1
68draw.sample.cell("serif symbol", "italic", "a", i, nr); i <- i + 1
69draw.sample.cell("serif symbol", "bold", "a", i, nr); i <- i + 1
70draw.sample.cell("serif symbol", "bold italic", "a", i, nr); i <- i + 1
71draw.sample.cell("sans serif symbol", "plain", "a", i, nr); i <- i + 1
72draw.sample.cell("sans serif symbol", "italic", "a", i, nr); i <- i + 1
73
74nr <- 25
75nc <- 6
76tf <- "serif"
77fi <- "plain"
78v()
79make.table(nr, nc)
80i <- 0
81draw.title("Symbol (incl. Greek) Escape Sequences", i, nr, nc)
82## Greek alphabet in order
83draw.vf.cell(tf, fi, "\\*A", i, nr); i<-i+1; { "Alpha"}
84draw.vf.cell(tf, fi, "\\*B", i, nr); i<-i+1; { "Beta"}
85draw.vf.cell(tf, fi, "\\*G", i, nr); i<-i+1; { "Gamma"}
86draw.vf.cell(tf, fi, "\\*D", i, nr); i<-i+1; { "Delta"}
87draw.vf.cell(tf, fi, "\\*E", i, nr); i<-i+1; { "Epsilon"}
88draw.vf.cell(tf, fi, "\\*Z", i, nr); i<-i+1; { "Zeta"}
89draw.vf.cell(tf, fi, "\\*Y", i, nr); i<-i+1; { "Eta"}
90draw.vf.cell(tf, fi, "\\*H", i, nr); i<-i+1; { "Theta"}
91draw.vf.cell(tf, fi, "\\*I", i, nr); i<-i+1; { "Iota"}
92draw.vf.cell(tf, fi, "\\*K", i, nr); i<-i+1; { "Kappa"}
93draw.vf.cell(tf, fi, "\\*L", i, nr); i<-i+1; { "Lambda"}
94draw.vf.cell(tf, fi, "\\*M", i, nr); i<-i+1; { "Mu"}
95draw.vf.cell(tf, fi, "\\*N", i, nr); i<-i+1; { "Nu"}
96draw.vf.cell(tf, fi, "\\*C", i, nr); i<-i+1; { "Xi"}
97draw.vf.cell(tf, fi, "\\*O", i, nr); i<-i+1; { "Omicron"}
98draw.vf.cell(tf, fi, "\\*P", i, nr); i<-i+1; { "Pi"}
99draw.vf.cell(tf, fi, "\\*R", i, nr); i<-i+1; { "Rho"}
100draw.vf.cell(tf, fi, "\\*S", i, nr); i<-i+1; { "Sigma"}
101draw.vf.cell(tf, fi, "\\*T", i, nr); i<-i+1; { "Tau"}
102draw.vf.cell(tf, fi, "\\*U", i, nr); i<-i+1; { "Upsilon"}
103draw.vf.cell(tf, fi, "\\+U", i, nr); i<-i+1; { "Upsilon1"}
104draw.vf.cell(tf, fi, "\\*F", i, nr); i<-i+1; { "Phi"}
105draw.vf.cell(tf, fi, "\\*X", i, nr); i<-i+1; { "Chi"}
106draw.vf.cell(tf, fi, "\\*Q", i, nr); i<-i+1; { "Psi"}
107draw.vf.cell(tf, fi, "\\*W", i, nr); i<-i+1; { "Omega"}
108#
109draw.vf.cell(tf, fi, "\\*a", i, nr); i<-i+1; { "alpha"}
110draw.vf.cell(tf, fi, "\\*b", i, nr); i<-i+1; { "beta"}
111draw.vf.cell(tf, fi, "\\*g", i, nr); i<-i+1; { "gamma"}
112draw.vf.cell(tf, fi, "\\*d", i, nr); i<-i+1; { "delta"}
113draw.vf.cell(tf, fi, "\\*e", i, nr); i<-i+1; { "epsilon"}
114draw.vf.cell(tf, fi, "\\*z", i, nr); i<-i+1; { "zeta"}
115draw.vf.cell(tf, fi, "\\*y", i, nr); i<-i+1; { "eta"}
116draw.vf.cell(tf, fi, "\\*h", i, nr); i<-i+1; { "theta"}
117draw.vf.cell(tf, fi, "\\+h", i, nr); i<-i+1; { "theta1"}
118draw.vf.cell(tf, fi, "\\*i", i, nr); i<-i+1; { "iota"}
119draw.vf.cell(tf, fi, "\\*k", i, nr); i<-i+1; { "kappa"}
120draw.vf.cell(tf, fi, "\\*l", i, nr); i<-i+1; { "lambda"}
121draw.vf.cell(tf, fi, "\\*m", i, nr); i<-i+1; { "mu"}
122draw.vf.cell(tf, fi, "\\*n", i, nr); i<-i+1; { "nu"}
123draw.vf.cell(tf, fi, "\\*c", i, nr); i<-i+1; { "xi"}
124draw.vf.cell(tf, fi, "\\*o", i, nr); i<-i+1; { "omicron"}
125draw.vf.cell(tf, fi, "\\*p", i, nr); i<-i+1; { "pi"}
126draw.vf.cell(tf, fi, "\\*r", i, nr); i<-i+1; { "rho"}
127draw.vf.cell(tf, fi, "\\*s", i, nr); i<-i+1; { "sigma"}
128draw.vf.cell(tf, fi, "\\ts", i, nr); i<-i+1; { "sigma1"}
129draw.vf.cell(tf, fi, "\\*t", i, nr); i<-i+1; { "tau"}
130draw.vf.cell(tf, fi, "\\*u", i, nr); i<-i+1; { "upsilon"}
131draw.vf.cell(tf, fi, "\\*f", i, nr); i<-i+1; { "phi"}
132draw.vf.cell(tf, fi, "\\+f", i, nr); i<-i+1; { "phi1"}
133draw.vf.cell(tf, fi, "\\*x", i, nr); i<-i+1; { "chi"}
134draw.vf.cell(tf, fi, "\\*q", i, nr); i<-i+1; { "psi"}
135draw.vf.cell(tf, fi, "\\*w", i, nr); i<-i+1; { "omega"}
136draw.vf.cell(tf, fi, "\\+p", i, nr); i<-i+1; { "omega1"}
137#
138draw.vf.cell(tf, fi, "\\fa", i, nr); i<-i+1; { "universal"}
139draw.vf.cell(tf, fi, "\\te", i, nr); i<-i+1; { "existential"}
140draw.vf.cell(tf, fi, "\\st", i, nr); i<-i+1; { "suchthat"}
141draw.vf.cell(tf, fi, "\\**", i, nr); i<-i+1; { "asteriskmath"}
142draw.vf.cell(tf, fi, "\\=~", i, nr); i<-i+1; { "congruent"}
143draw.vf.cell(tf, fi, "\\tf", i, nr); i<-i+1; { "therefore"}
144draw.vf.cell(tf, fi, "\\pp", i, nr); i<-i+1; { "perpendicular"}
145draw.vf.cell(tf, fi, "\\ul", i, nr); i<-i+1; { "underline"}
146draw.vf.cell(tf, fi, "\\rx", i, nr); i<-i+1; { "radicalex"}
147
148draw.vf.cell(tf, fi, "\\ap", i, nr); i<-i+1; { "similar"}
149draw.vf.cell(tf, fi, "\\fm", i, nr); i<-i+1; { "minute"}
150draw.vf.cell(tf, fi, "\\<=", i, nr); i<-i+1; { "lessequal"}
151draw.vf.cell(tf, fi, "\\f/", i, nr); i<-i+1; { "fraction"}
152draw.vf.cell(tf, fi, "\\if", i, nr); i<-i+1; { "infinity"}
153draw.vf.cell(tf, fi, "\\Fn", i, nr); i<-i+1; { "florin"}
154draw.vf.cell(tf, fi, "\\CL", i, nr); i<-i+1; { "club"}
155draw.vf.cell(tf, fi, "\\DI", i, nr); i<-i+1; { "diamond"}
156draw.vf.cell(tf, fi, "\\HE", i, nr); i<-i+1; { "heart"}
157draw.vf.cell(tf, fi, "\\SP", i, nr); i<-i+1; { "spade"}
158draw.vf.cell(tf, fi, "\\<>", i, nr); i<-i+1; { "arrowboth"}
159draw.vf.cell(tf, fi, "\\<-", i, nr); i<-i+1; { "arrowleft"}
160draw.vf.cell(tf, fi, "\\ua", i, nr); i<-i+1; { "arrowup"}
161draw.vf.cell(tf, fi, "\\->", i, nr); i<-i+1; { "arrowright"}
162draw.vf.cell(tf, fi, "\\da", i, nr); i<-i+1; { "arrowdown"}
163draw.vf.cell(tf, fi, "\\de", i, nr); i<-i+1; { "degree"}
164draw.vf.cell(tf, fi, "\\+-", i, nr); i<-i+1; { "plusminus"}
165draw.vf.cell(tf, fi, "\\sd", i, nr); i<-i+1; { "second"}
166draw.vf.cell(tf, fi, "\\>=", i, nr); i<-i+1; { "greaterequal"}
167draw.vf.cell(tf, fi, "\\mu", i, nr); i<-i+1; { "multiply"}
168draw.vf.cell(tf, fi, "\\pt", i, nr); i<-i+1; { "proportional"}
169draw.vf.cell(tf, fi, "\\pd", i, nr); i<-i+1; { "partialdiff"}
170draw.vf.cell(tf, fi, "\\bu", i, nr); i<-i+1; { "bullet"}
171draw.vf.cell(tf, fi, "\\di", i, nr); i<-i+1; { "divide"}
172draw.vf.cell(tf, fi, "\\!=", i, nr); i<-i+1; { "notequal"}
173draw.vf.cell(tf, fi, "\\==", i, nr); i<-i+1; { "equivalence"}
174draw.vf.cell(tf, fi, "\\~~", i, nr); i<-i+1; { "approxequal"}
175draw.vf.cell(tf, fi, "\\..", i, nr); i<-i+1; { "ellipsis"}
176draw.vf.cell(tf, fi, "\\an", i, nr); i<-i+1; { "arrowhorizex"}
177draw.vf.cell(tf, fi, "\\CR", i, nr); i<-i+1; { "carriagereturn"}
178draw.vf.cell(tf, fi, "\\Ah", i, nr); i<-i+1; { "aleph"}
179draw.vf.cell(tf, fi, "\\Im", i, nr); i<-i+1; { "Ifraktur"}
180draw.vf.cell(tf, fi, "\\Re", i, nr); i<-i+1; { "Rfraktur"}
181draw.vf.cell(tf, fi, "\\wp", i, nr); i<-i+1; { "weierstrass"}
182draw.vf.cell(tf, fi, "\\c*", i, nr); i<-i+1; { "circlemultiply"}
183draw.vf.cell(tf, fi, "\\c+", i, nr); i<-i+1; { "circleplus"}
184draw.vf.cell(tf, fi, "\\es", i, nr); i<-i+1; { "emptyset"}
185draw.vf.cell(tf, fi, "\\ca", i, nr); i<-i+1; { "cap"}
186draw.vf.cell(tf, fi, "\\cu", i, nr); i<-i+1; { "cup"}
187draw.vf.cell(tf, fi, "\\SS", i, nr); i<-i+1; { "superset"}
188draw.vf.cell(tf, fi, "\\ip", i, nr); i<-i+1; { "reflexsuperset"}
189draw.vf.cell(tf, fi, "\\n<", i, nr); i<-i+1; { "notsubset"}
190draw.vf.cell(tf, fi, "\\SB", i, nr); i<-i+1; { "subset"}
191draw.vf.cell(tf, fi, "\\ib", i, nr); i<-i+1; { "reflexsubset"}
192draw.vf.cell(tf, fi, "\\mo", i, nr); i<-i+1; { "element"}
193draw.vf.cell(tf, fi, "\\nm", i, nr); i<-i+1; { "notelement"}
194draw.vf.cell(tf, fi, "\\/_", i, nr); i<-i+1; { "angle"}
195draw.vf.cell(tf, fi, "\\gr", i, nr); i<-i+1; { "nabla"}
196draw.vf.cell(tf, fi, "\\rg", i, nr); i<-i+1; { "registerserif"}
197draw.vf.cell(tf, fi, "\\co", i, nr); i<-i+1; { "copyrightserif"}
198draw.vf.cell(tf, fi, "\\tm", i, nr); i<-i+1; { "trademarkserif"}
199draw.vf.cell(tf, fi, "\\PR", i, nr); i<-i+1; { "product"}
200draw.vf.cell(tf, fi, "\\sr", i, nr); i<-i+1; { "radical"}
201draw.vf.cell(tf, fi, "\\md", i, nr); i<-i+1; { "dotmath"}
202draw.vf.cell(tf, fi, "\\no", i, nr); i<-i+1; { "logicalnot"}
203draw.vf.cell(tf, fi, "\\AN", i, nr); i<-i+1; { "logicaland"}
204draw.vf.cell(tf, fi, "\\OR", i, nr); i<-i+1; { "logicalor"}
205draw.vf.cell(tf, fi, "\\hA", i, nr); i<-i+1; { "arrowdblboth"}
206draw.vf.cell(tf, fi, "\\lA", i, nr); i<-i+1; { "arrowdblleft"}
207draw.vf.cell(tf, fi, "\\uA", i, nr); i<-i+1; { "arrowdblup"}
208draw.vf.cell(tf, fi, "\\rA", i, nr); i<-i+1; { "arrowdblright"}
209draw.vf.cell(tf, fi, "\\dA", i, nr); i<-i+1; { "arrowdbldown"}
210draw.vf.cell(tf, fi, "\\lz", i, nr); i<-i+1; { "lozenge"}
211draw.vf.cell(tf, fi, "\\la", i, nr); i<-i+1; { "angleleft"}
212draw.vf.cell(tf, fi, "\\RG", i, nr); i<-i+1; { "registersans"}
213draw.vf.cell(tf, fi, "\\CO", i, nr); i<-i+1; { "copyrightsans"}
214draw.vf.cell(tf, fi, "\\TM", i, nr); i<-i+1; { "trademarksans"}
215draw.vf.cell(tf, fi, "\\SU", i, nr); i<-i+1; { "summation"}
216draw.vf.cell(tf, fi, "\\lc", i, nr); i<-i+1; { "bracketlefttp"}
217draw.vf.cell(tf, fi, "\\lf", i, nr); i<-i+1; { "bracketleftbt"}
218draw.vf.cell(tf, fi, "\\ra", i, nr); i<-i+1; { "angleright"}
219draw.vf.cell(tf, fi, "\\is", i, nr); i<-i+1; { "integral"}
220draw.vf.cell(tf, fi, "\\rc", i, nr); i<-i+1; { "bracketrighttp"}
221draw.vf.cell(tf, fi, "\\rf", i, nr); i<-i+1; { "bracketrightbt"}
222draw.vf.cell(tf, fi, "\\~=", i, nr); i<-i+1; { "congruent"}
223draw.vf.cell(tf, fi, "\\pr", i, nr); i<-i+1; { "minute"}
224draw.vf.cell(tf, fi, "\\in", i, nr); i<-i+1; { "infinity"}
225draw.vf.cell(tf, fi, "\\n=", i, nr); i<-i+1; { "notequal"}
226draw.vf.cell(tf, fi, "\\dl", i, nr); i<-i+1; { "nabla"}
227v()
228
229nr <- 25
230nc <- 4
231make.table(nr, nc)
232i <- 0
233draw.title("ISO Latin-1 Escape Sequences", i, nr, nc)
234draw.vf.cell(tf, fi, "\\r!", i, nr); i<-i+1; { "exclamdown"}
235draw.vf.cell(tf, fi, "\\ct", i, nr); i<-i+1; { "cent"}
236draw.vf.cell(tf, fi, "\\Po", i, nr); i<-i+1; { "sterling"}
237draw.vf.cell(tf, fi, "\\Ye", i, nr); i<-i+1; { "yen"}
238draw.vf.cell(tf, fi, "\\bb", i, nr); i<-i+1; { "brokenbar"}
239draw.vf.cell(tf, fi, "\\sc", i, nr); i<-i+1; { "section"}
240draw.vf.cell(tf, fi, "\\ad", i, nr); i<-i+1; { "dieresis"}
241draw.vf.cell(tf, fi, "\\co", i, nr); i<-i+1; { "copyright"}
242draw.vf.cell(tf, fi, "\\Of", i, nr); i<-i+1; { "ordfeminine"}
243draw.vf.cell(tf, fi, "\\no", i, nr); i<-i+1; { "logicalnot"}
244draw.vf.cell(tf, fi, "\\hy", i, nr); i<-i+1; { "hyphen"}
245draw.vf.cell(tf, fi, "\\rg", i, nr); i<-i+1; { "registered"}
246draw.vf.cell(tf, fi, "\\a-", i, nr); i<-i+1; { "macron"}
247draw.vf.cell(tf, fi, "\\de", i, nr); i<-i+1; { "degree"}
248draw.vf.cell(tf, fi, "\\+-", i, nr); i<-i+1; { "plusminus"}
249draw.vf.cell(tf, fi, "\\S2", i, nr); i<-i+1; { "twosuperior"}
250draw.vf.cell(tf, fi, "\\S3", i, nr); i<-i+1; { "threesuperior"}
251draw.vf.cell(tf, fi, "\\aa", i, nr); i<-i+1; { "acute"}
252draw.vf.cell(tf, fi, "\\*m", i, nr); i<-i+1; { "mu"}
253draw.vf.cell(tf, fi, "\\md", i, nr); i<-i+1; { "periodcentered"}
254draw.vf.cell(tf, fi, "\\S1", i, nr); i<-i+1; { "onesuperior"}
255draw.vf.cell(tf, fi, "\\Om", i, nr); i<-i+1; { "ordmasculine"}
256draw.vf.cell(tf, fi, "\\14", i, nr); i<-i+1; { "onequarter"}
257draw.vf.cell(tf, fi, "\\12", i, nr); i<-i+1; { "onehalf"}
258draw.vf.cell(tf, fi, "\\34", i, nr); i<-i+1; { "threequarters"}
259draw.vf.cell(tf, fi, "\\r?", i, nr); i<-i+1; { "questiondown"}
260draw.vf.cell(tf, fi, "\\`A", i, nr); i<-i+1; { "Agrave"}
261draw.vf.cell(tf, fi, "\\'A", i, nr); i<-i+1; { "Aacute"}
262draw.vf.cell(tf, fi, "\\^A", i, nr); i<-i+1; { "Acircumflex"}
263draw.vf.cell(tf, fi, "\\~A", i, nr); i<-i+1; { "Atilde"}
264draw.vf.cell(tf, fi, "\\:A", i, nr); i<-i+1; { "Adieresis"}
265draw.vf.cell(tf, fi, "\\oA", i, nr); i<-i+1; { "Aring"}
266draw.vf.cell(tf, fi, "\\AE", i, nr); i<-i+1; { "AE"}
267draw.vf.cell(tf, fi, "\\,C", i, nr); i<-i+1; { "Ccedilla"}
268draw.vf.cell(tf, fi, "\\`E", i, nr); i<-i+1; { "Egrave"}
269draw.vf.cell(tf, fi, "\\'E", i, nr); i<-i+1; { "Eacute"}
270draw.vf.cell(tf, fi, "\\^E", i, nr); i<-i+1; { "Ecircumflex"}
271draw.vf.cell(tf, fi, "\\:E", i, nr); i<-i+1; { "Edieresis"}
272draw.vf.cell(tf, fi, "\\`I", i, nr); i<-i+1; { "Igrave"}
273draw.vf.cell(tf, fi, "\\'I", i, nr); i<-i+1; { "Iacute"}
274draw.vf.cell(tf, fi, "\\^I", i, nr); i<-i+1; { "Icircumflex"}
275draw.vf.cell(tf, fi, "\\:I", i, nr); i<-i+1; { "Idieresis"}
276draw.vf.cell(tf, fi, "\\~N", i, nr); i<-i+1; { "Ntilde"}
277draw.vf.cell(tf, fi, "\\`O", i, nr); i<-i+1; { "Ograve"}
278draw.vf.cell(tf, fi, "\\'O", i, nr); i<-i+1; { "Oacute"}
279draw.vf.cell(tf, fi, "\\^O", i, nr); i<-i+1; { "Ocircumflex"}
280draw.vf.cell(tf, fi, "\\~O", i, nr); i<-i+1; { "Otilde"}
281draw.vf.cell(tf, fi, "\\:O", i, nr); i<-i+1; { "Odieresis"}
282draw.vf.cell(tf, fi, "\\mu", i, nr); i<-i+1; { "multiply"}
283draw.vf.cell(tf, fi, "\\/O", i, nr); i<-i+1; { "Oslash"}
284draw.vf.cell(tf, fi, "\\`U", i, nr); i<-i+1; { "Ugrave"}
285draw.vf.cell(tf, fi, "\\'U", i, nr); i<-i+1; { "Uacute"}
286draw.vf.cell(tf, fi, "\\^U", i, nr); i<-i+1; { "Ucircumflex"}
287draw.vf.cell(tf, fi, "\\:U", i, nr); i<-i+1; { "Udieresis"}
288draw.vf.cell(tf, fi, "\\'Y", i, nr); i<-i+1; { "Yacute"}
289draw.vf.cell(tf, fi, "\\ss", i, nr); i<-i+1; { "germandbls"} # WRONG!
290draw.vf.cell(tf, fi, "\\`a", i, nr); i<-i+1; { "agrave"}
291draw.vf.cell(tf, fi, "\\'a", i, nr); i<-i+1; { "aacute"}
292draw.vf.cell(tf, fi, "\\^a", i, nr); i<-i+1; { "acircumflex"}
293draw.vf.cell(tf, fi, "\\~a", i, nr); i<-i+1; { "atilde"}
294draw.vf.cell(tf, fi, "\\:a", i, nr); i<-i+1; { "adieresis"}
295draw.vf.cell(tf, fi, "\\oa", i, nr); i<-i+1; { "aring"}
296draw.vf.cell(tf, fi, "\\ae", i, nr); i<-i+1; { "ae"}
297draw.vf.cell(tf, fi, "\\,c", i, nr); i<-i+1; { "ccedilla"}
298draw.vf.cell(tf, fi, "\\`e", i, nr); i<-i+1; { "egrave"}
299draw.vf.cell(tf, fi, "\\'e", i, nr); i<-i+1; { "eacute"}
300draw.vf.cell(tf, fi, "\\^e", i, nr); i<-i+1; { "ecircumflex"}
301draw.vf.cell(tf, fi, "\\:e", i, nr); i<-i+1; { "edieresis"}
302draw.vf.cell(tf, fi, "\\`i", i, nr); i<-i+1; { "igrave"}
303draw.vf.cell(tf, fi, "\\'i", i, nr); i<-i+1; { "iacute"}
304draw.vf.cell(tf, fi, "\\^i", i, nr); i<-i+1; { "icircumflex"}
305draw.vf.cell(tf, fi, "\\:i", i, nr); i<-i+1; { "idieresis"}
306draw.vf.cell(tf, fi, "\\~n", i, nr); i<-i+1; { "ntilde"}
307draw.vf.cell(tf, fi, "\\`o", i, nr); i<-i+1; { "ograve"}
308draw.vf.cell(tf, fi, "\\'o", i, nr); i<-i+1; { "oacute"}
309draw.vf.cell(tf, fi, "\\^o", i, nr); i<-i+1; { "ocircumflex"}
310draw.vf.cell(tf, fi, "\\~o", i, nr); i<-i+1; { "otilde"}
311draw.vf.cell(tf, fi, "\\:o", i, nr); i<-i+1; { "odieresis"}
312draw.vf.cell(tf, fi, "\\di", i, nr); i<-i+1; { "divide"}
313draw.vf.cell(tf, fi, "\\/o", i, nr); i<-i+1; { "oslash"}
314draw.vf.cell(tf, fi, "\\`u", i, nr); i<-i+1; { "ugrave"}
315draw.vf.cell(tf, fi, "\\'u", i, nr); i<-i+1; { "uacute"}
316draw.vf.cell(tf, fi, "\\^u", i, nr); i<-i+1; { "ucircumflex"}
317draw.vf.cell(tf, fi, "\\:u", i, nr); i<-i+1; { "udieresis"}
318draw.vf.cell(tf, fi, "\\'y", i, nr); i<-i+1; { "yacute"}
319draw.vf.cell(tf, fi, "\\:y", i, nr); i<-i+1; { "ydieresis"}
320v()
321
322nr <- 25
323nc <- 2
324make.table(nr, nc)
325i <- 0
326draw.title("Special Escape Sequences", i, nr, nc)
327draw.vf.cell(tf, fi, "\\AR", i, nr); i<-i+1; { "aries"}
328draw.vf.cell(tf, fi, "\\TA", i, nr); i<-i+1; { "taurus"}
329draw.vf.cell(tf, fi, "\\GE", i, nr); i<-i+1; { "gemini"}
330draw.vf.cell(tf, fi, "\\CA", i, nr); i<-i+1; { "cancer"}
331draw.vf.cell(tf, fi, "\\LE", i, nr); i<-i+1; { "leo"}
332draw.vf.cell(tf, fi, "\\VI", i, nr); i<-i+1; { "virgo"}
333draw.vf.cell(tf, fi, "\\LI", i, nr); i<-i+1; { "libra"}
334draw.vf.cell(tf, fi, "\\SC", i, nr); i<-i+1; { "scorpio"}
335draw.vf.cell(tf, fi, "\\SG", i, nr); i<-i+1; { "sagittarius"}
336draw.vf.cell(tf, fi, "\\CP", i, nr); i<-i+1; { "capricornus"}
337draw.vf.cell(tf, fi, "\\AQ", i, nr); i<-i+1; { "aquarius"}
338draw.vf.cell(tf, fi, "\\PI", i, nr); i<-i+1; { "pisces"}
339draw.vf.cell(tf, fi, "\\~-", i, nr); i<-i+1; { "modifiedcongruent"}
340draw.vf.cell(tf, fi, "\\hb", i, nr); i<-i+1; { "hbar"}
341draw.vf.cell(tf, fi, "\\IB", i, nr); i<-i+1; { "interbang"}
342draw.vf.cell(tf, fi, "\\Lb", i, nr); i<-i+1; { "lambdabar"}
343draw.vf.cell(tf, fi, "\\UD", i, nr); i<-i+1; { "undefined"}
344draw.vf.cell(tf, fi, "\\SO", i, nr); i<-i+1; { "sun"}
345draw.vf.cell(tf, fi, "\\ME", i, nr); i<-i+1; { "mercury"}
346draw.vf.cell(tf, fi, "\\VE", i, nr); i<-i+1; { "venus"}
347draw.vf.cell(tf, fi, "\\EA", i, nr); i<-i+1; { "earth"}
348draw.vf.cell(tf, fi, "\\MA", i, nr); i<-i+1; { "mars"}
349draw.vf.cell(tf, fi, "\\JU", i, nr); i<-i+1; { "jupiter"}
350draw.vf.cell(tf, fi, "\\SA", i, nr); i<-i+1; { "saturn"}
351draw.vf.cell(tf, fi, "\\UR", i, nr); i<-i+1; { "uranus"}
352draw.vf.cell(tf, fi, "\\NE", i, nr); i<-i+1; { "neptune"}
353draw.vf.cell(tf, fi, "\\PL", i, nr); i<-i+1; { "pluto"}
354draw.vf.cell(tf, fi, "\\LU", i, nr); i<-i+1; { "moon"}
355draw.vf.cell(tf, fi, "\\CT", i, nr); i<-i+1; { "comet"}
356draw.vf.cell(tf, fi, "\\ST", i, nr); i<-i+1; { "star"}
357draw.vf.cell(tf, fi, "\\AS", i, nr); i<-i+1; { "ascendingnode"}
358draw.vf.cell(tf, fi, "\\DE", i, nr); i<-i+1; { "descendingnode"}
359draw.vf.cell(tf, fi, "\\s-", i, nr); i<-i+1; { "s1"}
360draw.vf.cell(tf, fi, "\\dg", i, nr); i<-i+1; { "dagger"}
361draw.vf.cell(tf, fi, "\\dd", i, nr); i<-i+1; { "daggerdbl"}
362draw.vf.cell(tf, fi, "\\li", i, nr); i<-i+1; { "line integral"}
363draw.vf.cell(tf, fi, "\\-+", i, nr); i<-i+1; { "minusplus"}
364draw.vf.cell(tf, fi, "\\||", i, nr); i<-i+1; { "parallel"}
365draw.vf.cell(tf, fi, "\\rn", i, nr); i<-i+1; { "overscore"}
366draw.vf.cell(tf, fi, "\\ul", i, nr); i<-i+1; { "underscore"}
367v()
368
369nr <- 25
370nc <- 3
371make.table(nr, nc)
372code <- c(300:307,310:317,320:327,330:337,340:347,350:357,360:367,370:377,
373          243,263)
374string <- c(
375"\300","\301","\302","\303","\304","\305","\306","\307",
376"\310","\311","\312","\313","\314","\315",
377"\316","\317","\320","\321","\322","\323",
378"\324","\325","\326","\327","\330","\331",
379"\332","\333","\334","\335","\336","\337",
380"\340","\341","\342","\343","\344","\345","\346","\347",
381"\350","\351","\352","\353","\354","\355",
382"\356","\357","\360","\361","\362","\363",
383"\364","\365","\366","\367","\370","\371",
384"\372","\373","\374","\375","\376","\377","\243","\263")
385draw.title("Cyrillic Octal Codes", i = 0, nr ,nc)
386for (i in 1:66)
387    draw.vf.cell(tf, "cyrillic", string[i], i-1, nr,
388                 raw.string=paste("\\", as.character(code[i]), sep=""))
389v()
390
391nr <- 25
392nc <- 3
393make.table(nr, nc)
394code <- c(252,254,256,262:269,275,278:281,284,745,746,750:768,796:802,
395          804:807,809,814:828,830:834,840:844)
396draw.title("Raw Hershey Escape Sequences", i=0, nr, nc)
397for (i in 1:75)
398    draw.vf.cell(tf, fi, paste("\\#H",formatC(code[i],wid=4,flag=0),sep=""),
399                 i-1, nr)
400make.table(nr, nc)
401code <- c(845:847,850:856,860:874,899:909,2296:2299,2318:2332,2367:2382,
402          4014,4109)
403draw.title("More Raw Hershey Escape Sequences", i=0, nr, nc)
404for (i in 1:73)
405    draw.vf.cell(tf, fi, paste("\\#H",formatC(code[i],wid=4,flag=0),sep=""),
406                 i-1, nr)
407
408v()
409par(oldpar)
410#par(opar)
411