Now I have gotten the basic catcode 13 approach to work. Included is a
patch to texinfo.tex, and an ISO-8859-1.def file. I use the same
definitions as latex/misc/isolatin1.sty, except that I stripped some extra
trickery with symbols like @acute@A@acute@ which I didn't understand.

Regards,
/Niels

--- texinfo.tex-original        Fri Jun 30 20:28:15 2000
+++ texinfo.tex Tue Aug  8 22:03:24 2000
@@ -3,7 +3,7 @@
 % Load plain if necessary, i.e., if running under initex.
 \expandafter\ifx\csname fmtname\endcsname\relax\input plain\fi
 %
-\def\texinfoversion{1999-09-25.10}
+\def\texinfoversion{2000-08-08.22}
 %
 % Copyright (C) 1985, 86, 88, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99
 % Free Software Foundation, Inc.
@@ -5676,9 +5676,43 @@
 should work if nowhere else does.}
 
 
-% @documentencoding should change something in TeX eventually, most
-% likely, but for now just recognize it.
-\let\documentencoding = \comment
+% @documentencoding
+%
+% Support for charactersets that are supersets of ascii. 
+%
+% The included .def files contain \global\catcode and \gdef commands
+% making all non-ascii characters special, analogous to 
+% latex/misc/isolatin1.sty. This won't quite make the right thing
+% for hyphenation, but I haven't been able to figure out how to do it
+% right. 
+%
+% It would also be preferable to have the .def files use some special
+% macro, defined here, instead of using \catcode etc directly. That
+% way, the mechanism could be changed by editing a single macro
+% definition here, without touching the .def files.
+%
+% [EMAIL PROTECTED], August 2000
+
+\def\documentencoding{\parsearg\dodocumentencoding}
+
+\def\dodocumentencoding#1{%
+  \tex % read *.def file in plain TeX.
+  % Read the file if it exists.
+  \openin 1 #1.def
+  \ifeof1
+    \errhelp = \noencodinghelp
+    \errmessage{Cannot read charset definition file #1.def}%
+    \let\temp = \relax
+  \else
+    \def\temp{\input #1.def }%
+  \fi
+  \temp
+  \endgroup
+}
+\newhelp\noencodinghelp{The given encoding definition file cannot be found or
+is empty.  Maybe you need to install it?  In the current directory
+should work if nowhere else does.}
+
 
 
 % Page size parameters.

----- ISO-8859-1.def -----8<------
% Based on latex/misc/isolatin1.sty, in turn based on iso1ibm.tex

\global\catcode160=13  \gdef^^a0{{\bf?}}      % 160 '240, "a0
\global\catcode161=13  \gdef^^a1{!`}          % 161 '241, "a1
\global\catcode162=13  \gdef^^a2{{\bf?}}      % 162 '242, "a2
\global\catcode163=13  \gdef^^a3{\pounds{}}   % 163 '243, "a3
\global\catcode164=13  \gdef^^a4{{\bf?}}      % 164 '244, "a4
\global\catcode165=13  \gdef^^a5{{\bf?}}      % 165 '245, "a5
\global\catcode166=13  \gdef^^a6{$\vert$}        % 166 '246, "a6
\global\catcode167=13  \gdef^^a7{\S{}}        % 167 '247, "a7   \S{} ISO-1, 
\global\catcode168=13  \gdef^^a8{\"{ }}       % 168 '250, "a8
\global\catcode169=13  \gdef^^a9{\copyright{}}% 169, '251, "a9
\global\catcode170=13  \gdef^^aa{{\bf?}}      % 170 '252, "aa
% \global\catcode171=13                        % 171 '253, "ab
\global\catcode172=13  \gdef^^ac{{\bf?}}      % 172 '254, "ac
\global\catcode173=13  \gdef^^ad{{\bf?}}      % 173 '255 "ad
\global\catcode174=13  \gdef^^ae{{\bf?}}      % 174 '256, "ae
\global\catcode175=13  \gdef^^af{{\bf?}}      % 175 '257, "af
\global\catcode176=13  \gdef^^b0{{\bf?}}      % 176 '260, "b0  ?? \No
\global\catcode177=13  \gdef^^b1{$\pm$}       % 177 '261, "b1  ISO-1 plus-minus  
\global\catcode178=13  \gdef^^b2{${}^2$}      % 178, '262, "b2
\global\catcode179=13  \gdef^^b3{${}^3$}      % 179, '263, "b3
\global\catcode180=13  \gdef^^b4{\'{ }}       % 180, '264, "b4
\global\catcode181=13  \gdef^^b5{{\bf?}}      % 181, '265, "b5
\global\catcode182=13  \gdef^^b6{\P{}}        % 182, '266, "b6
\global\catcode183=13  \gdef^^b7{$\cdot$}     % 183, '267, "b7
\global\catcode184=13  \gdef^^b8{\c{ }}       % 184, '270, "b8
\global\catcode185=13  \gdef^^b9{${}^1$}      % 185, '271, "b9
\global\catcode186=13  \gdef^^ba{{\bf?}}      % 186, '272, "ba
% \global\catcode187=13                        % 187, '273, "bb 
\global\catcode188=13  \gdef^^bc{$\frac 1 4$}      % 188, '274, "bc
\global\catcode189=13  \gdef^^bd{$\frac 1 2$}      % 189, '275, "bd
\global\catcode190=13  \gdef^^be{$\frac 3 4$}      % 190, '276, "be
\global\catcode191=13  \gdef^^bf{?`}          % 191, '277, "bf
\global\catcode192=13  \gdef^^c0{\`A}         % 192, '300, "c0
\global\catcode193=13  \gdef^^c1{\'A}         % 193, '301, "c1
\global\catcode194=13  \gdef^^c2{\^A}         %  194, '302, "c2
\global\catcode195=13  \gdef^^c3{\~A}     % 195, '303, "c3
\global\catcode196=13  \gdef^^c4{\"A}     % 196, '304, "c4
\global\catcode197=13  \gdef^^c5{\AA{}}   % 197, '305, "c5
\global\catcode198=13  \gdef^^c6{\AE{}}    % 198, '306, "c6
\global\catcode199=13  \gdef^^c7{\c{C}}   % 199, '307, "c7
\global\catcode200=13  \gdef^^c8{\`E}     % 200, '310, "c8
\global\catcode201=13  \gdef^^c9{\'E}     % 201, '311, "c9
\global\catcode202=13  \gdef^^ca{\^E}     % 202, '312, "ca
\global\catcode203=13  \gdef^^cb{{\"E}}   % 203, '313, "cb
\global\catcode204=13  \gdef^^cc{\`I}     % 204, '314, "cc
\global\catcode205=13  \gdef^^cd{\'I}     % 205, '315, "cd
\global\catcode206=13  \gdef^^ce{\^I}     % 206, '316, "ce
\global\catcode207=13  \gdef^^cf{{\"I}}   % 207, '317, "cf
\global\catcode208=13  \gdef^^d0{\rlap{\raise0.3ex\hbox{--}}D}      % 208, '320, "d0
% \global\catcode209=13  \gdef^^d1{�}       % 209, '321, "d1
\global\catcode210=13  \gdef^^d2{\`O}     % 210, '322, "d2
\global\catcode211=13  \gdef^^d3{\'O}     % 211, '323, "d3
\global\catcode212=13  \gdef^^d4{\^O}     % 212, '324, "d4
\global\catcode213=13  \gdef^^d5{\~O}     % 213, '325, "d5
\global\catcode214=13  \gdef^^d6{\"O}    % 214, '326, "d6
\global\catcode215=13  \gdef^^d7{$\times$}% 215, '327, "d7
\global\catcode216=13  \gdef^^d8{\O{}}    % 216, '330, "d8
\global\catcode217=13  \gdef^^d9{\`U}     % 217, '331, "d9
\global\catcode218=13  \gdef^^da{\'U}     % 218, '332, "da
\global\catcode219=13  \gdef^^db{\^U}     % 219, '333, "db
\global\catcode220=13  \gdef^^dc{\"U}     % 220, '334, "dc
\global\catcode221=13  \gdef^^dd{{\'Y}}   % 221, '335, "dd
\global\catcode222=13  \gdef^^de{\lower 0.7ex \hbox{l}\hskip-1ex\relax b} % 222, '336, 
"de
\global\catcode223=13  \gdef^^df{\ss{}}   % 223, '337, "df
\global\catcode224=13  \gdef^^e0{\`a}     % 224, '340, "e0
\global\catcode225=13  \gdef^^e1{\'a}     % 225, '341, "e1
\global\catcode226=13  \gdef^^e2{\^a}     % 226, '342, "e2
\global\catcode227=13  \gdef^^e3{\~a}     % 227, '343, "e3
\global\catcode228=13  \gdef^^e4{\"a}     % 228, '344, "e4
\global\catcode229=13  \gdef^^e5{\aa{}}   % 229, '345, "e5
\global\catcode230=13  \gdef^^e6{\ae{}}   % 230, '346, "e6
\global\catcode231=13  \gdef^^e7{\c{c}}   % 231, '347, "e7
\global\catcode232=13  \gdef^^e8{\`e}     % 232, '350, "e8
\global\catcode233=13  \gdef^^e9{\'e}     % 233, '351, "e9
\global\catcode234=13  \gdef^^ea{\^e}     % 234, '352, "ea
\global\catcode235=13  \gdef^^eb{\"e}     % 235, '353, "eb
\global\catcode236=13  \gdef^^ec{\`{\i}}  % 236, '354, "ec
\global\catcode237=13  \gdef^^ed{\'{\i}}  % 237, '355, "ed
\global\catcode238=13  \gdef^^ee{\^{\i}}  % 238, '356, "ee
\global\catcode239=13  \gdef^^ef{\"{\i}}  % 239, '357, "ef
\global\catcode240=13  \gdef^^f0{$\partial$}      % 240, '360, "f0
\global\catcode241=13  \gdef^^f1{\~n}     % 241, '361, "f1
\global\catcode242=13  \gdef^^f2{\`o}     % 242, '362, "f2
\global\catcode243=13  \gdef^^f3{\'o}     % 243, '363, "f3
\global\catcode244=13  \gdef^^f4{\^o}     % 244, '364, "f4
\global\catcode245=13  \gdef^^f5{\~o}     % 245, '365, "f5
\global\catcode246=13  \gdef^^f6{\"o}     % 246, '366, "f6
\global\catcode247=13  \gdef^^f7{$\div$}   % 247, '367, "f7
\global\catcode248=13  \gdef^^f8{\o{}}    % 248, '370, "f8
\global\catcode249=13  \gdef^^f9{\`u}     % 249, '371, "f9
\global\catcode250=13  \gdef^^fa{\'u}     % 250, '372, "fa
\global\catcode251=13  \gdef^^fb{\^u}     % 251, '373, "fb
\global\catcode252=13  \gdef^^fc{\"u}     % 252, '374, "fc
\global\catcode253=13  \gdef^^fd{\'y}     % 253, '375, "fd
\global\catcode254=13  \gdef^^fe{\lower 0.8ex\hbox{l}\hskip-1ex\relax b} % 254, '376, 
"fe
\global\catcode255=13  \gdef^^ff{\"y}     % 255, '377, "ff

Reply via email to