% Load plain if necessary, i.e., if running under initex.
\expandafter\ifx\csname fmtname\endcsname\relax\input plain\fi
%
-\def\texinfoversion{2006-08-26.17}
+\def\texinfoversion{2006-12-30.10}
%
% Copyright (C) 1985, 1986, 1988, 1990, 1991, 1992, 1993, 1994, 1995,
% 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free
\everyjob{\message{[Texinfo version \texinfoversion]}%
\catcode`+=\active \catcode`\_=\active}
-\message{Basics,}
+
\chardef\other=12
% We never want plain's \outer definition of \+ in Texinfo.
\chardef\spacecat = 10
\def\spaceisspace{\catcode`\ =\spacecat}
+% sometimes characters are active, so we need control sequences.
+\chardef\colonChar = `\:
+\chardef\commaChar = `\,
+\chardef\dashChar = `\-
+\chardef\dotChar = `\.
+\chardef\exclamChar= `\!
+\chardef\lquoteChar= `\`
+\chardef\questChar = `\?
+\chardef\rquoteChar= `\'
+\chardef\semiChar = `\;
+\chardef\underChar = `\_
+
% Ignore a token.
%
\def\gobble#1{}
% To handle parens, we must adopt a different approach, since parens are
% not active characters. hyperref.dtx (which has the same problem as
-% us) handles it with this amazing macro to replace tokens. I've
-% tinkered with it a little for texinfo, but it's definitely from there.
+% us) handles it with this amazing macro to replace tokens, with minor
+% changes for Texinfo. It is included here under the GPL by permission
+% from the author, Heiko Oberdiek.
%
% #1 is the tokens to replace.
% #2 is the replacement.
\HyPsdSubst{)}{\realbackslash)}{#1}%
}
+\newhelp\nopdfimagehelp{Texinfo supports .png, .jpg, .jpeg, and .pdf images
+with PDF output, and none of those formats could be found. (.eps cannot
+be supported due to the design of the PDF format; use regular TeX (DVI
+output) for that.)}
+
\ifpdf
\input pdfcolor
- \pdfcatalog{/PageMode /UseOutlines}%
+ \pdfcatalog{/PageMode /UseOutlines}
+ %
% #1 is image name, #2 width (might be empty/whitespace), #3 height (ditto).
\def\dopdfimage#1#2#3{%
\def\imagewidth{#2}\setbox0 = \hbox{\ignorespaces #2}%
\def\imageheight{#3}\setbox2 = \hbox{\ignorespaces #3}%
+ %
+ % pdftex (and the PDF format) support .png, .jpg, .pdf (among
+ % others). Let's try in that order.
+ \let\pdfimgext=\empty
+ \begingroup
+ \openin 1 #1.png \ifeof 1
+ \openin 1 #1.jpg \ifeof 1
+ \openin 1 #1.jpeg \ifeof 1
+ \openin 1 #1.JPG \ifeof 1
+ \openin 1 #1.pdf \ifeof 1
+ \errhelp = \nopdfimagehelp
+ \errmessage{Could not find image file #1 for pdf}%
+ \else \gdef\pdfimgext{pdf}%
+ \fi
+ \else \gdef\pdfimgext{JPG}%
+ \fi
+ \else \gdef\pdfimgext{jpeg}%
+ \fi
+ \else \gdef\pdfimgext{jpg}%
+ \fi
+ \else \gdef\pdfimgext{png}%
+ \fi
+ \closein 1
+ \endgroup
+ %
% without \immediate, pdftex seg faults when the same image is
% included twice. (Version 3.14159-pre-1.0-unofficial-20010704.)
\ifnum\pdftexversion < 14
\ifdim \wd0 >0pt width \imagewidth \fi
\ifdim \wd2 >0pt height \imageheight \fi
\ifnum\pdftexversion<13
- #1.pdf%
+ #1.\pdfimgext
\else
- {#1.pdf}%
+ {#1.\pdfimgext}%
\fi
\ifnum\pdftexversion < 14 \else
\pdfrefximage \pdflastximage
\fi}
+ %
\def\pdfmkdest#1{{%
% We have to set dummies so commands such as @code, and characters
% such as \, aren't expanded when present in a section title.
- \atdummies
+ \indexnofonts
+ \turnoffactive
\activebackslashdouble
\def\pdfdestname{#1}%
\backslashparens\pdfdestname
\pdfdest name{\pdfdestname} xyz%
- }}%
+ }}
%
% used to mark target names; must be expandable.
- \def\pdfmkpgn#1{#1}%
+ \def\pdfmkpgn#1{#1}
%
\let\linkcolor = \Blue % was Cyan, but that seems light?
\def\endlink{\Black\pdfendlink}
+ %
% Adding outlines to PDF; macros for calculating structure of outlines
% come from Petr Olsak
\def\expnumber#1{\expandafter\ifx\csname#1\endcsname\relax 0%
% Can't use plain's \frenchspacing because it uses the `\x notation, and
% sometimes \x has an active definition that messes things up.
%
-\chardef\colonChar = `\:
-\chardef\commaChar = `\,
-\chardef\dotChar = `\.
-\chardef\exclamChar= `\!
-\chardef\questChar = `\?
-\chardef\semiChar = `\;
-%
\catcode`@=11
\def\plainfrenchspacing{%
\sfcode\dotChar =\@m \sfcode\questChar=\@m \sfcode\exclamChar=\@m
\hbox{\raise0.4pt\hbox{\vphantom{\angleleft}}#1}}%
\kern-0.4pt\hrule}%
\kern-.06em\raise0.4pt\hbox{\angleright}}}}
+\def\key #1{{\nohyphenation \uppercase{#1}}\null}
% The old definition, with no lozenge:
%\def\key #1{{\ttsl \nohyphenation \uppercase{#1}}\null}
\def\ctrl #1{{\tt \rawbackslash \hat}#1}
% and arrange explicitly to hyphenate at a dash.
% -- rms.
{
- \catcode`\-=\active \catcode`\_=\active \catcode`\'=\active
+ \catcode`\-=\active \catcode`\_=\active
+ \catcode`\'=\active \catcode`\`=\active
%
\global\def\code{\begingroup
- \catcode`\-=\active \catcode`\_=\active \catcode`\'=\active
- \let'\singlequotechar
+ \catcode\rquoteChar=\active \catcode\lquoteChar=\active
+ \let'\codequoteright \let`\codequoteleft
+ %
+ \catcode\dashChar=\active \catcode\underChar=\active
\ifallowcodebreaks
\let-\codedash
\let_\codeunder
\let\SETdispenvsize\relax
\def\setnormaldispenv{%
\ifx\SETdispenvsize\smallword
+ % end paragraph for sake of leading, in case document has no blank
+ % line. This is redundant with what happens in \aboveenvbreak, but
+ % we need to do it before changing the fonts, and it's inconvenient
+ % to change the fonts afterward.
+ \ifnum \lastpenalty=10000 \else \endgraf \fi
\smallexamplefonts \rm
\fi
}
\def\setsmalldispenv{%
\ifx\SETdispenvsize\nosmallword
\else
+ \ifnum \lastpenalty=10000 \else \endgraf \fi
\smallexamplefonts \rm
\fi
}
% evince), the lilypond developers report. xpdf does work with the
% regular 0x27.
%
-\def\singlequotechar{%
+\def\codequoteright{%
\expandafter\ifx\csname SETcodequoteundirected\endcsname\relax
'%
\else
\fi
}
%
+% and a similar option for the left quote char vs. a grave accent.
+% Modern fonts display ASCII 0x60 as a grave accent, so some people like
+% the code environments to do likewise.
+%
+\def\codequoteleft{%
+ \expandafter\ifx\csname SETcodequotebacktick\endcsname\relax
+ `%
+ \else
+ \char'22
+ \fi
+}
+%
\begingroup
\catcode`\^^I=\active
\gdef\tabexpand{%
}%
}
\catcode`\'=\active
- \gdef\quoteexpand{%
- \catcode`\'=\active
- \def'{\singlequotechar}
- }%
+ \gdef\rquoteexpand{\catcode\rquoteChar=\active \def'{\codequoteright}}%
+ %
+ \catcode`\`=\active
+ \gdef\lquoteexpand{\catcode\lquoteChar=\active \def`{\codequoteleft}}%
+ %
+ \gdef\quoteexpand{\rquoteexpand \lquoteexpand}%
\endgroup
-%
+
+% start the verbatim environment.
\def\setupverbatim{%
\let\nonarrowing = t%
\nonfillstart
\endgroup
}
+
\message{defuns,}
% @defun etc.
\message{cross references,}
\newwrite\auxfile
-
\newif\ifhavexrefs % True if xref values are known.
\newif\ifwarnedxrefs % True if we warned once that they aren't known.
\ifpdf
\leavevmode
\getfilename{#4}%
- {\turnoffactive
+ {\indexnofonts
+ \turnoffactive
% See comments at \activebackslashdouble.
{\activebackslashdouble \xdef\pdfxrefdest{#1}%
\backslashparens\pdfxrefdest}%
% collisions). But if this is a float type, we have more work to do.
%
\def\xrdef#1#2{%
- \expandafter\gdef\csname XR#1\endcsname{#2}% remember this xref value.
+ {% The node name might contain 8-bit characters, which in our current
+ % implementation are changed to commands like @'e. Don't let these
+ % mess up the control sequence name.
+ \indexnofonts
+ \turnoffactive
+ \xdef\safexrefname{#1}%
+ }%
+ %
+ \expandafter\gdef\csname XR\safexrefname\endcsname{#2}% remember this xref
%
% Was that xref control sequence that we just defined for a float?
- \expandafter\iffloat\csname XR#1\endcsname
+ \expandafter\iffloat\csname XR\safexrefname\endcsname
% it was a float, and we have the (safe) float type in \iffloattype.
\expandafter\let\expandafter\floatlist
\csname floatlist\iffloattype\endcsname
%
% Remember this xref in the control sequence \floatlistFLOATTYPE,
% for later use in \listoffloats.
- \expandafter\xdef\csname floatlist\iffloattype\endcsname{\the\toks0{#1}}%
+ \expandafter\xdef\csname floatlist\iffloattype\endcsname{\the\toks0
+ {\safexrefname}}%
\fi
}
\input\jobname.#1
\endgroup}
+
\message{insertions,}
% including footnotes.
\writeentry
}}
+
\message{localization,}
-% and i18n.
% @documentlanguage is usually given very early, just after
% @setfilename. If done too late, it may not override everything
is empty. Maybe you need to install it? In the current directory
should work if nowhere else does.}
+% Set the catcode of characters 128 through 255 to the specified number.
+%
+\def\setnonasciicharscatcode#1{%
+ \count255=128
+ \loop\ifnum\count255<256
+ \global\catcode\count255=#1
+ \advance\count255 by 1
+ \repeat
+}
-% @documentencoding should change something in TeX eventually, most
-% likely, but for now just recognize it.
-\let\documentencoding = \comment
+% @documentencoding sets the definition of non-ASCII characters
+% according to the specified encoding.
+%
+\parseargdef\documentencoding{%
+ % Encoding being declared for the document.
+ \def\declaredencoding{\csname #1.enc\endcsname}%
+ %
+ % Supported encodings: names converted to tokens in order to be able
+ % to compare them with \ifx.
+ \def\ascii{\csname US-ASCII.enc\endcsname}%
+ \def\latnine{\csname ISO-8859-15.enc\endcsname}%
+ \def\latone{\csname ISO-8859-1.enc\endcsname}%
+ \def\lattwo{\csname ISO-8859-2.enc\endcsname}%
+ \def\utfeight{\csname UTF-8.enc\endcsname}%
+ %
+ \ifx \declaredencoding \ascii
+ \asciichardefs
+ %
+ \else \ifx \declaredencoding \lattwo
+ \setnonasciicharscatcode\active
+ \lattwochardefs
+ %
+ \else \ifx \declaredencoding \latone
+ \setnonasciicharscatcode\active
+ \latonechardefs
+ %
+ \else \ifx \declaredencoding \latnine
+ \setnonasciicharscatcode\active
+ \latninechardefs
+ %
+ \else \ifx \declaredencoding \utfeight
+ \setnonasciicharscatcode\active
+ \utfeightchardefs
+ %
+ \else
+ \message{Unknown document encoding #1, ignoring.}%
+ %
+ \fi % utfeight
+ \fi % latnine
+ \fi % latone
+ \fi % lattwo
+ \fi % ascii
+}
+% A message to be logged when using a character that isn't available
+% the default font encoding (OT1).
+%
+\def\missingcharmsg#1{\message{Character missing in OT1 encoding: #1.}}
+
+% Take account of \c (plain) vs. \, (Texinfo) difference.
+\def\cedilla#1{\ifx\c\ptexc\c{#1}\else\,{#1}\fi}
+
+% First, make active non-ASCII characters in order for them to be
+% correctly categorized when TeX reads the replacement text of
+% macros containing the character definitions.
+\setnonasciicharscatcode\active
+%
+% Latin1 (ISO-8859-1) character definitions.
+\def\latonechardefs{%
+ \gdef^^a0{~}
+ \gdef^^a1{\exclamdown}
+ \gdef^^a2{\missingcharmsg{CENT SIGN}}
+ \gdef^^a3{{\pounds}}
+ \gdef^^a4{\missingcharmsg{CURRENCY SIGN}}
+ \gdef^^a5{\missingcharmsg{YEN SIGN}}
+ \gdef^^a6{\missingcharmsg{BROKEN BAR}}
+ \gdef^^a7{\S}
+ \gdef^^a8{\"{}}
+ \gdef^^a9{\copyright}
+ \gdef^^aa{\ordf}
+ \gdef^^ab{\missingcharmsg{LEFT-POINTING DOUBLE ANGLE QUOTATION MARK}}
+ \gdef^^ac{$\lnot$}
+ \gdef^^ad{\-}
+ \gdef^^ae{\registeredsymbol}
+ \gdef^^af{\={}}
+ %
+ \gdef^^b0{\textdegree}
+ \gdef^^b1{$\pm$}
+ \gdef^^b2{$^2$}
+ \gdef^^b3{$^3$}
+ \gdef^^b4{\'{}}
+ \gdef^^b5{$\mu$}
+ \gdef^^b6{\P}
+ %
+ \gdef^^b7{$^.$}
+ \gdef^^b8{\cedilla\ }
+ \gdef^^b9{$^1$}
+ \gdef^^ba{\ordm}
+ %
+ \gdef^^bb{\missingcharmsg{RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK}}
+ \gdef^^bc{$1\over4$}
+ \gdef^^bd{$1\over2$}
+ \gdef^^be{$3\over4$}
+ \gdef^^bf{\questiondown}
+ %
+ \gdef^^c0{\`A}
+ \gdef^^c1{\'A}
+ \gdef^^c2{\^A}
+ \gdef^^c3{\~A}
+ \gdef^^c4{\"A}
+ \gdef^^c5{\ringaccent A}
+ \gdef^^c6{\AE}
+ \gdef^^c7{\cedilla C}
+ \gdef^^c8{\`E}
+ \gdef^^c9{\'E}
+ \gdef^^ca{\^E}
+ \gdef^^cb{\"E}
+ \gdef^^cc{\`I}
+ \gdef^^cd{\'I}
+ \gdef^^ce{\^I}
+ \gdef^^cf{\"I}
+ %
+ \gdef^^d0{\missingcharmsg{LATIN CAPITAL LETTER ETH}}
+ \gdef^^d1{\~N}
+ \gdef^^d2{\`O}
+ \gdef^^d3{\'O}
+ \gdef^^d4{\^O}
+ \gdef^^d5{\~O}
+ \gdef^^d6{\"O}
+ \gdef^^d7{$\times$}
+ \gdef^^d8{\O}
+ \gdef^^d9{\`U}
+ \gdef^^da{\'U}
+ \gdef^^db{\^U}
+ \gdef^^dc{\"U}
+ \gdef^^dd{\'Y}
+ \gdef^^de{\missingcharmsg{LATIN CAPITAL LETTER THORN}}
+ \gdef^^df{\ss}
+ %
+ \gdef^^e0{\`a}
+ \gdef^^e1{\'a}
+ \gdef^^e2{\^a}
+ \gdef^^e3{\~a}
+ \gdef^^e4{\"a}
+ \gdef^^e5{\ringaccent a}
+ \gdef^^e6{\ae}
+ \gdef^^e7{\cedilla c}
+ \gdef^^e8{\`e}
+ \gdef^^e9{\'e}
+ \gdef^^ea{\^e}
+ \gdef^^eb{\"e}
+ \gdef^^ec{\`{\dotless i}}
+ \gdef^^ed{\'{\dotless i}}
+ \gdef^^ee{\^{\dotless i}}
+ \gdef^^ef{\"{\dotless i}}
+ %
+ \gdef^^f0{\missingcharmsg{LATIN SMALL LETTER ETH}}
+ \gdef^^f1{\~n}
+ \gdef^^f2{\`o}
+ \gdef^^f3{\'o}
+ \gdef^^f4{\^o}
+ \gdef^^f5{\~o}
+ \gdef^^f6{\"o}
+ \gdef^^f7{$\div$}
+ \gdef^^f8{\o}
+ \gdef^^f9{\`u}
+ \gdef^^fa{\'u}
+ \gdef^^fb{\^u}
+ \gdef^^fc{\"u}
+ \gdef^^fd{\'y}
+ \gdef^^fe{\missingcharmsg{LATIN SMALL LETTER THORN}}
+ \gdef^^ff{\"y}
+}
+
+% Latin9 (ISO-8859-15) encoding character definitions.
+\def\latninechardefs{%
+ % Encoding is almost identical to Latin1.
+ \latonechardefs
+ %
+ \gdef^^a4{\euro}
+ \gdef^^a6{\v S}
+ \gdef^^a8{\v s}
+ \gdef^^b4{\v Z}
+ \gdef^^b8{\v z}
+ \gdef^^bc{\OE}
+ \gdef^^bd{\oe}
+ \gdef^^be{\"Y}
+}
+
+% Latin2 (ISO-8859-2) character definitions.
+\def\lattwochardefs{%
+ \gdef^^a0{~}
+ \gdef^^a1{\missingcharmsg{LATIN CAPITAL LETTER A WITH OGONEK}}
+ \gdef^^a2{\u{}}
+ \gdef^^a3{\L}
+ \gdef^^a4{\missingcharmsg{CURRENCY SIGN}}
+ \gdef^^a5{\v L}
+ \gdef^^a6{\'S}
+ \gdef^^a7{\S}
+ \gdef^^a8{\"{}}
+ \gdef^^a9{\v S}
+ \gdef^^aa{\cedilla S}
+ \gdef^^ab{\v T}
+ \gdef^^ac{\'Z}
+ \gdef^^ad{\-}
+ \gdef^^ae{\v Z}
+ \gdef^^af{\dotaccent Z}
+ %
+ \gdef^^b0{\textdegree}
+ \gdef^^b1{\missingcharmsg{LATIN SMALL LETTER A WITH OGONEK}}
+ \gdef^^b2{\missingcharmsg{OGONEK}}
+ \gdef^^b3{\l}
+ \gdef^^b4{\'{}}
+ \gdef^^b5{\v l}
+ \gdef^^b6{\'s}
+ \gdef^^b7{\v{}}
+ \gdef^^b8{\cedilla\ }
+ \gdef^^b9{\v s}
+ \gdef^^ba{\cedilla s}
+ \gdef^^bb{\v t}
+ \gdef^^bc{\'z}
+ \gdef^^bd{\H{}}
+ \gdef^^be{\v z}
+ \gdef^^bf{\dotaccent z}
+ %
+ \gdef^^c0{\'R}
+ \gdef^^c1{\'A}
+ \gdef^^c2{\^A}
+ \gdef^^c3{\u A}
+ \gdef^^c4{\"A}
+ \gdef^^c5{\'L}
+ \gdef^^c6{\'C}
+ \gdef^^c7{\cedilla C}
+ \gdef^^c8{\v C}
+ \gdef^^c9{\'E}
+ \gdef^^ca{\missingcharmsg{LATIN CAPITAL LETTER E WITH OGONEK}}
+ \gdef^^cb{\"E}
+ \gdef^^cc{\v E}
+ \gdef^^cd{\'I}
+ \gdef^^ce{\^I}
+ \gdef^^cf{\v D}
+ %
+ \gdef^^d0{\missingcharmsg{LATIN CAPITAL LETTER D WITH STROKE}}
+ \gdef^^d1{\'N}
+ \gdef^^d2{\v N}
+ \gdef^^d3{\'O}
+ \gdef^^d4{\^O}
+ \gdef^^d5{\H O}
+ \gdef^^d6{\"O}
+ \gdef^^d7{$\times$}
+ \gdef^^d8{\v R}
+ \gdef^^d9{\ringaccent U}
+ \gdef^^da{\'U}
+ \gdef^^db{\H U}
+ \gdef^^dc{\"U}
+ \gdef^^dd{\'Y}
+ \gdef^^de{\cedilla T}
+ \gdef^^df{\ss}
+ %
+ \gdef^^e0{\'r}
+ \gdef^^e1{\'a}
+ \gdef^^e2{\^a}
+ \gdef^^e3{\u a}
+ \gdef^^e4{\"a}
+ \gdef^^e5{\'l}
+ \gdef^^e6{\'c}
+ \gdef^^e7{\cedilla c}
+ \gdef^^e8{\v c}
+ \gdef^^e9{\'e}
+ \gdef^^ea{\missingcharmsg{LATIN SMALL LETTER E WITH OGONEK}}
+ \gdef^^eb{\"e}
+ \gdef^^ec{\v e}
+ \gdef^^ed{\'\i}
+ \gdef^^ee{\^\i}
+ \gdef^^ef{\v d}
+ %
+ \gdef^^f0{\missingcharmsg{LATIN SMALL LETTER D WITH STROKE}}
+ \gdef^^f1{\'n}
+ \gdef^^f2{\v n}
+ \gdef^^f3{\'o}
+ \gdef^^f4{\^o}
+ \gdef^^f5{\H o}
+ \gdef^^f6{\"o}
+ \gdef^^f7{$\div$}
+ \gdef^^f8{\v r}
+ \gdef^^f9{\ringaccent u}
+ \gdef^^fa{\'u}
+ \gdef^^fb{\H u}
+ \gdef^^fc{\"u}
+ \gdef^^fd{\'y}
+ \gdef^^fe{\cedilla t}
+ \gdef^^ff{\dotaccent{}}
+}
+
+% UTF-8 character definitions.
+%
+% This code to support UTF-8 is based on LaTeX's utf8.def, with some
+% changes for Texinfo conventions. It is included here under the GPL by
+% permission from Frank Mittelbach and the LaTeX team.
+%
+\newcount\countUTFx
+\newcount\countUTFy
+\newcount\countUTFz
-% Page size parameters.
+\gdef\UTFviiiTwoOctets#1#2{\expandafter
+ \UTFviiiDefined\csname u8:#1\string #2\endcsname}
%
+\gdef\UTFviiiThreeOctets#1#2#3{\expandafter
+ \UTFviiiDefined\csname u8:#1\string #2\string #3\endcsname}
+%
+\gdef\UTFviiiFourOctets#1#2#3#4{\expandafter
+ \UTFviiiDefined\csname u8:#1\string #2\string #3\string #4\endcsname}
+
+\gdef\UTFviiiDefined#1{%
+ \ifx #1\relax
+ \message{\linenumber Unicode char \string #1 not defined for Texinfo}%
+ \else
+ \expandafter #1%
+ \fi
+}
+
+\begingroup
+ \catcode`\~13
+ \catcode`\"12
+
+ \def\UTFviiiLoop{%
+ \global\catcode\countUTFx\active
+ \uccode`\~\countUTFx
+ \uppercase\expandafter{\UTFviiiTmp}%
+ \advance\countUTFx by 1
+ \ifnum\countUTFx < \countUTFy
+ \expandafter\UTFviiiLoop
+ \fi}
+
+ \countUTFx = "C2
+ \countUTFy = "E0
+ \def\UTFviiiTmp{%
+ \xdef~{\noexpand\UTFviiiTwoOctets\string~}}
+ \UTFviiiLoop
+
+ \countUTFx = "E0
+ \countUTFy = "F0
+ \def\UTFviiiTmp{%
+ \xdef~{\noexpand\UTFviiiThreeOctets\string~}}
+ \UTFviiiLoop
+
+ \countUTFx = "F0
+ \countUTFy = "F4
+ \def\UTFviiiTmp{%
+ \xdef~{\noexpand\UTFviiiFourOctets\string~}}
+ \UTFviiiLoop
+\endgroup
+
+\begingroup
+ \catcode`\"=12
+ \catcode`\<=12
+ \catcode`\.=12
+ \catcode`\,=12
+ \catcode`\;=12
+ \catcode`\!=12
+ \catcode`\~=13
+
+ \gdef\DeclareUnicodeCharacter#1#2{%
+ \countUTFz = "#1\relax
+ \wlog{\space\space defining Unicode char U+#1 (decimal \the\countUTFz)}%
+ \begingroup
+ \parseXMLCharref
+ \def\UTFviiiTwoOctets##1##2{%
+ \csname u8:##1\string ##2\endcsname}%
+ \def\UTFviiiThreeOctets##1##2##3{%
+ \csname u8:##1\string ##2\string ##3\endcsname}%
+ \def\UTFviiiFourOctets##1##2##3##4{%
+ \csname u8:##1\string ##2\string ##3\string ##4\endcsname}%
+ \expandafter\expandafter\expandafter\expandafter
+ \expandafter\expandafter\expandafter
+ \gdef\UTFviiiTmp{#2}%
+ \endgroup}
+
+ \gdef\parseXMLCharref{%
+ \ifnum\countUTFz < "A0\relax
+ \errhelp = \EMsimple
+ \errmessage{Cannot define Unicode char value < 00A0}%
+ \else\ifnum\countUTFz < "800\relax
+ \parseUTFviiiA,%
+ \parseUTFviiiB C\UTFviiiTwoOctets.,%
+ \else\ifnum\countUTFz < "10000\relax
+ \parseUTFviiiA;%
+ \parseUTFviiiA,%
+ \parseUTFviiiB E\UTFviiiThreeOctets.{,;}%
+ \else
+ \parseUTFviiiA;%
+ \parseUTFviiiA,%
+ \parseUTFviiiA!%
+ \parseUTFviiiB F\UTFviiiFourOctets.{!,;}%
+ \fi\fi\fi
+ }
+
+ \gdef\parseUTFviiiA#1{%
+ \countUTFx = \countUTFz
+ \divide\countUTFz by 64
+ \countUTFy = \countUTFz
+ \multiply\countUTFz by 64
+ \advance\countUTFx by -\countUTFz
+ \advance\countUTFx by 128
+ \uccode `#1\countUTFx
+ \countUTFz = \countUTFy}
+
+ \gdef\parseUTFviiiB#1#2#3#4{%
+ \advance\countUTFz by "#10\relax
+ \uccode `#3\countUTFz
+ \uppercase{\gdef\UTFviiiTmp{#2#3#4}}}
+\endgroup
+
+\def\utfeightchardefs{%
+
+\DeclareUnicodeCharacter{00A0}{\tie}
+\DeclareUnicodeCharacter{00A1}{hello? \exclamdown}
+\DeclareUnicodeCharacter{00A3}{\pounds}
+\DeclareUnicodeCharacter{00A8}{\"{ }}
+\DeclareUnicodeCharacter{00A9}{\copyright}
+\DeclareUnicodeCharacter{00AA}{\ordf}
+\DeclareUnicodeCharacter{00AD}{\-}
+\DeclareUnicodeCharacter{00AE}{\registeredsymbol}
+\DeclareUnicodeCharacter{00AF}{\={ }}
+
+\DeclareUnicodeCharacter{00B0}{\ringaccent{ }}
+\DeclareUnicodeCharacter{00B4}{\'{ }}
+\DeclareUnicodeCharacter{00B8}{\cedilla{ }}
+\DeclareUnicodeCharacter{00BA}{\ordm}
+\DeclareUnicodeCharacter{00BF}{\questiondown}
+
+\DeclareUnicodeCharacter{00C0}{\`A}
+\DeclareUnicodeCharacter{00C1}{\'A}
+\DeclareUnicodeCharacter{00C2}{\^A}
+\DeclareUnicodeCharacter{00C3}{\~A}
+\DeclareUnicodeCharacter{00C4}{\"A}
+\DeclareUnicodeCharacter{00C5}{\AA}
+\DeclareUnicodeCharacter{00C6}{\AE}
+\DeclareUnicodeCharacter{00C7}{\cedilla{C}}
+\DeclareUnicodeCharacter{00C8}{\`E}
+\DeclareUnicodeCharacter{00C9}{\'E}
+\DeclareUnicodeCharacter{00CA}{\^E}
+\DeclareUnicodeCharacter{00CB}{\"E}
+\DeclareUnicodeCharacter{00CC}{\`I}
+\DeclareUnicodeCharacter{00CD}{\'I}
+\DeclareUnicodeCharacter{00CE}{\^I}
+\DeclareUnicodeCharacter{00CF}{\"I}
+
+\DeclareUnicodeCharacter{00D1}{\~N}
+\DeclareUnicodeCharacter{00D2}{\`O}
+\DeclareUnicodeCharacter{00D3}{\'O}
+\DeclareUnicodeCharacter{00D4}{\^O}
+\DeclareUnicodeCharacter{00D5}{\~O}
+\DeclareUnicodeCharacter{00D6}{\"O}
+\DeclareUnicodeCharacter{00D8}{\O}
+\DeclareUnicodeCharacter{00D9}{\`U}
+\DeclareUnicodeCharacter{00DA}{\'U}
+\DeclareUnicodeCharacter{00DB}{\^U}
+\DeclareUnicodeCharacter{00DC}{\"U}
+\DeclareUnicodeCharacter{00DD}{\'Y}
+\DeclareUnicodeCharacter{00DF}{\ss}
+
+\DeclareUnicodeCharacter{00E0}{\`a}
+\DeclareUnicodeCharacter{00E1}{\'a}
+\DeclareUnicodeCharacter{00E2}{\^a}
+\DeclareUnicodeCharacter{00E3}{\~a}
+\DeclareUnicodeCharacter{00E4}{\"a}
+\DeclareUnicodeCharacter{00E5}{\aa}
+\DeclareUnicodeCharacter{00E6}{\ae}
+\DeclareUnicodeCharacter{00E7}{\cedilla{c}}
+\DeclareUnicodeCharacter{00E8}{\`e}
+\DeclareUnicodeCharacter{00E9}{\'e}
+\DeclareUnicodeCharacter{00EA}{\^e}
+\DeclareUnicodeCharacter{00EB}{\"e}
+\DeclareUnicodeCharacter{00EC}{\`{\dotless{i}}}
+\DeclareUnicodeCharacter{00ED}{\'{\dotless{i}}}
+\DeclareUnicodeCharacter{00EE}{\^{\dotless{i}}}
+\DeclareUnicodeCharacter{00EF}{\"{\dotless{i}}}
+
+\DeclareUnicodeCharacter{00F1}{\~n}
+\DeclareUnicodeCharacter{00F2}{\`o}
+\DeclareUnicodeCharacter{00F3}{\'o}
+\DeclareUnicodeCharacter{00F4}{\^o}
+\DeclareUnicodeCharacter{00F5}{\~o}
+\DeclareUnicodeCharacter{00F6}{\"o}
+\DeclareUnicodeCharacter{00F8}{\o}
+\DeclareUnicodeCharacter{00F9}{\`u}
+\DeclareUnicodeCharacter{00FA}{\'u}
+\DeclareUnicodeCharacter{00FB}{\^u}
+\DeclareUnicodeCharacter{00FC}{\"u}
+\DeclareUnicodeCharacter{00FD}{\'y}
+\DeclareUnicodeCharacter{00FF}{\"y}
+
+\DeclareUnicodeCharacter{0100}{\=A}
+\DeclareUnicodeCharacter{0101}{\=a}
+\DeclareUnicodeCharacter{0102}{\u{A}}
+\DeclareUnicodeCharacter{0103}{\u{a}}
+\DeclareUnicodeCharacter{0106}{\'C}
+\DeclareUnicodeCharacter{0107}{\'c}
+\DeclareUnicodeCharacter{0108}{\^C}
+\DeclareUnicodeCharacter{0109}{\^c}
+\DeclareUnicodeCharacter{010A}{\dotaccent{C}}
+\DeclareUnicodeCharacter{010B}{\dotaccent{c}}
+\DeclareUnicodeCharacter{010C}{\v{C}}
+\DeclareUnicodeCharacter{010D}{\v{c}}
+\DeclareUnicodeCharacter{010E}{\v{D}}
+
+
+\DeclareUnicodeCharacter{0112}{\=E}
+\DeclareUnicodeCharacter{0113}{\=e}
+\DeclareUnicodeCharacter{0114}{\u{E}}
+\DeclareUnicodeCharacter{0115}{\u{e}}
+\DeclareUnicodeCharacter{0116}{\dotaccent{E}}
+\DeclareUnicodeCharacter{0117}{\dotaccent{e}}
+\DeclareUnicodeCharacter{011A}{\v{E}}
+\DeclareUnicodeCharacter{011B}{\v{e}}
+\DeclareUnicodeCharacter{011C}{\^G}
+\DeclareUnicodeCharacter{011D}{\^g}
+\DeclareUnicodeCharacter{011E}{\u{G}}
+\DeclareUnicodeCharacter{011F}{\u{g}}
+
+\DeclareUnicodeCharacter{0120}{\dotaccent{G}}
+\DeclareUnicodeCharacter{0121}{\dotaccent{g}}
+\DeclareUnicodeCharacter{0124}{\^H}
+\DeclareUnicodeCharacter{0125}{\^h}
+\DeclareUnicodeCharacter{0128}{\~I}
+\DeclareUnicodeCharacter{0129}{\~{\dotless{i}}}
+\DeclareUnicodeCharacter{012A}{\=I}
+\DeclareUnicodeCharacter{012B}{\={\dotless{i}}}
+\DeclareUnicodeCharacter{012C}{\u{I}}
+\DeclareUnicodeCharacter{012D}{\u{\dotless{i}}}
+
+\DeclareUnicodeCharacter{0130}{\dotaccent{I}}
+\DeclareUnicodeCharacter{0131}{\dotless{i}}
+\DeclareUnicodeCharacter{0132}{IJ}
+\DeclareUnicodeCharacter{0133}{ij}
+\DeclareUnicodeCharacter{0134}{\^J}
+\DeclareUnicodeCharacter{0135}{\^{\dotless{j}}}
+\DeclareUnicodeCharacter{0139}{\'L}
+\DeclareUnicodeCharacter{013A}{\'l}
+
+\DeclareUnicodeCharacter{0141}{\L}
+\DeclareUnicodeCharacter{0142}{\l}
+\DeclareUnicodeCharacter{0143}{\'N}
+\DeclareUnicodeCharacter{0144}{\'n}
+\DeclareUnicodeCharacter{0147}{\v{N}}
+\DeclareUnicodeCharacter{0148}{\v{n}}
+\DeclareUnicodeCharacter{014C}{\=O}
+\DeclareUnicodeCharacter{014D}{\=o}
+\DeclareUnicodeCharacter{014E}{\u{O}}
+\DeclareUnicodeCharacter{014F}{\u{o}}
+
+\DeclareUnicodeCharacter{0150}{\H{O}}
+\DeclareUnicodeCharacter{0151}{\H{o}}
+\DeclareUnicodeCharacter{0152}{\OE}
+\DeclareUnicodeCharacter{0153}{\oe}
+\DeclareUnicodeCharacter{0154}{\'R}
+\DeclareUnicodeCharacter{0155}{\'r}
+\DeclareUnicodeCharacter{0158}{\v{R}}
+\DeclareUnicodeCharacter{0159}{\v{r}}
+\DeclareUnicodeCharacter{015A}{\'S}
+\DeclareUnicodeCharacter{015B}{\'s}
+\DeclareUnicodeCharacter{015C}{\^S}
+\DeclareUnicodeCharacter{015D}{\^s}
+\DeclareUnicodeCharacter{015E}{\cedilla{S}}
+\DeclareUnicodeCharacter{015F}{\cedilla{s}}
+
+\DeclareUnicodeCharacter{0160}{\v{S}}
+\DeclareUnicodeCharacter{0161}{\v{s}}
+\DeclareUnicodeCharacter{0162}{\cedilla{t}}
+\DeclareUnicodeCharacter{0163}{\cedilla{T}}
+\DeclareUnicodeCharacter{0164}{\v{T}}
+
+\DeclareUnicodeCharacter{0168}{\~U}
+\DeclareUnicodeCharacter{0169}{\~u}
+\DeclareUnicodeCharacter{016A}{\=U}
+\DeclareUnicodeCharacter{016B}{\=u}
+\DeclareUnicodeCharacter{016C}{\u{U}}
+\DeclareUnicodeCharacter{016D}{\u{u}}
+\DeclareUnicodeCharacter{016E}{\ringaccent{U}}
+\DeclareUnicodeCharacter{016F}{\ringaccent{u}}
+
+\DeclareUnicodeCharacter{0170}{\H{U}}
+\DeclareUnicodeCharacter{0171}{\H{u}}
+\DeclareUnicodeCharacter{0174}{\^W}
+\DeclareUnicodeCharacter{0175}{\^w}
+\DeclareUnicodeCharacter{0176}{\^Y}
+\DeclareUnicodeCharacter{0177}{\^y}
+\DeclareUnicodeCharacter{0178}{\"Y}
+\DeclareUnicodeCharacter{0179}{\'Z}
+\DeclareUnicodeCharacter{017A}{\'z}
+\DeclareUnicodeCharacter{017B}{\dotaccent{Z}}
+\DeclareUnicodeCharacter{017C}{\dotaccent{z}}
+\DeclareUnicodeCharacter{017D}{\v{Z}}
+\DeclareUnicodeCharacter{017E}{\v{z}}
+
+\DeclareUnicodeCharacter{01C4}{D\v{Z}}
+\DeclareUnicodeCharacter{01C5}{D\v{z}}
+\DeclareUnicodeCharacter{01C6}{d\v{z}}
+\DeclareUnicodeCharacter{01C7}{LJ}
+\DeclareUnicodeCharacter{01C8}{Lj}
+\DeclareUnicodeCharacter{01C9}{lj}
+\DeclareUnicodeCharacter{01CA}{NJ}
+\DeclareUnicodeCharacter{01CB}{Nj}
+\DeclareUnicodeCharacter{01CC}{nj}
+\DeclareUnicodeCharacter{01CD}{\v{A}}
+\DeclareUnicodeCharacter{01CE}{\v{a}}
+\DeclareUnicodeCharacter{01CF}{\v{I}}
+
+\DeclareUnicodeCharacter{01D0}{\v{\dotless{i}}}
+\DeclareUnicodeCharacter{01D1}{\v{O}}
+\DeclareUnicodeCharacter{01D2}{\v{o}}
+\DeclareUnicodeCharacter{01D3}{\v{U}}
+\DeclareUnicodeCharacter{01D4}{\v{u}}
+
+\DeclareUnicodeCharacter{01E2}{\={\AE}}
+\DeclareUnicodeCharacter{01E3}{\={\ae}}
+\DeclareUnicodeCharacter{01E6}{\v{G}}
+\DeclareUnicodeCharacter{01E7}{\v{g}}
+\DeclareUnicodeCharacter{01E8}{\v{K}}
+\DeclareUnicodeCharacter{01E9}{\v{k}}
+
+\DeclareUnicodeCharacter{01F0}{\v{\dotless{j}}}
+\DeclareUnicodeCharacter{01F1}{DZ}
+\DeclareUnicodeCharacter{01F2}{Dz}
+\DeclareUnicodeCharacter{01F3}{dz}
+\DeclareUnicodeCharacter{01F4}{\'G}
+\DeclareUnicodeCharacter{01F5}{\'g}
+\DeclareUnicodeCharacter{01F8}{\`N}
+\DeclareUnicodeCharacter{01F9}{\`n}
+\DeclareUnicodeCharacter{01FC}{\'{\AE}}
+\DeclareUnicodeCharacter{01FD}{\'{\ae}}
+\DeclareUnicodeCharacter{01FE}{\'{\O}}
+\DeclareUnicodeCharacter{01FF}{\'{\o}}
+
+\DeclareUnicodeCharacter{021E}{\v{H}}
+\DeclareUnicodeCharacter{021F}{\v{h}}
+
+\DeclareUnicodeCharacter{0226}{\dotaccent{A}}
+\DeclareUnicodeCharacter{0227}{\dotaccent{a}}
+\DeclareUnicodeCharacter{0228}{\cedilla{E}}
+\DeclareUnicodeCharacter{0229}{\cedilla{e}}
+\DeclareUnicodeCharacter{022E}{\dotaccent{O}}
+\DeclareUnicodeCharacter{022F}{\dotaccent{o}}
+
+\DeclareUnicodeCharacter{0232}{\=Y}
+\DeclareUnicodeCharacter{0233}{\=y}
+\DeclareUnicodeCharacter{0237}{\dotless{j}}
+
+\DeclareUnicodeCharacter{1E02}{\dotaccent{B}}
+\DeclareUnicodeCharacter{1E03}{\dotaccent{b}}
+\DeclareUnicodeCharacter{1E04}{\udotaccent{B}}
+\DeclareUnicodeCharacter{1E05}{\udotaccent{b}}
+\DeclareUnicodeCharacter{1E06}{\ubaraccent{B}}
+\DeclareUnicodeCharacter{1E07}{\ubaraccent{b}}
+\DeclareUnicodeCharacter{1E0A}{\dotaccent{D}}
+\DeclareUnicodeCharacter{1E0B}{\dotaccent{d}}
+\DeclareUnicodeCharacter{1E0C}{\udotaccent{D}}
+\DeclareUnicodeCharacter{1E0D}{\udotaccent{d}}
+\DeclareUnicodeCharacter{1E0E}{\ubaraccent{D}}
+\DeclareUnicodeCharacter{1E0F}{\ubaraccent{d}}
+
+\DeclareUnicodeCharacter{1E1E}{\dotaccent{F}}
+\DeclareUnicodeCharacter{1E1F}{\dotaccent{f}}
+
+\DeclareUnicodeCharacter{1E20}{\=G}
+\DeclareUnicodeCharacter{1E21}{\=g}
+\DeclareUnicodeCharacter{1E22}{\dotaccent{H}}
+\DeclareUnicodeCharacter{1E23}{\dotaccent{h}}
+\DeclareUnicodeCharacter{1E24}{\udotaccent{H}}
+\DeclareUnicodeCharacter{1E25}{\udotaccent{h}}
+\DeclareUnicodeCharacter{1E26}{\"H}
+\DeclareUnicodeCharacter{1E27}{\"h}
+
+\DeclareUnicodeCharacter{1E30}{\'K}
+\DeclareUnicodeCharacter{1E31}{\'k}
+\DeclareUnicodeCharacter{1E32}{\udotaccent{K}}
+\DeclareUnicodeCharacter{1E33}{\udotaccent{k}}
+\DeclareUnicodeCharacter{1E34}{\ubaraccent{K}}
+\DeclareUnicodeCharacter{1E35}{\ubaraccent{k}}
+\DeclareUnicodeCharacter{1E36}{\udotaccent{L}}
+\DeclareUnicodeCharacter{1E37}{\udotaccent{l}}
+\DeclareUnicodeCharacter{1E3A}{\ubaraccent{L}}
+\DeclareUnicodeCharacter{1E3B}{\ubaraccent{l}}
+\DeclareUnicodeCharacter{1E3E}{\'M}
+\DeclareUnicodeCharacter{1E3F}{\'m}
+
+\DeclareUnicodeCharacter{1E40}{\dotaccent{M}}
+\DeclareUnicodeCharacter{1E41}{\dotaccent{m}}
+\DeclareUnicodeCharacter{1E42}{\udotaccent{M}}
+\DeclareUnicodeCharacter{1E43}{\udotaccent{m}}
+\DeclareUnicodeCharacter{1E44}{\dotaccent{N}}
+\DeclareUnicodeCharacter{1E45}{\dotaccent{n}}
+\DeclareUnicodeCharacter{1E46}{\udotaccent{N}}
+\DeclareUnicodeCharacter{1E47}{\udotaccent{n}}
+\DeclareUnicodeCharacter{1E48}{\ubaraccent{N}}
+\DeclareUnicodeCharacter{1E49}{\ubaraccent{n}}
+
+\DeclareUnicodeCharacter{1E54}{\'P}
+\DeclareUnicodeCharacter{1E55}{\'p}
+\DeclareUnicodeCharacter{1E56}{\dotaccent{P}}
+\DeclareUnicodeCharacter{1E57}{\dotaccent{p}}
+\DeclareUnicodeCharacter{1E58}{\dotaccent{R}}
+\DeclareUnicodeCharacter{1E59}{\dotaccent{r}}
+\DeclareUnicodeCharacter{1E5A}{\udotaccent{R}}
+\DeclareUnicodeCharacter{1E5B}{\udotaccent{r}}
+\DeclareUnicodeCharacter{1E5E}{\ubaraccent{R}}
+\DeclareUnicodeCharacter{1E5F}{\ubaraccent{r}}
+
+\DeclareUnicodeCharacter{1E60}{\dotaccent{S}}
+\DeclareUnicodeCharacter{1E61}{\dotaccent{s}}
+\DeclareUnicodeCharacter{1E62}{\udotaccent{S}}
+\DeclareUnicodeCharacter{1E63}{\udotaccent{s}}
+\DeclareUnicodeCharacter{1E6A}{\dotaccent{T}}
+\DeclareUnicodeCharacter{1E6B}{\dotaccent{t}}
+\DeclareUnicodeCharacter{1E6C}{\udotaccent{T}}
+\DeclareUnicodeCharacter{1E6D}{\udotaccent{t}}
+\DeclareUnicodeCharacter{1E6E}{\ubaraccent{T}}
+\DeclareUnicodeCharacter{1E6F}{\ubaraccent{t}}
+
+\DeclareUnicodeCharacter{1E7C}{\~V}
+\DeclareUnicodeCharacter{1E7D}{\~v}
+\DeclareUnicodeCharacter{1E7E}{\udotaccent{V}}
+\DeclareUnicodeCharacter{1E7F}{\udotaccent{v}}
+
+\DeclareUnicodeCharacter{1E80}{\`W}
+\DeclareUnicodeCharacter{1E81}{\`w}
+\DeclareUnicodeCharacter{1E82}{\'W}
+\DeclareUnicodeCharacter{1E83}{\'w}
+\DeclareUnicodeCharacter{1E84}{\"W}
+\DeclareUnicodeCharacter{1E85}{\"w}
+\DeclareUnicodeCharacter{1E86}{\dotaccent{W}}
+\DeclareUnicodeCharacter{1E87}{\dotaccent{w}}
+\DeclareUnicodeCharacter{1E88}{\udotaccent{W}}
+\DeclareUnicodeCharacter{1E89}{\udotaccent{w}}
+\DeclareUnicodeCharacter{1E8A}{\dotaccent{X}}
+\DeclareUnicodeCharacter{1E8B}{\dotaccent{x}}
+\DeclareUnicodeCharacter{1E8C}{\"X}
+\DeclareUnicodeCharacter{1E8D}{\"x}
+\DeclareUnicodeCharacter{1E8E}{\dotaccent{Y}}
+\DeclareUnicodeCharacter{1E8F}{\dotaccent{y}}
+
+\DeclareUnicodeCharacter{1E90}{\^Z}
+\DeclareUnicodeCharacter{1E91}{\^z}
+\DeclareUnicodeCharacter{1E92}{\udotaccent{Z}}
+\DeclareUnicodeCharacter{1E93}{\udotaccent{z}}
+\DeclareUnicodeCharacter{1E94}{\ubaraccent{Z}}
+\DeclareUnicodeCharacter{1E95}{\ubaraccent{z}}
+\DeclareUnicodeCharacter{1E96}{\ubaraccent{h}}
+\DeclareUnicodeCharacter{1E97}{\"t}
+\DeclareUnicodeCharacter{1E98}{\ringaccent{w}}
+\DeclareUnicodeCharacter{1E99}{\ringaccent{y}}
+
+\DeclareUnicodeCharacter{1EA0}{\udotaccent{A}}
+\DeclareUnicodeCharacter{1EA1}{\udotaccent{a}}
+
+\DeclareUnicodeCharacter{1EB8}{\udotaccent{E}}
+\DeclareUnicodeCharacter{1EB9}{\udotaccent{e}}
+\DeclareUnicodeCharacter{1EBC}{\~E}
+\DeclareUnicodeCharacter{1EBD}{\~e}
+
+\DeclareUnicodeCharacter{1ECA}{\udotaccent{I}}
+\DeclareUnicodeCharacter{1ECB}{\udotaccent{i}}
+\DeclareUnicodeCharacter{1ECC}{\udotaccent{O}}
+\DeclareUnicodeCharacter{1ECD}{\udotaccent{o}}
+
+\DeclareUnicodeCharacter{1EE4}{\udotaccent{U}}
+\DeclareUnicodeCharacter{1EE5}{\udotaccent{u}}
+
+\DeclareUnicodeCharacter{1EF2}{\`Y}
+\DeclareUnicodeCharacter{1EF3}{\`y}
+\DeclareUnicodeCharacter{1EF4}{\udotaccent{Y}}
+
+\DeclareUnicodeCharacter{1EF8}{\~Y}
+\DeclareUnicodeCharacter{1EF9}{\~y}
+
+\DeclareUnicodeCharacter{2013}{--}
+\DeclareUnicodeCharacter{2014}{---}
+\DeclareUnicodeCharacter{2022}{\bullet}
+\DeclareUnicodeCharacter{2026}{\dots}
+\DeclareUnicodeCharacter{20AC}{\euro}
+
+\DeclareUnicodeCharacter{2192}{\expansion}
+\DeclareUnicodeCharacter{21D2}{\result}
+
+\DeclareUnicodeCharacter{2212}{\minus}
+\DeclareUnicodeCharacter{2217}{\point}
+\DeclareUnicodeCharacter{2261}{\equiv}
+
+}% end of \utfeightchardefs
+
+
+% US-ASCII character definitions.
+\def\asciichardefs{% nothing need be done
+ \relax
+}
+
+% Make non-ASCII characters printable again for compatibility with
+% existing Texinfo documents that may use them, even without declaring a
+% document encoding.
+%
+\setnonasciicharscatcode \other
+
+
+\message{formatting,}
+
\newdimen\defaultparindent \defaultparindent = 15pt
\chapheadingskip = 15pt plus 4pt minus 2pt