% magenc.mf 1.2.0 1994/10/11 -- Malvern G (greek) % Copyright 1994 P. Damian Cugley %%% @METAFONT-file { %%% filename = "magenc.mf", %%% version = "1.2.0", %%% date = "1994/10/11", %%% package = "Malvern 1.2", %%% author = "P. Damian Cugley", %%% email = "damian.cugley@comlab.ox.ac.uk", %%% address = "Oxford University Computing Laboratory, %%% Parks Road, Oxford OX1 3QD, UK", %%% codetable = "USASCII", %%% keywords = "Malvern, METAFONT, font, typefont, TeX", %%% supported = "Maybe", %%% abstract = "Greek encoding definition for the Malvern %%% font family.", %%% dependencies = "other program files", %%% } % See the Malvern Handbook (maman.tex) for more info about Malvern. % This software is available freely but without warranty. % See the file COPYING for details. %{{{ magenc.mf numeric c; c = -1; vardef next_code = c := c + 1; if c = 32: c := hex"80"; fi c enddef; %{{{ capitals code.gr.cap.alpha = ASCII"A"; code.gr.cap.beta = ASCII"B"; code.gr.cap.sigma1 = ASCII"C"; % lunate sigma code.gr.cap.delta = ASCII"D"; code.gr.cap.epsilon = ASCII"E"; code.gr.cap.phi = ASCII"F"; code.gr.cap.gamma = ASCII"G"; code.gr.cap.eta = ASCII"H"; code.gr.cap.iota = ASCII"I"; code.gr.cap.theta = ASCII"J"; code.gr.cap.kappa = ASCII"K"; code.gr.cap.lambda = ASCII"L"; code.gr.cap.mu = ASCII"M"; code.gr.cap.nu = ASCII"N"; code.gr.cap.omicron = ASCII"O"; code.gr.cap.pi = ASCII"P"; code.gr.cap.chi = ASCII"Q"; code.gr.cap.rho = ASCII"R"; code.gr.cap.sigma = ASCII"S"; code.gr.cap.tau = ASCII"T"; code.gr.cap.upsilon = ASCII"U"; code.gr.cap.digamma = ASCII"V"; % obselete code.gr.cap.omega = ASCII"W"; code.gr.cap.xi = ASCII"X"; code.gr.cap.psi = ASCII"Y"; code.gr.cap.zeta = ASCII"Z"; %code.gr.cap.upsilon1 = 91; %code.gr.cap.koppa = 92; %code.gr.cap.xi1 = 93; %}}} capitals %{{{ lower case % Transliteration as per Yannis's % alpha beta gamma delta epsilon zeta eta theta iota kappa mu nu % a b g d e z h j i k m n % xi omicron pi rho sigma final-sigma tau upsilon phi chi psi omega % x o p r s c t u f q y w % also: koppa digamma lunate-sigma sampi stimga % 92/124 v 91/123 64/96 % code.gr.lc.sampi = 96; % obselete letter code.gr.lc.alpha = ASCII"a"; code.gr.lc.beta = ASCII"b"; code.gr.lc.sigma1 = ASCII"c"; % lunate sigma code.gr.lc.delta = ASCII"d"; code.gr.lc.epsilon = ASCII"e"; code.gr.lc.phi = ASCII"f"; code.gr.lc.gamma = ASCII"g"; code.gr.lc.eta = ASCII"h"; code.gr.lc.iota = ASCII"i"; code.gr.lc.theta = ASCII"j"; code.gr.lc.kappa = ASCII"k"; code.gr.lc.lambda = ASCII"l"; code.gr.lc.mu = ASCII"m"; code.gr.lc.nu = ASCII"n"; code.gr.lc.omicron = ASCII"o"; code.gr.lc.pi = ASCII"p"; code.gr.lc.chi = ASCII"q"; code.gr.lc.rho = ASCII"r"; code.gr.lc.sigma = ASCII"s"; % medial sigma ($\sigma$) code.gr.lc.tau = ASCII"t"; code.gr.lc.upsilon = ASCII"u"; code.gr.lc.digamma = ASCII"v"; % obselete letter code.gr.lc.omega = ASCII"w"; code.gr.lc.xi = ASCII"x"; code.gr.lc.psi = ASCII"y"; code.gr.lc.zeta = ASCII"z"; code.gr.lc.final_sigma = 127; % $\varsigma$ code.gr.lc.phi1 = 92; %code.gr.lc.koppa = 124; % obselete letter %code.gr.lc.epsilon1 = 125; %code.gr.lc.theta1 = 127; %code.gr.lc.rho1 = 94; %code.gr.lc.pi1 = 95; %}}} lower case %{{{ punctuation etc. code.exclam = ASCII"!"; code.colon = ASCII":"; % two dots code.gr.colon = ASCII";"; % raised dot code.gr.question = ASCII"?"; % looks like ; code.full_stop = ASCII"."; code.comma = ASCII","; code.hyphen = ASCII"-"; code.zero = ASCII"0"; code.percent = ASCII"%"; code.plus_sign = ASCII"+"; code.asterisk7 = ASCII"*"; code.equals = ASCII"="; code.paren.left = ASCII"("; code.paren.right = ASCII")"; code.brack.left = ASCII"["; code.brack.right = ASCII"]"; code.slash = ASCII"/"; code.guillemet.left = ASCII"{"; code.guillemet.right = ASCII"}"; code.cwm = ASCII" "; % same effect as end of word code.null = ASCII"@"; % supresses effect of being at end of word forsuffixes $ = apostrophe, en_dash, em_dash: code.$ = next_code; endfor %}}} punctuation %{{{ marks code.gr.accent = next_code; code.gr.breve = next_code; code.gr.macron = next_code; code.gr.acute = ASCII"'"; code.gr.grave = ASCII"`"; code.gr.circumflex = ASCII"~"; code.gr.asp = ASCII"<"; code.gr.len = ASCII">"; code.gr.di = 34; code.gr.iota_sub = ASCII"|"; forsuffixes $ = asp, len, di: forsuffixes @ = acute, grave, circumflex: code.gr.$.@ = next_code; endfor endfor code.gr.di.accent = next_code; if false: code.gr.iota_sub = 0; % iota subscript code.gr.lc.alpha.iota_sub = 1; code.gr.lc.eta.iota_sub = 2; code.gr.lc.omega.iota_sub = 3; code.gr.acute = 9; code.gr.grave = 10; code.gr.circumflex = 11; code.gr.tilde = 12; code.gr.accent = 13; % the new universal accent code.gr.asp = 14; code.gr.asp.acute = 15; code.gr.asp.grave = 16; code.gr.asp.circumflex = 17; code.gr.asp.tilde = 18; code.gr.breve = 19; % instead of asp.accent, which does not occur code.gr.len = 20; code.gr.len.acute = 21; code.gr.len.grave = 22; code.gr.len.circumflex = 23; code.gr.len.tilde = 24; code.gr.macron = 25; % instead of len.accent code.gr.di = 26; code.gr.di.acute = 27; code.gr.di.grave = 28; code.gr.di.circumflex = 29; code.gr.di.tilde = 30; code.gr.di.accent = 31; fi %}}} marks %{{{ composites if c + 1 < hex"10": c := hex"10" - 1; fi forsuffixes $ = alpha, eta, omega: code.gr.lc.$.iota_sub = next_code; endfor forsuffixes # = asp, len: code.gr.lc.rho.# = next_code; endfor forsuffixes $$ = cap, lc: forsuffixes $ = sigma, zeta, psi, xi: code.gr.$$.$.breve = next_code; endfor endfor %if c + 1 < hex"80": c := hex"80" - 1; fi forsuffixes $ = alpha, alpha.iota_sub, epsilon, eta, eta.iota_sub, iota, omicron, upsilon, omega, omega.iota_sub: forsuffixes @ = accent, acute, grave, circumflex: code.gr.lc.$.@ = next_code; endfor forsuffixes # = asp, len: forsuffixes @ = , acute, grave, circumflex: code.gr.lc.$.#.@ = next_code; endfor endfor endfor forsuffixes $ = iota, upsilon: forsuffixes @ = , accent, acute, grave, circumflex: code.gr.lc.$.di.@ = next_code; endfor endfor if false: % These codes are from Levy's fonts. code.gr.lc.alpha.grave = hex"80"; code.gr.lc.alpha.asp = hex"81"; code.gr.lc.alpha.len = hex"82"; code.gr.lc.alpha.iota_sub.grave = hex"84"; code.gr.lc.alpha.iota_sub.asp = hex"85"; code.gr.lc.alpha.iota_sub.len = hex"86"; code.gr.lc.alpha.acute = hex"88"; code.gr.lc.alpha.asp.acute = hex"89"; code.gr.lc.alpha.len.acute = hex"8A"; code.gr.lc.alpha.iota_sub.acute = hex"8C"; code.gr.lc.alpha.iota_sub.asp.acute = hex"8D"; code.gr.lc.alpha.iota_sub.len.acute = hex"8E"; code.gr.lc.alpha.circumflex = hex"90"; code.gr.lc.alpha.asp.circumflex = hex"91"; code.gr.lc.alpha.len.circumflex = hex"92"; code.gr.lc.alpha.iota_sub.circumflex = hex"94"; code.gr.lc.alpha.iota_sub.asp.circumflex = hex"95"; code.gr.lc.alpha.iota_sub.len.circumflex = hex"96"; code.gr.lc.eta.grave = hex"98"; code.gr.lc.eta.asp = hex"99"; code.gr.lc.eta.len = hex"9A"; code.gr.lc.eta.iota_sub.grave = hex"9C"; code.gr.lc.eta.iota_sub.asp = hex"9D"; code.gr.lc.eta.iota_sub.len = hex"9E"; code.gr.lc.eta.acute = hex"A0"; code.gr.lc.eta.asp.acute = hex"A1"; code.gr.lc.eta.len.acute = hex"A2"; code.gr.lc.eta.iota_sub.acute = hex"A4"; code.gr.lc.eta.iota_sub.asp.acute = hex"A5"; code.gr.lc.eta.iota_sub.len.acute = hex"A6"; code.gr.lc.eta.circumflex = hex"A8"; code.gr.lc.eta.asp.circumflex = hex"A9"; code.gr.lc.eta.len.circumflex = hex"AA"; code.gr.lc.eta.iota_sub.circumflex = hex"AC"; code.gr.lc.eta.iota_sub.asp.circumflex = hex"AD"; code.gr.lc.eta.iota_sub.len.circumflex = hex"AE"; code.gr.lc.omega.grave = hex"B0"; code.gr.lc.omega.asp = hex"B1"; code.gr.lc.omega.len = hex"B2"; code.gr.lc.omega.iota_sub.grave = hex"B4"; code.gr.lc.omega.iota_sub.asp = hex"B5"; code.gr.lc.omega.iota_sub.len = hex"B6"; code.gr.lc.omega.acute = hex"B8"; code.gr.lc.omega.asp.acute = hex"B9"; code.gr.lc.omega.len.acute = hex"BA"; code.gr.lc.omega.iota_sub.acute = hex"BC"; code.gr.lc.omega.iota_sub.asp.acute = hex"BD"; code.gr.lc.omega.iota_sub.len.acute = hex"BE"; code.gr.lc.omega.circumflex = hex"C0"; code.gr.lc.omega.asp.circumflex = hex"C1"; code.gr.lc.omega.len.circumflex = hex"C2"; code.gr.lc.omega.iota_sub.circumflex = hex"C4"; code.gr.lc.omega.iota_sub.asp.circumflex = hex"C5"; code.gr.lc.omega.iota_sub.len.circumflex = hex"C6"; code.gr.lc.iota.grave = hex"C8"; code.gr.lc.iota.asp = hex"C9"; code.gr.lc.iota.len = hex"CA"; code.gr.lc.upsilon.grave = hex"CC"; code.gr.lc.upsilon.asp = hex"CD"; code.gr.lc.upsilon.len = hex"CE"; code.gr.lc.iota.acute = hex"D0"; code.gr.lc.iota.asp.acute = hex"D1"; code.gr.lc.iota.len.acute = hex"D2"; code.gr.lc.upsilon.acute = hex"D4"; code.gr.lc.upsilon.asp.acute = hex"D5"; code.gr.lc.upsilon.len.acute = hex"D6"; code.gr.lc.iota.circumflex = hex"D8"; code.gr.lc.iota.asp.circumflex = hex"D9"; code.gr.lc.iota.len.circumflex = hex"DA"; code.gr.lc.upsilon.circumflex = hex"DC"; code.gr.lc.upsilon.asp.circumflex = hex"DD"; code.gr.lc.upsilon.len.circumflex = hex"DE"; code.gr.lc.epsilon.grave = hex"E0"; code.gr.lc.epsilon.asp = hex"E1"; code.gr.lc.epsilon.len = hex"E2"; code.gr.lc.omicron.grave = hex"E4"; code.gr.lc.omicron.asp = hex"E5"; code.gr.lc.omicron.len = hex"E6"; code.gr.lc.epsilon.acute = hex"E8"; code.gr.lc.epsilon.asp.acute = hex"E9"; code.gr.lc.epsilon.len.acute = hex"EA"; code.gr.lc.omicron.acute = hex"EC"; code.gr.lc.omicron.asp.acute = hex"ED"; code.gr.lc.omicron.len.acute = hex"EE"; code.gr.lc.iota.di = hex"F0"; code.gr.lc.iota.di.grave = hex"F1"; code.gr.lc.iota.di.acute = hex"F2"; code.gr.lc.iota.di.circumflex = hex"F3"; code.gr.lc.upsilon.di = hex"F4"; code.gr.lc.upsilon.di.grave = hex"F5"; code.gr.lc.upsilon.di.acute = hex"F6"; code.gr.lc.upsilon.di.circumflex = hex"F7"; code.gr.lc.rho.asp = hex"FB"; code.gr.lc.rho.len = hex"FC"; fi %}}} composites font_coding_scheme "Malvern G " & maversion; %}}} Malvern G % Local variables: % fold-folded-p: t % End: