%% %% This is file `lo1enc.def'. %% Copyright (C) 1996,1997,1998,1999 Bernd Raichle. %% %% ----------------------------------------------------------------- %% IMPORTANT NOTICE: %% %% This program can be redistributed and/or modified under the terms %% of the LaTeX Project Public License Distributed from CTAN %% archives in directory macros/latex/base/lppl.txt; either %% version 1 of the License, or any later version. %% ----------------------------------------------------------------- %% %% CHANGES: %% 1997/01/14 0.9b %% Formerly the \charsubdef assignments were done in a separate %% file loaded before all \DeclareMath... declarations. Because %% this file was an almost exact copy of `LO1enc.def' I have %% merged both files. %% (Conceptually the separation in two files is the cleaner %% solution but to do this for all possible MLTeX enhanced font %% encodings we have to include the font encoding name into this %% file's name. In practice a single file is simpler to maintain %% and the additions are very short.) %% 1997/09/03 0.9c %% 1998/10/22 0.9d %% Updated to `ot1enc.def' of <1998/06/01>: removed \aa, \AA, \SS. %% 1998/11/17 0.9e %% Only final release changes. %% Added new definition of \sh@ft from `plain.tex' 3.1415926 %% as \loONEsh@ft because the type of its argument has %% changed from an integer to a length; %% adapted the definitions of \b and \d accordingly. %% 1998/12/21 0.9f %% Removed warning \message. %% 1999/03/08 0.9g %% Included missing macro definition of \(loONE)getf@ctor %% used for the accent macros \d and \b. %% Changed licensing conditions to LPPL. %% 1999/03/09 0.9h %% Changed `fontenc' to `mltex' in \PackageWarning*. %% %% ------------------------------------------------------------ %% %\NeedsTeXFormat{LaTeX2e}[1994/12/01] % New \DeclareText...! \NeedsTeXFormat{LaTeX2e}[1996/12/01] % Need mono-case file names + \hb@xt@! % \ProvidesFile{lo1enc.def}[1999/03/09 v0.9h % MLTeX/LaTeX fontenc definition: mLtex's Ot1 (br)] % \@ifundefined{DeclareFontDefinitionEncodingAlias}{% \input{mlltxchg.def}}{} \@ifundefined{DeclareFontDefinitionEncodingAlias}{% \@latex@error{File `mlltxchg.def' seems to be corrupted}% {File `mlltxchg.def' has to define the new declaration \noexpand\DeclareFontDefinitionEncodingAlias which is not the case}% }{} %% %% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% ===== BEGIN -- OT1enc.def: %% %% The following declarations are copied from %% file `OT1enc.def' resp. `ot1enc.def' %% replacing "OT1" by "LO1": %% \DeclareFontEncoding{LO1}{}{} % % Make LaTeX read OT1*.fd files for encoding LO1: \DeclareFontDefinitionEncodingAlias{LO1}{OT1} % \DeclareTextAccent{\"}{LO1}{127} \DeclareTextAccent{\'}{LO1}{19} \DeclareTextAccent{\.}{LO1}{95} \DeclareTextAccent{\=}{LO1}{22} \DeclareTextAccent{\^}{LO1}{94} \DeclareTextAccent{\`}{LO1}{18} \DeclareTextAccent{\~}{LO1}{126} \DeclareTextAccent{\H}{LO1}{125} \DeclareTextAccent{\u}{LO1}{21} \DeclareTextAccent{\v}{LO1}{20} \DeclareTextAccent{\r}{LO1}{23} %% from `plain.tex' upto 3.151592 and LaTeX <1998/06/01>: %\def\sh@ft#1{\dimen@.00#1ex\multiply\dimen@\fontdimen1\font % \kern-.0156\dimen@} % compensate for slant in lowered accents %% from `plain.tex' 3.1415926 (with slightly changes): \begingroup \catcode`P=12 \catcode`T=12 \lccode`P=`p \lccode`T=`t \lowercase{\endgroup \def\loONEgetf@ctor#1PT}{#1}% \def\loONEsh@ft#1{\dimen@#1% \kern\expandafter\loONEgetf@ctor\the\fontdimen1\font \dimen@} % kern by #1 times the current slant \DeclareTextCommand{\b}{LO1}[1]% \sh@ft{29} {{\o@lign{\relax#1\crcr\hidewidth\loONEsh@ft{-3ex}% \vbox to.2ex{\hbox{\char22}\vss}\hidewidth}}} \DeclareTextCommand{\c}{LO1}[1] {\leavevmode\setbox\z@\hbox{#1}\ifdim\ht\z@=1ex\accent24 #1% \else{\ooalign{\unhbox\z@\crcr\hidewidth\char24\hidewidth}}\fi} \DeclareTextCommand{\d}{LO1}[1]% \sh@ft{10} {{\o@lign{\relax#1\crcr\hidewidth\loONEsh@ft{-1ex}.\hidewidth}}} \DeclareTextSymbol{\AE}{LO1}{29} \DeclareTextSymbol{\OE}{LO1}{30} \DeclareTextSymbol{\O}{LO1}{31} \DeclareTextSymbol{\ae}{LO1}{26} \DeclareTextSymbol{\i}{LO1}{16} \DeclareTextSymbol{\j}{LO1}{17} \DeclareTextSymbol{\oe}{LO1}{27} \DeclareTextSymbol{\o}{LO1}{28} \DeclareTextSymbol{\ss}{LO1}{25} \DeclareTextSymbol{\textemdash}{LO1}{124} \DeclareTextSymbol{\textendash}{LO1}{123} \DeclareTextSymbol{\textexclamdown}{LO1}{60} \DeclareTextSymbol{\textquestiondown}{LO1}{62} \DeclareTextSymbol{\textquotedblleft}{LO1}{92} \DeclareTextSymbol{\textquotedblright}{LO1}{`\"} \DeclareTextSymbol{\textquoteleft}{LO1}{`\`} \DeclareTextSymbol{\textquoteright}{LO1}{`\'} %\DeclareTextCommand{\aa}{LO1} % {{\accent23a}} %-%%--> \newcommand{\aa}{\r a} \DeclareTextCommand{\L}{LO1} {\leavevmode\setbox\z@\hbox{L}\hb@xt@\wd\z@{\hss\@xxxii L}} \DeclareTextCommand{\l}{LO1} {{\@xxxii l}} %\DeclareTextCommand{\AA}{LO1} % {\leavevmode\setbox\z@\hbox{h}\dimen@\ht\z@\advance\dimen@-1ex% % \rlap{\raise.67\dimen@\hbox{\char23}}A} %-%%--> \newcommand{\AA}{\r A} %\DeclareTextCommand{\SS}{OT1} % {SS} %-%%--> only declared in `t1enc.def' for T1 \DeclareTextCommand{\textdollar}{LO1}{{% \ifdim \fontdimen\@ne\font >\z@ \slshape \else \upshape \fi \char`\$}} \DeclareTextCommand{\textsterling}{LO1}{{% \ifdim \fontdimen\@ne\font >\z@ \itshape \else \fontshape{ui}\selectfont \fi \char`\$}} %% %% ===== END -- OT1enc.def. %% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% ===== BEGIN -- MLTeX specific definitions: %% %% %%%%%%%%%% 1) MLTeX? %% %% Exists \charsubdef, i.e. are we using MLTeX? %% (The group construction keeps \charsubdef undefined.) %% \begingroup\expandafter\expandafter\expandafter\endgroup \expandafter\ifx\csname charsubdef\endcsname\relax \PackageWarningNoLine{mltex}% {Encoding `LO1' assumes the use of MLTeX,\MessageBreak but this TeX does not have the MLTeX extensions.\MessageBreak I will proceed as if `LO1' are equal to `OT1'}% \expandafter\endinput \fi %% %% %%%%%%%%%% 2) Additional declarations: %% %% Now declare %% - all character substitution definitions using \charsubdef %% (if not yet done) %% - all additional font encoding definitions %% %% ========== original MLTeX file "compatible.tex": %% %% \i \j \aa -- OT1enc.def %% \' \` \v \u \= \^ \. \H \~ \" \c -- OT1enc.def %% \^^_ \^^S \^^D -- removed %% %% %% ========== original MLTeX file "extdef.tex": %% %% \aa \AA \ae \AE \oe \OE \o \O \ss -- OT1enc.def %% copyright sterling ^^E -- removed %% %% \catcode, \lccode, \uccode assignments are not necessary %% or are done in `inputenc'. %% %% \charsubdef assignments are done only if not yet done %% %% %% `LO1enc.def' already loaded once, i.e. \charsubdef %% declarations already done? (Exists \@@charsubdef?) %% \begingroup\expandafter\expandafter\expandafter\endgroup \expandafter\ifx\csname @@charsubdef\endcsname\relax \newcommand{\ml@DCT}[3]{% % (a) assign \charsubdef using LO1/OT1 accent glyph codes \global\charsubdef #3=% % accent glyph: \ifnum`#1=`\`18 % \else\ifnum`#1=`\'19 % \else\ifnum`#1=`\^94 % \else\ifnum`#1=`\"127 % \else\ifnum`#1=`\~126 % \else\ifnum`#1=`\v20 % \else\ifnum`#1=`\u21 % \else\ifnum`#1=`\r23 % \else\ifnum`#1=`\c24 % \else\ifnum`#1=`\.95 % \else\ifnum`#1=`\H125 % \else 256 \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi % base character glyph: \ifx#2\i16% \else\ifnum`#2=`\i16% \else `#2\fi\fi\relax % (b) assign \lccode, if \lccode = 0 % (necessary for hyphenation!) \ifnum\lccode#3>\z@ \else \begingroup \count@=#3\relax % majuscule: 128-159 and 192-223 % minuscule: 160-191 and 224-255 % delta: +/- 32: \ifnum\count@<224 \ifnum\count@>191 \advance\count@ 32\relax \else \ifnum\count@<160 \advance\count@ 32\relax \fi\fi \fi \def\x##1{\endgroup \lccode#3=##1\relax}% \expandafter\x\expandafter{\number\count@}% \fi % (c) \DeclareTextComposite for font encoding LO1 \DeclareTextComposite{#1}{LO1}{#2}{#3}} \else \newcommand{\ml@DCT}[3]{% % (a) assign \lccode, if \lccode = 0 % (necessary for hyphenation!) \ifnum\lccode#3>\z@ \else \begingroup \count@=#3\relax % majuscule: 128-159 and 192-223 % minuscule: 160-191 and 224-255 % delta: +/- 32: \ifnum\count@<224 \ifnum\count@>191 \advance\count@ 32\relax \else \ifnum\count@<160 \advance\count@ 32\relax \fi\fi \fi \def\x##1{\endgroup \lccode#3=##1\relax}% \expandafter\x\expandafter{\number\count@}% \fi % (b) \DeclareTextComposite for font encoding LO1 \DeclareTextComposite{#1}{LO1}{#2}{#3}} \fi % % % ---------- `a 'a ^a ~a "a \u{a} \r{a} % \ml@DCT{\`}{A}{192} \ml@DCT{\'}{A}{193} \ml@DCT{\^}{A}{194} \ml@DCT{\~}{A}{195} \ml@DCT{\"}{A}{196} \ml@DCT{\`}{a}{224} \ml@DCT{\'}{a}{225} \ml@DCT{\^}{a}{226} \ml@DCT{\~}{a}{227} \ml@DCT{\"}{a}{228} % \ml@DCT{\u}{A}{128} \ml@DCT{\u}{a}{160} \ml@DCT{\r}{A}{197} \ml@DCT{\r}{a}{229} % % ---------- \c{c} 'c \v{c} % \ml@DCT{\c}{C}{199} \ml@DCT{\c}{c}{231} % \ml@DCT{\'}{C}{130} \ml@DCT{\v}{C}{131} \ml@DCT{\'}{c}{162} \ml@DCT{\v}{c}{163} % % ---------- \v{D} (\v{d} = d'!) % \ml@DCT{\v}{D}{132} % % ---------- `e 'e ^e "e \v{e} % \ml@DCT{\`}{E}{200} \ml@DCT{\'}{E}{201} \ml@DCT{\^}{E}{202} \ml@DCT{\"}{E}{203} \ml@DCT{\`}{e}{232} \ml@DCT{\'}{e}{233} \ml@DCT{\^}{e}{234} \ml@DCT{\"}{e}{235} % \ml@DCT{\v}{E}{133} \ml@DCT{\v}{e}{165} % % ---------- \u{g} % \ml@DCT{\u}{G}{135} \ml@DCT{\u}{g}{167} % % ---------- `i 'i ^i "i .i % \ml@DCT{\`}{I}{204} \ml@DCT{\'}{I}{205} \ml@DCT{\^}{I}{206} \ml@DCT{\"}{I}{207} \ml@DCT{\`}{i}{236} \ml@DCT{\`}{\i}{236} \ml@DCT{\'}{i}{237} \ml@DCT{\'}{\i}{237} \ml@DCT{\^}{i}{238} \ml@DCT{\^}{\i}{238} \ml@DCT{\"}{i}{239} \ml@DCT{\"}{\i}{239} % \ml@DCT{\.}{I}{157} \DeclareTextComposite{\.}{LO1}{i}{`\i} \DeclareTextComposite{\.}{LO1}{\i}{`\i} % % ---------- (\v{L} \v{l} => L' l'!) % % ---------- ~n 'n \v{n} % \ml@DCT{\~}{N}{209} \ml@DCT{\~}{n}{241} % \ml@DCT{\'}{N}{139} \ml@DCT{\v}{N}{140} \ml@DCT{\'}{n}{171} \ml@DCT{\v}{n}{172} % % ---------- `o 'o ^o ~o "o \H{o} % \ml@DCT{\`}{O}{210} \ml@DCT{\'}{O}{211} \ml@DCT{\^}{O}{212} \ml@DCT{\~}{O}{213} \ml@DCT{\"}{O}{214} \ml@DCT{\`}{o}{242} \ml@DCT{\'}{o}{243} \ml@DCT{\^}{o}{244} \ml@DCT{\~}{o}{245} \ml@DCT{\"}{o}{246} % \ml@DCT{\H}{O}{142} \ml@DCT{\H}{O}{174} % % ---------- 'r \v{r} % \ml@DCT{\'}{R}{143} \ml@DCT{\v}{R}{144} \ml@DCT{\'}{r}{175} \ml@DCT{\v}{r}{176} % % ---------- 's \v{s} \c{s} % \ml@DCT{\'}{S}{145} \ml@DCT{\v}{S}{146} \ml@DCT{\c}{S}{147} \ml@DCT{\'}{s}{177} \ml@DCT{\v}{s}{178} \ml@DCT{\c}{s}{179} % % ---------- \v{T} \c{t} (v{t} = t'!) % \ml@DCT{\v}{T}{148} \ml@DCT{\c}{T}{149} \ml@DCT{\c}{t}{181} % % ---------- `u 'u ^u "u \H{u} \r{u} % \ml@DCT{\`}{U}{217} \ml@DCT{\'}{U}{218} \ml@DCT{\^}{U}{219} \ml@DCT{\"}{U}{220} \ml@DCT{\`}{u}{249} \ml@DCT{\'}{u}{250} \ml@DCT{\^}{u}{251} \ml@DCT{\"}{u}{252} % \ml@DCT{\H}{U}{150} \ml@DCT{\r}{U}{151} \ml@DCT{\H}{u}{182} \ml@DCT{\r}{u}{183} % % ---------- 'y "y % \ml@DCT{\'}{Y}{221} \ml@DCT{\'}{y}{253} % \ml@DCT{\"}{Y}{152} \ml@DCT{\"}{y}{184} % % ---------- 'z \v{z} .z % \ml@DCT{\'}{Z}{153} \ml@DCT{\v}{Z}{154} \ml@DCT{\.}{Z}{155} \ml@DCT{\'}{z}{185} \ml@DCT{\v}{z}{186} \ml@DCT{\.}{z}{187} % % \let\ml@DCT=\undefined %% %% %% %%%%%%%%%% 3) Switch off \charsubdef %% \newcommand{\@@charsubdef}{} \let\@@charsubdef=\charsubdef % save primitive meaning %% \renewcommand{\charsubdef}{% \PackageWarning{mltex}% {\string\charsubdef\space declarations should not be\MessageBreak changed in the midst of a document.\MessageBreak I will proceed as if you haven't used\MessageBreak this declaration}% % Redefine \charsubdef [=] % to read all three : \begingroup \afterassignment\char@subdef \count@=} \newcommand{\char@subdef}{% \afterassignment\char@@subdef \count@} \newcommand{\char@@subdef}{% \afterassignment\endgroup \count@=} %% \endinput %% %% End of file `lo1enc.def'.