From 6df7f4790a4ae3d99092df23588f7464c0d8769b Mon Sep 17 00:00:00 2001 From: Ben Harris Date: Tue, 1 May 2012 23:37:39 +0100 Subject: [PATCH] Reasonable approximation to a Greek alphabet. --- bedstead.c | 51 +++++++++++++++++++++++++++++++++++++++++++++++++++ sample.ps | 8 ++++++-- 2 files changed, 57 insertions(+), 2 deletions(-) diff --git a/bedstead.c b/bedstead.c index 9db9040..1b3fdff 100644 --- a/bedstead.c +++ b/bedstead.c @@ -560,6 +560,57 @@ struct glyph { {{000,000,021,012,004,012,021,000,000}, -1, "x.sc" }, {{000,000,021,012,004,004,004,000,000}, -1, "y.sc" }, {{000,000,037,002,004,010,037,000,000}, -1, "z.sc" }, + + /* Greek */ + {{004,012,021,021,037,021,021,000,000}, 0x0391, "Alpha" }, + {{036,021,021,036,021,021,036,000,000}, 0x0392, "Beta" }, + {{037,020,020,020,020,020,020,000,000}, 0x0393, "Gamma" }, + {{004,004,012,012,021,021,037,000,000}, 0x0394 }, /* Delta */ + {{037,020,020,036,020,020,037,000,000}, 0x0395, "Epsilon" }, + {{037,001,002,004,010,020,037,000,000}, 0x0396, "Zeta" }, + {{021,021,021,037,021,021,021,000,000}, 0x0397, "Eta" }, + {{016,021,021,037,021,021,016,000,000}, 0x0398, "Theta" }, + {{016,004,004,004,004,004,016,000,000}, 0x0399, "Iota" }, + {{021,022,024,030,024,022,021,000,000}, 0x039a, "Kappa" }, + {{004,004,012,012,021,021,021,000,000}, 0x039b, "Lambda" }, + {{021,033,025,025,021,021,021,000,000}, 0x039c, "Mu" }, + {{021,021,031,025,023,021,021,000,000}, 0x039d, "Nu" }, + {{037,000,000,016,000,000,037,000,000}, 0x039e, "Xi" }, + {{016,021,021,021,021,021,016,000,000}, 0x039f, "Omicron" }, + {{037,021,021,021,021,021,021,000,000}, 0x03a0, "Pi" }, + {{036,021,021,036,020,020,020,000,000}, 0x03a1, "Rho" }, + {{037,020,010,004,010,020,037,000,000}, 0x03a3, "Sigma" }, + {{037,004,004,004,004,004,004,000,000}, 0x03a4, "Tau" }, + {{021,021,012,004,004,004,004,000,000}, 0x03a5, "Upsilon" }, + {{004,016,025,025,025,016,004,000,000}, 0x03a6, "Phi" }, + {{021,021,012,004,012,021,021,000,000}, 0x03a7, "Chi" }, + {{025,025,025,025,025,016,004,000,000}, 0x03a8, "Psi" }, + {{016,021,021,021,021,012,033,000,000}, 0x03a9 }, /* Omega */ + {{000,000,015,022,022,022,015,000,000}, 0x03b1, "alpha" }, + {{016,021,021,036,021,021,036,020,020}, 0x03b2, "beta" }, + {{000,000,021,021,012,012,004,004,004}, 0x03b3, "gamma" }, + {{017,020,016,021,021,021,016,000,000}, 0x03b4, "delta" }, + {{000,000,017,020,016,020,017,000,000}, 0x03b5, "epsilon" }, + {{036,002,004,010,020,020,014,002,004}, 0x03b6, "zeta" }, + {{000,000,036,021,021,021,021,001,001}, 0x03b7, "eta" }, + {{014,022,022,036,022,022,014,000,000}, 0x03b8, "theta" }, + {{000,000,014,004,004,004,002,000,000}, 0x03b9, "iota" }, + {{000,000,011,012,014,012,011,000,000}, 0x03ba, "kappa" }, + {{030,004,004,012,012,021,021,000,000}, 0x03bb, "lambda" }, + {{000,000,022,022,022,022,035,020,020}, 0x03bc }, /* mu */ + {{000,000,021,021,011,012,004,000,000}, 0x03bd, "nu" }, + {{016,020,020,016,020,020,016,001,002}, 0x03be, "xi" }, + {{000,000,016,021,021,021,016,000,000}, 0x03bf, "omicron" }, + {{000,000,037,012,012,012,011,000,000}, 0x03c0, "pi" }, + {{000,000,016,021,021,021,036,020,020}, 0x03c1, "rho" }, + {{000,000,017,020,020,020,016,001,002}, 0x03c2, "sigma1" }, + {{000,000,017,022,022,022,014,000,000}, 0x03c3, "sigma" }, + {{000,000,037,004,004,004,002,000,000}, 0x03c4, "tau" }, + {{000,000,022,021,021,021,016,000,000}, 0x03c5, "upsilon" }, + {{004,004,016,025,025,025,016,004,004}, 0x03c6, "phi" }, + {{000,000,021,011,012,004,012,022,021}, 0x03c7, "chi" }, + {{000,000,025,025,025,025,016,004,004}, 0x03c8, "psi" }, + {{000,000,012,021,025,025,012,000,000}, 0x03c9, "omega" }, }; static void dolookups(struct glyph *); diff --git a/sample.ps b/sample.ps index 8864dc6..28d814d 100644 --- a/sample.ps +++ b/sample.ps @@ -1,4 +1,4 @@ -<< /HWResolution [ 72 72 ] /PageSize [ 772 324 ] >> setpagedevice +<< /HWResolution [ 72 72 ] /PageSize [ 772 404 ] >> setpagedevice /Bedstead findfont 40 scalefont setfont /row { %def 0 0 moveto @@ -8,11 +8,15 @@ } forall 0 -40 translate } def -0 293 translate +0 373 translate [ /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 ] row [ /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 ] row [ /a.sc/b.sc/c.sc/d.sc/e.sc/f.sc/g.sc/h.sc/i.sc/j.sc/k.sc/l.sc/m.sc /n.sc/o.sc/p.sc/q.sc/r.sc/s.sc/t.sc/u.sc/v.sc/w.sc/x.sc/y.sc/z.sc ] row +[ /Alpha/Beta/Gamma/uni0394/Epsilon/Zeta/Eta/Theta/Iota/Kappa/Lambda/Mu + /Nu/Xi/Omicron/Pi/Rho/Sigma/Tau/Upsilon/Phi/Chi/Psi/uni03A9 ] row +[ /alpha/beta/gamma/delta/epsilon/zeta/eta/theta/iota/kappa/lambda/uni03BC + /nu/xi/omicron/pi/rho/sigma1/sigma/tau/upsilon/phi/chi/psi/omega ] row [ /uni0410/uni0411/uni0412/uni0413/uni0414/uni0415/uni0416/uni0417 /uni0418/uni0419/uni041A/uni041B/uni041C/uni041D/uni041E/uni041F /uni0420/uni0421/uni0422/uni0423/uni0424/uni0425/uni0426/uni0427 -- 2.30.2