summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source/latex/base/utf8ienc.dtx
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/source/latex/base/utf8ienc.dtx')
-rw-r--r--Master/texmf-dist/source/latex/base/utf8ienc.dtx87
1 files changed, 64 insertions, 23 deletions
diff --git a/Master/texmf-dist/source/latex/base/utf8ienc.dtx b/Master/texmf-dist/source/latex/base/utf8ienc.dtx
index f0c3e434ccb..5b9fe574c4a 100644
--- a/Master/texmf-dist/source/latex/base/utf8ienc.dtx
+++ b/Master/texmf-dist/source/latex/base/utf8ienc.dtx
@@ -1,6 +1,6 @@
% \iffalse meta-comment
%
-% Copyright 1993 1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004
+% Copyright 1993 1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006
% The LaTeX3 Project and any individual authors listed elsewhere
% in this file.
%
@@ -8,12 +8,12 @@
% -------------------------------------------
%
% It may be distributed and/or modified under the
-% conditions of the LaTeX Project Public License, either version 1.3
+% conditions of the LaTeX Project Public License, either version 1.3c
% of this license or (at your option) any later version.
% The latest version of this license is in
% http://www.latex-project.org/lppl.txt
-% and version 1.3 or later is part of all distributions of LaTeX
-% version 2003/12/01 or later.
+% and version 1.3c or later is part of all distributions of LaTeX
+% version 2005/12/01 or later.
%
% This file has the LPPL maintenance status "maintained".
%
@@ -30,7 +30,6 @@
% \iffalse
%<*driver>
\documentclass{ltxdoc}
-%% \usepackage[utf8]{inputenc} %% That looked wrong to Chris.
\GetFileInfo{utf8.def}
\title{Providing some UTF-8 support via \texttt{inputenc}}
\date{\fileversion\space\filedate{} printed \today}
@@ -46,7 +45,7 @@
%</driver>
% \fi
%
-% \CheckSum{1068}
+% \CheckSum{1090}
%
% \newpage
%
@@ -207,7 +206,7 @@
%<utf8>\ProvidesFile{utf8.def}
%<test>\ProvidesFile{utf8-test.tex}
%<+lcy> \ProvidesFile{lcyenc.dfu}
-%<+ly1> \ProvidesFile{lcyenc.dfu}
+%<+ly1> \ProvidesFile{ly1enc.dfu}
%<+oms> \ProvidesFile{omsenc.dfu}
%<+ot1> \ProvidesFile{ot1enc.dfu}
%<+ot2> \ProvidesFile{ot2enc.dfu}
@@ -218,13 +217,21 @@
%<+ts1> \ProvidesFile{ts1enc.dfu}
%<+x2> \ProvidesFile{x2enc.dfu}
%<+all> \ProvidesFile{utf8enc.dfu}
- [2004/02/09 v1.1b UTF-8 support for inputenc]
+ [2006/03/30 v1.1i UTF-8 support for inputenc]
% \end{macrocode}
%
% \begin{macrocode}
%<*utf8>
\makeatletter
% \end{macrocode}
+% We restore the |\catcode| of space (which is set to ignore in
+% \texttt{inputenc}) while reading \texttt{.def} files. Otherwise
+% we would need to explicitly use |\space| all over the place in
+% error and log messages.
+% \changes{v1.1d}{2004/05/08}{Explicitly set catcode of space}
+% \begin{macrocode}
+\catcode`\ \saved@space@catcode
+% \end{macrocode}
%
%
%
@@ -284,10 +291,12 @@
% The endline character has a special definition within the
% inputenc package (it is gobbling spaces). For this reason we
% can't produce multiline strings without some precaution.
-% \changes{v1.1b}{2004/02/09}{no newlines in error messages allowed}
+% \changes{v1.1b}{2004/02/09}{No newlines allowed in error messages}
+% \changes{v1.1g}{2005/09/27}{Real spaces do not show up so use \cs{space}}
% \begin{macrocode}
- \PackageError{inputenc}{Unicode char \string#1 not set up\space
- for use with LaTeX}\@eha
+ \PackageError{inputenc}{Unicode\space char\space \string#1\space
+ not\space set\space up\space
+ for\space use\space with\space LaTeX}\@eha
\else\expandafter
#1%
\fi
@@ -486,9 +495,11 @@
% \end{macrocode}
% As |\count@| already contains the right value we make
% |\parse@XML@charref| work without arguments.
+% \changes{v1.1g}{2005/09/27}{Real spaces do not show up so use \cs{space}}
% \begin{macrocode}
\ifnum\count@<"A0\relax
- \PackageError{inputenc}{Cannot define Unicode char value < 00A0}\@eha
+ \PackageError{inputenc}{Cannot\space define\space Unicode\space
+ char\space value\space <\space 00A0}\@eha
% \end{macrocode}
% Do not ask us to provide an explanation for the code below, it is
% borrowed straight from \texttt{xmltex} by David and we trust him
@@ -519,7 +530,7 @@
%
% \begin{macro}{\parse@UTFviii@a}
% \ldots so somebody else can document this part :-) \ldots~David?:-))))!
-% \changes{v1.1b}{2004/02/09}{space in the wrong place \cs{count @64}}
+% \changes{v1.1b}{2004/02/09}{Space in the wrong place \cs{count @64}}
% \begin{macrocode}
\gdef\parse@UTFviii@a#1{%
\@tempcnta\count@
@@ -577,8 +588,17 @@
\def\cdp@elt#1#2#3#4{%
\wlog{Now handling font encoding #1 ...}%
\lowercase{%
- \InputIfFileExists{#1enc.dfu}}
- {\wlog{... processing UTF-8 mapping file for font encoding #1}}%
+ \InputIfFileExists{#1enc.dfu}}%
+ {\wlog{... processing UTF-8 mapping file for font encoding
+ #1}%
+% \end{macrocode}
+% From this point on we ignore spaces again, i.e., while we are
+% reading the \texttt{.dfu} file. The |\endgroup| below will
+% restore it again.
+% \changes{v1.1d}{2004/05/08}{Explicitly set catcode of space}
+% \changes{v1.1g}{2005/09/27}{We lost the ``false'' case}
+% \begin{macrocode}
+ \catcode`\ 9\relax}%
{\wlog{... no UTF-8 mapping file for font encoding #1}}%
}
\cdp@list
@@ -684,7 +704,9 @@
% \subsection{The mapping table}
%
% Note that the first argument must be a 4-hex-digit number greater
-% than \texttt{00BF}.
+% than \texttt{00BF}.
+%
+% There are few notes about inconsistencies etc at the end of the table.
%
% \begin{macrocode}
%<all,t1,ot1,ly1>\DeclareUnicodeCharacter{00A1}{\textexclamdown}
@@ -708,7 +730,7 @@
%<all,ts1>\DeclareUnicodeCharacter{00B4}{\textasciiacute}
%<all,ts1,ly1>\DeclareUnicodeCharacter{00B5}{\textmu} % micro sign
%<all,ts1,oms,ly1>\DeclareUnicodeCharacter{00B6}{\textparagraph}
-%<all,ts1,ly1>\DeclareUnicodeCharacter{00B7}{\textperiodcentered}
+%<all,oms,ts1,ly1>\DeclareUnicodeCharacter{00B7}{\textperiodcentered}
%<all,ot1>\DeclareUnicodeCharacter{00B8}{\c\ }
%<all,ts1>\DeclareUnicodeCharacter{00B9}{\textonesuperior}
%<all,ts1,ly1,utf8>\DeclareUnicodeCharacter{00BA}{\textordmasculine}
@@ -801,6 +823,8 @@
%<all,t1>\DeclareUnicodeCharacter{011F}{\u g}
%<all,t1>\DeclareUnicodeCharacter{0130}{\.I}
%<all,t2c,t2b,t2a,t1,ot2,ot1,ly1,lcy>\DeclareUnicodeCharacter{0131}{\i}
+%<all,t1>\DeclareUnicodeCharacter{0132}{\IJ}
+%<all,t1>\DeclareUnicodeCharacter{0133}{\ij}
%<all,t1>\DeclareUnicodeCharacter{0139}{\@tabacckludge'L}
%<all,t1>\DeclareUnicodeCharacter{013A}{\@tabacckludge'l}
%<all,t1>\DeclareUnicodeCharacter{013D}{\v L}
@@ -845,9 +869,8 @@
%<all,ts1,ly1>\DeclareUnicodeCharacter{0192}{\textflorin}
%<all,ly1,utf8>\DeclareUnicodeCharacter{02C6}{\textasciicircum}
%<all,ts1>\DeclareUnicodeCharacter{02C7}{\textasciicaron}
-%<all,ly1,utf8>\DeclareUnicodeCharacter{02CA}{\textasciitilde}
+%<all,ly1,utf8>\DeclareUnicodeCharacter{02DC}{\textasciitilde}
%<all,ts1>\DeclareUnicodeCharacter{02D8}{\textasciibreve}
-%<all,oms>\DeclareUnicodeCharacter{02D9}{\textperiodcentered}
%<all,ts1>\DeclareUnicodeCharacter{02DD}{\textacutedbl}
%<all,x2,t2c,t2b,t2a,ot2,lcy>\DeclareUnicodeCharacter{0401}{\CYRYO}
%<all,x2,t2a,ot2>\DeclareUnicodeCharacter{0402}{\CYRDJE}
@@ -1016,7 +1039,7 @@
%<all,x2,t2c,t2b>\DeclareUnicodeCharacter{04E1}{\cyrabhdze}
%<all,x2,t2c,t2b,t2a>\DeclareUnicodeCharacter{04E8}{\CYROTLD}
%<all,x2,t2c,t2b,t2a>\DeclareUnicodeCharacter{04E9}{\cyrotld}
-%<all,ts1>\DeclareUnicodeCharacter{0E37}{\textbaht}
+%<all,ts1>\DeclareUnicodeCharacter{0E3F}{\textbaht}
%<all,x2,t2c,t2b,t2a,t1,utf8>\DeclareUnicodeCharacter{200C}{\textcompwordmark}
%<all,x2,t2c,t2b,t2a,t1,ot2,ot1,ly1,lcy>\DeclareUnicodeCharacter{2013}{\textendash}
%<all,x2,t2c,t2b,t2a,t1,ot2,ot1,ly1,lcy>\DeclareUnicodeCharacter{2014}{\textemdash}
@@ -1068,8 +1091,26 @@
%<all,ts1>\DeclareUnicodeCharacter{25EF}{\textbigcircle}
%<all,ts1>\DeclareUnicodeCharacter{266A}{\textmusicalnote}
% \end{macrocode}
-% The following definitions are in the encoding file but have no
-% direct equivalent in Unicode or simply do not make sense in that
+%
+% \subsection{Notes}
+%
+% \changes{v1.1e}{2004/05/22}{Added notes on inconsistency with `8-bit files'.}
+% The following inputs are inconsistent with the 8-bit inputenc files
+% since they will always only produce the `text character'. This is an
+% area where inputenc is notoriously confused.
+% \begin{verbatim}
+% %<all,ts1,t1,ot1,ly1>\DeclareUnicodeCharacter{00A3}{\textsterling}
+% %<all,x2,ts1,t2c,t2b,t2a,oms,ly1>\DeclareUnicodeCharacter{00A7}{\textsection}
+% %<all,ts1,utf8>\DeclareUnicodeCharacter{00A9}{\textcopyright}
+% %<all,ts1>\DeclareUnicodeCharacter{00B1}{\textpm}
+% %<all,ts1,oms,ly1>\DeclareUnicodeCharacter{00B6}{\textparagraph}
+% %<all,ts1,oms,ly1>\DeclareUnicodeCharacter{2020}{\textdagger}
+% %<all,ts1,oms,ly1>\DeclareUnicodeCharacter{2021}{\textdaggerdbl}
+% %<all,ly1,utf8>\DeclareUnicodeCharacter{2026}{\textellipsis}
+% \end{verbatim}
+%
+% The following definitions are in an encoding file but have no
+% direct equivalent in Unicode, or they simply do not make sense in that
% context (or we have not yet found anything or \ldots :-). For
% example, the non-combining accent charcaters are certainly
% available somehwere but these are not equivalent to a \TeX{}
@@ -1168,7 +1209,7 @@
%
% Also there are a number of |\providecommand|s in the various input
% encoding files which may or may not go into this part.
-% \changes{v1.1b}{2004/02/09}{added commands already defined in the kernel}
+% \changes{v1.1b}{2004/02/09}{Added commands already defined in the kernel}
% \begin{macrocode}
%<*utf8>
% This space is intentionally empty ...