% File: MF Inputs ibygrk.map % Author: Pierre A. MacKay % Internet: mackay@cs.washington.edu % Date: Friday, 06 May 1994 % Copyright 1994 by Pierre A. MacKay % The contents of this file are licensed free for % use and redistribution under the terms of the % GNU General Public License. For the terms of % this license see any publication of the Free % Software Foundation or any software packages % distributed by the Free Software Foundation. % % % These macros make it possible to read *.map files as either % \TeX{} or METAFONT input % See the parallel ../tex directory for use of this file as TeX input % % A well-known conditional test in METAFONT; % It creates mismatch of character tokens 'k' and 'n' in TeX \if known cmbase: % Interpret as a METAFONT file let re_catcode=relax; let let_=gobble; let no_let=gobble; else: message "Must have cmbase loaded for this, or else some macros from it" ; % % END OF METAFONT INTERPRETATION---TeX INTERPRETATION FOLLOWS % \else % Interpret as a TeX file \catcode`\_11 % allow underscore in csnames as in METAFONT \def\re_catcode{\catcode`\=12 \catcode`\;12 \catcode`\_8}% \def\ignore_to_comment#1#2{}% % Now activate all the characters from ^^80 to ^^ff \count255=`\^^80 \loop \ifnum\count255 < `\^^ff \catcode\count255\active \advance\count255 by 1 \repeat % \catcode`\^^ff\active % If you want it, I don't in this case. \expandafter\input\the\digraphs % Filename in a \toks register \catcode`\;0 % treat the first ; (required by METAFONT) as an escape \catcode`\=14 % treat the = in the METAFONT part as a comment character \let\let_\let \let\no_let\ignore_to_comment \fi % % This is a rather specialized version of the map file, % developed for Greek only. There are certain restrictions % in this case, because we do not want to alter Silvio Levy's % source code---only the mappings. % The upper level codes (^^80---^^ff) are based on a version of % Greek Keys, but the mapping is worked out by experience, % not from any documentation. We are not sure whether Greek Keys % even has a consistent code page from one version to the next, % and even if it does, customization seems to make consistency % rather unlikely. Consistency is provided by the ASCII digraphs % and trigraphs to which all word-processor codes are remapped % before they are used in TeX. These digraphs and trigraphs % (even tetragraphs in the case of iota subscript) are very close % to Ibycus/TLG betacode, except for the unfortunate uppercasing % of betacode. % % a known set of word-processor Some "hidden" characters % equivalents is "let_" for TeX Only METAFONT needs to know % \no_let is used where there what is in this column % seems to be no certain mapping % \let_ ^^80;oxy_tone = ASCII"'"; boundarychar := oct"377"; \let_ ^^81;bary_tone = ASCII"`"; final_sigma=ASCII"j"; \let_ ^^82;peri_spomenon = ASCII"="; iotasub = ASCII"|"; \let_ ^^83;sp_lenis = ASCII")"; lenis_glyph = ASCII">"; \let_ ^^84;sp_asper = ASCII"("; asper_glyph = ASCII"<"; \let_ ^^85;lenis_oxy = oct"136"; r_len = oct"374"; \let_ ^^86;lenis_bary = oct"137"; r_aspr = oct"373"; % Mapped to "="!! \let_ ^^87;lenis_peri = oct"134"; lunate_Cigma=oct"004"; \let_ ^^88;asper_oxy = oct"207"; lunate_cigma=ASCII"J"; \let_ ^^89;asper_bary = oct"203"; % It's uppercase J because \let_ ^^8a;asper_peri = oct"100"; % that's all that's left \no_let \dmy;diaeroxy = oct"043"; digamma = ASCII"v"; \no_let \dmy;diaerbary = oct"044"; en_dash = 0; \no_let \dmy;quoteleft = oct"034"; em_dash = oct"177"; \no_let \dmy;quoteright = oct"035"; null_space = ASCII" "; % % alpha with accents % \let_ ^^8b;a_oxy = oct"210"; diaer = oct"053"; % plus sign \let_ ^^8c;a_bary = oct"200"; sampi = oct"003"; \let_ ^^8d;a_peri = oct"220"; Koppa = oct"001"; \let_ ^^8e;a_len = oct"202"; koppa = oct"002"; \let_ ^^8f;a_aspr = oct"201"; guillemotleft = ASCII"{"; \let_ ^^90;a_lenoxy = oct"212"; guillemotright = ASCII"}"; \let_ ^^91;a_asproxy = oct"211"; % two small heraldic awks. \let_ ^^92;a_lenbary = oct"223"; colongreek = ASCII";"; \let_ ^^93;a_asprbary = oct"213"; % Note that this serves as the \let_ ^^94;a_lenperi = oct"222"; % semicolon, rather than the \let_ ^^95;a_asprperi = oct"221"; % modern two-dot colon % % alpha with accents and iota subscript % \let_ ^^fb;a_isub = oct"370"; \let_ ^^96;a_oxyisub = oct"214"; \let_ ^^97;a_baryisub = oct"204"; \let_ ^^98;a_periisub = oct"224"; \let_ ^^99;a_lenisub = oct"206"; \let_ ^^9a;a_asprisub = oct"205"; \let_ ^^9b;a_lenoxyisub = oct"216"; \let_ ^^9c;a_asproxyisub = oct"215"; \let_ ^^9d;a_lenbaryisub = oct"227"; \let_ ^^9e;a_asprbaryisub = oct"217"; \let_ ^^9f;a_lenperiisub = oct"226"; \let_ ^^a0;a_asprperiisub = oct"225"; % % epsilon with accents % \let_ ^^a1;e_oxy = oct"350"; \let_ ^^a2;e_bary = oct"340"; \let_ ^^a4;e_len = oct"342"; \let_ ^^a5;e_aspr = oct"341"; \let_ ^^a6;e_lenoxy = oct"352"; \let_ ^^a7;e_asproxy = oct"351"; \let_ ^^a8;e_lenbary = oct"343"; \let_ ^^a9;e_asprbary = oct"353"; % % eta with accents % \let_ ^^ae;h_oxy = oct"240"; \let_ ^^af;h_bary = oct"230"; \let_ ^^b0;h_peri = oct"250"; \let_ ^^b1;h_len = oct"232"; \let_ ^^b2;h_aspr = oct"231"; \let_ ^^b3;h_lenoxy = oct"242"; \let_ ^^b4;h_asproxy = oct"241"; \let_ ^^b5;h_lenbary = oct"243"; \let_ ^^b6;h_asprbary = oct"233"; \let_ ^^b7;h_lenperi = oct"252"; \let_ ^^b8;h_asprperi = oct"251"; % % eta with accents and iota subscript % \let_ ^^fa;h_isub = oct"371"; \let_ ^^b9;h_oxyisub = oct"244"; \let_ ^^ba;h_baryisub = oct"234"; \let_ ^^bb;h_periisub = oct"254"; \let_ ^^bc;h_lenisub = oct"236"; \let_ ^^bd;h_asprisub = oct"235"; \let_ ^^be;h_lenoxyisub = oct"246"; \let_ ^^bf;h_asproxyisub = oct"245"; \let_ ^^c0;h_lenbaryisub = oct"247"; \let_ ^^c1;h_asprbaryisub = oct"237"; \let_ ^^c2;h_lenperiisub = oct"256"; \let_ ^^c3;h_asprperiisub = oct"255"; % %iota with accents % \let_ ^^db;i_oxy = oct"320"; \let_ ^^dc;i_bary = oct"310"; \let_ ^^dd;i_peri = oct"330"; \let_ ^^de;i_len = oct"312"; \let_ ^^df;i_aspr = oct"311"; \let_ ^^e0;i_lenoxy = oct"322"; \let_ ^^e1;i_asproxy = oct"321"; \let_ ^^e2;i_lenbary = oct"323"; \let_ ^^e3;i_asprbary = oct"313"; \let_ ^^e4;i_lenperi = oct"332"; \let_ ^^e5;i_asprperi = oct"331"; \let_ ^^f3;i_diaer = oct"360"; \let_ ^^fd;i_oxydiaer = oct"362"; \let_ ^^fe;i_barydiaer = oct"361"; % % omicron with accents % \let_ ^^f1;o_oxy = oct"354"; \let_ ^^f2;o_bary = oct"344"; \let_ ^^f4;o_len = oct"346"; \let_ ^^f5;o_aspr = oct"345"; \let_ ^^f6;o_lenoxy = oct"356"; \let_ ^^f7;o_asproxy = oct"355"; \let_ ^^f8;o_lenbary = oct"357"; \let_ ^^f9;o_asprbary = oct"347"; % % upsilon with accents % \let_ ^^e6;u_oxy = oct"324"; \let_ ^^e7;u_bary = oct"314"; \let_ ^^e8;u_peri = oct"334"; \let_ ^^e9;u_len = oct"316"; \let_ ^^ea;u_aspr = oct"315"; \let_ ^^eb;u_lenoxy = oct"326"; \let_ ^^ec;u_asproxy = oct"325"; \let_ ^^ed;u_lenbary = oct"327"; \let_ ^^ee;u_asprbary = oct"317"; \let_ ^^ef;u_lenperi = oct"336"; \let_ ^^f0;u_asprperi = oct"335"; \no_let \dmy;u_diaer = oct"364"; \no_let \dmy;u_oxydiaer = oct"366"; \let_ ^^a3;u_barydiaer = oct"365"; % % omega with accents % \let_ ^^c5;w_oxy = oct"270"; \let_ ^^c6;w_bary = oct"260"; \let_ ^^c7;w_peri = oct"300"; \let_ ^^c8;w_len = oct"262"; \let_ ^^c9;w_aspr = oct"261"; \let_ ^^ca;w_lenoxy = oct"272"; \let_ ^^cb;w_asproxy = oct"271"; \let_ ^^cc;w_lenbary = oct"273"; \let_ ^^cd;w_asprbary = oct"263"; \let_ ^^ce;w_lenperi = oct"302"; \let_ ^^cf;w_asprperi = oct"301"; % % omega with accents and iota subscript % \let_ ^^c4;w_isub = oct"372"; \let_ ^^d0;w_oxyisub = oct"274"; \let_ ^^d1;w_baryisub = oct"264"; \let_ ^^d2;w_periisub = oct"304"; \let_ ^^d3;w_lenisub = oct"266"; \let_ ^^d4;w_asprisub = oct"265"; \let_ ^^d5;w_lenoxyisub = oct"276"; \let_ ^^d6;w_asproxyisub = oct"275"; \let_ ^^d7;w_lenbaryisub = oct"277"; \let_ ^^d8;w_asprbaryisub = oct"267"; \let_ ^^d9;w_lenperiisub = oct"306"; \let_ ^^da;w_asprperiisub = oct"305"; \re_catcode