diff options
| author | John Wiegley | 2016-03-11 13:33:32 -0800 |
|---|---|---|
| committer | John Wiegley | 2016-03-11 13:33:32 -0800 |
| commit | 63efcc268635dea78c6bd80749eae4ee2c72d717 (patch) | |
| tree | 888b43de0eb148cf46a129a15f08a80caa8a5dfe /doc/misc | |
| parent | b4fbd69b66a927ad8ff479bee6ca57e977d7e649 (diff) | |
| parent | facb5e20ce186e47506860bde982e35020fedce5 (diff) | |
| download | emacs-63efcc268635dea78c6bd80749eae4ee2c72d717.tar.gz emacs-63efcc268635dea78c6bd80749eae4ee2c72d717.zip | |
Merge from origin/emacs-25
facb5e2 Update Emacs manual section related to character folding
4efea8e ; * etc/DEBUG: Fix a typo. (Bug#22984)
f8df21b Update admin/notes/unicode
950be68 Add symref-filepattern entries for c?perl-mode
8b8a6ad Don't use XRANDR 1.3 extensions if the server doesn't support them.
985dacf ; NEWS update for the last change in etags
741a6f8 Sync with gnulib
7352c6c Rework C source files to avoid ^(
a589e9a By default, etags produces unqualified Perl tag names
72c7438 Indent methods with keyword names correctly
28532a9 Propertize character literals and special global variables
differently
a7d6f39 ; Fix last change in NEWS
83b2a20 Change how /etc/NEWS presents character folding
b417c5a Revert "Revert "Backport: * lisp/isearch.el: Turn char-folding
off by default""
711ca36 Properly handle lambda as read function (bug 22961)
1b9d616 Propertize operator symbol names with symbol syntax class
9b16bc2 Stop recognizing :#{} as symbol in ruby-mode
366ec77 Allow using the left shift operator without spaces on both sides
02bf7cc Properly handle unquoting in wdired (bug 22938)
16cf469 ; Spelling fix and tighten up comment
f50bc04 Allow splat operator before percent literal
991c801 Don't apply the return value of goto-char as syntax class
6e63b3e Guard against nested percent literals
066f3bc Recognize iuwu-mod after an escaped newline
6f7a57c Fix symbolic mode string conversion for s and t
50b9826 Update 'ucs-names' database
993b2fb Improve doc string of 'shell-command'
b71c717 Make the code in movemail_strftime more general
cc057e4 Speed up redisplay of binary files with long series of nulls
e51b27e Remove the highlighting support for quoting 'like this' inside
Lisp docstrings
b1abce1 Restore leading space in movemail pop output
98b8d44 Fix bidi-paragraph-direction in Rmail view buffer
dc9d837 Don't misindent computed property generator methods
7923112 Fix mbox files produced by movemail on MS-Windows
c45a1ca doc string file descriptor exhaustion fix
265141b Fix Bug#22814
Diffstat (limited to 'doc/misc')
| -rw-r--r-- | doc/misc/texinfo.tex | 658 |
1 files changed, 283 insertions, 375 deletions
diff --git a/doc/misc/texinfo.tex b/doc/misc/texinfo.tex index 08baf5da257..d04e2ddd3b3 100644 --- a/doc/misc/texinfo.tex +++ b/doc/misc/texinfo.tex | |||
| @@ -3,7 +3,7 @@ | |||
| 3 | % Load plain if necessary, i.e., if running under initex. | 3 | % Load plain if necessary, i.e., if running under initex. |
| 4 | \expandafter\ifx\csname fmtname\endcsname\relax\input plain\fi | 4 | \expandafter\ifx\csname fmtname\endcsname\relax\input plain\fi |
| 5 | % | 5 | % |
| 6 | \def\texinfoversion{2016-02-16.15} | 6 | \def\texinfoversion{2016-03-06.18} |
| 7 | % | 7 | % |
| 8 | % Copyright 1985, 1986, 1988, 1990, 1991, 1992, 1993, 1994, 1995, | 8 | % Copyright 1985, 1986, 1988, 1990, 1991, 1992, 1993, 1994, 1995, |
| 9 | % 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, | 9 | % 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, |
| @@ -1525,7 +1525,7 @@ output) for that.)} | |||
| 1525 | \def\pdfmkdest#1{{% | 1525 | \def\pdfmkdest#1{{% |
| 1526 | % We have to set dummies so commands such as @code, and characters | 1526 | % We have to set dummies so commands such as @code, and characters |
| 1527 | % such as \, aren't expanded when present in a section title. | 1527 | % such as \, aren't expanded when present in a section title. |
| 1528 | \indexnofonts | 1528 | \indexnofonts % For avoiding UTF-16 convert issue of xdvipdfmx 20150315. |
| 1529 | \makevalueexpandable | 1529 | \makevalueexpandable |
| 1530 | % In the case of XeTeX, xdvipdfmx converts strings to UTF-16. | 1530 | % In the case of XeTeX, xdvipdfmx converts strings to UTF-16. |
| 1531 | % Therefore \txiescapepdf is not necessary. | 1531 | % Therefore \txiescapepdf is not necessary. |
| @@ -1574,7 +1574,7 @@ output) for that.)} | |||
| 1574 | % In the case of XeTeX, xdvipdfmx converts strings to UTF-16. | 1574 | % In the case of XeTeX, xdvipdfmx converts strings to UTF-16. |
| 1575 | % Therefore, the encoding and the language may not be considered. | 1575 | % Therefore, the encoding and the language may not be considered. |
| 1576 | % | 1576 | % |
| 1577 | \indexnofonts | 1577 | \indexnofonts % For avoiding UTF-16 convert issue of xdvipdfmx 20150315. |
| 1578 | \setupdatafile | 1578 | \setupdatafile |
| 1579 | % We can have normal brace characters in the PDF outlines, unlike | 1579 | % We can have normal brace characters in the PDF outlines, unlike |
| 1580 | % Texinfo index files. So set that up. | 1580 | % Texinfo index files. So set that up. |
| @@ -1591,16 +1591,11 @@ output) for that.)} | |||
| 1591 | ] | 1591 | ] |
| 1592 | 1592 | ||
| 1593 | \special{pdf:docview << /PageMode /UseOutlines >> } | 1593 | \special{pdf:docview << /PageMode /UseOutlines >> } |
| 1594 | \openin 1 uptex.tex % upTeX has UTF8-UTF16 cmap | 1594 | % ``\special{pdf:tounicode ...}'' is not necessary |
| 1595 | \ifeof 1 | 1595 | % because xdvipdfmx converts strings from UTF-8 to UTF-16 without it. |
| 1596 | % upTeX does not exist. To use UTF8-UCS2 cmap. | 1596 | % However, due to UTF-16 convert issue of xdvipdfmx 20150315, |
| 1597 | % In this case, non-BMP characters (over U+FFFF) can not be used. | 1597 | % ``\special{pdf:dest ...}'' can not handle non-ASCII strings. |
| 1598 | \special{pdf:tounicode UTF8-UCS2} | 1598 | % It fixed by xdvipdfmx 20160106 (TeX Live SVN r39753). |
| 1599 | \else | ||
| 1600 | % upTeX exists. To use UTF8-UTF16 cmap. | ||
| 1601 | % Non-BMP characters (over U+FFFF) can be used. | ||
| 1602 | \special{pdf:tounicode UTF8-UTF16} | ||
| 1603 | \fi | ||
| 1604 | \fi | 1599 | \fi |
| 1605 | 1600 | ||
| 1606 | % | 1601 | % |
| @@ -3477,13 +3472,16 @@ end | |||
| 3477 | \newif\ifseenauthor | 3472 | \newif\ifseenauthor |
| 3478 | \newif\iffinishedtitlepage | 3473 | \newif\iffinishedtitlepage |
| 3479 | 3474 | ||
| 3480 | % Do an implicit @contents or @shortcontents after @end titlepage if the | 3475 | % @setcontentsaftertitlepage used to do an implicit @contents or |
| 3481 | % user says @setcontentsaftertitlepage or @setshortcontentsaftertitlepage. | 3476 | % @shortcontents after @end titlepage, but it is now obsolete. |
| 3482 | % | 3477 | \def\setcontentsaftertitlepage{% |
| 3483 | \newif\ifsetcontentsaftertitlepage | 3478 | \errmessage{@setcontentsaftertitlepage has been removed as a Texinfo |
| 3484 | \let\setcontentsaftertitlepage = \setcontentsaftertitlepagetrue | 3479 | command; move your @contents command if you want the contents |
| 3485 | \newif\ifsetshortcontentsaftertitlepage | 3480 | after the title page.}}% |
| 3486 | \let\setshortcontentsaftertitlepage = \setshortcontentsaftertitlepagetrue | 3481 | \def\setshortcontentsaftertitlepage{% |
| 3482 | \errmessage{@setshortcontentsaftertitlepage has been removed as a Texinfo | ||
| 3483 | command; move your @shortcontents and @contents commands if you | ||
| 3484 | want the contents after the title page.}}% | ||
| 3487 | 3485 | ||
| 3488 | \parseargdef\shorttitlepage{% | 3486 | \parseargdef\shorttitlepage{% |
| 3489 | \begingroup \hbox{}\vskip 1.5in \chaprm \centerline{#1}% | 3487 | \begingroup \hbox{}\vskip 1.5in \chaprm \centerline{#1}% |
| @@ -3525,20 +3523,6 @@ end | |||
| 3525 | % Need this before the \...aftertitlepage checks so that if they are | 3523 | % Need this before the \...aftertitlepage checks so that if they are |
| 3526 | % in effect the toc pages will come out with page numbers. | 3524 | % in effect the toc pages will come out with page numbers. |
| 3527 | \HEADINGSon | 3525 | \HEADINGSon |
| 3528 | % | ||
| 3529 | % If they want short, they certainly want long too. | ||
| 3530 | \ifsetshortcontentsaftertitlepage | ||
| 3531 | \shortcontents | ||
| 3532 | \contents | ||
| 3533 | \global\let\shortcontents = \relax | ||
| 3534 | \global\let\contents = \relax | ||
| 3535 | \fi | ||
| 3536 | % | ||
| 3537 | \ifsetcontentsaftertitlepage | ||
| 3538 | \contents | ||
| 3539 | \global\let\contents = \relax | ||
| 3540 | \global\let\shortcontents = \relax | ||
| 3541 | \fi | ||
| 3542 | } | 3526 | } |
| 3543 | 3527 | ||
| 3544 | \def\finishtitlepage{% | 3528 | \def\finishtitlepage{% |
| @@ -6371,30 +6355,6 @@ end | |||
| 6371 | } | 6355 | } |
| 6372 | 6356 | ||
| 6373 | 6357 | ||
| 6374 | % I don't think this chapter style is supported any more, so I'm not | ||
| 6375 | % updating it with the new noderef stuff. We'll see. --karl, 11aug03. | ||
| 6376 | % | ||
| 6377 | \parseargdef\setchapterstyle{\csname CHAPF#1\endcsname} | ||
| 6378 | % | ||
| 6379 | \def\unnchfopen #1{% | ||
| 6380 | \chapoddpage | ||
| 6381 | \vbox{\chapfonts \raggedtitlesettings #1\par}% | ||
| 6382 | \nobreak\bigskip\nobreak | ||
| 6383 | } | ||
| 6384 | \def\chfopen #1#2{\chapoddpage {\chapfonts | ||
| 6385 | \vbox to 3in{\vfil \hbox to\hsize{\hfil #2} \hbox to\hsize{\hfil #1} \vfil}}% | ||
| 6386 | \par\penalty 5000 % | ||
| 6387 | } | ||
| 6388 | \def\centerchfopen #1{% | ||
| 6389 | \chapoddpage | ||
| 6390 | \vbox{\chapfonts \raggedtitlesettings \hfill #1\hfill}% | ||
| 6391 | \nobreak\bigskip \nobreak | ||
| 6392 | } | ||
| 6393 | \def\CHAPFopen{% | ||
| 6394 | \global\let\chapmacro=\chfopen | ||
| 6395 | \global\let\centerchapmacro=\centerchfopen} | ||
| 6396 | |||
| 6397 | |||
| 6398 | % Section titles. These macros combine the section number parts and | 6358 | % Section titles. These macros combine the section number parts and |
| 6399 | % call the generic \sectionheading to do the printing. | 6359 | % call the generic \sectionheading to do the printing. |
| 6400 | % | 6360 | % |
| @@ -7839,7 +7799,7 @@ end | |||
| 7839 | % Argument is macro body with arguments substituted | 7799 | % Argument is macro body with arguments substituted |
| 7840 | \def\scanmacro#1{% | 7800 | \def\scanmacro#1{% |
| 7841 | \newlinechar`\^^M | 7801 | \newlinechar`\^^M |
| 7842 | \def\xprocessmacroarg{\eatspaces}% | 7802 | \def\xeatspaces{\eatspaces}% |
| 7843 | % | 7803 | % |
| 7844 | % Process the macro body under the current catcode regime. | 7804 | % Process the macro body under the current catcode regime. |
| 7845 | \scantokens{#1\texinfoc}\aftermacro% | 7805 | \scantokens{#1\texinfoc}\aftermacro% |
| @@ -7935,7 +7895,7 @@ end | |||
| 7935 | \catcode`\_=\other | 7895 | \catcode`\_=\other |
| 7936 | \catcode`\|=\other | 7896 | \catcode`\|=\other |
| 7937 | \catcode`\~=\other | 7897 | \catcode`\~=\other |
| 7938 | \ifx\declaredencoding\ascii \else \setcharscatcodeothernonglobal \fi | 7898 | \passthroughcharstrue |
| 7939 | } | 7899 | } |
| 7940 | 7900 | ||
| 7941 | \def\scanargctxt{% used for copying and captions, not macros. | 7901 | \def\scanargctxt{% used for copying and captions, not macros. |
| @@ -8069,7 +8029,7 @@ end | |||
| 8069 | \paramno=0\def\paramlist{}% | 8029 | \paramno=0\def\paramlist{}% |
| 8070 | \let\hash\relax | 8030 | \let\hash\relax |
| 8071 | % \hash is redefined to `#' later to get it into definitions | 8031 | % \hash is redefined to `#' later to get it into definitions |
| 8072 | \let\processmacroarg\relax | 8032 | \let\xeatspaces\relax |
| 8073 | \parsemargdefxxx#1,;,% | 8033 | \parsemargdefxxx#1,;,% |
| 8074 | \ifnum\paramno<10\relax\else | 8034 | \ifnum\paramno<10\relax\else |
| 8075 | \paramno0\relax | 8035 | \paramno0\relax |
| @@ -8081,7 +8041,7 @@ end | |||
| 8081 | \else \let\next=\parsemargdefxxx | 8041 | \else \let\next=\parsemargdefxxx |
| 8082 | \advance\paramno by 1 | 8042 | \advance\paramno by 1 |
| 8083 | \expandafter\edef\csname macarg.\eatspaces{#1}\endcsname | 8043 | \expandafter\edef\csname macarg.\eatspaces{#1}\endcsname |
| 8084 | {\processmacroarg{\hash\the\paramno}}% | 8044 | {\xeatspaces{\hash\the\paramno}}% |
| 8085 | \edef\paramlist{\paramlist\hash\the\paramno,}% | 8045 | \edef\paramlist{\paramlist\hash\the\paramno,}% |
| 8086 | \fi\next} | 8046 | \fi\next} |
| 8087 | 8047 | ||
| @@ -8307,16 +8267,9 @@ end | |||
| 8307 | %%%%%%%%%%%%%% End of code for > 10 arguments %%%%%%%%%%%%%%%%%% | 8267 | %%%%%%%%%%%%%% End of code for > 10 arguments %%%%%%%%%%%%%%%%%% |
| 8308 | 8268 | ||
| 8309 | 8269 | ||
| 8310 | |||
| 8311 | % Remove following spaces at the expansion stage. | ||
| 8312 | % This works because spaces are discarded before each argument when TeX is | ||
| 8313 | % getting the arguments for a macro. | ||
| 8314 | % This must not be immediately followed by a }. | ||
| 8315 | \long\def\gobblespaces#1{#1} | ||
| 8316 | |||
| 8317 | % This defines a Texinfo @macro or @rmacro, called by \parsemacbody. | 8270 | % This defines a Texinfo @macro or @rmacro, called by \parsemacbody. |
| 8318 | % \macrobody has the body of the macro in it, with placeholders for | 8271 | % \macrobody has the body of the macro in it, with placeholders for |
| 8319 | % its parameters, looking like "\processmacroarg{\hash 1}". | 8272 | % its parameters, looking like "\xeatspaces{\hash 1}". |
| 8320 | % \paramno is the number of parameters | 8273 | % \paramno is the number of parameters |
| 8321 | % \paramlist is a TeX parameter text, e.g. "#1,#2,#3," | 8274 | % \paramlist is a TeX parameter text, e.g. "#1,#2,#3," |
| 8322 | % There are eight cases: recursive and nonrecursive macros of zero, one, | 8275 | % There are eight cases: recursive and nonrecursive macros of zero, one, |
| @@ -8327,14 +8280,13 @@ end | |||
| 8327 | \def\defmacro{% | 8280 | \def\defmacro{% |
| 8328 | \let\hash=##% convert placeholders to macro parameter chars | 8281 | \let\hash=##% convert placeholders to macro parameter chars |
| 8329 | \ifnum\paramno=1 | 8282 | \ifnum\paramno=1 |
| 8330 | \def\processmacroarg{\gobblespaces}% | 8283 | \def\xeatspaces##1{##1}% |
| 8331 | % This removes the pair of braces around the argument. We don't | 8284 | % This removes the pair of braces around the argument. We don't |
| 8332 | % use \eatspaces, because this can cause ends of lines to be lost | 8285 | % use \eatspaces, because this can cause ends of lines to be lost |
| 8333 | % when the argument to \eatspaces is read, leading to line-based | 8286 | % when the argument to \eatspaces is read, leading to line-based |
| 8334 | % commands like "@itemize" not being read correctly. | 8287 | % commands like "@itemize" not being read correctly. |
| 8335 | \else | 8288 | \else |
| 8336 | \def\processmacroarg{\xprocessmacroarg}% | 8289 | \let\xeatspaces\relax % suppress expansion |
| 8337 | \let\xprocessmacroarg\relax | ||
| 8338 | \fi | 8290 | \fi |
| 8339 | \ifrecursive %%%%%%%%%%%%%% Recursive %%%%%%%%%%%%%%%%%%%%%%%%%%%%% | 8291 | \ifrecursive %%%%%%%%%%%%%% Recursive %%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
| 8340 | \ifcase\paramno | 8292 | \ifcase\paramno |
| @@ -8347,12 +8299,9 @@ end | |||
| 8347 | \noexpand\braceorline | 8299 | \noexpand\braceorline |
| 8348 | \expandafter\noexpand\csname\the\macname @@@\endcsname}% | 8300 | \expandafter\noexpand\csname\the\macname @@@\endcsname}% |
| 8349 | \expandafter\xdef\csname\the\macname @@@\endcsname##1{% | 8301 | \expandafter\xdef\csname\the\macname @@@\endcsname##1{% |
| 8350 | \expandafter\noexpand\csname\the\macname @@@@\endcsname{% | 8302 | \egroup |
| 8351 | \noexpand\gobblespaces##1\empty}% | 8303 | \noexpand\scanmacro{\macrobody}% |
| 8352 | % The \empty is for \gobblespaces in case #1 is empty | 8304 | }% |
| 8353 | }% | ||
| 8354 | \expandafter\xdef\csname\the\macname @@@@\endcsname##1{% | ||
| 8355 | \egroup\noexpand\scanmacro{\macrobody}}% | ||
| 8356 | \else | 8305 | \else |
| 8357 | \ifnum\paramno<10\relax % at most 9 | 8306 | \ifnum\paramno<10\relax % at most 9 |
| 8358 | % See non-recursive section below for comments | 8307 | % See non-recursive section below for comments |
| @@ -8391,11 +8340,6 @@ end | |||
| 8391 | \noexpand\braceorline | 8340 | \noexpand\braceorline |
| 8392 | \expandafter\noexpand\csname\the\macname @@@\endcsname}% | 8341 | \expandafter\noexpand\csname\the\macname @@@\endcsname}% |
| 8393 | \expandafter\xdef\csname\the\macname @@@\endcsname##1{% | 8342 | \expandafter\xdef\csname\the\macname @@@\endcsname##1{% |
| 8394 | \expandafter\noexpand\csname\the\macname @@@@\endcsname{% | ||
| 8395 | \noexpand\gobblespaces##1\empty}% | ||
| 8396 | % The \empty is for \gobblespaces in case #1 is empty | ||
| 8397 | }% | ||
| 8398 | \expandafter\xdef\csname\the\macname @@@@\endcsname##1{% | ||
| 8399 | \egroup | 8343 | \egroup |
| 8400 | \noexpand\scanmacro{\macrobody}% | 8344 | \noexpand\scanmacro{\macrobody}% |
| 8401 | }% | 8345 | }% |
| @@ -9049,9 +8993,6 @@ end | |||
| 9049 | % now. --karl, 15jan04. | 8993 | % now. --karl, 15jan04. |
| 9050 | \catcode`\\=\other | 8994 | \catcode`\\=\other |
| 9051 | % | 8995 | % |
| 9052 | % Make the characters 128-255 be printing characters. | ||
| 9053 | {\setcharscatcodeothernonglobal}% | ||
| 9054 | % | ||
| 9055 | % @ is our escape character in .aux files, and we need braces. | 8996 | % @ is our escape character in .aux files, and we need braces. |
| 9056 | \catcode`\{=1 | 8997 | \catcode`\{=1 |
| 9057 | \catcode`\}=2 | 8998 | \catcode`\}=2 |
| @@ -9815,109 +9756,119 @@ directory should work if nowhere else does.} | |||
| 9815 | % macros containing the character definitions. | 9756 | % macros containing the character definitions. |
| 9816 | \setnonasciicharscatcode\active | 9757 | \setnonasciicharscatcode\active |
| 9817 | % | 9758 | % |
| 9759 | |||
| 9760 | \def\gdefchar#1#2{% | ||
| 9761 | \gdef#1{% | ||
| 9762 | \ifpassthroughchars | ||
| 9763 | \string#1% | ||
| 9764 | \else | ||
| 9765 | #2% | ||
| 9766 | \fi | ||
| 9767 | }} | ||
| 9768 | |||
| 9818 | % Latin1 (ISO-8859-1) character definitions. | 9769 | % Latin1 (ISO-8859-1) character definitions. |
| 9819 | \def\latonechardefs{% | 9770 | \def\latonechardefs{% |
| 9820 | \gdef^^a0{\tie} | 9771 | \gdefchar^^a0{\tie} |
| 9821 | \gdef^^a1{\exclamdown} | 9772 | \gdefchar^^a1{\exclamdown} |
| 9822 | \gdef^^a2{{\tcfont \char162}} % cent | 9773 | \gdefchar^^a2{{\tcfont \char162}} % cent |
| 9823 | \gdef^^a3{\pounds} | 9774 | \gdefchar^^a3{\pounds} |
| 9824 | \gdef^^a4{{\tcfont \char164}} % currency | 9775 | \gdefchar^^a4{{\tcfont \char164}} % currency |
| 9825 | \gdef^^a5{{\tcfont \char165}} % yen | 9776 | \gdefchar^^a5{{\tcfont \char165}} % yen |
| 9826 | \gdef^^a6{{\tcfont \char166}} % broken bar | 9777 | \gdefchar^^a6{{\tcfont \char166}} % broken bar |
| 9827 | \gdef^^a7{\S} | 9778 | \gdefchar^^a7{\S} |
| 9828 | \gdef^^a8{\"{}} | 9779 | \gdefchar^^a8{\"{}} |
| 9829 | \gdef^^a9{\copyright} | 9780 | \gdefchar^^a9{\copyright} |
| 9830 | \gdef^^aa{\ordf} | 9781 | \gdefchar^^aa{\ordf} |
| 9831 | \gdef^^ab{\guillemetleft} | 9782 | \gdefchar^^ab{\guillemetleft} |
| 9832 | \gdef^^ac{\ensuremath\lnot} | 9783 | \gdefchar^^ac{\ensuremath\lnot} |
| 9833 | \gdef^^ad{\-} | 9784 | \gdefchar^^ad{\-} |
| 9834 | \gdef^^ae{\registeredsymbol} | 9785 | \gdefchar^^ae{\registeredsymbol} |
| 9835 | \gdef^^af{\={}} | 9786 | \gdefchar^^af{\={}} |
| 9836 | % | 9787 | % |
| 9837 | \gdef^^b0{\textdegree} | 9788 | \gdefchar^^b0{\textdegree} |
| 9838 | \gdef^^b1{$\pm$} | 9789 | \gdefchar^^b1{$\pm$} |
| 9839 | \gdef^^b2{$^2$} | 9790 | \gdefchar^^b2{$^2$} |
| 9840 | \gdef^^b3{$^3$} | 9791 | \gdefchar^^b3{$^3$} |
| 9841 | \gdef^^b4{\'{}} | 9792 | \gdefchar^^b4{\'{}} |
| 9842 | \gdef^^b5{$\mu$} | 9793 | \gdefchar^^b5{$\mu$} |
| 9843 | \gdef^^b6{\P} | 9794 | \gdefchar^^b6{\P} |
| 9844 | \gdef^^b7{\ensuremath\cdot} | 9795 | \gdefchar^^b7{\ensuremath\cdot} |
| 9845 | \gdef^^b8{\cedilla\ } | 9796 | \gdefchar^^b8{\cedilla\ } |
| 9846 | \gdef^^b9{$^1$} | 9797 | \gdefchar^^b9{$^1$} |
| 9847 | \gdef^^ba{\ordm} | 9798 | \gdefchar^^ba{\ordm} |
| 9848 | \gdef^^bb{\guillemetright} | 9799 | \gdefchar^^bb{\guillemetright} |
| 9849 | \gdef^^bc{$1\over4$} | 9800 | \gdefchar^^bc{$1\over4$} |
| 9850 | \gdef^^bd{$1\over2$} | 9801 | \gdefchar^^bd{$1\over2$} |
| 9851 | \gdef^^be{$3\over4$} | 9802 | \gdefchar^^be{$3\over4$} |
| 9852 | \gdef^^bf{\questiondown} | 9803 | \gdefchar^^bf{\questiondown} |
| 9853 | % | 9804 | % |
| 9854 | \gdef^^c0{\`A} | 9805 | \gdefchar^^c0{\`A} |
| 9855 | \gdef^^c1{\'A} | 9806 | \gdefchar^^c1{\'A} |
| 9856 | \gdef^^c2{\^A} | 9807 | \gdefchar^^c2{\^A} |
| 9857 | \gdef^^c3{\~A} | 9808 | \gdefchar^^c3{\~A} |
| 9858 | \gdef^^c4{\"A} | 9809 | \gdefchar^^c4{\"A} |
| 9859 | \gdef^^c5{\ringaccent A} | 9810 | \gdefchar^^c5{\ringaccent A} |
| 9860 | \gdef^^c6{\AE} | 9811 | \gdefchar^^c6{\AE} |
| 9861 | \gdef^^c7{\cedilla C} | 9812 | \gdefchar^^c7{\cedilla C} |
| 9862 | \gdef^^c8{\`E} | 9813 | \gdefchar^^c8{\`E} |
| 9863 | \gdef^^c9{\'E} | 9814 | \gdefchar^^c9{\'E} |
| 9864 | \gdef^^ca{\^E} | 9815 | \gdefchar^^ca{\^E} |
| 9865 | \gdef^^cb{\"E} | 9816 | \gdefchar^^cb{\"E} |
| 9866 | \gdef^^cc{\`I} | 9817 | \gdefchar^^cc{\`I} |
| 9867 | \gdef^^cd{\'I} | 9818 | \gdefchar^^cd{\'I} |
| 9868 | \gdef^^ce{\^I} | 9819 | \gdefchar^^ce{\^I} |
| 9869 | \gdef^^cf{\"I} | 9820 | \gdefchar^^cf{\"I} |
| 9870 | % | 9821 | % |
| 9871 | \gdef^^d0{\DH} | 9822 | \gdefchar^^d0{\DH} |
| 9872 | \gdef^^d1{\~N} | 9823 | \gdefchar^^d1{\~N} |
| 9873 | \gdef^^d2{\`O} | 9824 | \gdefchar^^d2{\`O} |
| 9874 | \gdef^^d3{\'O} | 9825 | \gdefchar^^d3{\'O} |
| 9875 | \gdef^^d4{\^O} | 9826 | \gdefchar^^d4{\^O} |
| 9876 | \gdef^^d5{\~O} | 9827 | \gdefchar^^d5{\~O} |
| 9877 | \gdef^^d6{\"O} | 9828 | \gdefchar^^d6{\"O} |
| 9878 | \gdef^^d7{$\times$} | 9829 | \gdefchar^^d7{$\times$} |
| 9879 | \gdef^^d8{\O} | 9830 | \gdefchar^^d8{\O} |
| 9880 | \gdef^^d9{\`U} | 9831 | \gdefchar^^d9{\`U} |
| 9881 | \gdef^^da{\'U} | 9832 | \gdefchar^^da{\'U} |
| 9882 | \gdef^^db{\^U} | 9833 | \gdefchar^^db{\^U} |
| 9883 | \gdef^^dc{\"U} | 9834 | \gdefchar^^dc{\"U} |
| 9884 | \gdef^^dd{\'Y} | 9835 | \gdefchar^^dd{\'Y} |
| 9885 | \gdef^^de{\TH} | 9836 | \gdefchar^^de{\TH} |
| 9886 | \gdef^^df{\ss} | 9837 | \gdefchar^^df{\ss} |
| 9887 | % | 9838 | % |
| 9888 | \gdef^^e0{\`a} | 9839 | \gdefchar^^e0{\`a} |
| 9889 | \gdef^^e1{\'a} | 9840 | \gdefchar^^e1{\'a} |
| 9890 | \gdef^^e2{\^a} | 9841 | \gdefchar^^e2{\^a} |
| 9891 | \gdef^^e3{\~a} | 9842 | \gdefchar^^e3{\~a} |
| 9892 | \gdef^^e4{\"a} | 9843 | \gdefchar^^e4{\"a} |
| 9893 | \gdef^^e5{\ringaccent a} | 9844 | \gdefchar^^e5{\ringaccent a} |
| 9894 | \gdef^^e6{\ae} | 9845 | \gdefchar^^e6{\ae} |
| 9895 | \gdef^^e7{\cedilla c} | 9846 | \gdefchar^^e7{\cedilla c} |
| 9896 | \gdef^^e8{\`e} | 9847 | \gdefchar^^e8{\`e} |
| 9897 | \gdef^^e9{\'e} | 9848 | \gdefchar^^e9{\'e} |
| 9898 | \gdef^^ea{\^e} | 9849 | \gdefchar^^ea{\^e} |
| 9899 | \gdef^^eb{\"e} | 9850 | \gdefchar^^eb{\"e} |
| 9900 | \gdef^^ec{\`{\dotless i}} | 9851 | \gdefchar^^ec{\`{\dotless i}} |
| 9901 | \gdef^^ed{\'{\dotless i}} | 9852 | \gdefchar^^ed{\'{\dotless i}} |
| 9902 | \gdef^^ee{\^{\dotless i}} | 9853 | \gdefchar^^ee{\^{\dotless i}} |
| 9903 | \gdef^^ef{\"{\dotless i}} | 9854 | \gdefchar^^ef{\"{\dotless i}} |
| 9904 | % | 9855 | % |
| 9905 | \gdef^^f0{\dh} | 9856 | \gdefchar^^f0{\dh} |
| 9906 | \gdef^^f1{\~n} | 9857 | \gdefchar^^f1{\~n} |
| 9907 | \gdef^^f2{\`o} | 9858 | \gdefchar^^f2{\`o} |
| 9908 | \gdef^^f3{\'o} | 9859 | \gdefchar^^f3{\'o} |
| 9909 | \gdef^^f4{\^o} | 9860 | \gdefchar^^f4{\^o} |
| 9910 | \gdef^^f5{\~o} | 9861 | \gdefchar^^f5{\~o} |
| 9911 | \gdef^^f6{\"o} | 9862 | \gdefchar^^f6{\"o} |
| 9912 | \gdef^^f7{$\div$} | 9863 | \gdefchar^^f7{$\div$} |
| 9913 | \gdef^^f8{\o} | 9864 | \gdefchar^^f8{\o} |
| 9914 | \gdef^^f9{\`u} | 9865 | \gdefchar^^f9{\`u} |
| 9915 | \gdef^^fa{\'u} | 9866 | \gdefchar^^fa{\'u} |
| 9916 | \gdef^^fb{\^u} | 9867 | \gdefchar^^fb{\^u} |
| 9917 | \gdef^^fc{\"u} | 9868 | \gdefchar^^fc{\"u} |
| 9918 | \gdef^^fd{\'y} | 9869 | \gdefchar^^fd{\'y} |
| 9919 | \gdef^^fe{\th} | 9870 | \gdefchar^^fe{\th} |
| 9920 | \gdef^^ff{\"y} | 9871 | \gdefchar^^ff{\"y} |
| 9921 | } | 9872 | } |
| 9922 | 9873 | ||
| 9923 | % Latin9 (ISO-8859-15) encoding character definitions. | 9874 | % Latin9 (ISO-8859-15) encoding character definitions. |
| @@ -9925,119 +9876,119 @@ directory should work if nowhere else does.} | |||
| 9925 | % Encoding is almost identical to Latin1. | 9876 | % Encoding is almost identical to Latin1. |
| 9926 | \latonechardefs | 9877 | \latonechardefs |
| 9927 | % | 9878 | % |
| 9928 | \gdef^^a4{\euro} | 9879 | \gdefchar^^a4{\euro} |
| 9929 | \gdef^^a6{\v S} | 9880 | \gdefchar^^a6{\v S} |
| 9930 | \gdef^^a8{\v s} | 9881 | \gdefchar^^a8{\v s} |
| 9931 | \gdef^^b4{\v Z} | 9882 | \gdefchar^^b4{\v Z} |
| 9932 | \gdef^^b8{\v z} | 9883 | \gdefchar^^b8{\v z} |
| 9933 | \gdef^^bc{\OE} | 9884 | \gdefchar^^bc{\OE} |
| 9934 | \gdef^^bd{\oe} | 9885 | \gdefchar^^bd{\oe} |
| 9935 | \gdef^^be{\"Y} | 9886 | \gdefchar^^be{\"Y} |
| 9936 | } | 9887 | } |
| 9937 | 9888 | ||
| 9938 | % Latin2 (ISO-8859-2) character definitions. | 9889 | % Latin2 (ISO-8859-2) character definitions. |
| 9939 | \def\lattwochardefs{% | 9890 | \def\lattwochardefs{% |
| 9940 | \gdef^^a0{\tie} | 9891 | \gdefchar^^a0{\tie} |
| 9941 | \gdef^^a1{\ogonek{A}} | 9892 | \gdefchar^^a1{\ogonek{A}} |
| 9942 | \gdef^^a2{\u{}} | 9893 | \gdefchar^^a2{\u{}} |
| 9943 | \gdef^^a3{\L} | 9894 | \gdefchar^^a3{\L} |
| 9944 | \gdef^^a4{\missingcharmsg{CURRENCY SIGN}} | 9895 | \gdefchar^^a4{\missingcharmsg{CURRENCY SIGN}} |
| 9945 | \gdef^^a5{\v L} | 9896 | \gdefchar^^a5{\v L} |
| 9946 | \gdef^^a6{\'S} | 9897 | \gdefchar^^a6{\'S} |
| 9947 | \gdef^^a7{\S} | 9898 | \gdefchar^^a7{\S} |
| 9948 | \gdef^^a8{\"{}} | 9899 | \gdefchar^^a8{\"{}} |
| 9949 | \gdef^^a9{\v S} | 9900 | \gdefchar^^a9{\v S} |
| 9950 | \gdef^^aa{\cedilla S} | 9901 | \gdefchar^^aa{\cedilla S} |
| 9951 | \gdef^^ab{\v T} | 9902 | \gdefchar^^ab{\v T} |
| 9952 | \gdef^^ac{\'Z} | 9903 | \gdefchar^^ac{\'Z} |
| 9953 | \gdef^^ad{\-} | 9904 | \gdefchar^^ad{\-} |
| 9954 | \gdef^^ae{\v Z} | 9905 | \gdefchar^^ae{\v Z} |
| 9955 | \gdef^^af{\dotaccent Z} | 9906 | \gdefchar^^af{\dotaccent Z} |
| 9956 | % | 9907 | % |
| 9957 | \gdef^^b0{\textdegree} | 9908 | \gdefchar^^b0{\textdegree} |
| 9958 | \gdef^^b1{\ogonek{a}} | 9909 | \gdefchar^^b1{\ogonek{a}} |
| 9959 | \gdef^^b2{\ogonek{ }} | 9910 | \gdefchar^^b2{\ogonek{ }} |
| 9960 | \gdef^^b3{\l} | 9911 | \gdefchar^^b3{\l} |
| 9961 | \gdef^^b4{\'{}} | 9912 | \gdefchar^^b4{\'{}} |
| 9962 | \gdef^^b5{\v l} | 9913 | \gdefchar^^b5{\v l} |
| 9963 | \gdef^^b6{\'s} | 9914 | \gdefchar^^b6{\'s} |
| 9964 | \gdef^^b7{\v{}} | 9915 | \gdefchar^^b7{\v{}} |
| 9965 | \gdef^^b8{\cedilla\ } | 9916 | \gdefchar^^b8{\cedilla\ } |
| 9966 | \gdef^^b9{\v s} | 9917 | \gdefchar^^b9{\v s} |
| 9967 | \gdef^^ba{\cedilla s} | 9918 | \gdefchar^^ba{\cedilla s} |
| 9968 | \gdef^^bb{\v t} | 9919 | \gdefchar^^bb{\v t} |
| 9969 | \gdef^^bc{\'z} | 9920 | \gdefchar^^bc{\'z} |
| 9970 | \gdef^^bd{\H{}} | 9921 | \gdefchar^^bd{\H{}} |
| 9971 | \gdef^^be{\v z} | 9922 | \gdefchar^^be{\v z} |
| 9972 | \gdef^^bf{\dotaccent z} | 9923 | \gdefchar^^bf{\dotaccent z} |
| 9973 | % | 9924 | % |
| 9974 | \gdef^^c0{\'R} | 9925 | \gdefchar^^c0{\'R} |
| 9975 | \gdef^^c1{\'A} | 9926 | \gdefchar^^c1{\'A} |
| 9976 | \gdef^^c2{\^A} | 9927 | \gdefchar^^c2{\^A} |
| 9977 | \gdef^^c3{\u A} | 9928 | \gdefchar^^c3{\u A} |
| 9978 | \gdef^^c4{\"A} | 9929 | \gdefchar^^c4{\"A} |
| 9979 | \gdef^^c5{\'L} | 9930 | \gdefchar^^c5{\'L} |
| 9980 | \gdef^^c6{\'C} | 9931 | \gdefchar^^c6{\'C} |
| 9981 | \gdef^^c7{\cedilla C} | 9932 | \gdefchar^^c7{\cedilla C} |
| 9982 | \gdef^^c8{\v C} | 9933 | \gdefchar^^c8{\v C} |
| 9983 | \gdef^^c9{\'E} | 9934 | \gdefchar^^c9{\'E} |
| 9984 | \gdef^^ca{\ogonek{E}} | 9935 | \gdefchar^^ca{\ogonek{E}} |
| 9985 | \gdef^^cb{\"E} | 9936 | \gdefchar^^cb{\"E} |
| 9986 | \gdef^^cc{\v E} | 9937 | \gdefchar^^cc{\v E} |
| 9987 | \gdef^^cd{\'I} | 9938 | \gdefchar^^cd{\'I} |
| 9988 | \gdef^^ce{\^I} | 9939 | \gdefchar^^ce{\^I} |
| 9989 | \gdef^^cf{\v D} | 9940 | \gdefchar^^cf{\v D} |
| 9990 | % | 9941 | % |
| 9991 | \gdef^^d0{\DH} | 9942 | \gdefchar^^d0{\DH} |
| 9992 | \gdef^^d1{\'N} | 9943 | \gdefchar^^d1{\'N} |
| 9993 | \gdef^^d2{\v N} | 9944 | \gdefchar^^d2{\v N} |
| 9994 | \gdef^^d3{\'O} | 9945 | \gdefchar^^d3{\'O} |
| 9995 | \gdef^^d4{\^O} | 9946 | \gdefchar^^d4{\^O} |
| 9996 | \gdef^^d5{\H O} | 9947 | \gdefchar^^d5{\H O} |
| 9997 | \gdef^^d6{\"O} | 9948 | \gdefchar^^d6{\"O} |
| 9998 | \gdef^^d7{$\times$} | 9949 | \gdefchar^^d7{$\times$} |
| 9999 | \gdef^^d8{\v R} | 9950 | \gdefchar^^d8{\v R} |
| 10000 | \gdef^^d9{\ringaccent U} | 9951 | \gdefchar^^d9{\ringaccent U} |
| 10001 | \gdef^^da{\'U} | 9952 | \gdefchar^^da{\'U} |
| 10002 | \gdef^^db{\H U} | 9953 | \gdefchar^^db{\H U} |
| 10003 | \gdef^^dc{\"U} | 9954 | \gdefchar^^dc{\"U} |
| 10004 | \gdef^^dd{\'Y} | 9955 | \gdefchar^^dd{\'Y} |
| 10005 | \gdef^^de{\cedilla T} | 9956 | \gdefchar^^de{\cedilla T} |
| 10006 | \gdef^^df{\ss} | 9957 | \gdefchar^^df{\ss} |
| 10007 | % | 9958 | % |
| 10008 | \gdef^^e0{\'r} | 9959 | \gdefchar^^e0{\'r} |
| 10009 | \gdef^^e1{\'a} | 9960 | \gdefchar^^e1{\'a} |
| 10010 | \gdef^^e2{\^a} | 9961 | \gdefchar^^e2{\^a} |
| 10011 | \gdef^^e3{\u a} | 9962 | \gdefchar^^e3{\u a} |
| 10012 | \gdef^^e4{\"a} | 9963 | \gdefchar^^e4{\"a} |
| 10013 | \gdef^^e5{\'l} | 9964 | \gdefchar^^e5{\'l} |
| 10014 | \gdef^^e6{\'c} | 9965 | \gdefchar^^e6{\'c} |
| 10015 | \gdef^^e7{\cedilla c} | 9966 | \gdefchar^^e7{\cedilla c} |
| 10016 | \gdef^^e8{\v c} | 9967 | \gdefchar^^e8{\v c} |
| 10017 | \gdef^^e9{\'e} | 9968 | \gdefchar^^e9{\'e} |
| 10018 | \gdef^^ea{\ogonek{e}} | 9969 | \gdefchar^^ea{\ogonek{e}} |
| 10019 | \gdef^^eb{\"e} | 9970 | \gdefchar^^eb{\"e} |
| 10020 | \gdef^^ec{\v e} | 9971 | \gdefchar^^ec{\v e} |
| 10021 | \gdef^^ed{\'{\dotless{i}}} | 9972 | \gdefchar^^ed{\'{\dotless{i}}} |
| 10022 | \gdef^^ee{\^{\dotless{i}}} | 9973 | \gdefchar^^ee{\^{\dotless{i}}} |
| 10023 | \gdef^^ef{\v d} | 9974 | \gdefchar^^ef{\v d} |
| 10024 | % | 9975 | % |
| 10025 | \gdef^^f0{\dh} | 9976 | \gdefchar^^f0{\dh} |
| 10026 | \gdef^^f1{\'n} | 9977 | \gdefchar^^f1{\'n} |
| 10027 | \gdef^^f2{\v n} | 9978 | \gdefchar^^f2{\v n} |
| 10028 | \gdef^^f3{\'o} | 9979 | \gdefchar^^f3{\'o} |
| 10029 | \gdef^^f4{\^o} | 9980 | \gdefchar^^f4{\^o} |
| 10030 | \gdef^^f5{\H o} | 9981 | \gdefchar^^f5{\H o} |
| 10031 | \gdef^^f6{\"o} | 9982 | \gdefchar^^f6{\"o} |
| 10032 | \gdef^^f7{$\div$} | 9983 | \gdefchar^^f7{$\div$} |
| 10033 | \gdef^^f8{\v r} | 9984 | \gdefchar^^f8{\v r} |
| 10034 | \gdef^^f9{\ringaccent u} | 9985 | \gdefchar^^f9{\ringaccent u} |
| 10035 | \gdef^^fa{\'u} | 9986 | \gdefchar^^fa{\'u} |
| 10036 | \gdef^^fb{\H u} | 9987 | \gdefchar^^fb{\H u} |
| 10037 | \gdef^^fc{\"u} | 9988 | \gdefchar^^fc{\"u} |
| 10038 | \gdef^^fd{\'y} | 9989 | \gdefchar^^fd{\'y} |
| 10039 | \gdef^^fe{\cedilla t} | 9990 | \gdefchar^^fe{\cedilla t} |
| 10040 | \gdef^^ff{\dotaccent{}} | 9991 | \gdefchar^^ff{\dotaccent{}} |
| 10041 | } | 9992 | } |
| 10042 | 9993 | ||
| 10043 | % UTF-8 character definitions. | 9994 | % UTF-8 character definitions. |
| @@ -10067,35 +10018,56 @@ directory should work if nowhere else does.} | |||
| 10067 | \fi | 10018 | \fi |
| 10068 | } | 10019 | } |
| 10069 | 10020 | ||
| 10021 | % Give non-ASCII bytes the active definitions for processing UTF-8 sequences | ||
| 10070 | \begingroup | 10022 | \begingroup |
| 10071 | \catcode`\~13 | 10023 | \catcode`\~13 |
| 10024 | \catcode`\$12 | ||
| 10072 | \catcode`\"12 | 10025 | \catcode`\"12 |
| 10073 | 10026 | ||
| 10027 | % Loop from \countUTFx to \countUTFy, performing \UTFviiiTmp | ||
| 10028 | % substituting ~ and $ with a character token of that value. | ||
| 10074 | \def\UTFviiiLoop{% | 10029 | \def\UTFviiiLoop{% |
| 10075 | \global\catcode\countUTFx\active | 10030 | \global\catcode\countUTFx\active |
| 10076 | \uccode`\~\countUTFx | 10031 | \uccode`\~\countUTFx |
| 10032 | \uccode`\$\countUTFx | ||
| 10077 | \uppercase\expandafter{\UTFviiiTmp}% | 10033 | \uppercase\expandafter{\UTFviiiTmp}% |
| 10078 | \advance\countUTFx by 1 | 10034 | \advance\countUTFx by 1 |
| 10079 | \ifnum\countUTFx < \countUTFy | 10035 | \ifnum\countUTFx < \countUTFy |
| 10080 | \expandafter\UTFviiiLoop | 10036 | \expandafter\UTFviiiLoop |
| 10081 | \fi} | 10037 | \fi} |
| 10082 | 10038 | ||
| 10039 | % For bytes other than the first in a UTF-8 sequence. Not expected to | ||
| 10040 | % be expanded except when writing to auxiliary files. | ||
| 10041 | \countUTFx = "80 | ||
| 10042 | \countUTFy = "C2 | ||
| 10043 | \def\UTFviiiTmp{% | ||
| 10044 | \gdef~{ | ||
| 10045 | \ifpassthroughchars $\fi}}% | ||
| 10046 | \UTFviiiLoop | ||
| 10047 | |||
| 10083 | \countUTFx = "C2 | 10048 | \countUTFx = "C2 |
| 10084 | \countUTFy = "E0 | 10049 | \countUTFy = "E0 |
| 10085 | \def\UTFviiiTmp{% | 10050 | \def\UTFviiiTmp{% |
| 10086 | \xdef~{\noexpand\UTFviiiTwoOctets\string~}} | 10051 | \gdef~{% |
| 10052 | \ifpassthroughchars $% | ||
| 10053 | \else\expandafter\UTFviiiTwoOctets\expandafter$\fi}}% | ||
| 10087 | \UTFviiiLoop | 10054 | \UTFviiiLoop |
| 10088 | 10055 | ||
| 10089 | \countUTFx = "E0 | 10056 | \countUTFx = "E0 |
| 10090 | \countUTFy = "F0 | 10057 | \countUTFy = "F0 |
| 10091 | \def\UTFviiiTmp{% | 10058 | \def\UTFviiiTmp{% |
| 10092 | \xdef~{\noexpand\UTFviiiThreeOctets\string~}} | 10059 | \gdef~{% |
| 10060 | \ifpassthroughchars $% | ||
| 10061 | \else\expandafter\UTFviiiThreeOctets\expandafter$\fi}}% | ||
| 10093 | \UTFviiiLoop | 10062 | \UTFviiiLoop |
| 10094 | 10063 | ||
| 10095 | \countUTFx = "F0 | 10064 | \countUTFx = "F0 |
| 10096 | \countUTFy = "F4 | 10065 | \countUTFy = "F4 |
| 10097 | \def\UTFviiiTmp{% | 10066 | \def\UTFviiiTmp{% |
| 10098 | \xdef~{\noexpand\UTFviiiFourOctets\string~}} | 10067 | \gdef~{% |
| 10068 | \ifpassthroughchars $% | ||
| 10069 | \else\expandafter\UTFviiiFourOctets\expandafter$\fi | ||
| 10070 | }}% | ||
| 10099 | \UTFviiiLoop | 10071 | \UTFviiiLoop |
| 10100 | \endgroup | 10072 | \endgroup |
| 10101 | 10073 | ||
| @@ -10134,9 +10106,10 @@ directory should work if nowhere else does.} | |||
| 10134 | \catcode`\~=13 | 10106 | \catcode`\~=13 |
| 10135 | \gdef\DeclareUnicodeCharacterUTFviii#1#2{% | 10107 | \gdef\DeclareUnicodeCharacterUTFviii#1#2{% |
| 10136 | \countUTFz = "#1\relax | 10108 | \countUTFz = "#1\relax |
| 10137 | %\wlog{\space\space defining Unicode char U+#1 (decimal \the\countUTFz)}% | ||
| 10138 | \begingroup | 10109 | \begingroup |
| 10139 | \parseXMLCharref | 10110 | \parseXMLCharref |
| 10111 | % | ||
| 10112 | % Access definitions of characters given UTF-8 sequences | ||
| 10140 | \def\UTFviiiTwoOctets##1##2{% | 10113 | \def\UTFviiiTwoOctets##1##2{% |
| 10141 | \csname u8:##1\string ##2\endcsname}% | 10114 | \csname u8:##1\string ##2\endcsname}% |
| 10142 | \def\UTFviiiThreeOctets##1##2##3{% | 10115 | \def\UTFviiiThreeOctets##1##2##3{% |
| @@ -10154,7 +10127,8 @@ directory should work if nowhere else does.} | |||
| 10154 | % define an additional control sequence for this code point. | 10127 | % define an additional control sequence for this code point. |
| 10155 | \expandafter\globallet\csname uni:#1\endcsname \UTFviiiTmp | 10128 | \expandafter\globallet\csname uni:#1\endcsname \UTFviiiTmp |
| 10156 | \endgroup} | 10129 | \endgroup} |
| 10157 | 10130 | % | |
| 10131 | % Given the value in \countUTFz as a Unicode code point, set \UTFviiiTmp. | ||
| 10158 | \gdef\parseXMLCharref{% | 10132 | \gdef\parseXMLCharref{% |
| 10159 | \ifnum\countUTFz < "A0\relax | 10133 | \ifnum\countUTFz < "A0\relax |
| 10160 | \errhelp = \EMsimple | 10134 | \errhelp = \EMsimple |
| @@ -10184,6 +10158,7 @@ directory should work if nowhere else does.} | |||
| 10184 | \uccode `#1\countUTFx | 10158 | \uccode `#1\countUTFx |
| 10185 | \countUTFz = \countUTFy} | 10159 | \countUTFz = \countUTFy} |
| 10186 | 10160 | ||
| 10161 | % Used to set \UTFviiiTmp to a UTF-8 byte sequence | ||
| 10187 | \gdef\parseUTFviiiB#1#2#3#4{% | 10162 | \gdef\parseUTFviiiB#1#2#3#4{% |
| 10188 | \advance\countUTFz by "#10\relax | 10163 | \advance\countUTFz by "#10\relax |
| 10189 | \uccode `#3\countUTFz | 10164 | \uccode `#3\countUTFz |
| @@ -10937,84 +10912,17 @@ directory should work if nowhere else does.} | |||
| 10937 | \unicodechardefs | 10912 | \unicodechardefs |
| 10938 | } | 10913 | } |
| 10939 | 10914 | ||
| 10940 | % Native Unicode (XeTeX and LuaTeX) catcode other non global definitions | ||
| 10941 | \def\nativeunicodecharscatcodeothernonglobal{% | ||
| 10942 | \let\DeclareUnicodeCharacter\DeclareUnicodeCharacterNativeOther | ||
| 10943 | \unicodechardefs | ||
| 10944 | } | ||
| 10945 | |||
| 10946 | % Catcode (non-ASCII or native Unicode) are set to \other (non-global | ||
| 10947 | % assignments). | ||
| 10948 | \def\setcharscatcodeothernonglobal{% | ||
| 10949 | \iftxiusebytewiseio | ||
| 10950 | \setnonasciicharscatcodenonglobal\other | ||
| 10951 | \else | ||
| 10952 | \nativeunicodecharscatcodeothernonglobal | ||
| 10953 | \fi | ||
| 10954 | } | ||
| 10955 | |||
| 10956 | % US-ASCII character definitions. | 10915 | % US-ASCII character definitions. |
| 10957 | \def\asciichardefs{% nothing need be done | 10916 | \def\asciichardefs{% nothing need be done |
| 10958 | \relax | 10917 | \relax |
| 10959 | } | 10918 | } |
| 10960 | 10919 | ||
| 10961 | % Redefine the active definitions of non-ASCII characters to expand to | 10920 | % Whether the active definitions of non-ASCII characters expand to |
| 10962 | % non-active tokens with the same character code. | 10921 | % non-active tokens with the same character code. This is used to |
| 10963 | \def\nonasciistringdefs{% | 10922 | % write characters literally, instead of using active definitions for |
| 10964 | \setnonasciicharscatcode\active | ||
| 10965 | \def\defstringchar##1{\def##1{\string##1}}% | ||
| 10966 | % | ||
| 10967 | \defstringchar^^80\defstringchar^^81\defstringchar^^82\defstringchar^^83% | ||
| 10968 | \defstringchar^^84\defstringchar^^85\defstringchar^^86\defstringchar^^87% | ||
| 10969 | \defstringchar^^88\defstringchar^^89\defstringchar^^8a\defstringchar^^8b% | ||
| 10970 | \defstringchar^^8c\defstringchar^^8d\defstringchar^^8e\defstringchar^^8f% | ||
| 10971 | % | ||
| 10972 | \defstringchar^^90\defstringchar^^91\defstringchar^^92\defstringchar^^93% | ||
| 10973 | \defstringchar^^94\defstringchar^^95\defstringchar^^96\defstringchar^^97% | ||
| 10974 | \defstringchar^^98\defstringchar^^99\defstringchar^^9a\defstringchar^^9b% | ||
| 10975 | \defstringchar^^9c\defstringchar^^9d\defstringchar^^9e\defstringchar^^9f% | ||
| 10976 | % | ||
| 10977 | \defstringchar^^a0\defstringchar^^a1\defstringchar^^a2\defstringchar^^a3% | ||
| 10978 | \defstringchar^^a4\defstringchar^^a5\defstringchar^^a6\defstringchar^^a7% | ||
| 10979 | \defstringchar^^a8\defstringchar^^a9\defstringchar^^aa\defstringchar^^ab% | ||
| 10980 | \defstringchar^^ac\defstringchar^^ad\defstringchar^^ae\defstringchar^^af% | ||
| 10981 | % | ||
| 10982 | \defstringchar^^b0\defstringchar^^b1\defstringchar^^b2\defstringchar^^b3% | ||
| 10983 | \defstringchar^^b4\defstringchar^^b5\defstringchar^^b6\defstringchar^^b7% | ||
| 10984 | \defstringchar^^b8\defstringchar^^b9\defstringchar^^ba\defstringchar^^bb% | ||
| 10985 | \defstringchar^^bc\defstringchar^^bd\defstringchar^^be\defstringchar^^bf% | ||
| 10986 | % | ||
| 10987 | \defstringchar^^c0\defstringchar^^c1\defstringchar^^c2\defstringchar^^c3% | ||
| 10988 | \defstringchar^^c4\defstringchar^^c5\defstringchar^^c6\defstringchar^^c7% | ||
| 10989 | \defstringchar^^c8\defstringchar^^c9\defstringchar^^ca\defstringchar^^cb% | ||
| 10990 | \defstringchar^^cc\defstringchar^^cd\defstringchar^^ce\defstringchar^^cf% | ||
| 10991 | % | ||
| 10992 | \defstringchar^^d0\defstringchar^^d1\defstringchar^^d2\defstringchar^^d3% | ||
| 10993 | \defstringchar^^d4\defstringchar^^d5\defstringchar^^d6\defstringchar^^d7% | ||
| 10994 | \defstringchar^^d8\defstringchar^^d9\defstringchar^^da\defstringchar^^db% | ||
| 10995 | \defstringchar^^dc\defstringchar^^dd\defstringchar^^de\defstringchar^^df% | ||
| 10996 | % | ||
| 10997 | \defstringchar^^e0\defstringchar^^e1\defstringchar^^e2\defstringchar^^e3% | ||
| 10998 | \defstringchar^^e4\defstringchar^^e5\defstringchar^^e6\defstringchar^^e7% | ||
| 10999 | \defstringchar^^e8\defstringchar^^e9\defstringchar^^ea\defstringchar^^eb% | ||
| 11000 | \defstringchar^^ec\defstringchar^^ed\defstringchar^^ee\defstringchar^^ef% | ||
| 11001 | % | ||
| 11002 | \defstringchar^^f0\defstringchar^^f1\defstringchar^^f2\defstringchar^^f3% | ||
| 11003 | \defstringchar^^f4\defstringchar^^f5\defstringchar^^f6\defstringchar^^f7% | ||
| 11004 | \defstringchar^^f8\defstringchar^^f9\defstringchar^^fa\defstringchar^^fb% | ||
| 11005 | \defstringchar^^fc\defstringchar^^fd\defstringchar^^fe\defstringchar^^ff% | ||
| 11006 | } | ||
| 11007 | |||
| 11008 | % Write characters literally, instead of using active definitions for | ||
| 11009 | % printing the correct glyphs. | 10923 | % printing the correct glyphs. |
| 11010 | \def\passthroughcharacters{% | 10924 | \newif\ifpassthroughchars |
| 11011 | \iftxiusebytewiseio | 10925 | \passthroughcharsfalse |
| 11012 | \nonasciistringdefs | ||
| 11013 | \else | ||
| 11014 | \passthroughcharstrue | ||
| 11015 | \fi | ||
| 11016 | } | ||
| 11017 | |||
| 11018 | 10926 | ||
| 11019 | % define all the unicode characters we know about, for the sake of @U. | 10927 | % define all the unicode characters we know about, for the sake of @U. |
| 11020 | \iftxinativeunicodecapable | 10928 | \iftxinativeunicodecapable |
| @@ -11370,7 +11278,7 @@ directory should work if nowhere else does.} | |||
| 11370 | % | 11278 | % |
| 11371 | {@catcode`- = @active | 11279 | {@catcode`- = @active |
| 11372 | @gdef@normalturnoffactive{% | 11280 | @gdef@normalturnoffactive{% |
| 11373 | @passthroughcharacters | 11281 | @passthroughcharstrue |
| 11374 | @let-=@normaldash | 11282 | @let-=@normaldash |
| 11375 | @let"=@normaldoublequote | 11283 | @let"=@normaldoublequote |
| 11376 | @let$=@normaldollar %$ font-lock fix | 11284 | @let$=@normaldollar %$ font-lock fix |