summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2011-09-08 22:44:58 +0000
committerKarl Berry <karl@freefriends.org>2011-09-08 22:44:58 +0000
commit76505c9da21b7fe13574e2ce2caa22a5773b1e87 (patch)
tree9092ad5ecf3a39e914a3a6d5d9f66932208969f8
parent1bde481c2a1d044e5fb67a14ba93d020d3a34b09 (diff)
xunicode (8sep11)
git-svn-id: svn://tug.org/texlive/trunk@23877 c570f23f-e606-0410-a88d-b1316a301751
-rw-r--r--Master/texmf-dist/tex/xelatex/xunicode/xunicode.sty1894
1 files changed, 1656 insertions, 238 deletions
diff --git a/Master/texmf-dist/tex/xelatex/xunicode/xunicode.sty b/Master/texmf-dist/tex/xelatex/xunicode/xunicode.sty
index 5d442b6804a..8a074b9265e 100644
--- a/Master/texmf-dist/tex/xelatex/xunicode/xunicode.sty
+++ b/Master/texmf-dist/tex/xelatex/xunicode/xunicode.sty
@@ -1,54 +1,8 @@
-% Copyright 2004-2010 Ross Moore <ross.moore@mq.edu.au>
+% Copyright 2004-2011 Ross Moore <ross.moore@mq.edu.au>
% Released under the LPPL licence, version 1.3c or later.
-\ProvidesFile{xunicode.sty}[2010/11/06 v0.96 provides access to
+\ProvidesFile{xunicode.sty}[2011/06/06 v0.98 provides access to
latin accents and many other characters in Unicode lower plane]
-
%
-% This package is designed to work with TeX engines that directly
-% process UTF8 input and use Unicode and OpenType fonts.
-% At the time of writing, XeTeX is the only known engine of this kind.
-% When more engines become available, the following test should be
-% altered.
-
-\begingroup
- \def\notXeTeXformat{%
- \@latex@error{*** this package currently works only with XeTeX ***^^J
- You are not using XeTeX, so we are exiting cleanly!^^J
- Continuing may lead to 'unavailable font metrics' errors!^^J}\@ehc
- \endgroup\endinput}
-\expandafter\ifx\csname XeTeXpicfile\endcsname\relax\expandafter\notXeTeXformat\fi
-\endgroup
-
-% The single biggest mistake made by novice XeTeX users is
-% to declare wrong encodings, using the {inputenc} package.
-% While not fatal, this can cause bad output, which they then
-% incorrectly attribute to XeTeX or to this xunicode.sty package.
-% So here is a test for this error, which posts warning messages.
-%
-\def\@TestForInputenc{%
- \@ifpackageloaded{inputenc}{\@dontuse@inputenc}{}%
-}
-\def\@dontuse@inputenc{%
- \typeout{\@dontinputenci}%
- \typeout{\@dontinputencii}%
- \typeout{\@dontinputenciii}%
-}
-\def\@dontinputenci{*** you should *not* be loading the inputenc package}
-\def\@dontinputencii{*** XeTeX expects the source to be in UTF8 encoding}
-\def\@dontinputenciii{*** some features of other encodings may conflict,
- resulting in poor output.}
-
-\def\@cleanupafterinputenc{%
- \let\@TestForInputenc\relax
- \let\@dontuse@inputenc\relax
- \let\@dontinputenci\relax
- \let\@dontinputencii\relax
- \let\@dontinputenciii\relax
-}
-\@TestForInputenc
-\AtBeginDocument{\@TestForInputenc}
-\AtBeginDocument{\@cleanupafterinputenc}
-
%%%% History of Changes %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
% v0.1 released on the XeTeX mailing list, 2004/07/22
@@ -110,13 +64,95 @@
% v0.96 2010/11/06
% added LPPL licence statement
%
+% v0.97 2011/05/17
+% fixed up \t (tie) to use x0361 and implement \t{oo}
+% changed \t-<vowel> combinations to \textroundcap (13 instances)
+% avoid conflict when AMSsymb package is subsequently loaded
+% experiment with some math chars within ordinary text
+%
+% v0.971 2011/05/21
+% removed unnecessary (and wrong) \expandafter
+%
+% v0.972 2011/05/23 --- thanks to Claudio Beccari
+% fixed undefined \capitalcedilla and \capitalogonek
+% added \capital-accent combinations, and some other macros
+% from textcomp.sty
+%
+% v0.98 2011/06/27
+% implemented \ReloadXunicode{<encoding-name>}
+% prevent main macros from redefinition upon reloading
+% implement the TIPA special macros \: \; \! \*
+% extended support for TIPA characters and tones
+% fixed a problem with \DeclareEncodedCompositeCharacter
+% and \DeclareEncodedCompositeAccents
+%
+%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+%
+% While most of this package can, and should, be loaded many times,
+% there are some parts that need not and others that should not.
+% So we need to skip those critical parts.
+%
+\expandafter\ifx\expandafter\relax\csname ReloadXunicode\endcsname\relax
+%
+% This package is designed to work with TeX engines that directly
+% process UTF8 input and use Unicode and OpenType fonts.
+% At the time of writing, XeTeX is the only known engine of this kind.
+% When more engines become available, the following test should be
+% altered.
+%
+\begingroup
+ \def\notXeTeXformat{%
+ \@latex@error{*** this package currently works only with XeTeX ***^^J
+ You are not using XeTeX, so we are exiting cleanly!^^J
+ Continuing may lead to 'unavailable font metrics' errors!^^J}\@ehc
+ \endgroup\endinput}
+\expandafter\ifx\csname XeTeXpicfile\endcsname\relax\expandafter\notXeTeXformat\fi
+\endgroup
+%
+% The single biggest mistake made by novice XeTeX users is
+% to declare wrong encodings, using the {inputenc} package.
+% While not fatal, this can cause bad output, which they then
+% incorrectly attribute to XeTeX or to this xunicode.sty package.
+% So here is a test for this error, which posts warning messages.
+%
+\def\@TestForInputenc{%
+ \@ifpackageloaded{inputenc}{\@dontuse@inputenc}{}%
+}
+\def\@dontuse@inputenc{%
+ \typeout{\@dontinputenci}%
+ \typeout{\@dontinputencii}%
+ \typeout{\@dontinputenciii}%
+}
+\def\@dontinputenci{*** you should *not* be loading the inputenc package}
+\def\@dontinputencii{*** XeTeX expects the source to be in UTF8 encoding}
+\def\@dontinputenciii{*** some features of other encodings may conflict,
+ resulting in poor output.}
+\def\@cleanupafterinputenc{%
+ \let\@TestForInputenc\relax
+ \let\@dontuse@inputenc\relax
+ \let\@dontinputenci\relax
+ \let\@dontinputencii\relax
+ \let\@dontinputenciii\relax
+}
+\@TestForInputenc
+\AtBeginDocument{\@TestForInputenc}
+\AtBeginDocument{\@cleanupafterinputenc}
+%
% This package should work with any encoding name.
% Simply define an expansion for \UTFencname before loading this file,
% otherwise the encoding name will be 'U'.
\providecommand{\UTFencname}{U}
-
+%
+%
+%
+% Use \UseMathAsText in the preamble, to allow some math symbols
+% to be use within a textual context. --- experimental
+\expandafter\newif\csname ifmath@s@text@\endcsname
+\providecommand{\UseMathAsText}{\math@s@text@true}
+%
% Use \DeclareUTFcharacter to assign a cs-name to
% access a Unicode code-point...
%
@@ -133,7 +169,9 @@
\let\add@flag\z@ % ==> remove support in this encoding
\check@hexcom@digits #2@@@@@!@{#1}{#2}{#3}%
}
-
+%
+%
+%
\def\check@hexcom@digits#1#2@!@#3#4#5{%
\ifx x#1\relax
\check@hexcom@digits@#2@!@{#3}{#4}{#5}%
@@ -141,7 +179,7 @@
\UTFacc@warning@{code #4 for #3-\string#5 fails to start with 'x'}%
\fi
}
-
+%
% Use \DeclareUTFcomposite to assign a cs-name to access
% accents or composite characters via Unicode code-points,
% or the Unicode "Composing Character" mechanism ...
@@ -163,7 +201,26 @@
\let\add@flag\z@ % ==> remove support in this encoding
\check@hex@digits #2@@@@@!@{#1}{#2}{#3}{#4}%
}}
-
+%
+% Allow already defined math-commands to be used also in text.
+% Use of this is controlled by the 'mathastext' package option.
+\newcommand\DeclareMathAsUTFtext[3]{%
+ \expandafter\let\csname keepmathUTF#1\endcsname#2\relax
+ \DeclareUTFcharacter[\UTFencname]{#3}{#2}%
+ \expandafter\let\csname keeptextUTF#1\expandafter\endcsname
+ \csname\UTFencname\string#2\endcsname\relax
+ \DeclareTextCommand{#2}{\UTFencname}{%
+ \ifmmode % the saved math version
+ \expandafter\mathrm\csname keepmathUTF#1\endcsname
+ \else % the text version
+ {\csname keeptextUTF#1\endcsname}%
+ \fi}%
+}
+% useage: \DeclareMathAsUTFtext{aleph}{\aleph}{x2135}
+%
+%
+%
+%
\def\check@hex@digits#1#2@!@#3#4#5#6{%
\ifx x#1\relax
\check@hex@digits@#2@!@{#3}{#4}{#5}{#6}%
@@ -171,10 +228,11 @@
\UTFacc@warning@{code #4 for #3-\string#5#6 fails to start with 'x'}%
\fi
}
-
-\def\UTF@ignore#1{\iffalse}
-\def\UTF@doit#1{\iftrue}
-
+%
+% indirect conditionals, to avoid unbalance when reloaded
+\def\UTF@ignore#1{\csname iffalse\endcsname}
+\def\UTF@doit#1{\csname iftrue\endcsname}
+%
%%
%% these next macros need to have " with correct \catcode
%%
@@ -250,11 +308,11 @@
\gdef\declare@hex@command#1#2{\gdef#2{#1}}%
%
}% end of \catcode`\"=12
-
+%
{\catcode`\ =10\relax%
\gdef\UTF@@space{ }}%
\edef\UTF@space{\UTF@@space}
-
+%
\def\declare@utf@composite#1#2#3#4{%
\expandafter\ifcat\expandafter A\string#4\relax
{\ifx\add@flag\@ne %
@@ -272,27 +330,115 @@
\fi}%
\fi
}
-
-% new command: {\DeclareEncodedCompositeCharacter}[3]{%
+%
+% new command: {\DeclareEncodedCompositeCharacter}[4]{%
% #1 = encoding
% #2 = accent-macro in TeX
% #3 = position of combining glyph in Unicode
% #4 = bare accent position, in Unicode
% ##1 = slot for the accented letter
+%\newcommand{\DeclareEncodedCompositeCharacter}[4]{%
+% \expandafter\def\csname #1\string#2\endcsname##1{%
+% \expandafter\@text@composite \csname #1\string#2\endcsname##1\@empty
+% \@text@composite{\add@encoded@accent{#3}{##1}{#4}}}%
+%}
\newcommand{\DeclareEncodedCompositeCharacter}[4]{%
- \expandafter\def\csname #1\string#2\endcsname##1{%
- \expandafter\@text@composite \csname #1\string#2\endcsname##1\@empty
- \@text@composite{\add@encoded@accent{#3}{##1}{#4}}}%
+ \expandafter\def\expandafter\next@ii\expandafter{%
+ \expandafter\expandafter\expandafter\@text@composite\expandafter
+ \csname #1\string#2\endcsname####1\@empty
+ \@text@composite{\add@encoded@accent{#3}{####1}{#4}}}%
+ \expandafter\def\expandafter\next@i\expandafter{\expandafter\expandafter
+ \expandafter\def\expandafter\csname #1\string#2\endcsname####1}%
+ \expandafter\next@i\expandafter{\next@ii}%
}
+%\newcommand{\DeclareEncodedCompositeAccents}[4]{%
+% \expandafter\def\csname #1\string#2\endcsname##1{%
+% \expandafter\@text@composite \csname #1\string#2\endcsname##1\@empty
+% \@text@composite{\add@encoded@accents{#4}{##1}{#3}}}%
+%}
\newcommand{\DeclareEncodedCompositeAccents}[4]{%
- \expandafter\def\csname #1\string#2\endcsname##1{%
- \expandafter\@text@composite \csname #1\string#2\endcsname##1\@empty
- \@text@composite{\add@encoded@accents{#4}{##1}{#3}}}%
+ \expandafter\def\expandafter\next@ii\expandafter{%
+ \expandafter\expandafter\expandafter\@text@composite\expandafter
+ \csname #1\string#2\endcsname####1\@empty
+ \@text@composite{\add@encoded@accent{#4}{####1}{#3}}}%
+ \expandafter\def\expandafter\next@i\expandafter{\expandafter\expandafter
+ \expandafter\def\expandafter\csname #1\string#2\endcsname####1}%
+ \expandafter\next@i\expandafter{\next@ii}%
}
+
\let\add@encoded@accent\add@UTF@accent
\let\add@encoded@accents\add@UTF@accents
%\let\add@encoded@accent\add@set@accentCOMP
%\let\add@encoded@accent\add@set@accentMOD
+%
+% bring \textsuperscript and \textsubscript into the fold of macros
+% dependent on encoding
+%
+\let\realLaTeXsuperscript\textsuperscript
+\let\realLaTeXsubscript\textsubscript
+\DeclareTextAccent{\textsuperscript}{OT1}{999}
+\expandafter\expandafter\expandafter\let\expandafter
+ \csname?\string\textsuperscript\endcsname\realLaTeXsuperscript
+\DeclareTextAccent{\textsubscript}{OT1}{999}
+\expandafter\expandafter\expandafter\let\expandafter
+ \csname?\string\textsubscript\endcsname\realLaTeXsubscript
+\let\super\textsuperscript
+%
+\else
+ \typeout{*** Reloading Xunicode for encoding '\UTFencname' ***}%
+\fi
+% end of the part that should not be loaded more than once.
+
+\expandafter\expandafter\expandafter\let\expandafter
+ \csname\UTFencname\string\textsuperscript\endcsname\realLaTeXsuperscript
+\expandafter\expandafter\expandafter\let\expandafter
+ \csname\UTFencname\string\textsubscript\endcsname\realLaTeXsubscript
+
+\@ifundefined{textoverw}{\DeclareTextAccent{\textoverh}{OT1}{999}}{}
+\DeclareEncodedCompositeCharacter{\UTFencname}{\textoverh}{02B0}{02B0} % ??? Combining h above
+\@ifundefined{textoverheng}{\DeclareTextAccent{\textoverheng}{OT1}{999}}{}
+\DeclareEncodedCompositeCharacter{\UTFencname}{\textoverheng}{02B1}{02B1} % ??? Combining heng above
+\@ifundefined{textoverj}{\DeclareTextAccent{\textoverj}{OT1}{999}}{}
+\DeclareEncodedCompositeCharacter{\UTFencname}{\textoverj}{02B2}{02B2} % ??? Combining j above
+\@ifundefined{textoverr}{\DeclareTextAccent{\textoverr}{OT1}{999}}{}
+\DeclareEncodedCompositeCharacter{\UTFencname}{\textoverh}{02B3}{02B3} % ??? Combining r above
+\@ifundefined{textoverw}{\DeclareTextAccent{\textoverw}{OT1}{999}}{}
+\DeclareEncodedCompositeCharacter{\UTFencname}{\textoverw}{1DD3}{02B7} % ??? Combining w above
+%
+\@ifundefined{textovery}{\DeclareTextAccent{\textovery}{OT1}{999}}{}
+\DeclareEncodedCompositeCharacter{\UTFencname}{\textovery}{02B8}{02B8} % ??? Combining h above
+%
+%\DeclareEncodedCompositeCharacter{\UTFencname}{\textoverx}{02E3}{02E3} % Combining x, see Ux033D
+%
+%\@ifundefined{textspleftarrow}{\DeclareTextAccent{\textspleftarrow}{OT1}{999}}{}
+%\DeclareEncodedCompositeCharacter{\UTFencname}{\textspleftarrow}{1DFE}{02C2} % Combining left arrowhead above
+\DeclareUTFcharacter[\UTFencname]{x1DFE}{\textspleftarrow}
+\renewcommand{\textspleftarrow}{}
+
+%\@ifundefined{textsprightarrow}{\DeclareTextAccent{\textsprightarrow}{OT1}{999}}{}
+%\DeclareEncodedCompositeCharacter{\UTFencname}{\textsprightarrow}{0350}{02C3} % Combining right arrowhead
+\@ifundefined{textsbleftarrow}{\DeclareTextAccent{\textsbleftarrow}{OT1}{999}}{}
+\DeclareEncodedCompositeCharacter{\UTFencname}{\textsbleftarrow}{02FF}{02CB} % Combining left arrow below
+
+%\@ifundefined{textspleftarrow}{\DeclareTextAccent{\textspleftarrow}{OT1}{999}}{}
+%\DeclareEncodedCompositeAccents{\UTFencname}{\textspleftarrow}{1DFE}{0305} %
+
+\DeclareUTFcharacter[\UTFencname]{x02F5}{\textgravedbl} % middle
+\DeclareUTFcharacter[\UTFencname]{x02F7}{\texttildebelow} % middle
+%\DeclareUTFcharacter[\UTFencname]{x????}{\textasciidieresis}% see x00A8
+\DeclareUTFcharacter[\UTFencname]{x02F9}{\textopencorner} %
+\DeclareUTFcharacter[\UTFencname]{x02FA}{\textcorner} %
+%\DeclareEncodedCompositeCharacter{\UTFencname}{\textopencorner}{02F9}{02F9} %
+%\DeclareEncodedCompositeCharacter{\UTFencname}{\textcorner}{02FA}{02FA} %
+\providecommand{\textrectangle}{\textopencorner\textcorner}\renewcommand{\textrectangle}{}
+
+%\DeclareUTFcharacter[\UTFencname]{x0321}{\textpalhook}
+%\DeclareUTFcharacter[\UTFencname]{x0321}{\textpalhookvar}
+%\DeclareUTFcharacter[\UTFencname]{x0322}{\textrthook}
+\DeclareUTFcharacter[\UTFencname]{x034D}{\textsubdoublearrow} % ??
+\DeclareUTFcharacter[\UTFencname]{x0350}{\textrptr} % ??
+\DeclareUTFcharacter[\UTFencname]{x0362}{\textsubrightarrow} % ??
+
\DeclareEncodedCompositeCharacter{\UTFencname}{\`}{0300}{02CB} % Combining grave accent
\@ifundefined{capitalgrave}{\DeclareTextAccent{\capitalgrave}{OT1}{999}}{}
@@ -351,10 +497,10 @@
\DeclareEncodedCompositeCharacter{\UTFencname}{\newtie}{0311}{0311} % Combining inverted breve
\@ifundefined{capitalnewtie}{\DeclareTextAccent{\capitalnewtie}{OT1}{999}}{}
\DeclareEncodedCompositeCharacter{\UTFencname}{\capitalnewtie}{0311}{0311} % Combining inverted breve
-\@ifundefined{t}{\DeclareTextAccent{\t}{OT1}{999}}{}
-\DeclareEncodedCompositeCharacter{\UTFencname}{\t}{0311}{0311} % Combining inverted breve
-\@ifundefined{capitaltie}{\DeclareTextAccent{\capitaltie}{OT1}{999}}{}
-\DeclareEncodedCompositeCharacter{\UTFencname}{\capitaltie}{0311}{0311} % Combining inverted breve
+%\@ifundefined{t}{\DeclareTextAccent{\t}{OT1}{999}}{}
+%\DeclareEncodedCompositeCharacter{\UTFencname}{\t}{0311}{0311} % Combining inverted breve
+%\@ifundefined{capitaltie}{\DeclareTextAccent{\capitaltie}{OT1}{999}}{}
+%\DeclareEncodedCompositeCharacter{\UTFencname}{\capitaltie}{0311}{0311} % Combining inverted breve
\DeclareTextAccent{\textturncommaabove}{OT1}{999}
\DeclareEncodedCompositeCharacter{\UTFencname}{\textturncommaabove}{0312}{02BB} % Combining turned comma above
\DeclareTextAccent{\textcommaabove}{OT1}{999}
@@ -401,11 +547,13 @@
\DeclareTextAccent{\textcommabelow}{OT1}{999}
\DeclareEncodedCompositeCharacter{\UTFencname}{\textcommabelow}{0326}{0326} % Combining comma below
\DeclareEncodedCompositeCharacter{\UTFencname}{\c}{0327}{00B8} % Combining cedilla
+\@ifundefined{capitalcedilla}{\DeclareTextAccent{\capitalcedilla}{OT1}{999}}{}
\DeclareEncodedCompositeCharacter{\UTFencname}{\capitalcedilla}{0327}{00B8} % Combining cedilla
\DeclareEncodedCompositeCharacter{\UTFencname}{\k}{0328}{02DB} % Combining ogonek
+\@ifundefined{capitalogonek}{\DeclareTextAccent{\capitalogonek}{OT1}{999}}{}
\DeclareEncodedCompositeCharacter{\UTFencname}{\capitalogonek}{0328}{02DB} % Combining ogonek
\@ifundefined{textpolhook}{\DeclareTextAccent{\textpolhook}{OT1}{999}}{}
-\DeclareEncodedCompositeCharacter{\UTFencname}{\textpolhook}{0328}{02DB} % Combining ogonek
+\DeclareEncodedCompositeCharacter{\UTFencname}{\textpolhook}{0328}{02DB} % Combining polish hook (ogonek)
\@ifundefined{textsyllabic}{\DeclareTextAccent{\textsyllabic}{OT1}{999}}{}
\DeclareEncodedCompositeCharacter{\UTFencname}{\textsyllabic}{0329}{02CC} % Combining vertical line below
\@ifundefined{textsubbridge}{\DeclareTextAccent{\textsubbridge}{OT1}{999}}{}
@@ -453,7 +601,8 @@
\@ifundefined{textovercross}{\DeclareTextAccent{\textovercross}{OT1}{999}}{}
\DeclareEncodedCompositeCharacter{\UTFencname}{\textovercross}{033D}{033D} % Combining x above
%\DeclareEncodedCompositeCharacter{\UTFencname}{\?}{033E}{} % Combining vertical tilde
-%\DeclareEncodedCompositeCharacter{\UTFencname}{\?}{033F}{} % Combining double overline
+\@ifundefined{textdoubleoverline}{\DeclareTextAccent{\textdoubleoverline}{OT1}{999}}{}
+\DeclareEncodedCompositeCharacter{\UTFencname}{\textdoubleoverline}{033F}{033F} % Combining double overline
%\DeclareEncodedCompositeCharacter{\UTFencname}{\?}{0340}{} % Combining grave tone mark
%\DeclareEncodedCompositeCharacter{\UTFencname}{\?}{0341}{} % Combining acute tone mark
%\DeclareEncodedCompositeCharacter{\UTFencname}{\?}{0342}{} % Combining greek perispomeni
@@ -469,8 +618,8 @@
\DeclareEncodedCompositeCharacter{\UTFencname}{\subdoublevert}{0348}{0348} % Combining double vertical line below
\@ifundefined{subcorner}{\DeclareTextAccent{\subcorner}{OT1}{999}}{}
\DeclareEncodedCompositeCharacter{\UTFencname}{\subcorner}{0349}{0349} % Combining left angle below
-\@ifundefined{textoverw}{\DeclareTextAccent{\textoverw}{OT1}{999}}{}
-\DeclareEncodedCompositeCharacter{\UTFencname}{\textoverw}{034A}{034A} % ??? Combining not tilde above
+%\@ifundefined{textoverw}{\DeclareTextAccent{\textoverw}{OT1}{999}}{}
+%\DeclareEncodedCompositeCharacter{\UTFencname}{\textoverntilde}{034A}{034A} % ??? Combining not tilde above
\@ifundefined{crtilde}{\DeclareTextAccent{\crtilde}{OT1}{999}}{}
\DeclareEncodedCompositeCharacter{\UTFencname}{\crtilde}{034A}{034A} % Combining not tilde above
\@ifundefined{dottedtilde}{\DeclareTextAccent{\dottedtilde}{OT1}{999}}{}
@@ -484,7 +633,7 @@
\DeclareTextAccent{\textgraphemejoin}{OT1}{999}
\DeclareEncodedCompositeCharacter{\UTFencname}{\textgraphemejoin}{034F}{034F} % Combining grapheme joiner
\DeclareTextAccent{\textrightarrowhead}{OT1}{999}
-\DeclareEncodedCompositeCharacter{\UTFencname}{\textrightarrowhead}{0350}{0350} % Combining right arrowhead above
+\DeclareEncodedCompositeCharacter{\UTFencname}{\textrightarrowhead}{0350}{02C3} % Combining right arrowhead above
\DeclareTextAccent{\textlefthalfring}{OT1}{999}
\DeclareEncodedCompositeCharacter{\UTFencname}{\textlefthalfring}{0351}{02D3} % Combining left half ring above
%\DeclareEncodedCompositeCharacter{\UTFencname}{\?}{0352}{0352} % Combining fermata
@@ -501,7 +650,8 @@
%\DeclareEncodedCompositeCharacter{\UTFencname}{\?}{0359}{} % ** unassigned **
%\DeclareEncodedCompositeCharacter{\UTFencname}{\?}{035A}{} % ** unassigned **
%\DeclareEncodedCompositeCharacter{\UTFencname}{\?}{035B}{} % ** unassigned **
-%\DeclareEncodedCompositeCharacter{\UTFencname}{\?}{035C}{} % ** unassigned **
+\@ifundefined{textdoublebrevebelow}{\DeclareTextAccent{\textdoublebrevebelow}{OT1}{999}}{}
+\DeclareEncodedCompositeCharacter{\UTFencname}{\textdoublebrevebelow}{035C}{035C} % Combining double breve below
\DeclareTextAccent{\textdoublebreve}{OT1}{999}
\DeclareEncodedCompositeCharacter{\UTFencname}{\textdoublebreve}{035D}{035D} % Combining double breve
\DeclareTextAccent{\textdoublemacron}{OT1}{999}
@@ -510,10 +660,39 @@
\DeclareEncodedCompositeCharacter{\UTFencname}{\textdoublemacronbelow}{035F}{035F} % Combining double macron below
\DeclareTextAccent{\textdoubletilde}{OT1}{999}
\DeclareEncodedCompositeCharacter{\UTFencname}{\textdoubletilde}{0360}{0360} % Combining double tilde
+\@ifundefined{t}{\DeclareTextAccent{\t}{OT1}{999}}{}
+\DeclareEncodedCompositeCharacter{\UTFencname}{\t}{0361}{0361} % Combining double inverted breve
+\@ifundefined{capitaltie}{\DeclareTextAccent{\capitaltie}{OT1}{999}}{}
+\DeclareEncodedCompositeCharacter{\UTFencname}{\capitaltie}{0361}{0361} % Combining double inverted breve
\@ifundefined{texttoptiebar}{\DeclareTextAccent{\texttoptiebar}{OT1}{999}}{}
\DeclareEncodedCompositeCharacter{\UTFencname}{\texttoptiebar}{0361}{0361} % Combining double inverted breve
+
+% LaTeX uses \t as \t{oo}, so this needs implementing also:
+\expandafter\expandafter\expandafter\let
+ \expandafter\csname\expandafter \UTFencname\expandafter\string\expandafter\tie
+ \expandafter\expandafter\expandafter\endcsname
+ \expandafter\csname \UTFencname\string\t\endcsname
+
+% *** need to look for \textipa and expand its contents before the slide ***
+\expandafter\edef\csname \UTFencname\string\t\endcsname#1{%
+ \noexpand\checkfortipa{\noexpand\t}%
+ {\expandafter\noexpand\expandafter\csname \UTFencname\string\tie\endcsname}#1}
+
+% these become just alternative names for the same construction
+\expandafter\let\csname\UTFencname\string\capitaltie\expandafter\endcsname\csname \UTFencname\string\t\endcsname
+%\expandafter\let\csname \UTFencname\string\texttoptiebar\expandafter\endcsname\csname \UTFencname\string\tie\endcsname
+
+\expandafter\expandafter\expandafter\let\expandafter\csname \expandafter\UTFencname\expandafter\string\expandafter\texttoptiebar\expandafter\expandafter\expandafter\endcsname\expandafter\csname \UTFencname\string\t\endcsname
+
+%\expandafter\show\csname \UTFencname\string\texttoptiebar\endcsname
+%
\@ifundefined{sliding}{\DeclareTextAccent{\sliding}{OT1}{999}}{}
\DeclareEncodedCompositeCharacter{\UTFencname}{\sliding}{0362}{0362} % Combining double rightwards arrow
+\expandafter\let\csname \UTFencname\string\slidingtie\expandafter\endcsname\csname\UTFencname\string\sliding\endcsname
+% *** need to look for \textipa and expand its contents before the slide ***
+\expandafter\def\csname \UTFencname\string\sliding\expandafter\endcsname#1{%
+ \checkfortipa{\sliding}{\csname \UTFencname\string\slidingtie\endcsname}#1}
+
%\DeclareEncodedCompositeCharacter{\UTFencname}{\?}{0363}{0363} % Combining latin small letter a
%\DeclareEncodedCompositeCharacter{\UTFencname}{\?}{0364}{0364} % Combining latin small letter e
%\DeclareEncodedCompositeCharacter{\UTFencname}{\?}{0365}{0365} % Combining latin small letter i
@@ -528,13 +707,58 @@
%\DeclareEncodedCompositeCharacter{\UTFencname}{\?}{036E}{036E} % Combining latin small letter v
%\DeclareEncodedCompositeCharacter{\UTFencname}{\?}{036F}{036F} % Combining latin small letter x
+% Combining diacritics Supplement
+%\DeclareEncodedCompositeCharacter{\UTFencname}{\?}{1DC0}{1DC0} % Combining dotted grave accent
+%\DeclareEncodedCompositeCharacter{\UTFencname}{\?}{1DC1}{1DC1} % Combining dotted acute accent
+%\DeclareEncodedCompositeCharacter{\UTFencname}{\?}{1DC2}{1DC2} % Combining snake below
+%\DeclareEncodedCompositeCharacter{\UTFencname}{\?}{1DC3}{1DC3} % Combining suspension mark
+\DeclareTextAccent{\texthighrise}{OT1}{999}
+\DeclareEncodedCompositeCharacter{\UTFencname}{\texthighrise}{1DC4}{1DC4} % Combining macron acute
+\DeclareTextAccent{\textlowrise}{OT1}{999}
+\DeclareEncodedCompositeCharacter{\UTFencname}{\textlowrise}{1DC5}{1DC5} % Combining grave macron
+%\DeclareEncodedCompositeCharacter{\UTFencname}{\texthighrise}{1DC6}{1DC6} % Combining macron grave
+%\DeclareEncodedCompositeCharacter{\UTFencname}{\texthighrise}{1DC7}{1DC7} % Combining acute macron
+\DeclareTextAccent{\textrisefall}{OT1}{999}
+\DeclareEncodedCompositeCharacter{\UTFencname}{\textrisefall}{1DC8}{1DC8} % Combining grave acute grave
+\DeclareTextAccent{\textfallrise}{OT1}{999}
+\DeclareEncodedCompositeCharacter{\UTFencname}{\textfallrise}{1DC9}{1DC9} % Combining acute grave acute
+%\DeclareEncodedCompositeCharacter{\UTFencname}{\?}{1DCA}{1DCA} % Combining r below
+%\DeclareEncodedCompositeCharacter{\UTFencname}{\?}{1DCB}{1DCB} % Combining breve macron
+%\DeclareEncodedCompositeCharacter{\UTFencname}{\?}{1DCC}{1DCC} % Combining macron breve
+%\DeclareEncodedCompositeCharacter{\UTFencname}{\?}{1DCD}{1DCD} % Combining double circumflex
+%\DeclareEncodedCompositeCharacter{\UTFencname}{\?}{1DCE}{1DCE} % Combining ogonek above
+%\DeclareEncodedCompositeCharacter{\UTFencname}{\?}{1DCF}{1DCF} % Combining zigzag below
+%\DeclareEncodedCompositeCharacter{\UTFencname}{\?}{1DD0}{1DD0} % Combining is below
+%\DeclareEncodedCompositeCharacter{\UTFencname}{\?}{1DD1}{1DD1} % Combining ur above
+%\DeclareEncodedCompositeCharacter{\UTFencname}{\?}{1DD2}{1DD2} % Combining us above
+%\DeclareEncodedCompositeCharacter{\UTFencname}{\?}{1DD3}{1DD3} % Combining open a above
+%\DeclareEncodedCompositeCharacter{\UTFencname}{\?}{1DD4}{1DD4} % Combining ae-lig
+\DeclareEncodedCompositeCharacter{\UTFencname}{\textaolig}{1DD5}{1DD5} % Combining ao-lig
+%\DeclareEncodedCompositeCharacter{\UTFencname}{\?}{1DD6}{1DD6} % Combining av
+%\DeclareEncodedCompositeCharacter{\UTFencname}{\?}{1DD7}{1DD7} % Combining c-cedilla
+%\DeclareEncodedCompositeCharacter{\UTFencname}{\?}{1DD8}{1DD8} % Combining insular d (\dh)
+%\DeclareEncodedCompositeCharacter{\UTFencname}{\?}{1DD9}{1DD9} % Combining eth
+%\DeclareEncodedCompositeCharacter{\UTFencname}{\?}{1DDA}{1DDA} % Combining g
+%\DeclareEncodedCompositeCharacter{\UTFencname}{\?}{1DDB}{1DDB} % Combining G
+%\DeclareEncodedCompositeCharacter{\UTFencname}{\?}{1DDC}{1DDC} % Combining k
+%\DeclareEncodedCompositeCharacter{\UTFencname}{\?}{1DDD}{1DDD} % Combining l
+%\DeclareEncodedCompositeCharacter{\UTFencname}{\?}{1DDE}{1DDE} % Combining L
+%\DeclareEncodedCompositeCharacter{\UTFencname}{\?}{1DDF}{1DDF} % Combining M
+%\DeclareEncodedCompositeCharacter{\UTFencname}{\?}{1DE0}{1DE0} % Combining n
+%\DeclareEncodedCompositeCharacter{\UTFencname}{\?}{1DE1}{1DE1} % Combining N
+%\DeclareEncodedCompositeCharacter{\UTFencname}{\?}{1DE2}{1DE2} % Combining R
+%\DeclareEncodedCompositeCharacter{\UTFencname}{\?}{1DE3}{1DE3} % Combining 2
+%\DeclareEncodedCompositeCharacter{\UTFencname}{\?}{1DE4}{1DE4} % Combining s
+%\DeclareEncodedCompositeCharacter{\UTFencname}{\?}{1DE5}{1DE5} % Combining long s
+%\DeclareEncodedCompositeCharacter{\UTFencname}{\?}{1DE6}{1DE6} % Combining z
+
% missing IPA accenting macros
-%\DeclareEncodedCompositeCharacter{\UTFencname}{\partvoiceless}{????} % Combining (o) below
-%\DeclareEncodedCompositeCharacter{\UTFencname}{\inipartvoiceless}{????} % Combining (o below
-%\DeclareEncodedCompositeCharacter{\UTFencname}{\finpartvoiceless}{????} % Combining o) below
-%\DeclareEncodedCompositeCharacter{\UTFencname}{\partvoice}{????} % Combining (v) below
-%\DeclareEncodedCompositeCharacter{\UTFencname}{\inipartvoice}{????} % Combining (v below
-%\DeclareEncodedCompositeCharacter{\UTFencname}{\finpartvoice}{????} % Combining v) below
+%\DeclareEncodedCompositeCharacter{\UTFencname}{\partvoiceless}{????}{????} % Combining (o) below
+%\DeclareEncodedCompositeCharacter{\UTFencname}{\inipartvoiceless}{????}{????} % Combining (o below
+%\DeclareEncodedCompositeCharacter{\UTFencname}{\finpartvoiceless}{????}{????} % Combining o) below
+%\DeclareEncodedCompositeCharacter{\UTFencname}{\partvoice}{????}{????} % Combining (v) below
+%\DeclareEncodedCompositeCharacter{\UTFencname}{\inipartvoice}{????}{????} % Combining (v below
+%\DeclareEncodedCompositeCharacter{\UTFencname}{\finpartvoice}{????}{????} % Combining v) below
@@ -567,71 +791,98 @@
\@ifundefined{textbrevemacron}{\DeclareTextAccent{\textbrevemacron}{OT1}{999}}{}
\DeclareEncodedCompositeAccents{\UTFencname}{\textbrevemacron}{0306}{0304} % breve-macron ligature
-\DeclareTextAccent{\texthookcircum}{OT1}{999}
+\@ifundefined{texthookcircum}{\DeclareTextAccent{\texthookcircum}{OT1}{999}}{}
\DeclareEncodedCompositeAccents{\UTFencname}{\texthookcircum}{0309}{0302}
-\DeclareTextAccent{\texttildecircum}{OT1}{999}
+\@ifundefined{texttildecircum}{\DeclareTextAccent{\texttildecircum}{OT1}{999}}{}
\DeclareEncodedCompositeAccents{\UTFencname}{\texttildecircum}{0303}{0302}
-\DeclareTextAccent{\textdieresisoverline}{OT1}{999}
+\@ifundefined{textdieresisoverline}{\DeclareTextAccent{\textdieresisoverline}{OT1}{999}}{}
\DeclareEncodedCompositeAccents{\UTFencname}{\textdieresisoverline}{0304}{0308}
-\DeclareTextAccent{\textdieresisacute}{OT1}{999}
+\@ifundefined{textdieresisacute}{\DeclareTextAccent{\textdieresisacute}{OT1}{999}}{}
\DeclareEncodedCompositeAccents{\UTFencname}{\textdieresisacute}{0301}{0308}
-\DeclareTextAccent{\textdieresisgrave}{OT1}{999}
+\@ifundefined{textdieresisgrave}{\DeclareTextAccent{\textdieresisgrave}{OT1}{999}}{}
\DeclareEncodedCompositeAccents{\UTFencname}{\textdieresisgrave}{0300}{0308}
-\DeclareTextAccent{\textdieresiscaron}{OT1}{999}
+\@ifundefined{textdieresiscaron}{\DeclareTextAccent{\textdieresiscaron}{OT1}{999}}{}
\DeclareEncodedCompositeAccents{\UTFencname}{\textdieresiscaron}{030C}{0308}
-\DeclareTextAccent{\texttildeoverline}{OT1}{999}
+\@ifundefined{texttildeoverline}{\DeclareTextAccent{\texttildeoverline}{OT1}{999}}{}
\DeclareEncodedCompositeAccents{\UTFencname}{\texttildeoverline}{0303}{0304}
-\DeclareTextAccent{\textdotoverline}{OT1}{999}
+\@ifundefined{textdotoverline}{\DeclareTextAccent{\textdotoverline}{OT1}{999}}{}
\DeclareEncodedCompositeAccents{\UTFencname}{\textdotoverline}{0304}{0307}
-\DeclareTextAccent{\textringacute}{OT1}{999}
+\@ifundefined{textringacute}{\DeclareTextAccent{\textringacute}{OT1}{999}}{}
\DeclareEncodedCompositeAccents{\UTFencname}{\textringacute}{0301}{030A}
-\DeclareTextAccent{\textcircumdotbelow}{OT1}{999}
+\@ifundefined{textcircumdotbelow}{\DeclareTextAccent{\textcircumdotbelow}{OT1}{999}}{}
\DeclareEncodedCompositeAccents{\UTFencname}{\textcircumdotbelow}{0302}{0323}
-\DeclareTextAccent{\textbreveacute}{OT1}{999}
+\@ifundefined{textbreveacute}{\DeclareTextAccent{\textbreveacute}{OT1}{999}}{}
\DeclareEncodedCompositeAccents{\UTFencname}{\textbreveacute}{0301}{0306}
-\DeclareTextAccent{\textbrevegrave}{OT1}{999}
+\@ifundefined{textbrevegrave}{\DeclareTextAccent{\textbrevegrave}{OT1}{999}}{}
\DeclareEncodedCompositeAccents{\UTFencname}{\textbrevegrave}{0300}{0306}
-\DeclareTextAccent{\textbrevehook}{OT1}{999}
+\@ifundefined{textbrevehook}{\DeclareTextAccent{\textbrevehook}{OT1}{999}}{}
\DeclareEncodedCompositeAccents{\UTFencname}{\textbrevehook}{0309}{0306}
-\DeclareTextAccent{\textbrevetilde}{OT1}{999}
+\@ifundefined{textbrevetilde}{\DeclareTextAccent{\textbrevetilde}{OT1}{999}}{}
\DeclareEncodedCompositeAccents{\UTFencname}{\textbrevetilde}{0303}{0306}
-\DeclareTextAccent{\textbrevedotbelow}{OT1}{999}
+\@ifundefined{textbrevedotbelow}{\DeclareTextAccent{\textbrevedotbelow}{OT1}{999}}{}
\DeclareEncodedCompositeAccents{\UTFencname}{\textbrevedotbelow}{0323}{0306}
-\DeclareTextAccent{\textacutehorn}{OT1}{999}
+\@ifundefined{textacutehorn}{\DeclareTextAccent{\textacutehorn}{OT1}{999}}{}
\DeclareEncodedCompositeAccents{\UTFencname}{\textacutehorn}{0301}{031B}
-\DeclareTextAccent{\textgravehorn}{OT1}{999}
+\@ifundefined{textgravehorn}{\DeclareTextAccent{\textgravehorn}{OT1}{999}}{}
\DeclareEncodedCompositeAccents{\UTFencname}{\textgravehorn}{0300}{031B}
-\DeclareTextAccent{\texthookhorn}{OT1}{999}
+\@ifundefined{texthookhorn}{\DeclareTextAccent{\texthookhorn}{OT1}{999}}{}
\DeclareEncodedCompositeAccents{\UTFencname}{\texthookhorn}{0309}{031B}
-\DeclareTextAccent{\texttildehorn}{OT1}{999}
+\@ifundefined{texttildehorn}{\DeclareTextAccent{\texttildehorn}{OT1}{999}}{}
\DeclareEncodedCompositeAccents{\UTFencname}{\texttildehorn}{0303}{031B}
-\DeclareTextAccent{\textdotbelowhorn}{OT1}{999}
+\@ifundefined{textdotbelowhorn}{\DeclareTextAccent{\textdotbelowhorn}{OT1}{999}}{}
\DeclareEncodedCompositeAccents{\UTFencname}{\textdotbelowhorn}{0323}{031B}
-\DeclareTextAccent{\textogonekoverline}{OT1}{999}
+\@ifundefined{textogonekoverline}{\DeclareTextAccent{\textogonekoverline}{OT1}{999}}{}
\DeclareEncodedCompositeAccents{\UTFencname}{\textogonekoverline}{0328}{0304}
-\DeclareTextAccent{\textmiddledot}{OT1}{999}
+\@ifundefined{textmiddledot}{\DeclareTextAccent{\textmiddledot}{OT1}{999}}{}
\DeclareEncodedCompositeCharacter{\UTFencname}{\textmiddledot}{05BC}{05BC}
+\DeclareEncodedCompositeCharacter{\UTFencname}{\TIPAvertmacro}{007C}{007C} % vertical line
+
+\DeclareEncodedCompositeCharacter{\UTFencname}{\textupstep}{A71B}{A71B} % tone uparrow
+\DeclareEncodedCompositeCharacter{\UTFencname}{\textdownstep}{A71C}{A71B} % tone downarrow
+
+\expandafter\ifx\csname ReloadXunicode\endcsname\relax
% need to patch the accents for use with TIPA's T3 encoded letters
% and shorthand for double-accents
-\let\realLaTeXacute\' \def\tipaacuteaccent{\TIPAaccent{\realLaTeXacute}}
-\let\realLaTeXgrave\` \def\tipagraveaccent{\TIPAaccent{\realLaTeXgrave}}
-\let\realLaTeXcircum\^ \def\tipacircumaccent{\TIPAaccent{\realLaTeXcircum}}
-\let\realLaTeXumlaut\" \def\tipaumlautaccent{\TIPAaccent{\realLaTeXumlaut}}
-\let\realLaTeXmacron\= \def\tipamacronaccent{\TIPAaccent{\realLaTeXmacron}}
-\let\realLaTeXtilde\~ \def\tipatildeaccent{\TIPAaccent{\realLaTeXtilde}}
-\let\realLaTeXdot\. \def\tipadotaccent{\TIPAaccent{\realLaTeXdot}}
-\let\realLaTeXring\r \def\tiparingaccent{\TIPAaccent{\realLaTeXring}}
-\let\realLaTeXbreve\u \def\tipabreveaccent{\TIPAaccent{\realLaTeXbreve}}
-\let\realLaTeXcaron\v \def\tipacaronaccent{\TIPAaccent{\realLaTeXcaron}}
-\let\realLaTeXogonek\k \def\tipatieaccent{\TIPAaccent{\realLaTeXogonek}}
-\let\realLaTeXhungar\H \def\tipahungaraccent{\TIPAaccent{\realLaTeXhungar}}
-\let\realLaTeXring\c \def\tipacedillaaccent{\TIPAaccent{\realLaTeXcedilla}}
-\let\realLaTeXmisc\m \def\tipamiscaccent{\TIPAaccent{\realLaTeXmisc}}
-\let\realLaTeXtie\t \def\tipatieaccent{\TIPAaccent{\realLaTeXtie}}
+\input t3enc.def
+
+\let\realLaTeXacute\' \def\tipaacuteaccent{\TIPAaccent{\realLaTeXacute}}
+\let\realLaTeXgrave\` \def\tipagraveaccent{\TIPAaccent{\realLaTeXgrave}}
+\let\realLaTeXcircum\^ \def\tipacircumaccent{\TIPAaccent{\realLaTeXcircum}}
+\let\realLaTeXumlaut\" \def\tipaumlautaccent{\TIPAaccent{\realLaTeXumlaut}}
+\let\realLaTeXmacron\= \def\tipamacronaccent{\TIPAaccent{\realLaTeXmacron}}
+\let\realLaTeXtilde\~ \def\tipatildeaccent{\TIPAaccent{\realLaTeXtilde}}
+\let\realLaTeXdot\. \def\tipadotaccent{\TIPAaccent{\realLaTeXdot}}
+\let\realLaTeXring\r \def\tiparingaccent{\TIPAaccent{\realLaTeXring}}
+\let\realLaTeXbreve\u \def\tipabreveaccent{\TIPAaccent{\realLaTeXbreve}}
+\let\realLaTeXcaron\v \def\tipacaronaccent{\TIPAaccent{\realLaTeXcaron}}
+\let\realLaTeXogonek\k \def\tipaogonekaccent{\TIPAaccent{\realLaTeXogonek}}
+\let\realLaTeXhungar\H \def\tipahungaraccent{\TIPAaccent{\realLaTeXhungar}}
+\let\realLaTeXcedilla\c \def\tipacedillaaccent{\TIPAaccent{\realLaTeXcedilla}}
+\let\realLaTeXmisc\m \def\tipamiscaccent{\TIPAaccent{\realLaTeXmisc}}
+\let\realLaTeXtie\t \def\tipatieaccent{\TIPAaccent{\realLaTeXtie}}
+\let\realLaTeXvert\| \def\tipavertaccent{\TIPAaccent{\TIPAvertmacro}}%
+
+\let\realLaTeXmathcolon\: \def\tipacolonmacro{%
+ \ifmmode\expandafter\realLaTeXmathcolon\else\expandafter\TIPAcolonmacro\fi}
+\let\realLaTeXmathsemicolon\: \def\tipasemicolonmacro{%
+ \ifmmode\expandafter\realLaTeXmathsemicolon\else\expandafter\TIPAsemicolonmacro\fi}
+\let\realLaTeXmathstar\* \def\tipastarmacro{%
+ \ifmmode\expandafter\realLaTeXmathstar\else\expandafter\TIPAstarmacro\fi}
+\let\realLaTeXmathexclam\! \def\tipaexclammacro{%
+ \ifmmode\expandafter\realLaTeXmathexclam\else\expandafter\TIPAexclammacro\fi}
+%\let\realLaTeXmathvert\| \def\tipavertmacro{%
+% \ifmmode\expandafter\realLaTeXmathvert\else\expandafter\TIPAvertmacro\fi}
+
+
+\DeclareTextAccent{\TIPAcolonmacro}{OT1}{999}
+\DeclareTextAccent{\TIPAsemicolonmacro}{OT1}{999}
+\DeclareTextAccent{\TIPAstarmacro}{OT1}{999}
+\DeclareTextAccent{\TIPAexclammacro}{OT1}{999}
+\DeclareTextAccent{\TIPAvertmacro}{OT1}{999}
\def\setupTIPAaccents{%
\let\'\tipaacuteaccent
@@ -649,19 +900,36 @@
\let\H\tipahungaraccent
\let\t\tipatieaccent
\let\m\tipamiscaccent
+ \let\|\tipavertaccent
+%
+ \let\s\textsyllabic
+ \let\:\tipacolonmacro
+ \let\;\tipasemicolonmacro
+ \let\*\tipastarmacro
+ \let\!\tipaexclammacro
}
\def\TIPAaccent#1#2{\bgroup
\def\donextaccent{\egroup#1#2}%
- \def\doexpandaccent{\egroup\expandafter#1#2}%
+% \def\doexpandaccent{\egroup\expandafter#1#2}%
+ \def\doexpandaccentchar{\egroup\expandafter#1#2}%
+ \def\doexpandaccentgroup{\egroup\expandafter#1\expandafter{#2}}%
\def\tmpa{#2}\expandafter\def\expandafter\tmpb\expandafter{#2}%
- \ifx\tmpa\tmpb\else\edef\tmp{\string#2}%
+ \ifx\tmpa\tmpb\else
+ % have to do more here for nested accents !!!
+ \expandafter\def\expandafter\tmp\expandafter{\string#2}%
\expandafter\testforslash\tmp\$!\$%
\fi \donextaccent }
\def\testforslash#1#2\$!\${\def\tmp{#1}%
- \ifx\tmp\TIPAbareslash\else
- \let\donextaccent\doexpandaccent
+ \ifx\tmp\TIPAbareslash
+ \ifx\relax#2\relax\else
+ % for nested accents or macros
+ \let\donextaccent\doexpandaccentgroup
+ \fi
+ \else
+ % for active characters
+ \let\donextaccent\doexpandaccentchar
\fi}
\def\catchbareslash#1#2\$!\${\def\TIPAbareslash{#1}}
\edef\next{\string\ }
@@ -692,16 +960,156 @@
\def\tipabrevemacronaccent{\TIPAaccent{\textbrevemacron}}
\def\tipaacutewedgeaccent{\TIPAaccent{\textacutewedge}}
+\def\tipasubbridgeaccent{\TIPAaccent{\textsubbridge}}
+\def\tipainvsubbridgeaccent{\TIPAaccent{\textinvsubbridge}}
+\def\tipasublhalfringaccent{\TIPAaccent{\textsublhalfring}}
+\def\tipasubrhalfringaccent{\TIPAaccent{\textsubrhalfring}}
+\def\tiparoundcapaccent{\TIPAaccent{\textroundcap}}
+\def\tipasubplusaccent{\TIPAaccent{\textsubplus}}
+\def\tiparaisingaccent{\TIPAaccent{\textraising}}
+\def\tipaloweringaccent{\TIPAaccent{\textlowering}}
+\def\tipaadvancingaccent{\TIPAaccent{\textadvancing}}
+\def\tiparetractingaccent{\TIPAaccent{\textretracting}}
+\def\tipaovercrossaccent{\TIPAaccent{\textovercross}}
+\def\tipasubwaccent{\TIPAaccent{\textsubw}}
+\def\tipaundertieaccent{\TIPAaccent{\textundertie}}
+\def\tipasubarchaccent{\TIPAaccent{\textsubarch}}
+\def\tipaseagullaccent{\TIPAaccent{\textseagull}}
+
+\newcount\tipaTiiicode
+\renewcommand{\tipaloweraccent}[2][]{%
+ \def\next{}%
+ \tipaTiiicode=#2\relax
+ \ifcase\tipaTiiicode\relax
+ \notipaloweraccent{#2}% % 0 L 0 U = grave
+ \or\notipaloweraccent{#2}% % 1 U = acute
+ \or\let\next\textsubcircum % 2 L 2 U = circum
+ \or\let\next\textsubtilde % 3 L 3 U = tilde
+ \or\let\next\textsubumlaut % 4 L 4 U = umlaut
+ \or\notipaloweraccent{#2}% % 5 U = hungar-umlaut
+ \or\let\next\textsubring % 6 L 6 U = ring
+ \or\let\next\textsubwedge % 7 L 7 U = caron
+ \or\let\next\tipasubarch % 8 L 8 U = breve
+ \or\let\next\textsubbar % 9 L 9 U = macron
+ \or\let\next\textsubdot % 10 L 10 U = dot
+ \or\let\next\c % 11 L cedilla
+ \or\let\next\textpolhook % 12 L ogonek
+ \or\let\next\textdoublegrave % 13 U = textdoublegrave
+ \or\let\next\textsubgrave % 14 L
+ \or\let\next\textsubacute % 15 L
+ \or\notipaloweraccent{#2}% % 16 U = textroundcap
+ \or\let\next\textsubarch % 16 L
+ \or\let\next\textsubbridge % 17 L
+ \or\let\next\textinvsubbridge % 18 L
+ \or\let\next\textsubsquare % 19 L
+ \or\let\next\textsubrhalfring % 20 L
+ \or\let\next\textsublhalfring % 21 L
+ \or\let\next\textsubw % 22 L
+% \or\let\next\textoverw % 22 U = textoverw
+ \or\let\next\textseagull % 23 L
+ \or\notipaloweraccent{#2}% % 24 U = textovercross
+ \or\notipaloweraccent{#2}% % 25
+ \or\notipaloweraccent{#2}% % 26
+ \or\let\next\textsubplus % 27 L
+ \or\let\next\textraising % 28 L
+ \or\let\next\textlowering % 29 L
+ \or\let\next\textadvancing % 30 L
+ \or\let\next\textretracting% 31 L
+ \or\notipaloweraccent{#2}% % 32
+ \or\notipaloweraccent{#2}% % 33
+ \or\let\next\textsyllabic % 34 L
+ \or\expandafter % 35
+ \or\expandafter % 36
+ \or\expandafter % 37
+ \or\let\next\textsuperimposetilde % 38 lap
+ \or\expandafter % 39
+ \or\expandafter % 4
+ \or\expandafter % 5
+ \or\let\next\textundertieaccent % 60 L
+ \or\let\next\texttoptiebar % 62 U
+ \or\let\next\textmidacute % 152 U
+ \or\let\next\textgravemid % 153 U
+ \or\let\next\textgravecircum % 154 U
+ \or\let\next\textcircumacute % 155 U
+ \or\let\next\textvbaraccent % 156 U
+ \or\let\next\textdoublevbaraccent % 157 U
+ \or\let\next\textgravedot % 158 U
+ \or\let\next\textdotacute % 159 U
+% 128 + 24 = 152
+ \else
+ \expandafter\def\expandafter\next\expandafter{%
+ \expandafter\tipaxloweraccent\expandafter{\the\tipaTiiicode}}%
+ \fi
+ \next }
+\renewcommand{\tipaupperaccent}[2][]{%
+ \def\next{}%
+ \tipaTiiicode=#2\relax
+ \ifcase\tipaTiiicode\relax
+ \let\next\`% 0 grave accent
+ \or\let\next\'% 1 acute accent
+ \or\let\next\^% 2 circum accent
+ \or\let\next\~% 3 tilde accent
+ \or\let\next\"% 4 umlaut accent
+ \or\let\next\H% 5 hungar-umlaut accent
+ \or\let\next\r% 6 ring accent
+ \or\let\next\v% 7 caron accent
+ \or\let\next\u% 8 breve accent
+ \or\let\next\=% 9 macron accent
+ \or\let\next\.% 10 dot-above accent
+ \or\notipaupperaccent{#2}% 11
+ \or\notipaupperaccent{#2}% 12
+ \or\notipaupperaccent{#2}% 13
+ \or\notipaupperaccent{#2}% 14
+ \or\notipaupperaccent{#2}% 15
+ \or\let\next\textroundcap % 16
+ \or\notipaupperaccent{#2}% 17
+ \or\notipaupperaccent{#2}% 18
+ \or\notipaupperaccent{#2}% 19
+ \or\notipaupperaccent{#2}% 20
+ \or\notipaupperaccent{#2}% 21
+ \or\let\next\textoverw % 22
+ \or\notipaupperaccent{#2}% 23
+ \or\let\next\textovercross% 24
+ \else
+ \expandafter\def\expandafter\next\expandafter{%
+ \expandafter\tipaxupperaccent\expandafter{\the\tipaTiiicode}}%
+ \fi
+ \next }
+
+\def\notipaloweraccent#1{\typeout{*** no lowerable accent in position #1 ***}}
+\def\notipaupperaccent#1{\typeout{*** no raiseable accent in position #1 ***}}
+
+\let\realtipaupperaccent\tipaUpperaccent
+\def\supsdimi{.2ex}
+\def\supsdimii{.8ex}
+\providecommand{\sups}[2]{{%\tracingall
+ \textipa{\realtipaupperaccent[\supsdimi]%
+ {\lower\supsdimii\hbox{\super{#2}}}{#1}}}}
+
+% Constructed multiple accents
+\def\tipaDOTacuteaccent#1{{\.{\ }\kern-.25em#1\kern-.2em\'{\ }}}
+\def\tipagraveDOTaccent#1{{\`{\ }\kern-.25em#1\kern-.2em\.{\ }}}
+\AtBeginDocument{%
+ \let\textdotacute\tipaDOTacuteaccent
+ \let\textgravedot\tipagraveDOTaccent
+}
+
+
+\fi
+% end of the part that should not be loaded more than once.
+
+
\edef\next{\expandafter\string\csname\UTFencname\endcsname}
\expandafter\let\csname\next\string\'-*\endcsname \tipasubacuteaccent
\expandafter\let\csname\next\string\'-.\endcsname \tipadotacuteaccent
+\expandafter\let\csname\next\string\.-'\endcsname \tipaDOTacuteaccent
\expandafter\let\csname\next\string\'-=\endcsname \tipaacutemacronaccent
\expandafter\let\csname\next\string\^-*\endcsname \tipasubcircumaccent
\expandafter\let\csname\next\string\^-.\endcsname \tipacircumdotaccent
-\expandafter\let\csname\next\string\~-*\endcsname \tipasubtildeccent
+\expandafter\let\csname\next\string\~-*\endcsname \tipasubtildeaccent
\expandafter\let\csname\next\string\~-.\endcsname \tipatildedotaccent
\expandafter\let\csname\next\string\`-*\endcsname \tipasubgraveaccent
-\expandafter\let\csname\next\string\`-.\endcsname \tipagravedotaccent
+\expandafter\let\csname\next\string\`-.\endcsname \tipagraveDOTaccent
\expandafter\let\csname\next\string\`-=\endcsname \tipagravemacronaccent
\expandafter\let\csname\next\string\`-^\endcsname \tipagravecircumaccent
\expandafter\let\csname\next\string\.-*\endcsname \tipasubdotaccent
@@ -711,8 +1119,138 @@
\expandafter\let\csname\next\string\r-*\endcsname \tipasubringaccent
\expandafter\let\csname\next\string\r-=\endcsname \tiparingmacronaccent
\expandafter\let\csname\next\string\u-=\endcsname \tipabrevemacronaccent
+\expandafter\let\csname\next\string\u-*\endcsname \tipasubarchaccent
\expandafter\let\csname\next\string\v-*\endcsname \tipasubwedgeaccent
\expandafter\let\csname\next\string\v-'\endcsname \tipaacutewedgeaccent
+\expandafter\let\csname\next\string\t-*\endcsname \tipaundertieaccent
+
+\expandafter\let\csname\next\string\TIPAvertmacro-[\endcsname \tipasubbridgeaccent
+\expandafter\let\csname\next\string\TIPAvertmacro-]\endcsname \tipainvsubbridgeaccent
+\expandafter\let\csname\next\string\TIPAvertmacro-(\endcsname \tipasublhalfringaccent
+\expandafter\let\csname\next\string\TIPAvertmacro-)\endcsname \tipasubrhalfringaccent
+\expandafter\let\csname\next\string\TIPAvertmacro-c\endcsname \tiparoundcapaccent
+\expandafter\let\csname\next\string\TIPAvertmacro-+\endcsname \tipasubplusaccent
+\expandafter\let\csname\next\string\TIPAvertmacro-'\endcsname \tiparaisingaccent
+\expandafter\let\csname\next\string\TIPAvertmacro-`\endcsname \tipaloweringaccent
+\expandafter\let\csname\next\string\TIPAvertmacro-<\endcsname \tipaadvancingaccent
+\expandafter\let\csname\next\string\TIPAvertmacro->\endcsname \tiparetractingaccent
+\expandafter\let\csname\next\string\TIPAvertmacro-x\endcsname \tipaovercrossaccent
+\expandafter\let\csname\next\string\TIPAvertmacro-w\endcsname \tipasubwaccent
+\expandafter\let\csname\next\string\TIPAvertmacro-m\endcsname \tipaseagullaccent
+
+% Implement the special TIPA macros, on just particular letters
+%
+\expandafter\def\csname\next\string\TIPAstarmacro-f\endcsname{\textObardotlessj}% U+025F
+\expandafter\def\csname\next\string\TIPAstarmacro-k\endcsname{\textturnk}%
+\expandafter\def\csname\next\string\TIPAstarmacro-r\endcsname{\textturnr}%
+\expandafter\def\csname\next\string\TIPAstarmacro-t\endcsname{\textturnt}%
+\expandafter\def\csname\next\string\TIPAstarmacro-w\endcsname{\textturnw}%
+\expandafter\def\csname\next\string\TIPAstarmacro-j\endcsname{\textbardotlessj}%
+\expandafter\def\csname\next\string\TIPAstarmacro-n\endcsname{\textltailn}%
+\expandafter\def\csname\next\string\TIPAstarmacro-h\endcsname{\texthbar}%
+\expandafter\def\csname\next\string\TIPAstarmacro-l\endcsname{\textbeltl}%
+\expandafter\def\csname\next\string\TIPAstarmacro-z\endcsname{\textlyoghlig}%
+% Don't need to handle these punctuations specially.
+%\expandafter\def\csname\next\string\TIPAstarmacro-;\endcsname{;}%
+%\expandafter\def\csname\next\string\TIPAstarmacro-:\endcsname{:}%
+%\expandafter\def\csname\next\string\TIPAstarmacro-@\endcsname{@}%
+%\expandafter\def\csname\next\string\TIPAstarmacro-$\endcsname{\$}% ???
+%\expandafter\def\csname\next\string\TIPAstarmacro-#\endcsname{\#}% ???
+%\expandafter\def\csname\next\string\TIPAstarmacro-&\endcsname{\&}% ???
+%\expandafter\def\csname\next\string\TIPAstarmacro-\%\endcsname{\%}% ???
+%\expandafter\def\csname\next\string\TIPAstarmacro-\{\endcsname{\{}% ???
+%\expandafter\def\csname\next\string\TIPAstarmacro-\}\endcsname{\}}% ???
+%
+\expandafter\def\csname\next\string\TIPAsemicolonmacro-A\endcsname{\textsca}%
+\expandafter\def\csname\next\string\TIPAsemicolonmacro-B\endcsname{\textscb}%
+\expandafter\def\csname\next\string\TIPAsemicolonmacro-E\endcsname{\textsce}%
+\expandafter\def\csname\next\string\TIPAsemicolonmacro-G\endcsname{\textscg}%
+\expandafter\def\csname\next\string\TIPAsemicolonmacro-H\endcsname{\textsch}%
+\expandafter\def\csname\next\string\TIPAsemicolonmacro-J\endcsname{\textscj}%
+\expandafter\def\csname\next\string\TIPAsemicolonmacro-L\endcsname{\textscl}%
+\expandafter\def\csname\next\string\TIPAsemicolonmacro-N\endcsname{\textscn}%
+\expandafter\def\csname\next\string\TIPAsemicolonmacro-Q\endcsname{\TIPAtextscq}% !!!
+\expandafter\def\csname\next\string\TIPAsemicolonmacro-R\endcsname{\textscr}%
+\expandafter\def\csname\next\string\TIPAsemicolonmacro-U\endcsname{\textscu}%
+\expandafter\def\csname\next\string\TIPAcolonmacro-d\endcsname{\textrtaild}%
+\expandafter\def\csname\next\string\TIPAcolonmacro-l\endcsname{\textrtaill}%
+\expandafter\def\csname\next\string\TIPAcolonmacro-n\endcsname{\textrtailn}%
+\expandafter\def\csname\next\string\TIPAcolonmacro-r\endcsname{\textrtailr}%
+\expandafter\def\csname\next\string\TIPAcolonmacro-R\endcsname{\textturnrrtail}%
+\expandafter\def\csname\next\string\TIPAcolonmacro-s\endcsname{\textrtails}%
+\expandafter\def\csname\next\string\TIPAcolonmacro-t\endcsname{\textrtailt}%
+\expandafter\def\csname\next\string\TIPAcolonmacro-z\endcsname{\textrtailz}%
+\expandafter\def\csname\next\string\TIPAexclammacro-b\endcsname{\texthtb}%
+\expandafter\def\csname\next\string\TIPAexclammacro-d\endcsname{\texthtd}%
+\expandafter\def\csname\next\string\TIPAexclammacro-g\endcsname{\texthtg}%
+\expandafter\def\csname\next\string\TIPAexclammacro-j\endcsname{\texthtbardotlessj}%
+\expandafter\def\csname\next\string\TIPAexclammacro-G\endcsname{\texthtscg}%
+\expandafter\def\csname\next\string\TIPAexclammacro-o\endcsname{\textbullseye}%
+
+% Constructed Characters, having no Unicode point
+\def\textaolig{{a\kern-.25em o}}
+\expandafter\def\csname\UTFencname\string\textturncelig\endcsname{{\textopeno\kern-.2em e}}
+\def\textctdctzlig{{\textctd\kern-.08em\textctz}}
+\def\textinvscripta{{\raise1ex\hbox{\scalebox{1}[-1]{\textscripta}}}}
+\def\textinvsca{{\raise1ex\hbox{\scalebox{1}[-1]{\textsca}}}}
+\def\textscaolig{{\textsca\kern-.2em o}}%\renewcommand{\textscaolig}{}
+\def\textctstretchc{{\textpalhookbelow{\textstretchc}}}%\renewcommand{\textctstretchc}{}
+\def\textctstretchcvar{{\textpalhookbelow{\textstretchc}}}%\renewcommand{\textctstretchcvar}{}
+\def\textfrhookd{{\textpalhookbelow{d}}}\renewcommand{\textfrhookd}{d}
+\def\textfrhookdvar{{\textpalhookbelow{d}}}\renewcommand{\textfrhookdvar}{d}
+\def\textbktailgamma{{\textrethookbelow{\textgrgamma}}}
+\def\textfrtailgamma{{\textpalhookbelow{\textgrgamma}}}
+\def\textrtailhth{{\textrethookbelow{\texthth}}}
+%\def\textrtailhth{{\raise1ex\hbox{\scalebox{-1}{\textvibyy}}}}
+%\def\textheng{{\textpalhookbelow{h}}}% UxA727
+\def\textraisevibyi{{\raise.45ex\hbox{\textvibyi}}}
+\def\textturnsck{{\raise1ex\hbox{\scalebox{-1}{\textsck}}}}
+\def\textlfishhookrlig{{l\kern-.28em\textfishhookr}}
+\def\textrevscl{{\scalebox{-1}[1]{\faketextsc{L}}}}
+\def\texthmlig{{\raise1ex\hbox{\scalebox{-1}{\textturnmrleg}}}}
+\def\textfrbarn{{\textpalhookbelow{n}}}\renewcommand{\textfrbarn}{}
+\def\textinvomega{{\raise1ex\hbox{\scalebox{1}[-1]{\textomega}}}}
+%\def\textlhookp{\textpalhookbelow{p}}\renewcommand{\textlhookp}{p}
+\def\textfrhookt{{\textpalhookbelow{t}}}\renewcommand{\textfrhookt}{}
+\def\textctturnt{{\textpalhookbelow{\textturnt}}}\renewcommand{\textctturnt}{}
+\def\textcttctclig{{\textctt\kern-.08em\textctc}}
+\def\textturnscu{{\raise1ex\hbox{\scalebox{-1}{\faketextsc{U}}}}}
+\def\textturntwo{{\raise1ex\hbox{\scalebox{-1}{2}}}}
+\def\textturnthree{{\raise1ex\hbox{\scalebox{-1}{3}}}}
+%\def\textglotstopvari{\textglotstop}%\renewcommand{\textglotstopvari}{}% see U+0241
+%\def\textglotstopvarii{\textglotstop}%\renewcommand{\textglotstopvarii}{}% see U+0242
+\def\textglotstopvariii{\textglotstop}%\renewcommand{\textglotstopvariii}{}
+\def\textctinvglotstop{{\textpalhookbelow{\textinvglotstop}}}%\renewcommand{\textctinvglotstop}{}
+\def\textturnglotstop{{\raise1ex\hbox{\scalebox{-1}{\textglotstop}}}}
+\def\textdoublebarslash{{\textlstrikethru{=}}}
+\def\textrevpolhook#1{{\let\tipaencoding\relax\tipaLoweraccent{\scalebox{-1}[1]{\textpolhook{}}}{#1}}}
+\def\textoverw#1{{\let\tipaencoding\relax\tipaUpperaccent{\kern-.25em\scalebox{-1}[1]{\textsubw{}}}{#1}}}
+\def\textretractingvar{}
+\def\texthooktop{{\raise1ex\hbox{\kern1em\scalebox{-1}{\textpalhookbelow{\ }}}}}
+\def\textpalhook{{\textpalhookbelow{\ }\kern1em}}% U+0321
+\def\textpalhooklong{{\textpalhookbelow{\ }\kern1em}}% U+0321
+\def\textpalhookvar{{\textpalhookbelow{\ }\kern1em}}% U+0321
+\def\textrthook{{\textrethookbelow{\ }\kern1em}}% U+0322
+\def\textrthooklong{{\textrethookbelow{\ }\kern1em}}% U+0322
+\def\partvoiceless{}
+\def\inipartvoiceless{}
+\def\finpartvoiceless{}
+\def\partvoice{}
+\def\inipartvoice{}
+\def\finpartvoice{}
+
+% not many fonts support the correct characters: UxA71B, UxA71C
+\def\textfakeupstep{{\raise.4ex\hbox{\scalebox{.7}{\textupfullarrow}}}}
+\def\textfakedownstep{{\raise.45ex\hbox{\scalebox{.7}{\textdownfullarrow}}}}
+
+\expandafter\ifx\csname ReloadXunicode\endcsname\relax
+
+% must not declare this, as the encoding is picked up by \textsc
+\newcommand{\faketextsc}[1]{\scalebox{.7}[.7]{#1}}
+\def\TIPAtextscq{{\faketextsc{Q}}}
+%\providecommand{\textscf}{\faketextsc{F}}% UxA730
+\providecommand{\textscq}{\faketextsc{Q}}%
+\providecommand{\textscdelta}{\faketextsc{\textDelta}}%
% Here's a way to implement TIPA's T3 encoding for uppercase letters and digits
% It's not the best possible way to implement this; but it is as good as can be
@@ -726,6 +1264,7 @@
\catcode `E = \active
\catcode `F = \active
\catcode `G = \active
+ \catcode `g = \active
\catcode `H = \active
\catcode `I = \active
\catcode `J = \active
@@ -761,10 +1300,64 @@
\catcode `\" = \active
\catcode `| = \active
}
+% these catcodes need to be unset, when following \*
+\def\unsetTIPAcatcodes{%
+ \catcode `A = 11
+ \catcode `B = 11
+ \catcode `C = 11
+ \catcode `D = 11
+ \catcode `E = 11
+ \catcode `F = 11
+ \catcode `G = 11
+ \catcode `g = 11
+ \catcode `H = 11
+ \catcode `I = 11
+ \catcode `J = 11
+ \catcode `K = 11
+ \catcode `L = 11
+ \catcode `M = 11
+ \catcode `N = 11
+ \catcode `O = 11
+ \catcode `P = 11
+ \catcode `Q = 11
+ \catcode `R = 11
+ \catcode `S = 11
+ \catcode `T = 11
+ \catcode `U = 11
+ \catcode `V = 11
+ \catcode `W = 11
+ \catcode `X = 11
+ \catcode `Y = 11
+ \catcode `Z = 11
+ \catcode `0 = 12
+ \catcode `1 = 12
+ \catcode `2 = 12
+ \catcode `3 = 12
+ \catcode `4 = 12
+ \catcode `5 = 12
+ \catcode `6 = 12
+ \catcode `7 = 12
+ \catcode `8 = 12
+ \catcode `9 = 12
+ \catcode `\@ = 12
+ \catcode `\; = 12
+ \catcode `\: = 12
+ \catcode `\" = 12
+ \catcode `| = 12
+}
{\global\let\setuptipaaccents\setupTIPAaccents
+ \def\next{\textscriptg}%
+ \def\nextii{\catcode `g = 11 }%
+ \catcode `g = \active
+ \catcode `\" = \active
+ \expandafter\def\expandafter\next\expandafter{%
+ \expandafter\def\expandafter g\expandafter{\next}}
\setTIPAcatcodes
-\gdef\activatetipa{\setuptipaaccents
+ \nextii
+ \let\zdef\gdef
+ \expandafter\zdef\expandafter\activatetipa\expandafter{%
+ \expandafter\setuptipaaccents\next
\def A{\textscripta}%
% \def B{\textbeta}% name taken for the greek letter
\def B{\ss}%
@@ -809,43 +1402,303 @@
\def :{\textlengthmark}%
\def ;{\texthalflength}%
\def |{\textpipe}%
- \def "{\textprimstress}%
+ \let "\tipaprimstress
}
}% end of \setTIPAcatcodes
+%\show\activatetipa
+
+% Primary and Secondary stress shortcuts
+\def\tipaprimstress{\futurelet\next\tipaprimstressi}
+\def\tipaprimstressi{%
+ \ifx\next\tipaprimstress
+ \def\next##1{\textsecstress}%
+ \else
+ \def\next{\textprimstress}%
+ \fi \next
+}
+
+
+% \textipa really needs to parse all tokens,
+% otherwise many macros cannot be used effectively
+\def\tipanoendline{\endlinechar=-1}
+\def\tipalettercatcode{11}
+\def\tipacatchg#1{{%
+ \def\tmpa{#1}\def\tmpb{g}%
+ \ifx\tmpa\tmpb \def\next{\textscriptg}%
+ \else
+ \def\next{\implementTIPAtext{%
+ \catcode`g \tipalettercatcode\relax
+ \tipanoendline\relax
+ \scantokens{#1}%
+ }}%
+ \fi \next
+}}
% To set a special font; e.g. Doulos SIL
% use standard techniques to define the font-switch
% then redefine \useTIPAfont as follows:
-% \def\useTIPAfont{\doulos}
+% \def\useTIPAfont{\doulos}
+\def\useTIPAfont{}
\DeclareRobustCommand{\implementTIPAtext}{%
\bgroup
+ \let\rtone\TIPArtonebar
\let\stone\TIPAstonebar
\let\tone\TIPAtonebar
- \setTIPAcatcodes\activatetipa
- \csname useTIPAfont\endcsname
+% \setTIPAcatcodes
+ \activatetipa
+ \useTIPAfont
\implementTIPAtextx
}
\def\implementTIPAtextx#1{#1\egroup}
\def\implementTIPAtextxx#1{\endlinechar=-1 \scantokens{#1}\egroup}
-\AtBeginDocument{\let\textipa\implementTIPAtext}
+\AtBeginDocument{%
+ \let\textipa\tipacatchonechar %\tipacatchg %\implementTIPAtext
+ \let\rtone\TIPArtonebar
+ \let\stone\TIPAstonebar
+ \let\tone\TIPAtonebar
+ }
\expandafter\ifx\csname scantokens\endcsname\relax
\else
\AtBeginDocument{\@ifpackageloaded{linguex}{%
\let\implementTIPAtextx\implementTIPAtextxx}}
\fi
-%\expandafter\ifx\csname scantokens\endcsname\relax
-% \def\implementTIPAtextx#1{#1\egroup}
-%\else
-%% \def\implementTIPAtextx#1{\scantokens{#1}\egroup}
-% \def\implementTIPAtextx#1{\endlinechar=-1 \scantokens{#1}\egroup}
-%\fi
+% this is used with \t and \sliding
+\def\checkfortipa#1#2#3{%
+ \ifx\textipa#3\def\next##1{\tipacatchonechar{#1{##1}}}%
+ \else\def\next{#2#3}\fi \next }
+
+
+\newtoks\tipasavetokens
+\newtoks\tipachecktokens
+\newif\iftipaonetoken
+\def\tipalasttoken{!@! do nothing with this !@!}
+\def\tipacatchonechar#1{\begingroup
+ \def\textipa##1{##1}% prevent recursion
+ %\let\implementTIPAtextx\implementTIPAtextxx % forces \scantokens
+ \tipaonetokentrue
+ \let\s\textsyllabic
+ \tipasavetokens={#1}\tipatestforonechar#1\tipalasttoken}
+\def\tipatestforonechar{\futurelet\next\tipatesttoken}
+\def\tipatesttoken{%
+ \def\next@##1{\tipaaddtoken{##1}\tipatestforonechar}%
+ \ifx\next\tipalasttoken
+ \def\next@##1{\tipaprocessthetokens}%
+ \else\ifx\bgroup\next \tipaonetokenfalse
+ \def\next@##1{\tipaparsegrouping{##1}\tipatestforonechar}%
+ \else\expandafter\ifx\space\next
+ \expandafter\def\expandafter\next@\space{\tipaaddtoken{ }\tipatestforonechar}%
+ \else\ifx\*\next \def\next@{\gettipastar}%
+ \else\ifx\;\next \def\next@{\gettipasemicolon}%
+ \else\ifx\:\next \def\next@{\gettipacolon}%
+ \else\ifx\!\next \def\next@{\gettipaexclam}%
+ \else\ifx\|\next \def\next@{\gettipavert}%
+ \else\ifx\tone\next \def\next@##1##2{\tipaaddtoken{##1{##2}}\tipatestforonechar}%
+ \else\ifx\rtone\next \def\next@##1##2{\tipaaddtoken{##1{##2}}\tipatestforonechar}%
+ \else\ifx\stone\next \def\next@##1##2{\tipaaddtoken{##1{##2}}\tipatestforonechar}%
+ \else\expandafter\ifcat\noexpand\next\active\tipaonetokenfalse
+ \else\ifcat\next A\relax % letter
+ \def\next@{\gettipaletter}%
+ \else\ifcat\next 0\relax % other character
+ \def\next@{\gettipaother}%
+ \else \tipaonetokenfalse
+ \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi
+ \next@
+}
+\def\tipaaddtoken#1{\expandafter\tipachecktokens\expandafter{\the\tipachecktokens#1}}
+\def\tipaprocessthetokens{%
+% \iftipaonetoken
+% \expandafter\def\expandafter\next\expandafter{\expandafter
+% \implementTIPAtext\expandafter{\the\tipachecktokens}\endgroup}%
+% \else
+% \expandafter\def\expandafter\next\expandafter{\expandafter
+% \tipacatchg\expandafter{\the\tipachecktokens}\endgroup}%
+% \fi \next
+ \expandafter\implementTIPAtext\expandafter{\the\tipachecktokens}\endgroup
+}
+\def\tipaparsegrouping#1{\begingroup
+ \tipachecktokens={}%
+ \let\tipaprocessthetokens\relax
+ \tipatestforonechar#1\tipalasttoken
+ \expandafter\def\expandafter\next\expandafter{\expandafter\endgroup
+ \expandafter\tipaaddtoken\expandafter{\expandafter{\the\tipachecktokens}}}%
+% \show\next
+ \next
+}
+\def\gettipaletter#1{%
+ \ifx A#1\tipaaddtoken{\textscripta}%
+ \else\ifx B#1\tipaaddtoken{\ss}%
+ \else\ifx C#1\tipaaddtoken{\textctc}%
+ \else\ifx D#1\tipaaddtoken{\dh}%
+ \else\ifx E#1\tipaaddtoken{\textepsilon}%
+ \else\ifx F#1\tipaaddtoken{\textphi}%
+ \else\ifx G#1\tipaaddtoken{\textbabygamma}%
+ \else\ifx g#1\tipaaddtoken{\textscriptg}%
+ \else\ifx H#1\tipaaddtoken{\texthth}%
+ \else\ifx I#1\tipaaddtoken{\textsci}%
+ \else\ifx J#1\tipaaddtoken{\textctj}%
+ \else\ifx K#1\tipaaddtoken{\textinvscr}%
+ \else\ifx L#1\tipaaddtoken{\textturny}%
+ \else\ifx M#1\tipaaddtoken{\textltailm}%
+ \else\ifx N#1\tipaaddtoken{\ng}%
+ \else\ifx O#1\tipaaddtoken{\textopeno}%
+ \else\ifx P#1\tipaaddtoken{\textglotstop}%
+ \else\ifx Q#1\tipaaddtoken{\textrevglotstop}%
+ \else\ifx R#1\tipaaddtoken{\textfishhookr}%
+ \else\ifx S#1\tipaaddtoken{\textesh}%
+ \else\ifx T#1\tipaaddtoken{\texttheta}%
+ \else\ifx U#1\tipaaddtoken{\textscupsilon}%
+ \else\ifx V#1\tipaaddtoken{\textscriptv}%
+ \else\ifx W#1\tipaaddtoken{\textturnm}%
+ \else\ifx X#1\tipaaddtoken{\textchi}%
+ \else\ifx Y#1\tipaaddtoken{\textscy}%
+ \else\ifx Z#1\tipaaddtoken{\textyogh}%
+ \else\tipaaddtoken{#1}%
+ \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi
+ \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi
+ \tipatestforonechar
+}
+{\catcode `\" 12 \catcode `\@ 12
+\gdef\gettipaother#1{%
+ \ifx @#1\tipaaddtoken{\textschwa}%
+ \else\ifx 0#1\tipaaddtoken{\textbaru}%
+ \else\ifx 1#1\tipaaddtoken{\textbari}%
+ \else\ifx 2#1\tipaaddtoken{\textturnv}%
+ \else\ifx 3#1\tipaaddtoken{\textrevepsilon}%
+ \else\ifx 4#1\tipaaddtoken{\textturnh}%
+ \else\ifx 5#1\tipaaddtoken{\textturna}%
+ \else\ifx 6#1\tipaaddtoken{\textturnscripta}%
+ \else\ifx 7#1\tipaaddtoken{\textramshorns}%
+ \else\ifx 8#1\tipaaddtoken{\textbaro}%
+ \else\ifx 9#1\tipaaddtoken{\textreve}%
+ \else\ifx :#1\tipaaddtoken{\textlengthmark}%
+ \else\ifx ;#1\tipaaddtoken{\texthalflength}%
+ \else\ifx |#1\tipaaddtoken{\textpipe}%
+ \else\ifx "#1\tipaaddtoken{\tipaprimstress}%
+ \else\tipaaddtoken{#1}%
+ \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi
+ \tipatestforonechar
+}}
+\def\gettipastar\*#1{%
+ \ifx f#1\tipaaddtoken{\textObardotlessj}%
+ \else\ifx k#1\tipaaddtoken{\textturnk}%
+ \else\ifx r#1\tipaaddtoken{\textturnr}%
+ \else\ifx t#1\tipaaddtoken{\textturnt}%
+ \else\ifx w#1\tipaaddtoken{\textturnw}%
+ \else\ifx j#1\tipaaddtoken{\textbardotlessj}%
+ \else\ifx n#1\tipaaddtoken{\textltailn}%
+ \else\ifx h#1\tipaaddtoken{\texthbar}%
+ \else\ifx l#1\tipaaddtoken{\textbeltl}%
+ \else\ifx z#1\tipaaddtoken{\textlyoghlig}%
+ \else\tipaaddtoken{#1}%
+ \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi
+ \tipatestforonechar
+}
+\def\gettipasemicolon\;#1{%
+ \ifx A#1\tipaaddtoken{\textsca}%
+ \else\ifx B#1\tipaaddtoken{\textscb}%
+ \else\ifx E#1\tipaaddtoken{\textsce}%
+ \else\ifx G#1\tipaaddtoken{\textscg}%
+ \else\ifx H#1\tipaaddtoken{\textsch}%
+ \else\ifx J#1\tipaaddtoken{\textscj}%
+ \else\ifx L#1\tipaaddtoken{\textscl}%
+ \else\ifx N#1\tipaaddtoken{\textscn}%
+ \else\ifx Q#1\tipaaddtoken{\TIPAtextscq}%
+ \else\ifx R#1\tipaaddtoken{\textscr}%
+ \else\ifx U#1\tipaaddtoken{\textscu}%
+ \else\tipaaddtoken{#1}%
+ \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi
+ \tipatestforonechar
+}
+\def\gettipacolon\:#1{%
+ \ifx d#1\tipaaddtoken{\textrtaild}%
+ \else\ifx l#1\tipaaddtoken{\textrtaill}%
+ \else\ifx n#1\tipaaddtoken{\textrtailn}%
+ \else\ifx r#1\tipaaddtoken{\textrtailr}%
+ \else\ifx R#1\tipaaddtoken{\textturnrrtail}%
+ \else\ifx s#1\tipaaddtoken{\textrtails}%
+ \else\ifx t#1\tipaaddtoken{\textrtailt}%
+ \else\ifx z#1\tipaaddtoken{\textrtailz}%
+ \else\tipaaddtoken{#1}%
+ \fi\fi\fi\fi\fi\fi\fi\fi
+ \tipatestforonechar
+}
+\def\gettipaexclam\!#1{%
+ \ifx b#1\tipaaddtoken{\texthtb}%
+ \else\ifx d#1\tipaaddtoken{\texthtd}%
+ \else\ifx g#1\tipaaddtoken{\texthtg}%
+ \else\ifx j#1\tipaaddtoken{\texthtbardotlessj}%
+ \else\ifx G#1\tipaaddtoken{\texthtscg}%
+ \else\ifx o#1\tipaaddtoken{\textbullseye}%
+ \else\tipaaddtoken{#1}%
+ \fi\fi\fi\fi\fi\fi
+ \tipatestforonechar
+}
+\gdef\gettipavert\|#1{%
+ \ifx [#1\tipaaddtoken{\tipasubbridgeaccent}%
+ \else\ifx ]#1\tipaaddtoken{\tipainvsubbridgeaccent}%
+ \else\ifx (#1\tipaaddtoken{\tipasublhalfringaccent}%
+ \else\ifx )#1\tipaaddtoken{\tipasubrhalfringaccent}%
+ \else\ifx c#1\tipaaddtoken{\tiparoundcapaccent}%
+ \else\ifx +#1\tipaaddtoken{\tipasubplusaccent}%
+ \else\ifx '#1\tipaaddtoken{\tiparaisingaccent}%
+ \else\ifx `#1\tipaaddtoken{\tipaloweringaccent}%
+ \else\ifx <#1\tipaaddtoken{\tipaadvancingaccent}%
+ \else\ifx >#1\tipaaddtoken{\tiparetractingaccent}%
+ \else\ifx x#1\tipaaddtoken{\tipaovercrossaccent}%
+ \else\ifx w#1\tipaaddtoken{\tipasubwaccent}%
+ \else\ifx m#1\tipaaddtoken{\tipaseagullaccent}%
+ \else\tipaaddtoken{#1}%
+ \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi
+ \tipatestforonechar
+}
+
+% With parsing, \activatetipa doesn't need to do as much.
+\def\activatetipa{%
+ %
+}
+
+\def\ttipatestforonechar#1#2!@!{%
+ \ifx\relax#2\relax
+ \def\next{\implementTIPAtext#1\endgroup}%
+ \else
+ \def\next{\tipacatchg{#1#2}\endgroup}%
+ \fi \next
+}
+\def\parseTIPAtext#1{%
+ \implementTIPAtext#1%
+}
+
+% default for these \TIPA… macros is to just return #1
+% But \* first makes it into a non-active character.
%
-%\AtBeginDocument{\let\textipa\implementTIPAtext}
+\def\DeclareTIPAstarmacro#1#2{%
+ \expandafter\def\csname#1\string#2\endcsname##1{%
+ \expandafter\@text@composite\csname#1\string#2\endcsname##1\@empty\@text@composite
+ {{\endlinechar=-1 \unsetTIPAcatcodes\scantokens{##1}}}}%
+}
+\def\DeclareTIPAmacro#1#2{%
+ \expandafter\def\csname#1\string#2\endcsname##1{%
+ \expandafter\@text@composite\csname#1\string#2\endcsname##1\@empty\@text@composite
+ {##1}}%
+}
+\DeclareRobustCommand{\T}[1]{\~{\m{#1}}}
+\let\tipasafemode\relax
+\fi
+% end of the part that should not be loaded more than once.
+
+
+\expandafter\DeclareTIPAstarmacro\expandafter{\UTFencname}{\TIPAstarmacro}
+\expandafter\DeclareTIPAmacro\expandafter{\UTFencname}{\TIPAexclammacro}
+\expandafter\DeclareTIPAmacro\expandafter{\UTFencname}{\TIPAcolonmacro}
+\expandafter\DeclareTIPAmacro\expandafter{\UTFencname}{\TIPAsemicolonmacro}
+%
+% setup the correspondence between Unicode characters and macro names
+%
\DeclareUTFcharacter[\UTFencname]{x0022}{\textquotedbl}
\DeclareUTFcharacter[\UTFencname]{x0023}{\texthash}
@@ -882,6 +1735,7 @@
\DeclareUTFcharacter[\UTFencname]{x00A9}{\textcopyright}
\DeclareUTFcharacter[\UTFencname]{x00A9}{\copyright}
\DeclareUTFcharacter[\UTFencname]{x00AA}{\textordfeminine}
+\DeclareUTFcomposite[\UTFencname]{x00AA}{\textsuperscript}{a}
\DeclareUTFcharacter[\UTFencname]{x00AB}{\guillemotleft}
\DeclareUTFcharacter[\UTFencname]{x00AC}{\textlogicalnot}
%\DeclareUTFcharacter[\UTFencname]{x00AC}{\lnot} % don't alter math-mode
@@ -892,7 +1746,9 @@
\DeclareUTFcharacter[\UTFencname]{x00B1}{\textpm}
%\DeclareUTFcharacter[\UTFencname]{x00B1}{\pm} % don't alter math-mode
\DeclareUTFcharacter[\UTFencname]{x00B2}{\texttwosuperior}
+\DeclareUTFcomposite[\UTFencname]{x00B2}{\textsuperscript}{2}
\DeclareUTFcharacter[\UTFencname]{x00B3}{\textthreesuperior}
+\DeclareUTFcomposite[\UTFencname]{x00B3}{\textsuperscript}{3}
\DeclareUTFcharacter[\UTFencname]{x00B4}{\textasciiacute}% see also x02CA
\DeclareUTFcharacter[\UTFencname]{x00B5}{\textmu}
%\DeclareUTFcharacter[\UTFencname]{x00B5}{\mu} % don't alter math-mode
@@ -903,45 +1759,73 @@
\DeclareUTFcharacter[\UTFencname]{x00B7}{\textperiodcentered}
\DeclareUTFcharacter[\UTFencname]{x00B8}{\textasciicedilla}% see also x02DB
\DeclareUTFcharacter[\UTFencname]{x00B9}{\textonesuperior}
+\DeclareUTFcomposite[\UTFencname]{x00B9}{\textsuperscript}{1}
\DeclareUTFcharacter[\UTFencname]{x00BA}{\textordmasculine}
+\DeclareUTFcomposite[\UTFencname]{x00BA}{\textsuperscript}{o}
\DeclareUTFcharacter[\UTFencname]{x00BB}{\guillemotright}
\DeclareUTFcharacter[\UTFencname]{x00BC}{\textonequarter}
\DeclareUTFcharacter[\UTFencname]{x00BD}{\textonehalf}
\DeclareUTFcharacter[\UTFencname]{x00BE}{\textthreequarters}
\DeclareUTFcharacter[\UTFencname]{x00BF}{\textquestiondown}
\DeclareUTFcomposite[\UTFencname]{x00C0}{\`}{A}
+\DeclareUTFcomposite[\UTFencname]{x00C0}{\capitalgrave}{A}
\DeclareUTFcomposite[\UTFencname]{x00C1}{\'}{A}
+\DeclareUTFcomposite[\UTFencname]{x00C1}{\capitalacute}{A}
\DeclareUTFcomposite[\UTFencname]{x00C2}{\^}{A}
+\DeclareUTFcomposite[\UTFencname]{x00C2}{\capitalcircumflex}{A}
\DeclareUTFcomposite[\UTFencname]{x00C3}{\~}{A}
+\DeclareUTFcomposite[\UTFencname]{x00C3}{\capitaltilde}{A}
\DeclareUTFcomposite[\UTFencname]{x00C4}{\"}{A}
+\DeclareUTFcomposite[\UTFencname]{x00C4}{\capitaldieresis}{A}
\DeclareUTFcomposite[\UTFencname]{x00C5}{\r}{A}
+\DeclareUTFcomposite[\UTFencname]{x00C5}{\capitalring}{A}
\DeclareUTFcharacter[\UTFencname]{x00C5}{\AA}
\DeclareUTFcharacter[\UTFencname]{x00C6}{\AE}
\DeclareUTFcomposite[\UTFencname]{x00C7}{\c}{C}
+\DeclareUTFcomposite[\UTFencname]{x00C7}{\capitalcedilla}{C}
\DeclareUTFcomposite[\UTFencname]{x00C8}{\`}{E}
+\DeclareUTFcomposite[\UTFencname]{x00C8}{\capitalgrave}{E}
\DeclareUTFcomposite[\UTFencname]{x00C9}{\'}{E}
+\DeclareUTFcomposite[\UTFencname]{x00C9}{\capitalacute}{E}
\DeclareUTFcomposite[\UTFencname]{x00CA}{\^}{E}
+\DeclareUTFcomposite[\UTFencname]{x00CA}{\capitalcircumflex}{E}
\DeclareUTFcomposite[\UTFencname]{x00CB}{\"}{E}
+\DeclareUTFcomposite[\UTFencname]{x00CB}{\capitaldieresis}{E}
\DeclareUTFcomposite[\UTFencname]{x00CC}{\`}{I}
+\DeclareUTFcomposite[\UTFencname]{x00CC}{\capitalgrave}{I}
\DeclareUTFcomposite[\UTFencname]{x00CD}{\'}{I}
+\DeclareUTFcomposite[\UTFencname]{x00CD}{\capitalacute}{I}
\DeclareUTFcomposite[\UTFencname]{x00CE}{\^}{I}
+\DeclareUTFcomposite[\UTFencname]{x00CE}{\capitalcircumflex}{I}
\DeclareUTFcomposite[\UTFencname]{x00CF}{\"}{I}
+\DeclareUTFcomposite[\UTFencname]{x00CF}{\capitaldieresis}{I}
\DeclareUTFcomposite[\UTFencname]{x00D0}{\M}{D}
\DeclareUTFcharacter[\UTFencname]{x00D0}{\DH}
\DeclareUTFcomposite[\UTFencname]{x00D1}{\~}{N}
+\DeclareUTFcomposite[\UTFencname]{x00D1}{\capitaltilde}{N}
\DeclareUTFcomposite[\UTFencname]{x00D2}{\`}{O}
+\DeclareUTFcomposite[\UTFencname]{x00D2}{\capitalgrave}{O}
\DeclareUTFcomposite[\UTFencname]{x00D3}{\'}{O}
+\DeclareUTFcomposite[\UTFencname]{x00D3}{\capitalacute}{O}
\DeclareUTFcomposite[\UTFencname]{x00D4}{\^}{O}
+\DeclareUTFcomposite[\UTFencname]{x00D4}{\capitalcircumflex}{O}
\DeclareUTFcomposite[\UTFencname]{x00D5}{\~}{O}
+\DeclareUTFcomposite[\UTFencname]{x00D5}{\capitaltilde}{O}
\DeclareUTFcomposite[\UTFencname]{x00D6}{\"}{O}
+\DeclareUTFcomposite[\UTFencname]{x00D6}{\capitaldieresis}{O}
\DeclareUTFcharacter[\UTFencname]{x00D7}{\texttimes}
%\DeclareUTFcharacter[\UTFencname]{x00D7}{\times} % don't alter math-mode
\DeclareUTFcharacter[\UTFencname]{x00D8}{\O}
\DeclareUTFcomposite[\UTFencname]{x00D9}{\`}{U}
+\DeclareUTFcomposite[\UTFencname]{x00D9}{\capitalgrave}{U}
\DeclareUTFcomposite[\UTFencname]{x00DA}{\'}{U}
+\DeclareUTFcomposite[\UTFencname]{x00DA}{\capitalacute}{U}
\DeclareUTFcomposite[\UTFencname]{x00DB}{\^}{U}
+\DeclareUTFcomposite[\UTFencname]{x00DB}{\capitalcircumflex}{U}
\DeclareUTFcomposite[\UTFencname]{x00DC}{\"}{U}
+\DeclareUTFcomposite[\UTFencname]{x00DC}{\capitaldieresis}{U}
\DeclareUTFcomposite[\UTFencname]{x00DD}{\'}{Y}
+\DeclareUTFcomposite[\UTFencname]{x00DD}{\capitalacute}{Y}
\DeclareUTFcharacter[\UTFencname]{x00DE}{\TH}
\DeclareUTFcharacter[\UTFencname]{x00DE}{\Thorn}
\DeclareUTFcharacter[\UTFencname]{x00DF}{\ss} % TIPA-B
@@ -990,22 +1874,31 @@
\DeclareUTFcharacter[\UTFencname]{x00FE}{\textthornvariv} % ?? IPA
\DeclareUTFcomposite[\UTFencname]{x00FF}{\"}{y}
\DeclareUTFcomposite[\UTFencname]{x0100}{\=}{A}
+\DeclareUTFcomposite[\UTFencname]{x0100}{\capitalmacron}{A}
\DeclareUTFcomposite[\UTFencname]{x0101}{\=}{a}
\DeclareUTFcomposite[\UTFencname]{x0102}{\u}{A}
+\DeclareUTFcomposite[\UTFencname]{x0102}{\capitalbreve}{A}
\DeclareUTFcomposite[\UTFencname]{x0103}{\u}{a}
\DeclareUTFcomposite[\UTFencname]{x0104}{\k}{A}
+\DeclareUTFcomposite[\UTFencname]{x0104}{\capitalogonek}{A}
\DeclareUTFcharacter[\UTFencname]{x0104}{\Aogonek} % regi-cp1250
\DeclareUTFcomposite[\UTFencname]{x0105}{\k}{a}
+\DeclareUTFcomposite[\UTFencname]{x0105}{\capitalogonek}{a}
\DeclareUTFcharacter[\UTFencname]{x0105}{\aogonek} % regi-cp1250
\DeclareUTFcomposite[\UTFencname]{x0106}{\'}{C}
+\DeclareUTFcomposite[\UTFencname]{x0106}{\capitalacute}{C}
\DeclareUTFcomposite[\UTFencname]{x0107}{\'}{c}
\DeclareUTFcomposite[\UTFencname]{x0108}{\^}{C}
+\DeclareUTFcomposite[\UTFencname]{x0108}{\capitalcircumflex}{C}
\DeclareUTFcomposite[\UTFencname]{x0109}{\^}{c}
\DeclareUTFcomposite[\UTFencname]{x010A}{\.}{C}
+\DeclareUTFcomposite[\UTFencname]{x010A}{\capitaldotaccent}{C}
\DeclareUTFcomposite[\UTFencname]{x010B}{\.}{c}
\DeclareUTFcomposite[\UTFencname]{x010C}{\v}{C}
+\DeclareUTFcomposite[\UTFencname]{x010C}{\capitalcaron}{C}
\DeclareUTFcomposite[\UTFencname]{x010D}{\v}{c}
\DeclareUTFcomposite[\UTFencname]{x010E}{\v}{D}
+\DeclareUTFcomposite[\UTFencname]{x010E}{\capitalcaron}{D}
\DeclareUTFcomposite[\UTFencname]{x010F}{\v}{d}
\DeclareUTFcomposite[\UTFencname]{x0110}{\B}{D}
\DeclareUTFcharacter[\UTFencname]{x0110}{\DJ}
@@ -1013,24 +1906,35 @@
\DeclareUTFcharacter[\UTFencname]{x0111}{\dj}
\DeclareUTFcharacter[\UTFencname]{x0111}{\textcrd}
\DeclareUTFcomposite[\UTFencname]{x0112}{\=}{E}
+\DeclareUTFcomposite[\UTFencname]{x0112}{\capitalmacron}{E}
\DeclareUTFcomposite[\UTFencname]{x0113}{\=}{e}
\DeclareUTFcomposite[\UTFencname]{x0114}{\u}{E}
+\DeclareUTFcomposite[\UTFencname]{x0114}{\capitalbreve}{E}
\DeclareUTFcomposite[\UTFencname]{x0115}{\u}{e}
\DeclareUTFcomposite[\UTFencname]{x0116}{\.}{E}
+\DeclareUTFcomposite[\UTFencname]{x0116}{\capitaldotaccent}{E}
\DeclareUTFcomposite[\UTFencname]{x0117}{\.}{e}
\DeclareUTFcomposite[\UTFencname]{x0118}{\k}{E}
+\DeclareUTFcomposite[\UTFencname]{x0118}{\capitalogonek}{E}
\DeclareUTFcomposite[\UTFencname]{x0119}{\k}{e}
+\DeclareUTFcomposite[\UTFencname]{x0119}{\capitalogonek}{e}
\DeclareUTFcomposite[\UTFencname]{x011A}{\v}{E}
+\DeclareUTFcomposite[\UTFencname]{x011A}{\capitalcaron}{E}
\DeclareUTFcomposite[\UTFencname]{x011B}{\v}{e}
\DeclareUTFcomposite[\UTFencname]{x011C}{\^}{G}
+\DeclareUTFcomposite[\UTFencname]{x011C}{\capitalcircumflex}{G}
\DeclareUTFcomposite[\UTFencname]{x011D}{\^}{g}
\DeclareUTFcomposite[\UTFencname]{x011E}{\u}{G}
+\DeclareUTFcomposite[\UTFencname]{x011E}{\capitalbreve}{G}
\DeclareUTFcomposite[\UTFencname]{x011F}{\u}{g}
\DeclareUTFcomposite[\UTFencname]{x0120}{\.}{G}
+\DeclareUTFcomposite[\UTFencname]{x0120}{\capitaldotaccent}{G}
\DeclareUTFcomposite[\UTFencname]{x0121}{\.}{g}
\DeclareUTFcomposite[\UTFencname]{x0122}{\c}{G}
+\DeclareUTFcomposite[\UTFencname]{x0122}{\capitalcedilla}{G}
\DeclareUTFcomposite[\UTFencname]{x0123}{\c}{g}
\DeclareUTFcomposite[\UTFencname]{x0124}{\^}{H}
+\DeclareUTFcomposite[\UTFencname]{x0124}{\capitalcircumflex}{H}
\DeclareUTFcomposite[\UTFencname]{x0125}{\^}{h}
\DeclareUTFcomposite[\UTFencname]{x0126}{\B}{H}
\DeclareUTFcharacter[\UTFencname]{x0126}{\textHbar}
@@ -1038,31 +1942,42 @@
\DeclareUTFcharacter[\UTFencname]{x0127}{\textcrh}
\DeclareUTFcharacter[\UTFencname]{x0127}{\texthbar}
\DeclareUTFcomposite[\UTFencname]{x0128}{\~}{I}
+\DeclareUTFcomposite[\UTFencname]{x0128}{\capitaltilde}{I}
\DeclareUTFcomposite[\UTFencname]{x0129}{\~}{i}
\DeclareUTFcomposite[\UTFencname]{x0129}{\~}{\i}
\DeclareUTFcomposite[\UTFencname]{x012A}{\=}{I}
+\DeclareUTFcomposite[\UTFencname]{x012A}{\capitalmacron}{I}
\DeclareUTFcomposite[\UTFencname]{x012B}{\=}{i}
\DeclareUTFcomposite[\UTFencname]{x012B}{\=}{\i}
\DeclareUTFcomposite[\UTFencname]{x012C}{\u}{I}
+\DeclareUTFcomposite[\UTFencname]{x012C}{\capitalbreve}{I}
\DeclareUTFcomposite[\UTFencname]{x012D}{\u}{i}
\DeclareUTFcomposite[\UTFencname]{x012D}{\u}{\i}
\DeclareUTFcomposite[\UTFencname]{x012E}{\k}{I}
+\DeclareUTFcomposite[\UTFencname]{x012E}{\capitalogonek}{I}
\DeclareUTFcomposite[\UTFencname]{x012F}{\k}{i}
+\DeclareUTFcomposite[\UTFencname]{x012F}{\capitalogonek}{i}
\DeclareUTFcomposite[\UTFencname]{x0130}{\.}{I}
+\DeclareUTFcomposite[\UTFencname]{x0130}{\capitaldotaccent}{I}
\DeclareUTFcharacter[\UTFencname]{x0131}{\i}
\DeclareUTFcharacter[\UTFencname]{x0132}{\IJ}
\DeclareUTFcharacter[\UTFencname]{x0133}{\ij}
\DeclareUTFcomposite[\UTFencname]{x0134}{\^}{J}
+\DeclareUTFcomposite[\UTFencname]{x0134}{\capitalcircumflex}{J}
\DeclareUTFcomposite[\UTFencname]{x0135}{\^}{j}
\DeclareUTFcomposite[\UTFencname]{x0135}{\^}{\j}
\DeclareUTFcomposite[\UTFencname]{x0136}{\c}{K}
+\DeclareUTFcomposite[\UTFencname]{x0136}{\capitalcedilla}{K}
\DeclareUTFcomposite[\UTFencname]{x0137}{\c}{k}
\DeclareUTFcharacter[\UTFencname]{x0138}{\textkra}
\DeclareUTFcomposite[\UTFencname]{x0139}{\'}{L}
+\DeclareUTFcomposite[\UTFencname]{x0139}{\capitalacute}{L}
\DeclareUTFcomposite[\UTFencname]{x013A}{\'}{l}
\DeclareUTFcomposite[\UTFencname]{x013B}{\c}{L}
+\DeclareUTFcomposite[\UTFencname]{x013B}{\capitalcedilla}{L}
\DeclareUTFcomposite[\UTFencname]{x013C}{\c}{l}
\DeclareUTFcomposite[\UTFencname]{x013D}{\v}{L}
+\DeclareUTFcomposite[\UTFencname]{x013D}{\capitalcaron}{L}
\DeclareUTFcharacter[\UTFencname]{x013D}{\Lcaron} % regi-cp1250
\DeclareUTFcomposite[\UTFencname]{x013E}{\v}{l}
\DeclareUTFcharacter[\UTFencname]{x013E}{\lcaron} % regi-cp1250
@@ -1076,10 +1991,13 @@
\DeclareUTFcharacter[\UTFencname]{x0142}{\lstroke} % regi-cp1250
\DeclareUTFcharacter[\UTFencname]{x0142}{\textbarl}
\DeclareUTFcomposite[\UTFencname]{x0143}{\'}{N}
+\DeclareUTFcomposite[\UTFencname]{x0143}{\capitalacute}{N}
\DeclareUTFcomposite[\UTFencname]{x0144}{\'}{n}
\DeclareUTFcomposite[\UTFencname]{x0145}{\c}{N}
+\DeclareUTFcomposite[\UTFencname]{x0145}{\capitalcedilla}{N}
\DeclareUTFcomposite[\UTFencname]{x0146}{\c}{n}
\DeclareUTFcomposite[\UTFencname]{x0147}{\v}{N}
+\DeclareUTFcomposite[\UTFencname]{x0147}{\capitalcaron}{N}
\DeclareUTFcomposite[\UTFencname]{x0148}{\v}{n}
\DeclareUTFcomposite[\UTFencname]{x0149}{\textcommaabove}{n}
\DeclareUTFcharacter[\UTFencname]{x0149}{'n}
@@ -1088,38 +2006,50 @@
\DeclareUTFcomposite[\UTFencname]{x014B}{\m}{n}
\DeclareUTFcharacter[\UTFencname]{x014B}{\ng} % TIPA-N
\DeclareUTFcomposite[\UTFencname]{x014C}{\=}{O}
+\DeclareUTFcomposite[\UTFencname]{x014C}{\capitalmacron}{O}
\DeclareUTFcomposite[\UTFencname]{x014D}{\=}{o}
\DeclareUTFcomposite[\UTFencname]{x014E}{\u}{O}
+\DeclareUTFcomposite[\UTFencname]{x014E}{\capitalbreve}{O}
\DeclareUTFcomposite[\UTFencname]{x014F}{\u}{o}
\DeclareUTFcomposite[\UTFencname]{x0150}{\H}{O}
+\DeclareUTFcomposite[\UTFencname]{x0150}{\capitalhungarumlaut}{O}
\DeclareUTFcomposite[\UTFencname]{x0151}{\H}{o}
\DeclareUTFcharacter[\UTFencname]{x0152}{\OE}
\DeclareUTFcharacter[\UTFencname]{x0153}{\oe}
\DeclareUTFcomposite[\UTFencname]{x0154}{\'}{R}
+\DeclareUTFcomposite[\UTFencname]{x0154}{\capitalacute}{R}
\DeclareUTFcharacter[\UTFencname]{x0154}{\Racute} % regi-cp1250
\DeclareUTFcomposite[\UTFencname]{x0155}{\'}{r}
\DeclareUTFcharacter[\UTFencname]{x0155}{\racute} % regi-cp1250
\DeclareUTFcomposite[\UTFencname]{x0156}{\c}{R}
+\DeclareUTFcomposite[\UTFencname]{x0156}{\capitalcedilla}{R}
\DeclareUTFcomposite[\UTFencname]{x0157}{\c}{r}
\DeclareUTFcomposite[\UTFencname]{x0158}{\v}{R}
+\DeclareUTFcomposite[\UTFencname]{x0158}{\capitalcaron}{R}
\DeclareUTFcomposite[\UTFencname]{x0159}{\v}{r}
\DeclareUTFcomposite[\UTFencname]{x015A}{\'}{S}
+\DeclareUTFcomposite[\UTFencname]{x015A}{\capitalacute}{S}
\DeclareUTFcharacter[\UTFencname]{x015A}{\Sacute} % regi-cp1250
\DeclareUTFcomposite[\UTFencname]{x015B}{\'}{s}
\DeclareUTFcharacter[\UTFencname]{x015B}{\sacute} % regi-cp1250
\DeclareUTFcomposite[\UTFencname]{x015C}{\^}{S}
+\DeclareUTFcomposite[\UTFencname]{x015C}{\capitalcircumflex}{S}
\DeclareUTFcomposite[\UTFencname]{x015D}{\^}{s}
\DeclareUTFcomposite[\UTFencname]{x015E}{\c}{S}
+\DeclareUTFcomposite[\UTFencname]{x015E}{\capitalcedilla}{S}
\DeclareUTFcharacter[\UTFencname]{x015E}{\Scedilla} % regi-cp1250
\DeclareUTFcomposite[\UTFencname]{x015F}{\c}{s}
\DeclareUTFcharacter[\UTFencname]{x015F}{\scedilla} % regi-cp1250
\DeclareUTFcomposite[\UTFencname]{x0160}{\v}{S}
+\DeclareUTFcomposite[\UTFencname]{x0160}{\capitalcaron}{S}
\DeclareUTFcharacter[\UTFencname]{x0160}{\Scaron} % regi-cp1250
\DeclareUTFcomposite[\UTFencname]{x0161}{\v}{s}
\DeclareUTFcharacter[\UTFencname]{x0161}{\scaron} % regi-cp1250
\DeclareUTFcomposite[\UTFencname]{x0162}{\c}{T}
+\DeclareUTFcomposite[\UTFencname]{x0162}{\capitalcedilla}{T}
\DeclareUTFcomposite[\UTFencname]{x0163}{\c}{t}
\DeclareUTFcomposite[\UTFencname]{x0164}{\v}{T}
+\DeclareUTFcomposite[\UTFencname]{x0164}{\capitalcaron}{T}
\DeclareUTFcharacter[\UTFencname]{x0164}{\Tcaron} % regi-cp1250
\DeclareUTFcomposite[\UTFencname]{x0165}{\v}{t}
\DeclareUTFcharacter[\UTFencname]{x0165}{\tcaron} % regi-cp1250
@@ -1130,29 +2060,42 @@
\DeclareUTFcharacter[\UTFencname]{x0167}{\texttstroke}
\DeclareUTFcharacter[\UTFencname]{x0167}{\texttbar}
\DeclareUTFcomposite[\UTFencname]{x0168}{\~}{U}
+\DeclareUTFcomposite[\UTFencname]{x0168}{\capitaltilde}{U}
\DeclareUTFcomposite[\UTFencname]{x0169}{\~}{u}
\DeclareUTFcomposite[\UTFencname]{x016A}{\=}{U}
+\DeclareUTFcomposite[\UTFencname]{x016A}{\capitalmacron}{U}
\DeclareUTFcomposite[\UTFencname]{x016B}{\=}{u}
\DeclareUTFcomposite[\UTFencname]{x016C}{\u}{U}
+\DeclareUTFcomposite[\UTFencname]{x016C}{\capitalbreve}{U}
\DeclareUTFcomposite[\UTFencname]{x016D}{\u}{u}
\DeclareUTFcomposite[\UTFencname]{x016E}{\r}{U}
+\DeclareUTFcomposite[\UTFencname]{x016E}{\capitalring}{U}
\DeclareUTFcomposite[\UTFencname]{x016F}{\r}{u}
\DeclareUTFcomposite[\UTFencname]{x0170}{\H}{U}
+\DeclareUTFcomposite[\UTFencname]{x0170}{\capitalhungarumlaut}{U}
\DeclareUTFcomposite[\UTFencname]{x0171}{\H}{u}
\DeclareUTFcomposite[\UTFencname]{x0172}{\k}{U}
+\DeclareUTFcomposite[\UTFencname]{x0172}{\capitalogonek}{U}
\DeclareUTFcomposite[\UTFencname]{x0173}{\k}{u}
+\DeclareUTFcomposite[\UTFencname]{x0173}{\capitalogonek}{u}
\DeclareUTFcomposite[\UTFencname]{x0174}{\^}{W}
+\DeclareUTFcomposite[\UTFencname]{x0174}{\capitalcircumflex}{W}
\DeclareUTFcomposite[\UTFencname]{x0175}{\^}{w}
\DeclareUTFcomposite[\UTFencname]{x0176}{\^}{Y}
+\DeclareUTFcomposite[\UTFencname]{x0176}{\capitalcircumflex}{Y}
\DeclareUTFcomposite[\UTFencname]{x0177}{\^}{y}
\DeclareUTFcomposite[\UTFencname]{x0178}{\"}{Y}
+\DeclareUTFcomposite[\UTFencname]{x0178}{\capitaldieresis}{Y}
\DeclareUTFcomposite[\UTFencname]{x0179}{\'}{Z}
+\DeclareUTFcomposite[\UTFencname]{x0179}{\capitalacute}{Z}
\DeclareUTFcomposite[\UTFencname]{x017A}{\'}{z}
\DeclareUTFcomposite[\UTFencname]{x017B}{\.}{Z}
+\DeclareUTFcomposite[\UTFencname]{x017B}{\capitaldotaccent}{Z}
\DeclareUTFcharacter[\UTFencname]{x017B}{\Zdotaccent} % regi-cp1250
\DeclareUTFcomposite[\UTFencname]{x017C}{\.}{z}
\DeclareUTFcharacter[\UTFencname]{x017C}{\zdotaccent} % regi-cp1250
\DeclareUTFcomposite[\UTFencname]{x017D}{\v}{Z}
+\DeclareUTFcomposite[\UTFencname]{x017D}{\capitalcaron}{Z}
\DeclareUTFcharacter[\UTFencname]{x017D}{\Zcaron} % regi-cp1250
\DeclareUTFcomposite[\UTFencname]{x017E}{\v}{z}
\DeclareUTFcharacter[\UTFencname]{x017E}{\zcaron} % regi-cp1250
@@ -1196,8 +2139,8 @@
\DeclareUTFcharacter[\UTFencname]{x0195}{\texthvlig}
\DeclareUTFcomposite[\UTFencname]{x0196}{\m}{I}
\DeclareUTFcharacter[\UTFencname]{x0196}{\textIotaafrican} % ??
-%\DeclareUTFcharacter[\UTFencname]{x0196}{\textiota} % ?? see x0269
-\DeclareUTFcharacter[\UTFencname]{x0196}{\textvibyi} % ??
+%\DeclareUTFcharacter[\UTFencname]{x0196}{\textIota} % ?? see x0399
+%\DeclareUTFcharacter[\UTFencname]{x0196}{\textvibyi} % ?? see x0285
\DeclareUTFcomposite[\UTFencname]{x0197}{\B}{I}
%\DeclareUTFcharacter[\UTFencname]{x0197}{} % ??
\DeclareUTFcomposite[\UTFencname]{x0198}{\m}{K}
@@ -1212,7 +2155,7 @@
%\DeclareUTFcharacter[\UTFencname]{x019C}{} % turned M
\DeclareUTFcomposite[\UTFencname]{x019D}{\m}{J}
\DeclareUTFcharacter[\UTFencname]{x019D}{\textNhookleft}
-%\DeclareUTFcharacter[\UTFencname]{x019E}{} % N with long right leg
+\DeclareUTFcharacter[\UTFencname]{x019E}{\textnrleg} % N with long right leg
%\DeclareUTFcharacter[\UTFencname]{x019F}{} % O with middle tilde
\DeclareUTFcharacter[\UTFencname]{x01A0}{\Ohorn} % O with horn
\DeclareUTFcomposite[\UTFencname]{x01A0}{\textrighthorn}{O} % O with horn
@@ -1290,13 +2233,17 @@
\DeclareUTFcharacter[\UTFencname]{x01CB}{\Nj}
\DeclareUTFcharacter[\UTFencname]{x01CC}{\nj}
\DeclareUTFcomposite[\UTFencname]{x01CD}{\v}{A}
+\DeclareUTFcomposite[\UTFencname]{x01CD}{\capitalcaron}{A}
\DeclareUTFcomposite[\UTFencname]{x01CE}{\v}{a}
\DeclareUTFcomposite[\UTFencname]{x01CF}{\v}{I}
+\DeclareUTFcomposite[\UTFencname]{x01CF}{\capitalcaron}{I}
\DeclareUTFcomposite[\UTFencname]{x01D0}{\v}{i}
\DeclareUTFcomposite[\UTFencname]{x01D0}{\v}{\i}
\DeclareUTFcomposite[\UTFencname]{x01D1}{\v}{O}
+\DeclareUTFcomposite[\UTFencname]{x01D1}{\capitalcaron}{O}
\DeclareUTFcomposite[\UTFencname]{x01D2}{\v}{o}
\DeclareUTFcomposite[\UTFencname]{x01D3}{\v}{U}
+\DeclareUTFcomposite[\UTFencname]{x01D3}{\capitalcaron}{U}
\DeclareUTFcomposite[\UTFencname]{x01D4}{\v}{u}
\DeclareUTFcomposite[\UTFencname]{x01D5}{\textdieresisoverline}{U}
\DeclareUTFcomposite[\UTFencname]{x01D5}{\=}{\"U}
@@ -1331,11 +2278,15 @@
\DeclareUTFcomposite[\UTFencname]{x01E5}{\B}{\g}
\DeclareUTFcharacter[\UTFencname]{x01E5}{\textcrg}
\DeclareUTFcomposite[\UTFencname]{x01E6}{\v}{G}
+\DeclareUTFcomposite[\UTFencname]{x01E6}{\capitalcaron}{G}
\DeclareUTFcomposite[\UTFencname]{x01E7}{\v}{g}
\DeclareUTFcomposite[\UTFencname]{x01E8}{\v}{K}
+\DeclareUTFcomposite[\UTFencname]{x01E8}{\capitalcaron}{K}
\DeclareUTFcomposite[\UTFencname]{x01E9}{\v}{k}
\DeclareUTFcomposite[\UTFencname]{x01EA}{\k}{O}
+\DeclareUTFcomposite[\UTFencname]{x01EA}{\capitalogonek}{O}
\DeclareUTFcomposite[\UTFencname]{x01EB}{\k}{o}
+\DeclareUTFcomposite[\UTFencname]{x01EB}{\capitalogonek}{o}
\DeclareUTFcomposite[\UTFencname]{x01EC}{\textogonekoverline}{O}
\DeclareUTFcomposite[\UTFencname]{x01EC}{\=}{\k O}
\DeclareUTFcomposite[\UTFencname]{x01ED}{\textogonekoverline}{o}
@@ -1351,11 +2302,13 @@
\DeclareUTFcharacter[\UTFencname]{x01F3}{\dz}
\DeclareUTFcomposite[\UTFencname]{x01F4}{\'}{G}
+\DeclareUTFcomposite[\UTFencname]{x01F4}{\capitalacute}{G}
\DeclareUTFcomposite[\UTFencname]{x01F5}{\'}{g}
\DeclareUTFcharacter[\UTFencname]{x01F6}{\HV}
\DeclareUTFcharacter[\UTFencname]{x01F7}{\WYNN}
\DeclareUTFcharacter[\UTFencname]{x01F7}{\textwynn}
\DeclareUTFcomposite[\UTFencname]{x01F8}{\`}{N}
+\DeclareUTFcomposite[\UTFencname]{x01F8}{\capitalgrave}{N}
\DeclareUTFcomposite[\UTFencname]{x01F9}{\`}{n}
\DeclareUTFcomposite[\UTFencname]{x01FA}{\'}{\r A}
\DeclareUTFcomposite[\UTFencname]{x01FB}{\'}{\r a}
@@ -1366,38 +2319,39 @@
\DeclareUTFcomposite[\UTFencname]{x0200}{\G}{A}
\DeclareUTFcomposite[\UTFencname]{x0201}{\G}{a}
-\DeclareUTFcomposite[\UTFencname]{x0202}{\t}{A}
-\DeclareUTFcomposite[\UTFencname]{x0203}{\t}{a}
+\DeclareUTFcomposite[\UTFencname]{x0202}{\textroundcap}{A}
+\DeclareUTFcomposite[\UTFencname]{x0203}{\textroundcap}{a}
\DeclareUTFcomposite[\UTFencname]{x0204}{\G}{E}
\DeclareUTFcomposite[\UTFencname]{x0205}{\G}{e}
-\DeclareUTFcomposite[\UTFencname]{x0206}{\t}{E}
-\DeclareUTFcomposite[\UTFencname]{x0207}{\t}{e}
+\DeclareUTFcomposite[\UTFencname]{x0206}{\textroundcap}{E}
+\DeclareUTFcomposite[\UTFencname]{x0207}{\textroundcap}{e}
\DeclareUTFcomposite[\UTFencname]{x0208}{\G}{I}
\DeclareUTFcomposite[\UTFencname]{x0209}{\G}{i}
\DeclareUTFcomposite[\UTFencname]{x0209}{\G}{\i}
-\DeclareUTFcomposite[\UTFencname]{x020A}{\t}{I}
-\DeclareUTFcomposite[\UTFencname]{x020B}{\t}{i}
-\DeclareUTFcomposite[\UTFencname]{x020B}{\t}{\i}
+\DeclareUTFcomposite[\UTFencname]{x020A}{\textroundcap}{I}
+\DeclareUTFcomposite[\UTFencname]{x020B}{\textroundcap}{i}
+\DeclareUTFcomposite[\UTFencname]{x020B}{\textroundcap}{\i}
\DeclareUTFcomposite[\UTFencname]{x020C}{\G}{O}
\DeclareUTFcomposite[\UTFencname]{x020D}{\G}{o}
-\DeclareUTFcomposite[\UTFencname]{x020E}{\t}{O}
-\DeclareUTFcomposite[\UTFencname]{x020F}{\t}{o}
+\DeclareUTFcomposite[\UTFencname]{x020E}{\textroundcap}{O}
+\DeclareUTFcomposite[\UTFencname]{x020F}{\textroundcap}{o}
\DeclareUTFcomposite[\UTFencname]{x0210}{\G}{R}
\DeclareUTFcomposite[\UTFencname]{x0211}{\G}{r}
-\DeclareUTFcomposite[\UTFencname]{x0212}{\t}{R}
-\DeclareUTFcomposite[\UTFencname]{x0213}{\t}{r}
+\DeclareUTFcomposite[\UTFencname]{x0212}{\textroundcap}{R}
+\DeclareUTFcomposite[\UTFencname]{x0213}{\textroundcap}{r}
\DeclareUTFcomposite[\UTFencname]{x0214}{\G}{U}
\DeclareUTFcomposite[\UTFencname]{x0215}{\G}{u}
-\DeclareUTFcomposite[\UTFencname]{x0216}{\t}{U}
-\DeclareUTFcomposite[\UTFencname]{x0217}{\t}{u}
+\DeclareUTFcomposite[\UTFencname]{x0216}{\textroundcap}{U}
+\DeclareUTFcomposite[\UTFencname]{x0217}{\textroundcap}{u}
\DeclareUTFcomposite[\UTFencname]{x0218}{\textcommabelow}{S}
\DeclareUTFcomposite[\UTFencname]{x0219}{\textcommabelow}{s}
\DeclareUTFcomposite[\UTFencname]{x021A}{\textcommabelow}{T}
\DeclareUTFcomposite[\UTFencname]{x021B}{\textcommabelow}{t}
\DeclareUTFcharacter[\UTFencname]{x021C}{\YOGH}
\DeclareUTFcharacter[\UTFencname]{x021D}{\yogh}
-\DeclareUTFcharacter[\UTFencname]{x021D}{\textyogh} % TIPA-Z ???
+%\DeclareUTFcharacter[\UTFencname]{x021D}{\textyogh} % TIPA-Z ???
\DeclareUTFcomposite[\UTFencname]{x021E}{\v}{H}
+\DeclareUTFcomposite[\UTFencname]{x021E}{\capitalcaron}{H}
\DeclareUTFcomposite[\UTFencname]{x021F}{\v}{h}
\DeclareUTFcomposite[\UTFencname]{x0220}{\M}{N}
%\DeclareUTFcomposite[\UTFencname]{x0221}{\?}{d} % with curl
@@ -1408,8 +2362,10 @@
\DeclareUTFcomposite[\UTFencname]{x0225}{\textcommabelow}{z} % with comma
\DeclareUTFcharacter[\UTFencname]{x0225}{\textcommatailz}
\DeclareUTFcomposite[\UTFencname]{x0226}{\.}{A}
+\DeclareUTFcomposite[\UTFencname]{x0226}{\capitaldotaccent}{A}
\DeclareUTFcomposite[\UTFencname]{x0227}{\.}{a}
\DeclareUTFcomposite[\UTFencname]{x0228}{\c}{E}
+\DeclareUTFcomposite[\UTFencname]{x0228}{\capitalcedilla}{E}
\DeclareUTFcomposite[\UTFencname]{x0229}{\c}{e}
\DeclareUTFcomposite[\UTFencname]{x022A}{\=}{\"O}
\DeclareUTFcomposite[\UTFencname]{x022A}{\textdieresisoverline}{O}
@@ -1420,23 +2376,49 @@
\DeclareUTFcomposite[\UTFencname]{x022D}{\=}{\~o}
\DeclareUTFcomposite[\UTFencname]{x022D}{\texttildeoverline}{o}
\DeclareUTFcomposite[\UTFencname]{x022E}{\.}{O}
+\DeclareUTFcomposite[\UTFencname]{x022E}{\capitaldotaccent}{O}
\DeclareUTFcomposite[\UTFencname]{x022F}{\.}{o}
\DeclareUTFcomposite[\UTFencname]{x0230}{\=}{\.O}
\DeclareUTFcomposite[\UTFencname]{x0230}{\textdotoverline}{O}
\DeclareUTFcomposite[\UTFencname]{x0231}{\=}{\.o}
\DeclareUTFcomposite[\UTFencname]{x0231}{\textdotoverline}{o}
\DeclareUTFcomposite[\UTFencname]{x0232}{\=}{Y}
+\DeclareUTFcomposite[\UTFencname]{x0232}{\capitalmacron}{Y}
\DeclareUTFcomposite[\UTFencname]{x0233}{\=}{y}
%\DeclareUTFcomposite[\UTFencname]{x0234}{\?}{l} % with curl
-%\DeclareUTFcharacter[\UTFencname]{x0234}{\textctl} % why not ?
+\DeclareUTFcharacter[\UTFencname]{x0234}{\textctl} % why not ?
%\DeclareUTFcomposite[\UTFencname]{x0235}{\?}{n} % with curl
\DeclareUTFcharacter[\UTFencname]{x0235}{\textctn}
%\DeclareUTFcomposite[\UTFencname]{x0236}{\?}{t} % with curl
\DeclareUTFcharacter[\UTFencname]{x0236}{\textctt}
\DeclareUTFcharacter[\UTFencname]{x0237}{\textdotlessj}
-\DeclareUTFcharacter[\UTFencname]{x0238}{\textdblig} % ??
-\DeclareUTFcharacter[\UTFencname]{x0239}{\textqplig} % ??
-
+\DeclareUTFcharacter[\UTFencname]{x0238}{\textdblig} %
+\DeclareUTFcharacter[\UTFencname]{x0239}{\textqplig} %
+\DeclareUTFcharacter[\UTFencname]{x023A}{\textstrokea} %
+\DeclareUTFcharacter[\UTFencname]{x023B}{\textstrokecapitalc} %
+\DeclareUTFcharacter[\UTFencname]{x023C}{\textstrokec} %
+\DeclareUTFcharacter[\UTFencname]{x023D}{\textbarcapitall} %
+\DeclareUTFcharacter[\UTFencname]{x023E}{\textstrokecapitalt} %
+\DeclareUTFcharacter[\UTFencname]{x023F}{\textrts} %
+\DeclareUTFcharacter[\UTFencname]{x0240}{\textrtz} %
+\DeclareUTFcharacter[\UTFencname]{x0241}{\textglotstopvari} %
+\DeclareUTFcharacter[\UTFencname]{x0242}{\textglotstopvarii} %
+\DeclareUTFcharacter[\UTFencname]{x0243}{\textbarcapitalb} %
+\DeclareUTFcharacter[\UTFencname]{x0244}{\textbarcapitalu} %
+\DeclareUTFcharacter[\UTFencname]{x0245}{\textturnedcapitalv} %
+\DeclareUTFcharacter[\UTFencname]{x0246}{\textstrokecapitale} %
+\DeclareUTFcharacter[\UTFencname]{x0247}{\textstrokee} %
+\DeclareUTFcharacter[\UTFencname]{x0248}{\textbarcapitalj} %
+\DeclareUTFcharacter[\UTFencname]{x0249}{\textbarj} %
+\DeclareUTFcharacter[\UTFencname]{x024A}{\texthtcapitalq} %
+\DeclareUTFcharacter[\UTFencname]{x024B}{\texthtq} %
+\DeclareUTFcharacter[\UTFencname]{x024C}{\textbarcapitalr} %
+\DeclareUTFcharacter[\UTFencname]{x024D}{\textbarr} %
+\DeclareUTFcharacter[\UTFencname]{x024E}{\textbarcapitaly} %
+\DeclareUTFcharacter[\UTFencname]{x024F}{\textbary} %
+%
+% IPA extensions
+%
%\DeclareUTFcomposite[\UTFencname]{x0250}{\?}{a} % turned
\DeclareUTFcharacter[\UTFencname]{x0250}{\textturna} % TIPA-5
%\DeclareUTFcomposite[\UTFencname]{x0251}{\?}{a} % alpha
@@ -1477,6 +2459,7 @@
\DeclareUTFcharacter[\UTFencname]{x025E}{\textcloserevepsilon}
\DeclareUTFcomposite[\UTFencname]{x025F}{\B}{j}
\DeclareUTFcharacter[\UTFencname]{x025F}{\textbardotlessj}
+\DeclareUTFcharacter[\UTFencname]{x025F}{\textObardotlessj}
\DeclareUTFcomposite[\UTFencname]{x0260}{\texthookabove}{g} % with hook above
\DeclareUTFcharacter[\UTFencname]{x0260}{\texthtg}
%\DeclareUTFcomposite[\UTFencname]{x0261}{\?}{g} % script
@@ -1493,13 +2476,12 @@
\DeclareUTFcomposite[\UTFencname]{x0266}{\m}{h} % with hook above
\DeclareUTFcomposite[\UTFencname]{x0266}{\texthookabove}{h} % with hook above
\DeclareUTFcharacter[\UTFencname]{x0266}{\texthth} % TIPA-H
-%\DeclareUTFcomposite[\UTFencname]{x0267}{\texthookabove}{\heng} % with hook above (\heng undefined!)
+\DeclareUTFcomposite[\UTFencname]{x0267}{\texthookabove}{\textheng} % with hook above
\DeclareUTFcharacter[\UTFencname]{x0267}{\texththeng}
\DeclareUTFcomposite[\UTFencname]{x0268}{\B}{i}
\DeclareUTFcharacter[\UTFencname]{x0268}{\textbari} % TIPA-1
\DeclareUTFcomposite[\UTFencname]{x0269}{\m}{i}
\DeclareUTFcharacter[\UTFencname]{x0269}{\textiota} % ?? see x0196
-\DeclareUTFcharacter[\UTFencname]{x0269}{\textvibyi} % ??
\DeclareUTFcharacter[\UTFencname]{x0269}{\textiotalatin}
%\DeclareUTFcomposite[\UTFencname]{x026A}{\?}{I} % small
\DeclareUTFcharacter[\UTFencname]{x026A}{\textsci} % TIPA-I
@@ -1562,7 +2544,8 @@
\DeclareUTFcharacter[\UTFencname]{x0284}{\texthtObardotlessj}
\DeclareUTFcharacter[\UTFencname]{x0284}{\texthtbardotlessjvar}
\DeclareUTFcomposite[\UTFencname]{x0285}{\m}{S} % squat reversed esh
-\DeclareUTFcharacter[\UTFencname]{x0285}{\textraisevibyi}
+\DeclareUTFcharacter[\UTFencname]{x0285}{\textvibyi}
+%\DeclareUTFcharacter[\UTFencname]{x0285}{\textraisevibyi}% ??
%\DeclareUTFcomposite[\UTFencname]{x0286}{\?}{\esh} % with curl
\DeclareUTFcharacter[\UTFencname]{x0286}{\textctesh}
%\DeclareUTFcomposite[\UTFencname]{x0287}{\?}{t} % turned
@@ -1591,7 +2574,8 @@
\DeclareUTFcharacter[\UTFencname]{x0291}{\textctz}
\DeclareUTFcomposite[\UTFencname]{x0292}{\m}{z}
\DeclareUTFcharacter[\UTFencname]{x0292}{\ezh}
-\DeclareUTFcharacter[\UTFencname]{x0292}{\textezh} % TIPA-Z
+\DeclareUTFcharacter[\UTFencname]{x0292}{\textezh}
+\DeclareUTFcharacter[\UTFencname]{x0292}{\textyogh} % TIPA-Z !!! see Ux021D
%\DeclareUTFcomposite[\UTFencname]{x0293}{\?}{\ezh} % with curl
\DeclareUTFcharacter[\UTFencname]{x0293}{\textctyogh}
\DeclareUTFcharacter[\UTFencname]{x0294}{\textglotstop} % TIPA-P
@@ -1650,6 +2634,7 @@
\DeclareUTFcharacter[\UTFencname]{x02B7}{\textsupw}
\DeclareUTFcharacter[\UTFencname]{x02B8}{\textsupy}
\DeclareUTFcharacter[\UTFencname]{x02B9}{\cprime}
+\DeclareUTFcharacter[\UTFencname]{x02B9}{\textceltpal} % ??
%\DeclareUTFcharacter[\UTFencname]{x02B9}{\textprimstress} % ?? see x02C8 % TIPA-"
\DeclareUTFcharacter[\UTFencname]{x02BA}{\cdprime}
\DeclareUTFcharacter[\UTFencname]{x02BB}{\textturncomma}
@@ -1665,6 +2650,7 @@
\DeclareUTFcharacter[\UTFencname]{x02C4}{\textuptr}
\DeclareUTFcharacter[\UTFencname]{x02C5}{\textdptr}
\DeclareUTFcharacter[\UTFencname]{x02C6}{\textcircumaccent} % see also x005E
+\DeclareUTFcharacter[\UTFencname]{x02C7}{\textasciicaron}
\DeclareUTFcharacter[\UTFencname]{x02C7}{\textcaronaccent} % see also x00 ??
\DeclareUTFcharacter[\UTFencname]{x02C8}{\textprimstress} % ?? see x02B9 % TIPA-"
\DeclareUTFcharacter[\UTFencname]{x02C9}{\textmacronaccent} % see also x00AF
@@ -1688,6 +2674,7 @@
\DeclareUTFcharacter[\UTFencname]{x02D7}{\textretracted}
\DeclareUTFcharacter[\UTFencname]{x02D8}{\textbreveaccent} % see also x00 ??
\DeclareUTFcharacter[\UTFencname]{x02D8}{\textbreve} % see also x00 ??
+\DeclareUTFcharacter[\UTFencname]{x02D8}{\textasciibreve} % see also x00 ??
\DeclareUTFcharacter[\UTFencname]{x02D9}{\textdotabove}
\DeclareUTFcharacter[\UTFencname]{x02D9}{\textdotaccent}
\DeclareUTFcharacter[\UTFencname]{x02DA}{\textringabove}
@@ -1705,7 +2692,19 @@
\DeclareUTFcharacter[\UTFencname]{x02E2}{\ipasups}
\DeclareUTFcharacter[\UTFencname]{x02E3}{\ipasupx}
\DeclareUTFcharacter[\UTFencname]{x02E4}{\ipasuprerglotstpp}
-
+%\DeclareUTFcharacter[\UTFencname]{x02E5}{\ipaextrahightone}
+%\DeclareUTFcharacter[\UTFencname]{x02E6}{\ipahightone}
+%\DeclareUTFcharacter[\UTFencname]{x02E7}{\ipamidtone}
+%\DeclareUTFcharacter[\UTFencname]{x02E8}{\ipalowtone}
+%\DeclareUTFcharacter[\UTFencname]{x02E9}{\ipaextralowtone}
+%\DeclareUTFcharacter[\UTFencname]{x02EA}{\ipayintone}
+%\DeclareUTFcharacter[\UTFencname]{x02EB}{\ipayangtone}
+%\DeclareUTFcharacter[\UTFencname]{x02EC}{\ipavoicing}
+%\DeclareUTFcharacter[\UTFencname]{x02ED}{\ipaunaspirated}
+%\DeclareUTFcharacter[\UTFencname]{x02EE}{\ipadblapostrophe}
+%\DeclareUTFcharacter[\UTFencname]{x02EF}{\ipadownarrowhead}
+
+\expandafter\ifx\csname ReloadXunicode\endcsname\relax
{
\gdef\real@five{5}%
\gdef\real@four{4}%
@@ -1735,107 +2734,138 @@
\def\TIPAtonebarx#1{{\TIPAresetdigits
\edef\TIPAtonedata{#1}\expandafter\tonebar
\expandafter{\TIPAtonedata}}}
-\def\TIPAstonebar#1{{\TIPAresetdigits
- \edef\TIPAtonedata{#1}\expandafter\stonebar
+
+\def\TIPAstonebar#1{\TIPAstonebari#1!!@!!}
+\def\TIPAstonebari#1#2!!@!!{\TIPAtonebarx{#1}%
+ \def\nextchar{#2}\def\firstchar{#2}\ifx\nextchar\@empty
+ \else
+ \ifx\nextchar\firstchar
+ \else
+ \TIPAstonebar{#2}%
+ \fi\fi
+}
+
+\def\TIPArtonebar#1{\TIPArtonebari#1!!@!!}
+\def\TIPArtonebari#1#2!!@!!{\TIPArtonebarx{#1}%
+ \def\nextchar{#2}\def\firstchar{#2}\ifx\nextchar\@empty
+ \else
+ \ifx\nextchar\firstchar
+ \else
+ \TIPArtonebar{#2}%
+ \fi\fi
+}
+\def\TIPArtonebarx#1{{\TIPAresetdigits
+ \edef\TIPAtonedata{#1}\expandafter\rtonebar
\expandafter{\TIPAtonedata}}}
+% faking right tone bars from left ones
+\RequirePackage{graphicx}
+\def\TIPAfakertonebar#1{{\TIPAreversedata#1!!@!!%
+ \reflectbox{\expandafter\TIPAfakertonebari\expandafter{\TIPAtonedata}}}}
+\def\TIPAfakertonebari#1{\TIPAfakertonebarii#1!!@!!}
+\def\TIPAfakertonebarii#1#2!!@!!{\TIPAtonebarx{#1}%
+ \def\nextchar{#2}\ifx\nextchar\@empty
+ \else
+ \TIPAfakertonebari{#2}%
+ \fi
+}
+\def\TIPAreversedata#1#2!!@!!{%
+ \expandafter\def\expandafter\TIPAtonedata\expandafter{\expandafter#1\TIPAtonedata}%
+ \ifx\relax#2\relax\let\next\relax
+ \else
+ \def\next{\TIPAreversedata#2!!@!!}%
+ \fi \next }
+\def\TIPAtonedata{}
+\def\UseFakeRightTones{\RequirePackage{graphicx}%
+ \let\TIPArtonebar\TIPAfakertonebar}
+
+\fi
+% end of the part that should not be loaded more than once.
+
\@ifundefined{tonebar}{\DeclareTextAccent{\tonebar}{OT1}{999}}{}
\DeclareEncodedCompositeCharacter{\UTFencname}{\tonebar}{01C0}{} % \textpipe
\@ifundefined{stonebar}{\DeclareTextAccent{\stonebar}{OT1}{999}}{}
\DeclareEncodedCompositeCharacter{\UTFencname}{\stonebar}{01C0}{} % \textpipe
+\@ifundefined{rtonebar}{\DeclareTextAccent{\rtonebar}{OT1}{999}}{}
+\DeclareEncodedCompositeCharacter{\UTFencname}{\rtonebar}{01C0}{} % \textpipe
\DeclareUTFcharacter[\UTFencname]{x02E5}{\tonebarextrahigh}
-\DeclareUTFcomposite[\UTFencname]{x02E5}{\stonebar}{55}
+\DeclareUTFcomposite[\UTFencname]{x02E5}{\stonebar}{5}% {55}
+\DeclareUTFcomposite[\UTFencname]{xA712}{\rtonebar}{5}% {55}
\DeclareUTFcomposite[\UTFencname]{x02E5}{\tonebar}{5}
\DeclareUTFcharacter[\UTFencname]{x02E6}{\tonebarhigh}
-\DeclareUTFcomposite[\UTFencname]{x02E6}{\stonebar}{44}
+\DeclareUTFcomposite[\UTFencname]{x02E6}{\stonebar}{4}% {44}
+\DeclareUTFcomposite[\UTFencname]{xA713}{\rtonebar}{4}% {44}
\DeclareUTFcomposite[\UTFencname]{x02E6}{\tonebar}{4}
\DeclareUTFcharacter[\UTFencname]{x02E7}{\tonebarmiddle}
\DeclareUTFcharacter[\UTFencname]{x02E7}{\tonebarmid}
-\DeclareUTFcomposite[\UTFencname]{x02E7}{\stonebar}{33}
+\DeclareUTFcomposite[\UTFencname]{x02E7}{\stonebar}{3}% {33}
+\DeclareUTFcomposite[\UTFencname]{xA714}{\rtonebar}{3}% {33}
\DeclareUTFcomposite[\UTFencname]{x02E7}{\tonebar}{3}
\DeclareUTFcharacter[\UTFencname]{x02E8}{\tonebarlow}
-\DeclareUTFcomposite[\UTFencname]{x02E8}{\stonebar}{22}
+\DeclareUTFcomposite[\UTFencname]{x02E8}{\stonebar}{2}% {22}
+\DeclareUTFcomposite[\UTFencname]{xA715}{\rtonebar}{2}% {22}
\DeclareUTFcomposite[\UTFencname]{x02E8}{\tonebar}{2}
\DeclareUTFcharacter[\UTFencname]{x02E9}{\tonebarextralow}
-\DeclareUTFcomposite[\UTFencname]{x02E9}{\stonebar}{11}
+\DeclareUTFcomposite[\UTFencname]{x02E9}{\stonebar}{1}% {11}
+\DeclareUTFcomposite[\UTFencname]{xA716}{\rtonebar}{1}% {11}
\DeclareUTFcomposite[\UTFencname]{x02E9}{\tonebar}{1}
\DeclareUTFcharacter[\UTFencname]{x02EA}{\tonebaryindeparting}
\DeclareUTFcharacter[\UTFencname]{x02EB}{\tonebaryangdeparting}
+\DeclareUTFcomposite[\UTFencname]{x02EB}{\rtonebar}{3}
\DeclareUTFcharacter[\UTFencname]{x02EC}{\ipavoicing}
\DeclareUTFcharacter[\UTFencname]{x02ED}{\ipaunaspirated}
\DeclareUTFcomposite[\UTFencname]{x02E8\char"02E5}{\tonebar}{25}
\DeclareUTFcomposite[\UTFencname]{x02E5\char"02E8}{\tonebar}{52}
-\DeclareUTFcharacter[\UTFencname]{x02F5}{\textgravedbl} % middle
-%\DeclareUTFcharacter[\UTFencname]{x????}{\textasciidieresis}% see x00A8
-
-\DeclareUTFcharacter[\UTFencname]{x031A}{\textcorner}
-\DeclareUTFcharacter[\UTFencname]{x0321}{\textpalhook}
-\DeclareUTFcharacter[\UTFencname]{x0321}{\textpalhookvar}
-\DeclareUTFcharacter[\UTFencname]{x0322}{\textrthook}
-\DeclareUTFcharacter[\UTFencname]{x034D}{\textsubdoublearrow} % ??
-\DeclareUTFcharacter[\UTFencname]{x0350}{\textrptr} % ??
-\DeclareUTFcharacter[\UTFencname]{x0362}{\textsubrightarrow} % ??
-%%% characters missing from tipa.sty :
-%\DeclareUTFcharacter[\UTFencname]{x02C2}{\textlptr} % ??
+%%% characters missing from tipa.sty mostly via t3enc.def :
%\DeclareUTFcharacter[\UTFencname]{x????}{\texttoneletterstem} % ??
-%\DeclareUTFcharacter[\UTFencname]{x????}{\textceltpal} % ??
+%\DeclareUTFcharacter[\UTFencname]{x02B9}{\textceltpal} % ??
%\DeclareUTFcharacter[\UTFencname]{x????}{\texthooktop} % ??
-%\DeclareUTFcharacter[\UTFencname]{x????}{\textopencorner} % ??
-%\DeclareUTFcharacter[\UTFencname]{x????}{\textrectangle} % ??
-%\DeclareUTFcharacter[\UTFencname]{x02DE}{\textrhoticity} % ??
-%\DeclareUTFcharacter[\UTFencname]{x01C0}{\textvertline} % ??
+%\DeclareUTFcharacter[\UTFencname]{x????}{\textrectangle} % ?? 2E0B
%\DeclareUTFcharacter[\UTFencname]{x????}{\textbarb} % ??
-\DeclareTextCommand{\textbarb}{\UTFencname}{\textlstrokethru{b}}
+%\DeclareTextCommand{\textbarb}{\UTFencname}{\textlstrokethru{b}}% Doesn't work !
+\renewcommand{\textbarb}{\textlstrokethru{b}}%
%\DeclareUTFcharacter[\UTFencname]{x????}{\textbarc} % ??
-\DeclareTextCommand{\textbarc}{\UTFencname}{\textsstrokethru{c}}
+%\DeclareTextCommand{\textbarc}{\UTFencname}{\textsstrokethru{c}}% Doesn't work !
+\renewcommand{\textbarc}{\textsstrokethru{c}}%
%\DeclareUTFcharacter[\UTFencname]{x????}{\textbard} % ??
-\DeclareTextCommand{\textbard}{\UTFencname}{\textlstrokethru{d}}
+%\DeclareTextCommand{\textbard}{\UTFencname}{\textlstrokethru{d}}% Doesn't work !
+\renewcommand{\textbard}{\textlstrokethru{d}}%
%\DeclareUTFcharacter[\UTFencname]{x????}{\textbarg} % ??
-\DeclareTextCommand{\textbarg}{\UTFencname}{\textlstrokethru{g}}
+%\DeclareTextCommand{\textbarg}{\UTFencname}{\textlstrokethru{g}}
+\renewcommand{\textbarg}{\textlstrokethru{\textscriptg}}%
%\DeclareUTFcharacter[\UTFencname]{x????}{\textraisevibyi} % ??
%\DeclareUTFcharacter[\UTFencname]{x????}{\textctdctzlig} % ??
-%\DeclareUTFcharacter[\UTFencname]{x????}{\textlhookfour} % ??
+%\DeclareUTFcharacter[\UTFencname]{x????}{\textlhookfour} % ?? see x2C70
%\DeclareUTFcharacter[\UTFencname]{x????}{\textinvscripta} % ??
%\DeclareUTFcharacter[\UTFencname]{x????}{\textaolig} % ??
%\DeclareUTFcharacter[\UTFencname]{x????}{\textscaolig} % ??
%\DeclareUTFcharacter[\UTFencname]{x????}{\textinvsca} % ??
%\DeclareUTFcharacter[\UTFencname]{x????}{\textctstretchc} % ??
%\DeclareUTFcharacter[\UTFencname]{x????}{\textctstretchcvar} % ??
-%\DeclareUTFcharacter[\UTFencname]{x????}{\texthtrtaild} % ?? Hooktop right-tail D
%\DeclareUTFcharacter[\UTFencname]{x????}{\textfrhookd} % ??
%\DeclareUTFcharacter[\UTFencname]{x????}{\textfrhookdvar} % ??
-%\DeclareUTFcharacter[\UTFencname]{x0238}{\textdblig} % ??
%\DeclareUTFcharacter[\UTFencname]{x????}{\textscdelta} % ??
-%\DeclareUTFcharacter[\UTFencname]{x????}{\textrhooke} % ??
-\DeclareTextCommand{\textrhooke}{\UTFencname}{\textrethookbelow{e}}
-%\DeclareUTFcharacter[\UTFencname]{x????}{\textrhookepsilon} % ??
-\DeclareTextCommand{\textrhookepsilon}{\UTFencname}{\textrethookbelow{\textepsilon}}
-%\DeclareUTFcharacter[\UTFencname]{x????}{\textscf} % ??
-\DeclareTextCommand{\textscf}{\UTFencname}{\textsc{f}}
+%\DeclareUTFcharacter[\UTFencname]{x????}{\textscf} % see "Constructed Characters"
%\DeclareUTFcharacter[\UTFencname]{x????}{\textfrtailgamma} % ??
%\DeclareUTFcharacter[\UTFencname]{x????}{\textbktailgamma} % ??
-%\DeclareUTFcharacter[\UTFencname]{x????}{\texthtrtailhth} % ??
-%\DeclareUTFcharacter[\UTFencname]{x????}{\textheng} % ??
+%\DeclareUTFcharacter[\UTFencname]{x????}{\textrtailhth} % ??
%\DeclareUTFcharacter[\UTFencname]{x????}{\textrevscl} % ???
%\DeclareUTFcharacter[\UTFencname]{x????}{\texthmlig} % ???
-%\DeclareUTFcharacter[\UTFencname]{x????}{\textnrleg} % ???
%\DeclareUTFcharacter[\UTFencname]{x????}{\textfrbarn} % ???
-%\DeclareUTFcharacter[\UTFencname]{x????}{\textfemale} % ???
-%\DeclareUTFcharacter[\UTFencname]{x????}{\textuncrfemale} % ???
%\DeclareUTFcharacter[\UTFencname]{x????}{\textrhookopeno} % ???
-\DeclareTextCommand{\textrhookopeno}{\UTFencname}{\textrethookbelow{\textopeno}}
-%\DeclareUTFcharacter[\UTFencname]{x????}{\textturncelig} % ??? see x1D02
+%\DeclareTextCommand{\textrhookopeno}{\UTFencname}{\textrethookbelow{\textopeno}}% Doesn't work !
+\providecommand{\textrhookopeno}{\textrethookbelow{\textopeno}}%
+%\DeclareUTFcharacter[\UTFencname]{x????}{\textturncelig} % see "Constructed Characters"
%\DeclareUTFcharacter[\UTFencname]{x????}{\textinvomega} % ??
-%\DeclareUTFcharacter[\UTFencname]{x????}{\textscomega} % ??
%\DeclareUTFcharacter[\UTFencname]{x????}{\textlhookp} % ??
-\DeclareTextCommand{\textlhookp}{\UTFencname}{\textpalhookbelow{p}}
-%\DeclareUTFcharacter[\UTFencname]{x????}{\textqplig} % ??
-%\DeclareUTFcharacter[\UTFencname]{x????}{\textscq} % ??
-\DeclareTextCommand{\textscq}{\UTFencname}{\textsc{q}}
+%\DeclareTextCommand{\textlhookp}{\UTFencname}{\textpalhookbelow{p}}% Doesn't work !
+%\DeclareUTFcharacter[\UTFencname]{x????}{\textscq} % see "Constructed Characters"
+%\DeclareTextCommand{\textscq}{\UTFencname}{\textsc{q}}% ?? this might be problematic
%\DeclareUTFcharacter[\UTFencname]{x????}{\textdoublebaresh} % ??
+\renewcommand{\textdoublebaresh}{\textsstrokethru{\texthtbardotlessj}}% defined in t3enc.def, constructed
%\DeclareUTFcharacter[\UTFencname]{x????}{\textfrhookt} % ??
%\DeclareUTFcharacter[\UTFencname]{x????}{\textctturnt} % ??
%\DeclareUTFcharacter[\UTFencname]{x????}{\textcttctclig} % ??
@@ -1849,12 +2879,56 @@
%\DeclareUTFcharacter[\UTFencname]{x????}{\textspleftarrow} % ??
+\DeclareUTFcharacter[\UTFencname]{x0391}{\textAlpha} % in fact, greek !
+\DeclareUTFcharacter[\UTFencname]{x0392}{\textBeta} % in fact, greek !
+\DeclareUTFcharacter[\UTFencname]{x0393}{\textGamma} % in fact, greek !
+\DeclareUTFcharacter[\UTFencname]{x0394}{\textDelta} % in fact, greek !
+\DeclareUTFcharacter[\UTFencname]{x0395}{\textEpsilon} % in fact, greek !
+\DeclareUTFcharacter[\UTFencname]{x0396}{\textZeta} % in fact, greek !
+\DeclareUTFcharacter[\UTFencname]{x0397}{\textEta} % in fact, greek !
+\DeclareUTFcharacter[\UTFencname]{x0398}{\textTheta} % in fact, greek !
+\DeclareUTFcharacter[\UTFencname]{x0399}{\textIota} % in fact, greek !
+\DeclareUTFcharacter[\UTFencname]{x039A}{\textKappa} % in fact, greek !
+\DeclareUTFcharacter[\UTFencname]{x039B}{\textLambda} % in fact, greek !
+\DeclareUTFcharacter[\UTFencname]{x039C}{\textMu} % in fact, greek !
+\DeclareUTFcharacter[\UTFencname]{x039D}{\textNu} % in fact, greek !
+\DeclareUTFcharacter[\UTFencname]{x039E}{\textXi} % in fact, greek !
+\DeclareUTFcharacter[\UTFencname]{x039F}{\textOmicron} % in fact, greek !
+\DeclareUTFcharacter[\UTFencname]{x03A0}{\textPi} % in fact, greek !
+\DeclareUTFcharacter[\UTFencname]{x03A1}{\textRho} % in fact, greek !
+%\DeclareUTFcharacter[\UTFencname]{x03A2}{\text???} % unassigned
+\DeclareUTFcharacter[\UTFencname]{x03A3}{\textSigma} % in fact, greek !
+\DeclareUTFcharacter[\UTFencname]{x03A4}{\textTau} % in fact, greek !
+\DeclareUTFcharacter[\UTFencname]{x03A5}{\textUpsilon} % in fact, greek !
+\DeclareUTFcharacter[\UTFencname]{x03A6}{\textPhi} % in fact, greek !
+\DeclareUTFcharacter[\UTFencname]{x03A7}{\textChi} % in fact, greek !
+\DeclareUTFcharacter[\UTFencname]{x03A8}{\textPsi} % in fact, greek !
+\DeclareUTFcharacter[\UTFencname]{x03A9}{\textOmega} % in fact, greek !
+\renewcommand{\textscomega}{\faketextsc{\textOmega}}%
+\DeclareUTFcharacter[\UTFencname]{x03B1}{\textalpha} % in fact, greek !
\DeclareUTFcharacter[\UTFencname]{x03B2}{\textbeta} % in fact, greek !
\DeclareUTFcharacter[\UTFencname]{x03B3}{\textgrgamma} % in fact, greek !
+\DeclareUTFcharacter[\UTFencname]{x03B4}{\textdelta} % in fact, greek !
%\DeclareUTFcharacter[\UTFencname]{x03B5}{\textepsilon} % in fact, greek !
+\DeclareUTFcharacter[\UTFencname]{x03B6}{\textzeta} % in fact, greek !
+\DeclareUTFcharacter[\UTFencname]{x03B7}{\texteta} % in fact, greek !
\DeclareUTFcharacter[\UTFencname]{x03B8}{\texttheta} % in fact, greek ! TIPA-T
+\DeclareUTFcharacter[\UTFencname]{x03B9}{\textgriota} % in fact, greek !
+\DeclareUTFcharacter[\UTFencname]{x03BA}{\textkappa} % in fact, greek !
\DeclareUTFcharacter[\UTFencname]{x03BB}{\textlambda} % in fact, greek !
+\DeclareUTFcharacter[\UTFencname]{x03BC}{\textmu} % in fact, greek !
+\DeclareUTFcharacter[\UTFencname]{x03BD}{\textnu} % in fact, greek !
+\DeclareUTFcharacter[\UTFencname]{x03BE}{\textxi} % in fact, greek !
+\DeclareUTFcharacter[\UTFencname]{x03BF}{\textomicron} % in fact, greek !
+\DeclareUTFcharacter[\UTFencname]{x03C0}{\textpi} % in fact, greek !
+\DeclareUTFcharacter[\UTFencname]{x03C1}{\textrho} % in fact, greek !
+\DeclareUTFcharacter[\UTFencname]{x03C2}{\textgrsigma} % in fact, greek !
+\DeclareUTFcharacter[\UTFencname]{x03C3}{\textsigma} % in fact, greek !
+\DeclareUTFcharacter[\UTFencname]{x03C4}{\texttau} % in fact, greek !
+\DeclareUTFcharacter[\UTFencname]{x03C5}{\textupsilon} % in fact, greek !
+\DeclareUTFcharacter[\UTFencname]{x03C6}{\textgrphi} % in fact, greek ! (see x0278 )
\DeclareUTFcharacter[\UTFencname]{x03C7}{\textchi} % in fact, greek ! TIPA-X
+\DeclareUTFcharacter[\UTFencname]{x03C8}{\textpsi} % in fact, greek !
\DeclareUTFcharacter[\UTFencname]{x03C9}{\textomega} % in fact, greek !
\DeclareUTFcharacter[\UTFencname]{x042C}{\textsoftsign} % ?? in fact, Cyrillic
@@ -1870,7 +2944,6 @@
\DeclareUTFcharacter[\UTFencname]{x1D00}{\textsca}
%\DeclareUTFcharacter[\UTFencname]{x1D01}{\textscaelig}
%\DeclareUTFcharacter[\UTFencname]{x1D02}{\textscturnaelig}
-\DeclareUTFcharacter[\UTFencname]{x1D02}{\textturncelig} % ???
%\DeclareUTFcharacter[\UTFencname]{x1D03}{\textscbarb}
%\DeclareUTFcharacter[\UTFencname]{x1D04}{\textscc}
%\DeclareUTFcharacter[\UTFencname]{x1D05}{\textscd}
@@ -1895,30 +2968,205 @@
\DeclareUTFcharacter[\UTFencname]{x1D18}{\textscp}
\DeclareUTFcharacter[\UTFencname]{x1D19}{\textrevscr}
%\DeclareUTFcharacter[\UTFencname]{x1D1A}{\textscturnr}
-%\DeclareUTFcharacter[\UTFencname]{x1D1B}{\textsct}
+\DeclareUTFcharacter[\UTFencname]{x1D1B}{\textsct}
\DeclareUTFcharacter[\UTFencname]{x1D1C}{\textscu}
-\DeclareUTFcharacter[\UTFencname]{x1D1D}{\textturnscu}
+%\DeclareUTFcharacter[\UTFencname]{x1D1D}{\textscsideu}
%\DeclareUTFcharacter[\UTFencname]{x1D1E}{\textscsideumlautu}
%\DeclareUTFcharacter[\UTFencname]{x1D1F}{\textscsidem}
-%\DeclareUTFcharacter[\UTFencname]{x1D20}{\textscv}
-%\DeclareUTFcharacter[\UTFencname]{x1D21}{\textscw}
-%\DeclareUTFcharacter[\UTFencname]{x1D22}{\textscz}
-%\DeclareUTFcharacter[\UTFencname]{x1D23}{\textscezh}
+\DeclareUTFcharacter[\UTFencname]{x1D20}{\textscv}
+\DeclareUTFcharacter[\UTFencname]{x1D21}{\textscw}
+\DeclareUTFcharacter[\UTFencname]{x1D22}{\textscz}
+\DeclareUTFcharacter[\UTFencname]{x1D23}{\textscezh}
%\DeclareUTFcharacter[\UTFencname]{x1D24}{} % laryngeal spirant
-%\DeclareUTFcharacter[\UTFencname]{x1D25}{\textain}
-%\DeclareUTFcharacter[\UTFencname]{x1D26}{\textscgamma}
-%\DeclareUTFcharacter[\UTFencname]{x1D27}{\textsclambda}
-%\DeclareUTFcharacter[\UTFencname]{x1D28}{\textscpi}
-%\DeclareUTFcharacter[\UTFencname]{x1D29}{\textscrho}
-%\DeclareUTFcharacter[\UTFencname]{x1D2A}{\textscpsi}
-%\DeclareUTFcharacter[\UTFencname]{x1D2B}{\textscel}
-
-%\DeclareUTFcharacter[\UTFencname]{x1D6B}{\textuelig}
+\DeclareUTFcharacter[\UTFencname]{x1D25}{\textain}
+\DeclareUTFcharacter[\UTFencname]{x1D26}{\textscgamma}
+\DeclareUTFcharacter[\UTFencname]{x1D27}{\textsclambda}
+\DeclareUTFcharacter[\UTFencname]{x1D28}{\textscpi}
+\DeclareUTFcharacter[\UTFencname]{x1D29}{\textscrho}
+\DeclareUTFcharacter[\UTFencname]{x1D2A}{\textscpsi}
+\DeclareUTFcharacter[\UTFencname]{x1D2B}{\textscel}
+\DeclareUTFcomposite[\UTFencname]{x1D2C}{\textsuperscript}{A}
+\DeclareUTFcomposite[\UTFencname]{x1D2D}{\textsuperscript}{\AE}
+\DeclareUTFcomposite[\UTFencname]{x1D2E}{\textsuperscript}{B}
+%\DeclareUTFcomposite[\UTFencname]{x1D2F}{\textsuperscript}{\textbarb}% ??
+\DeclareUTFcomposite[\UTFencname]{x1D30}{\textsuperscript}{D}
+\DeclareUTFcomposite[\UTFencname]{x1D31}{\textsuperscript}{E}
+\DeclareUTFcomposite[\UTFencname]{x1D32}{\textsuperscript}{\textreve}
+\DeclareUTFcomposite[\UTFencname]{x1D33}{\textsuperscript}{G}
+\DeclareUTFcomposite[\UTFencname]{x1D34}{\textsuperscript}{H}
+\DeclareUTFcomposite[\UTFencname]{x1D35}{\textsuperscript}{I}
+\DeclareUTFcomposite[\UTFencname]{x1D36}{\textsuperscript}{J}
+\DeclareUTFcomposite[\UTFencname]{x1D37}{\textsuperscript}{K}
+\DeclareUTFcomposite[\UTFencname]{x1D38}{\textsuperscript}{L}
+\DeclareUTFcomposite[\UTFencname]{x1D39}{\textsuperscript}{M}
+\DeclareUTFcomposite[\UTFencname]{x1D3A}{\textsuperscript}{N}
+%\DeclareUTFcomposite[\UTFencname]{x1D3B}{\textsuperscript}{\textrevn}% ??
+\DeclareUTFcomposite[\UTFencname]{x1D3C}{\textsuperscript}{O}
+\DeclareUTFcomposite[\UTFencname]{x1D3D}{\textsuperscript}{\textou}
+\DeclareUTFcomposite[\UTFencname]{x1D3E}{\textsuperscript}{P}
+\DeclareUTFcomposite[\UTFencname]{x1D3F}{\textsuperscript}{R}
+\DeclareUTFcomposite[\UTFencname]{x1D40}{\textsuperscript}{T}
+\DeclareUTFcomposite[\UTFencname]{x1D41}{\textsuperscript}{U}
+\DeclareUTFcomposite[\UTFencname]{x1D42}{\textsuperscript}{W}
+\DeclareUTFcomposite[\UTFencname]{x1D43}{\textsuperscript}{a}
+\DeclareUTFcomposite[\UTFencname]{x1D44}{\textsuperscript}{\textturna}
+\DeclareUTFcomposite[\UTFencname]{x1D45}{\textsuperscript}{\textalpha}
+%\DeclareUTFcomposite[\UTFencname]{x1D46}{\textsuperscript}{\textturnaelig}% ??
+\DeclareUTFcomposite[\UTFencname]{x1D47}{\textsuperscript}{b}
+\DeclareUTFcomposite[\UTFencname]{x1D48}{\textsuperscript}{d}
+\DeclareUTFcomposite[\UTFencname]{x1D49}{\textsuperscript}{e}
+\DeclareUTFcomposite[\UTFencname]{x1D4A}{\textsuperscript}{\textreve}
+\DeclareUTFcomposite[\UTFencname]{x1D4B}{\textsuperscript}{\textepsilon}
+\DeclareUTFcomposite[\UTFencname]{x1D4B}{\textsuperscript}{\epsilon}
+%\DeclareUTFcomposite[\UTFencname]{x1D4C}{\textsuperscript}{\textturnopene}% ??
+\DeclareUTFcomposite[\UTFencname]{x1D4D}{\textsuperscript}{g}
+\DeclareUTFcomposite[\UTFencname]{x1D4E}{\textsuperscript}{!}
+\DeclareUTFcomposite[\UTFencname]{x1D4F}{\textsuperscript}{k}
+\DeclareUTFcomposite[\UTFencname]{x1D50}{\textsuperscript}{m}
+\DeclareUTFcomposite[\UTFencname]{x1D51}{\textsuperscript}{\ng}
+\DeclareUTFcomposite[\UTFencname]{x1D52}{\textsuperscript}{o}
+\DeclareUTFcomposite[\UTFencname]{x1D53}{\textsuperscript}{\textopeno}
+%\DeclareUTFcomposite[\UTFencname]{x1D54}{\textsuperscript}{\texttopo}% ??
+%\DeclareUTFcomposite[\UTFencname]{x1D55}{\textsuperscript}{\textbotto}% ??
+\DeclareUTFcomposite[\UTFencname]{x1D56}{\textsuperscript}{p}
+\DeclareUTFcomposite[\UTFencname]{x1D57}{\textsuperscript}{t}
+\DeclareUTFcomposite[\UTFencname]{x1D58}{\textsuperscript}{u}
+%\DeclareUTFcomposite[\UTFencname]{x1D59}{\textsuperscript}{\textsideu}% ??
+\DeclareUTFcomposite[\UTFencname]{x1D5A}{\textsuperscript}{\textturnm}
+\DeclareUTFcomposite[\UTFencname]{x1D5B}{\textsuperscript}{v}
+\DeclareUTFcomposite[\UTFencname]{x1D5C}{\textsuperscript}{\textain}
+\DeclareUTFcomposite[\UTFencname]{x1D5D}{\textsuperscript}{\textbeta}
+\DeclareUTFcomposite[\UTFencname]{x1D5D}{\textsuperscript}{\beta}
+\DeclareUTFcomposite[\UTFencname]{x1D5E}{\textsuperscript}{\textgamma}
+\DeclareUTFcomposite[\UTFencname]{x1D5E}{\textsuperscript}{\gamma}
+\DeclareUTFcomposite[\UTFencname]{x1D5F}{\textsuperscript}{\delta}
+%\DeclareUTFcomposite[\UTFencname]{x1D60}{\textsuperscript}{\textvarphi}%
+\DeclareUTFcomposite[\UTFencname]{x1D60}{\textsuperscript}{\phi}
+\DeclareUTFcomposite[\UTFencname]{x1D61}{\textsuperscript}{\textchi}
+\DeclareUTFcomposite[\UTFencname]{x1D61}{\textsuperscript}{\chi}
+\DeclareUTFcomposite[\UTFencname]{x1D62}{\textsubscript}{i}
+\DeclareUTFcomposite[\UTFencname]{x1D63}{\textsubscript}{r}
+\DeclareUTFcomposite[\UTFencname]{x1D64}{\textsubscript}{u}
+\DeclareUTFcomposite[\UTFencname]{x1D65}{\textsubscript}{v}
+\DeclareUTFcomposite[\UTFencname]{x1D66}{\textsubscript}{\textbeta}
+\DeclareUTFcomposite[\UTFencname]{x1D66}{\textsubscript}{\beta}
+\DeclareUTFcomposite[\UTFencname]{x1D67}{\textsubscript}{\textgamma}
+\DeclareUTFcomposite[\UTFencname]{x1D67}{\textsubscript}{\gamma}
+\DeclareUTFcomposite[\UTFencname]{x1D68}{\textsubscript}{\rho}
+\DeclareUTFcomposite[\UTFencname]{x1D69}{\textsubscript}{\textvarphi}
+\DeclareUTFcomposite[\UTFencname]{x1D69}{\textsubscript}{\phi}
+\DeclareUTFcomposite[\UTFencname]{x1D6A}{\textsubscript}{\textchi}
+\DeclareUTFcomposite[\UTFencname]{x1D6A}{\textsubscript}{\chi}
+\DeclareUTFcomposite[\UTFencname]{x2C7C}{\textsubscript}{j}
+
+%\DeclareUTFcharacter[\UTFencname]{x1D6B}{\textuelig}% ??
+%\DeclareUTFcharacter[\UTFencname]{x1D77}{\textturng}% ??
+%\DeclareUTFcomposite[\UTFencname]{x1D78}{\textsuperscript}{H}% ??
+
+% Phonetic Extensions Supplement
+
+\DeclareUTFcharacter[\UTFencname]{x1D80}{\textlhookb}
+\DeclareUTFcomposite[\UTFencname]{x1D80}{\textpalhookbelow}{b}
+\DeclareUTFcharacter[\UTFencname]{x1D81}{\textlhookd}
+\DeclareUTFcomposite[\UTFencname]{x1D81}{\textpalhookbelow}{d}
+\DeclareUTFcharacter[\UTFencname]{x1D82}{\textlhookf}
+\DeclareUTFcomposite[\UTFencname]{x1D82}{\textpalhookbelow}{f}
+\DeclareUTFcharacter[\UTFencname]{x1D83}{\textlhookg}
+\DeclareUTFcomposite[\UTFencname]{x1D83}{\textpalhookbelow}{g}
+\DeclareUTFcharacter[\UTFencname]{x1D84}{\textlhookk}
+\DeclareUTFcomposite[\UTFencname]{x1D84}{\textpalhookbelow}{k}
+\DeclareUTFcharacter[\UTFencname]{x1D85}{\textlhookl}
+\DeclareUTFcomposite[\UTFencname]{x1D85}{\textpalhookbelow}{l}
+\DeclareUTFcharacter[\UTFencname]{x1D86}{\textlhookm}
+\DeclareUTFcomposite[\UTFencname]{x1D86}{\textpalhookbelow}{m}
+\DeclareUTFcharacter[\UTFencname]{x1D87}{\textlhookn}
+\DeclareUTFcomposite[\UTFencname]{x1D87}{\textpalhookbelow}{n}
+\DeclareUTFcharacter[\UTFencname]{x1D88}{\textlhookp}
+\DeclareUTFcomposite[\UTFencname]{x1D88}{\textpalhookbelow}{p}
+\DeclareUTFcharacter[\UTFencname]{x1D89}{\textlhookr}
+\DeclareUTFcomposite[\UTFencname]{x1D89}{\textpalhookbelow}{r}
+\DeclareUTFcharacter[\UTFencname]{x1D8A}{\textlhooks}
+\DeclareUTFcomposite[\UTFencname]{x1D8A}{\textpalhookbelow}{s}
+\DeclareUTFcharacter[\UTFencname]{x1D8B}{\textlhookesh}
+\DeclareUTFcomposite[\UTFencname]{x1D8B}{\textpalhookbelow}{\textesh}
+\DeclareUTFcharacter[\UTFencname]{x1D8C}{\textlhookv}
+\DeclareUTFcomposite[\UTFencname]{x1D8C}{\textpalhookbelow}{v}
+\DeclareUTFcharacter[\UTFencname]{x1D8D}{\textlhookx}
+\DeclareUTFcomposite[\UTFencname]{x1D8D}{\textpalhookbelow}{x}
+\DeclareUTFcharacter[\UTFencname]{x1D8E}{\textlhookz}
+\DeclareUTFcomposite[\UTFencname]{x1D8E}{\textpalhookbelow}{z}
+\DeclareUTFcharacter[\UTFencname]{x1D8F}{\textrhooka}
+\DeclareUTFcomposite[\UTFencname]{x1D8F}{\textrethookbelow}{a}
+\DeclareUTFcharacter[\UTFencname]{x1D90}{\textrhookalpha}%
+\DeclareUTFcomposite[\UTFencname]{x1D90}{\textrethookbelow}{\textalpha}
+\DeclareUTFcharacter[\UTFencname]{x1D91}{\texthtrtaild} % Hooktop right-tail D
+\DeclareUTFcomposite[\UTFencname]{x1D91}{\textrethookbelow}{\texthtd}
+\DeclareUTFcharacter[\UTFencname]{x1D92}{\textrhooke} %
+\DeclareUTFcomposite[\UTFencname]{x1D92}{\textrethookbelow}{e}
+%\providecommand{\textrhooke}{\textrethookbelow{e}}%
+\DeclareUTFcharacter[\UTFencname]{x1D93}{\textrhookepsilon} %
+\DeclareUTFcomposite[\UTFencname]{x1D93}{\textrethookbelow}{\textepsilon}
+%\providecommand{\textrhookepsilon}{\textrethookbelow{\textepsilon}}%
+%\DeclareUTFcharacter[\UTFencname]{x1D94}{\textrhookrevopene} %
+\DeclareUTFcomposite[\UTFencname]{x1D94}{\textrethookbelow}{\textrevepsilon}
+\DeclareUTFcharacter[\UTFencname]{x1D95}{\textrhookturne} %
+\DeclareUTFcomposite[\UTFencname]{x1D95}{\textrethookbelow}{\textreve}
+\DeclareUTFcharacter[\UTFencname]{x1D96}{\textrhooki} %
+\DeclareUTFcomposite[\UTFencname]{x1D96}{\textrethookbelow}{i}
+\DeclareUTFcharacter[\UTFencname]{x1D97}{\textrhookopeno} %
+\DeclareUTFcomposite[\UTFencname]{x1D97}{\textrethookbelow}{\textopeno}
+\DeclareUTFcharacter[\UTFencname]{x1D98}{\textrhookesh} %
+\DeclareUTFcomposite[\UTFencname]{x1D98}{\textrethookbelow}{\textesh}
+\DeclareUTFcharacter[\UTFencname]{x1D99}{\textrhooku} %
+\DeclareUTFcomposite[\UTFencname]{x1D99}{\textrethookbelow}{u}
+\DeclareUTFcharacter[\UTFencname]{x1D9A}{\textrhookezh} %
+\DeclareUTFcomposite[\UTFencname]{x1D9A}{\textrethookbelow}{\textezh}
+\DeclareUTFcomposite[\UTFencname]{x1D9A}{\textrethookbelow}{\textyogh}
+\DeclareUTFcomposite[\UTFencname]{x1D9B}{\textsuperscript}{\textturnalpha}% ??
+\DeclareUTFcomposite[\UTFencname]{x1D9C}{\textsuperscript}{c}
+\DeclareUTFcomposite[\UTFencname]{x1D9D}{\textsuperscript}{\textctc}
+\DeclareUTFcomposite[\UTFencname]{x1D9E}{\textsuperscript}{\dh}
+\DeclareUTFcomposite[\UTFencname]{x1D9F}{\textsuperscript}{\textrevepsilon}
+\DeclareUTFcomposite[\UTFencname]{x1DA0}{\textsuperscript}{f}
+\DeclareUTFcomposite[\UTFencname]{x1DA1}{\textsuperscript}{\textbardotlessj}
+\DeclareUTFcomposite[\UTFencname]{x1DA2}{\textsuperscript}{g}
+\DeclareUTFcomposite[\UTFencname]{x1DA3}{\textsuperscript}{\textturnh}
+\DeclareUTFcomposite[\UTFencname]{x1DA4}{\textsuperscript}{\textbari}
+\DeclareUTFcomposite[\UTFencname]{x1DA5}{\textsuperscript}{\textiota}%
+\DeclareUTFcomposite[\UTFencname]{x1DA6}{\textsuperscript}{\textsci}
+%\DeclareUTFcomposite[\UTFencname]{x1DA7}{\textsuperscript}{\textbarsci}% ??
+\DeclareUTFcomposite[\UTFencname]{x1DA8}{\textsuperscript}{\textctj}
+\DeclareUTFcomposite[\UTFencname]{x1DA9}{\textsuperscript}{\textrtaill}
+\DeclareUTFcomposite[\UTFencname]{x1DAA}{\textsuperscript}{\textlhookl}
+\DeclareUTFcomposite[\UTFencname]{x1DAB}{\textsuperscript}{\textscl}
+\DeclareUTFcomposite[\UTFencname]{x1DAC}{\textsuperscript}{\textltailm}
+\DeclareUTFcomposite[\UTFencname]{x1DAD}{\textsuperscript}{\textturnmrleg}
+\DeclareUTFcomposite[\UTFencname]{x1DAE}{\textsuperscript}{\textltailn}
+\DeclareUTFcomposite[\UTFencname]{x1DAF}{\textsuperscript}{\textrtailn}
+\DeclareUTFcomposite[\UTFencname]{x1DB0}{\textsuperscript}{\textscn}
+\DeclareUTFcomposite[\UTFencname]{x1DB1}{\textsuperscript}{\textbaro}
+\DeclareUTFcomposite[\UTFencname]{x1DB2}{\textsuperscript}{\textphi}
+\DeclareUTFcomposite[\UTFencname]{x1DB3}{\textsuperscript}{\textscn}
+\DeclareUTFcomposite[\UTFencname]{x1DB4}{\textsuperscript}{\textesh}
+\DeclareUTFcomposite[\UTFencname]{x1DB5}{\textsuperscript}{\textlhookt}
+\DeclareUTFcomposite[\UTFencname]{x1DB6}{\textsuperscript}{\textbaru}
+\DeclareUTFcomposite[\UTFencname]{x1DB7}{\textsuperscript}{\textupsilon}
+\DeclareUTFcomposite[\UTFencname]{x1DB7}{\textsuperscript}{\textscupsilon}
+\DeclareUTFcomposite[\UTFencname]{x1DB8}{\textsuperscript}{\textscu}
+\DeclareUTFcomposite[\UTFencname]{x1DB9}{\textsuperscript}{\textscriptv}
+\DeclareUTFcomposite[\UTFencname]{x1DBA}{\textsuperscript}{\textturnv}
+\DeclareUTFcomposite[\UTFencname]{x1DBB}{\textsuperscript}{z}
+\DeclareUTFcomposite[\UTFencname]{x1DBC}{\textsuperscript}{\textrtailz}
+\DeclareUTFcomposite[\UTFencname]{x1DBD}{\textsuperscript}{\textctz}
+\DeclareUTFcomposite[\UTFencname]{x1DBE}{\textsuperscript}{\textschwa}
+\DeclareUTFcomposite[\UTFencname]{x1DBE}{\textsuperscript}{\schwa}
+\DeclareUTFcomposite[\UTFencname]{x1DBF}{\textsuperscript}{\texttheta}
\DeclareUTFcomposite[\UTFencname]{x1E00}{\textsubring}{A} % with ring below
\DeclareUTFcomposite[\UTFencname]{x1E01}{\textsubring}{a} % with ring below
\DeclareUTFcomposite[\UTFencname]{x1E02}{\.}{B}
+\DeclareUTFcomposite[\UTFencname]{x1E02}{\capitaldotaccent}{B}
\DeclareUTFcomposite[\UTFencname]{x1E03}{\.}{b}
\DeclareUTFcomposite[\UTFencname]{x1E04}{\d}{B}
\DeclareUTFcomposite[\UTFencname]{x1E05}{\d}{b}
@@ -1927,12 +3175,14 @@
\DeclareUTFcomposite[\UTFencname]{x1E08}{\'}{\c C}
\DeclareUTFcomposite[\UTFencname]{x1E09}{\'}{\c C}
\DeclareUTFcomposite[\UTFencname]{x1E0A}{\.}{D}
+\DeclareUTFcomposite[\UTFencname]{x1E0A}{\capitaldotaccent}{D}
\DeclareUTFcomposite[\UTFencname]{x1E0B}{\.}{d}
\DeclareUTFcomposite[\UTFencname]{x1E0C}{\d}{D}
\DeclareUTFcomposite[\UTFencname]{x1E0D}{\d}{d}
\DeclareUTFcomposite[\UTFencname]{x1E0E}{\b}{D}
\DeclareUTFcomposite[\UTFencname]{x1E0F}{\b}{d}
\DeclareUTFcomposite[\UTFencname]{x1E10}{\c}{D}
+\DeclareUTFcomposite[\UTFencname]{x1E10}{\capitalcedilla}{D}
\DeclareUTFcomposite[\UTFencname]{x1E11}{\c}{d}
\DeclareUTFcomposite[\UTFencname]{x1E12}{\textsubcircum}{D} % with circumflex below
\DeclareUTFcomposite[\UTFencname]{x1E13}{\textsubcircum}{d} % with circumflex below
@@ -1951,16 +3201,21 @@
\DeclareUTFcomposite[\UTFencname]{x1E1C}{\u}{\c E}
\DeclareUTFcomposite[\UTFencname]{x1E1D}{\u}{\c e}
\DeclareUTFcomposite[\UTFencname]{x1E1E}{\.}{F}
+\DeclareUTFcomposite[\UTFencname]{x1E1E}{\capitaldotaccent}{F}
\DeclareUTFcomposite[\UTFencname]{x1E1F}{\.}{f}
\DeclareUTFcomposite[\UTFencname]{x1E20}{\=}{G}
+\DeclareUTFcomposite[\UTFencname]{x1E20}{\capitalmacron}{G}
\DeclareUTFcomposite[\UTFencname]{x1E21}{\=}{g}
\DeclareUTFcomposite[\UTFencname]{x1E22}{\.}{H}
+\DeclareUTFcomposite[\UTFencname]{x1E22}{\capitaldotaccent}{H}
\DeclareUTFcomposite[\UTFencname]{x1E23}{\.}{h}
\DeclareUTFcomposite[\UTFencname]{x1E24}{\d}{H}
\DeclareUTFcomposite[\UTFencname]{x1E25}{\d}{h}
\DeclareUTFcomposite[\UTFencname]{x1E26}{\"}{H}
+\DeclareUTFcomposite[\UTFencname]{x1E26}{\capitaldieresis}{H}
\DeclareUTFcomposite[\UTFencname]{x1E27}{\"}{h}
\DeclareUTFcomposite[\UTFencname]{x1E28}{\c}{H}
+\DeclareUTFcomposite[\UTFencname]{x1E28}{\capitalcedilla}{H}
\DeclareUTFcomposite[\UTFencname]{x1E29}{\c}{h}
\DeclareUTFcomposite[\UTFencname]{x1E2A}{\textbottomtiebar}{H} % with breve below
\DeclareUTFcomposite[\UTFencname]{x1E2B}{\textbottomtiebar}{h} % with breve below
@@ -1969,6 +3224,7 @@
\DeclareUTFcomposite[\UTFencname]{x1E2E}{\'}{\"I}
\DeclareUTFcomposite[\UTFencname]{x1E2F}{\'}{\"i}
\DeclareUTFcomposite[\UTFencname]{x1E30}{\'}{K}
+\DeclareUTFcomposite[\UTFencname]{x1E30}{\capitalacute}{K}
\DeclareUTFcomposite[\UTFencname]{x1E31}{\'}{k}
\DeclareUTFcomposite[\UTFencname]{x1E32}{\d}{K}
\DeclareUTFcomposite[\UTFencname]{x1E33}{\d}{k}
@@ -1983,12 +3239,15 @@
\DeclareUTFcomposite[\UTFencname]{x1E3C}{\textsubcircum}{L} % with circumflex below
\DeclareUTFcomposite[\UTFencname]{x1E3D}{\textsubcircum}{l} % with circumflex below
\DeclareUTFcomposite[\UTFencname]{x1E3E}{\'}{M}
+\DeclareUTFcomposite[\UTFencname]{x1E3E}{\capitalacute}{M}
\DeclareUTFcomposite[\UTFencname]{x1E3F}{\'}{m}
\DeclareUTFcomposite[\UTFencname]{x1E40}{\.}{M}
+\DeclareUTFcomposite[\UTFencname]{x1E40}{\capitaldotaccent}{M}
\DeclareUTFcomposite[\UTFencname]{x1E41}{\.}{m}
\DeclareUTFcomposite[\UTFencname]{x1E42}{\d}{M}
\DeclareUTFcomposite[\UTFencname]{x1E43}{\d}{m}
\DeclareUTFcomposite[\UTFencname]{x1E44}{\.}{N}
+\DeclareUTFcomposite[\UTFencname]{x1E44}{\capitaldotaccent}{N}
\DeclareUTFcomposite[\UTFencname]{x1E45}{\.}{n}
\DeclareUTFcomposite[\UTFencname]{x1E46}{\d}{N}
\DeclareUTFcomposite[\UTFencname]{x1E47}{\d}{n}
@@ -2009,10 +3268,13 @@
\DeclareUTFcomposite[\UTFencname]{x1E53}{\'}{\=o}
\DeclareUTFcomposite[\UTFencname]{x1E53}{\textacutemacron}{o}
\DeclareUTFcomposite[\UTFencname]{x1E54}{\'}{P}
+\DeclareUTFcomposite[\UTFencname]{x1E54}{\capitalacute}{P}
\DeclareUTFcomposite[\UTFencname]{x1E55}{\'}{p}
\DeclareUTFcomposite[\UTFencname]{x1E56}{\.}{P}
+\DeclareUTFcomposite[\UTFencname]{x1E56}{\capitaldotaccent}{P}
\DeclareUTFcomposite[\UTFencname]{x1E57}{\.}{p}
\DeclareUTFcomposite[\UTFencname]{x1E58}{\.}{R}
+\DeclareUTFcomposite[\UTFencname]{x1E58}{\capitaldotaccent}{R}
\DeclareUTFcomposite[\UTFencname]{x1E59}{\.}{r}
\DeclareUTFcomposite[\UTFencname]{x1E5A}{\d}{R}
\DeclareUTFcomposite[\UTFencname]{x1E5B}{\d}{r}
@@ -2021,6 +3283,7 @@
\DeclareUTFcomposite[\UTFencname]{x1E5E}{\b}{R}
\DeclareUTFcomposite[\UTFencname]{x1E5F}{\b}{r}
\DeclareUTFcomposite[\UTFencname]{x1E60}{\.}{S}
+\DeclareUTFcomposite[\UTFencname]{x1E60}{\capitaldotaccent}{S}
\DeclareUTFcomposite[\UTFencname]{x1E61}{\.}{s}
\DeclareUTFcomposite[\UTFencname]{x1E62}{\d}{S}
\DeclareUTFcomposite[\UTFencname]{x1E63}{\d}{s}
@@ -2033,6 +3296,7 @@
\DeclareUTFcomposite[\UTFencname]{x1E68}{\.}{\d S}
\DeclareUTFcomposite[\UTFencname]{x1E69}{\.}{\d s}
\DeclareUTFcomposite[\UTFencname]{x1E6A}{\.}{T}
+\DeclareUTFcomposite[\UTFencname]{x1E6A}{\capitaldotaccent}{T}
\DeclareUTFcomposite[\UTFencname]{x1E6B}{\.}{t}
\DeclareUTFcomposite[\UTFencname]{x1E6C}{\d}{T}
\DeclareUTFcomposite[\UTFencname]{x1E6D}{\d}{t}
@@ -2051,26 +3315,35 @@
\DeclareUTFcomposite[\UTFencname]{x1E7A}{\"}{\=U}
\DeclareUTFcomposite[\UTFencname]{x1E7B}{\"}{\=u}
\DeclareUTFcomposite[\UTFencname]{x1E7C}{\~}{V}
+\DeclareUTFcomposite[\UTFencname]{x1E7C}{\capitaltilde}{V}
\DeclareUTFcomposite[\UTFencname]{x1E7D}{\~}{v}
\DeclareUTFcomposite[\UTFencname]{x1E7E}{\d}{V}
\DeclareUTFcomposite[\UTFencname]{x1E7F}{\d}{v}
\DeclareUTFcomposite[\UTFencname]{x1E80}{\`}{W}
+\DeclareUTFcomposite[\UTFencname]{x1E80}{\capitalgrave}{W}
\DeclareUTFcomposite[\UTFencname]{x1E81}{\`}{w}
\DeclareUTFcomposite[\UTFencname]{x1E82}{\'}{W}
+\DeclareUTFcomposite[\UTFencname]{x1E82}{\capitalacute}{W}
\DeclareUTFcomposite[\UTFencname]{x1E83}{\'}{w}
\DeclareUTFcomposite[\UTFencname]{x1E84}{\"}{W}
+\DeclareUTFcomposite[\UTFencname]{x1E84}{\capitaldieresis}{W}
\DeclareUTFcomposite[\UTFencname]{x1E85}{\"}{w}
\DeclareUTFcomposite[\UTFencname]{x1E86}{\.}{W}
+\DeclareUTFcomposite[\UTFencname]{x1E86}{\capitaldotaccent}{W}
\DeclareUTFcomposite[\UTFencname]{x1E87}{\.}{w}
\DeclareUTFcomposite[\UTFencname]{x1E88}{\d}{W}
\DeclareUTFcomposite[\UTFencname]{x1E89}{\d}{w}
\DeclareUTFcomposite[\UTFencname]{x1E8A}{\.}{X}
+\DeclareUTFcomposite[\UTFencname]{x1E8A}{\capitaldotaccent}{X}
\DeclareUTFcomposite[\UTFencname]{x1E8B}{\.}{x}
\DeclareUTFcomposite[\UTFencname]{x1E8C}{\"}{X}
+\DeclareUTFcomposite[\UTFencname]{x1E8C}{\capitaldieresis}{X}
\DeclareUTFcomposite[\UTFencname]{x1E8D}{\"}{x}
\DeclareUTFcomposite[\UTFencname]{x1E8E}{\.}{Y}
+\DeclareUTFcomposite[\UTFencname]{x1E8E}{\capitaldotaccent}{Y}
\DeclareUTFcomposite[\UTFencname]{x1E8F}{\.}{y}
\DeclareUTFcomposite[\UTFencname]{x1E90}{\^}{Z}
+\DeclareUTFcomposite[\UTFencname]{x1E90}{\capitalcircumflex}{Z}
\DeclareUTFcomposite[\UTFencname]{x1E91}{\^}{z}
\DeclareUTFcomposite[\UTFencname]{x1E92}{\d}{Z}
\DeclareUTFcomposite[\UTFencname]{x1E93}{\d}{z}
@@ -2132,6 +3405,7 @@
\DeclareUTFcomposite[\UTFencname]{x1EBA}{\texthookabove}{E} % with hook above
\DeclareUTFcomposite[\UTFencname]{x1EBB}{\texthookabove}{e} % with hook above
\DeclareUTFcomposite[\UTFencname]{x1EBC}{\~}{E}
+\DeclareUTFcomposite[\UTFencname]{x1EBC}{\capitaltilde}{E}
\DeclareUTFcomposite[\UTFencname]{x1EBD}{\~}{e}
\DeclareUTFcomposite[\UTFencname]{x1EBE}{\'}{\^E}
\DeclareUTFcomposite[\UTFencname]{x1EBE}{\textcircumacute}{E}
@@ -2227,14 +3501,17 @@
\DeclareUTFcomposite[\UTFencname]{x1EF1}{\d}{\textrighthorn u} % u with horn
\DeclareUTFcomposite[\UTFencname]{x1EF1}{\textdotbelowhorn}{u}
\DeclareUTFcomposite[\UTFencname]{x1EF2}{\`}{Y}
+\DeclareUTFcomposite[\UTFencname]{x1EF2}{\capitalgrave}{Y}
\DeclareUTFcomposite[\UTFencname]{x1EF3}{\`}{y}
\DeclareUTFcomposite[\UTFencname]{x1EF4}{\d}{Y}
\DeclareUTFcomposite[\UTFencname]{x1EF5}{\d}{y}
\DeclareUTFcomposite[\UTFencname]{x1EF6}{\texthookabove}{Y} % with hook above
\DeclareUTFcomposite[\UTFencname]{x1EF7}{\texthookabove}{y} % with hook above
\DeclareUTFcomposite[\UTFencname]{x1EF8}{\~}{Y}
+\DeclareUTFcomposite[\UTFencname]{x1EF8}{\capitaltilde}{Y}
\DeclareUTFcomposite[\UTFencname]{x1EF9}{\~}{y}
+
\DeclareUTFcharacter[\UTFencname]{x2012}{\textthreequartersemdash}
\DeclareUTFcharacter[\UTFencname]{x2013}{\textendash}
\DeclareUTFcharacter[\UTFencname]{x2014}{\textemdash}
@@ -2245,10 +3522,12 @@
\DeclareUTFcharacter[\UTFencname]{x2018}{\textquoteleft}
\DeclareUTFcharacter[\UTFencname]{x2019}{\textquoteright}
\DeclareUTFcharacter[\UTFencname]{x201A}{\quotesinglbase}
+\DeclareUTFcharacter[\UTFencname]{x201A}{\textquotestraightbase}
%\DeclareUTFcharacter[\UTFencname]{x201B}{\textquoteinv}
\DeclareUTFcharacter[\UTFencname]{x201C}{\textquotedblleft}
\DeclareUTFcharacter[\UTFencname]{x201D}{\textquotedblright}
\DeclareUTFcharacter[\UTFencname]{x201E}{\quotedblbase}
+\DeclareUTFcharacter[\UTFencname]{x201E}{\textquotestraightdblbase}
%\DeclareUTFcharacter[\UTFencname]{x201F}{\textquotedblinv}
\DeclareUTFcharacter[\UTFencname]{x2020}{\textdagger}
\DeclareUTFcharacter[\UTFencname]{x2021}{\textdaggerdbl}
@@ -2274,6 +3553,57 @@
%\DeclareUTFcharacter[\UTFencname]{x204B}{\textreversepilcrow}
\DeclareUTFcharacter[\UTFencname]{x2052}{\textdiscount}
+% superscripts and subscripts
+\DeclareUTFcomposite[\UTFencname]{x2070}{\textsuperscript}{0}
+\DeclareUTFcomposite[\UTFencname]{x2071}{\textsuperscript}{i}
+%\DeclareUTFcomposite[\UTFencname]{x2072}{\textsuperscript}{}% unassigned
+%\DeclareUTFcomposite[\UTFencname]{x2073}{\textsuperscript}{}% unassigned
+\DeclareUTFcomposite[\UTFencname]{x2074}{\textsuperscript}{4}
+\DeclareUTFcomposite[\UTFencname]{x2075}{\textsuperscript}{5}
+\DeclareUTFcomposite[\UTFencname]{x2076}{\textsuperscript}{6}
+\DeclareUTFcomposite[\UTFencname]{x2077}{\textsuperscript}{7}
+\DeclareUTFcomposite[\UTFencname]{x2078}{\textsuperscript}{8}
+\DeclareUTFcomposite[\UTFencname]{x2079}{\textsuperscript}{9}
+\DeclareUTFcomposite[\UTFencname]{x207A}{\textsuperscript}{+}
+\DeclareUTFcomposite[\UTFencname]{x207B}{\textsuperscript}{-}
+\DeclareUTFcomposite[\UTFencname]{x207C}{\textsuperscript}{=}
+\DeclareUTFcomposite[\UTFencname]{x207D}{\textsuperscript}{(}
+\DeclareUTFcomposite[\UTFencname]{x207E}{\textsuperscript}{)}
+\DeclareUTFcomposite[\UTFencname]{x207F}{\textsuperscript}{n}
+\DeclareUTFcomposite[\UTFencname]{x2080}{\textsubscript}{0}
+\DeclareUTFcomposite[\UTFencname]{x2081}{\textsubscript}{1}
+\DeclareUTFcomposite[\UTFencname]{x2082}{\textsubscript}{2}
+\DeclareUTFcomposite[\UTFencname]{x2083}{\textsubscript}{3}
+\DeclareUTFcomposite[\UTFencname]{x2084}{\textsubscript}{4}
+\DeclareUTFcomposite[\UTFencname]{x2085}{\textsubscript}{5}
+\DeclareUTFcomposite[\UTFencname]{x2086}{\textsubscript}{6}
+\DeclareUTFcomposite[\UTFencname]{x2087}{\textsubscript}{7}
+\DeclareUTFcomposite[\UTFencname]{x2088}{\textsubscript}{8}
+\DeclareUTFcomposite[\UTFencname]{x2089}{\textsubscript}{9}
+\DeclareUTFcomposite[\UTFencname]{x208A}{\textsubscript}{+}
+\DeclareUTFcomposite[\UTFencname]{x208B}{\textsubscript}{-}
+\DeclareUTFcomposite[\UTFencname]{x208C}{\textsubscript}{=}
+\DeclareUTFcomposite[\UTFencname]{x208D}{\textsubscript}{(}
+\DeclareUTFcomposite[\UTFencname]{x208E}{\textsubscript}{)}
+%\DeclareUTFcomposite[\UTFencname]{x208F}{\textsubscript}{}% unassigned
+\DeclareUTFcomposite[\UTFencname]{x2090}{\textsubscript}{a}
+\DeclareUTFcomposite[\UTFencname]{x2091}{\textsubscript}{e}
+\DeclareUTFcomposite[\UTFencname]{x2092}{\textsubscript}{o}
+\DeclareUTFcomposite[\UTFencname]{x2093}{\textsubscript}{x}
+\DeclareUTFcomposite[\UTFencname]{x2094}{\textsubscript}{\schwa}
+\DeclareUTFcomposite[\UTFencname]{x2094}{\textsubscript}{\textschwa}
+%\DeclareUTFcomposite[\UTFencname]{x2095}{\textsubscript}{}% unassigned
+%\DeclareUTFcomposite[\UTFencname]{x2096}{\textsubscript}{}% unassigned
+%\DeclareUTFcomposite[\UTFencname]{x2097}{\textsubscript}{}% unassigned
+%\DeclareUTFcomposite[\UTFencname]{x2098}{\textsubscript}{}% unassigned
+%\DeclareUTFcomposite[\UTFencname]{x2099}{\textsubscript}{}% unassigned
+%\DeclareUTFcomposite[\UTFencname]{x209A}{\textsubscript}{}% unassigned
+%\DeclareUTFcomposite[\UTFencname]{x209B}{\textsubscript}{}% unassigned
+%\DeclareUTFcomposite[\UTFencname]{x209C}{\textsubscript}{}% unassigned
+%\DeclareUTFcomposite[\UTFencname]{x209D}{\textsubscript}{}% unassigned
+%\DeclareUTFcomposite[\UTFencname]{x209E}{\textsubscript}{}% unassigned
+%\DeclareUTFcomposite[\UTFencname]{x209F}{\textsubscript}{}% unassigned
+
%\DeclareUTFcharacter[\UTFencname]{x20A0}{\texteurocurrency}
\DeclareUTFcharacter[\UTFencname]{x20A1}{\textcolonmonetary}
%\DeclareUTFcharacter[\UTFencname]{x20A2}{\textcruzeiro}
@@ -2293,6 +3623,8 @@
%\DeclareUTFcharacter[\UTFencname]{x20B0}{\textpenny}
\DeclareUTFcharacter[\UTFencname]{x20B1}{\textpeso}
+%\DeclareEncodedCompositeCharacter{\UTFencname}{\textspleftarrow}{20D6}{20D6}% not IPA
+
%\DeclareUTFcharacter[\UTFencname]{x????}{\quotesstraightbase}
%\DeclareUTFcharacter[\UTFencname]{x????}{\quotesstraightdblbase}
@@ -2311,20 +3643,44 @@
%\DeclareUTFcharacter[\UTFencname]{x212B}{\textangstrom}
\DeclareUTFcharacter[\UTFencname]{x212E}{\textestimated}
-\DeclareUTFcharacter[\UTFencname]{x2132}{\Finv}
-\DeclareUTFcharacter[\UTFencname]{x2135}{\aleph}
-\DeclareUTFcharacter[\UTFencname]{x2136}{\beth}
-\DeclareUTFcharacter[\UTFencname]{x2137}{\gimel}
-\DeclareUTFcharacter[\UTFencname]{x2138}{\daleth}
-\DeclareUTFcharacter[\UTFencname]{x2141}{\Game}
+\expandafter\ifx\csname ReloadXunicode\endcsname\relax
+
+% These probably should not be used in non-math environments yet.
+% But one day the fonts will make this work correctly, removing
+% much of the need for a specialised inline-math environment.
+%
+\def\DeclareUTFmathsymbols#1{%
+ \ifmath@s@text@
+ \let\@inmathwarn\@gobble
+ \DeclareMathAsUTFtext{aleph}{\aleph}{x2135}
+ % Need to avoid a conflict when AMSsymb package is subsequently loaded.
+ \@ifpackageloaded{amssymb}{%
+ \DeclareMathAsUTFtext{Finv}{\Finv}{x2132}%
+ \DeclareMathAsUTFtext{beth}{\beth}{x2136}%
+ \DeclareMathAsUTFtext{gimel}{\gimel}{x2137}%
+ \DeclareMathAsUTFtext{daleth}{\daleth}{x2138}%
+ \DeclareMathAsUTFtext{Game}{\Game}{x2141}%
+ }{%
+ \DeclareUTFcharacter[#1]{x2132}{\Finv}%
+ \DeclareUTFcharacter[#1]{x2136}{\beth}%
+ \DeclareUTFcharacter[#1]{x2138}{\daleth}%
+ \DeclareUTFcharacter[#1]{x2141}{\Game}%
+ }%
+ \fi
+}
+\fi
+% end of the part that should not be loaded more than once.
+
+\expandafter\AtBeginDocument\expandafter{%
+ \expandafter\DeclareUTFmathsymbols\expandafter{\UTFencname}}
\DeclareUTFcharacter[\UTFencname]{x2190}{\textleftarrow}
\DeclareUTFcharacter[\UTFencname]{x2191}{\textuparrow}
-\DeclareUTFcharacter[\UTFencname]{x2191}{\textupstep} % ?? IPA
+%\DeclareUTFcharacter[\UTFencname]{xFFEA}{\textupstep} % ?? IPA
\DeclareUTFcharacter[\UTFencname]{x2191}{\textupfullarrow} % ?? old IPA
\DeclareUTFcharacter[\UTFencname]{x2192}{\textrightarrow}
\DeclareUTFcharacter[\UTFencname]{x2193}{\textdownarrow}
-\DeclareUTFcharacter[\UTFencname]{x2193}{\textdownstep} % ?? IPA
+%\DeclareUTFcharacter[\UTFencname]{xFFEC}{\textdownstep} % ?? IPA
\DeclareUTFcharacter[\UTFencname]{x2193}{\textdownfullarrow} % ?? old IPA
\DeclareUTFcharacter[\UTFencname]{x2194}{\textleftrightarrow}
\DeclareUTFcharacter[\UTFencname]{x2195}{\textupdownarrow}
@@ -2343,11 +3699,67 @@
\DeclareUTFcharacter[\UTFencname]{x2422}{\textblank}
\DeclareUTFcharacter[\UTFencname]{x2423}{\textvisiblespace}
\DeclareUTFcharacter[\UTFencname]{x25E6}{\textopenbullet}
+\DeclareUTFcharacter[\UTFencname]{x2640}{\textfemale} % ???
\DeclareUTFcharacter[\UTFencname]{x266A}{\textmusicalnote}
+\DeclareUTFcharacter[\UTFencname]{x26AD}{\textmarried}
+\DeclareUTFcharacter[\UTFencname]{x26AE}{\textdivorced}
+\DeclareUTFcharacter[\UTFencname]{x26B2}{\textuncrfemale} % neuter
%\DeclareUTFcharacter[\UTFencname]{x271D}{\textdied}
%\DeclareUTFcharacter[\UTFencname]{x272D}{\textborn}
-\DeclareRobustCommand{\T}[1]{\~{\m{#1}}}
+% Latin Extended-C
+\DeclareUTFcharacter[\UTFencname]{xF246}{\textlhookfour}% in Charis SIL, also Ux2C70
+
+% Latin Extended-D
+\DeclareUTFcharacter[\UTFencname]{xA726}{\textcapitalheng}
+\DeclareUTFcharacter[\UTFencname]{xA727}{\textheng}
+%\DeclareUTFcharacter[\UTFencname]{xF25A}{\textheng} % in Charis SIL
+\DeclareUTFcharacter[\UTFencname]{xA728}{\textcapitaltzlig}
+\DeclareUTFcharacter[\UTFencname]{xA729}{\texttzlig}
+\DeclareUTFcharacter[\UTFencname]{xA72A}{\textcapitaltresillo}
+\DeclareUTFcharacter[\UTFencname]{xA72B}{\texttresillo}
+\DeclareUTFcharacter[\UTFencname]{xA730}{\textscf}
+\DeclareUTFcharacter[\UTFencname]{xA731}{\textscs}
+\DeclareUTFcharacter[\UTFencname]{xA732}{\textcapitalaalig}
+\DeclareUTFcharacter[\UTFencname]{xA733}{\textaalig}
+\DeclareUTFcharacter[\UTFencname]{xA734}{\textcapitalaolig}
+\DeclareUTFcharacter[\UTFencname]{xA735}{\textaolig}
+\DeclareUTFcharacter[\UTFencname]{xA736}{\textcapitalaulig}
+\DeclareUTFcharacter[\UTFencname]{xA737}{\textaulig}
+\DeclareUTFcharacter[\UTFencname]{xA738}{\textcapitalavlig}
+\DeclareUTFcharacter[\UTFencname]{xA739}{\textavlig}
+\DeclareUTFcharacter[\UTFencname]{xA73A}{\textbarcapitalavlig}
+\DeclareUTFcharacter[\UTFencname]{xA73B}{\textbaravlig}
+\DeclareUTFcharacter[\UTFencname]{xA73C}{\textcapitalaylig}
+\DeclareUTFcharacter[\UTFencname]{xA73D}{\textaylig}
+\DeclareUTFcharacter[\UTFencname]{xA73E}{\textcapitalrevcdot}
+\DeclareUTFcharacter[\UTFencname]{xA73F}{\textrevcdot}
+
+\DeclareUTFcharacter[\UTFencname]{xA779}{\textcapitalinsd}
+\DeclareUTFcharacter[\UTFencname]{xA77A}{\textinsd}
+\DeclareUTFcharacter[\UTFencname]{xA77B}{\textcapitalinsf}
+\DeclareUTFcharacter[\UTFencname]{xA77C}{\textinsf}
+\DeclareUTFcharacter[\UTFencname]{xA77D}{\textcapitalinsg}
+\DeclareUTFcharacter[\UTFencname]{xA77E}{\textcapitalturninsg}
+\DeclareUTFcharacter[\UTFencname]{xA77F}{\textturninsg}
+\DeclareUTFcharacter[\UTFencname]{xA780}{\textcapitalturnl}
+\DeclareUTFcharacter[\UTFencname]{xA781}{\textturnl}
+\DeclareUTFcharacter[\UTFencname]{xA782}{\textcapitalinsr}
+\DeclareUTFcharacter[\UTFencname]{xA783}{\textinsr}
+\DeclareUTFcharacter[\UTFencname]{xA784}{\textcapitalinss}
+\DeclareUTFcharacter[\UTFencname]{xA785}{\textinss}
+\DeclareUTFcharacter[\UTFencname]{xA786}{\textcapitalinst}
+\DeclareUTFcharacter[\UTFencname]{xA787}{\textinst}
+\DeclareUTFcharacter[\UTFencname]{xA78B}{\textcapitalsaltillo}
+\DeclareUTFcharacter[\UTFencname]{xA78C}{\textsaltillo}
+
+\expandafter\ifx\csname ReloadXunicode\endcsname\relax
+ \def\ReloadXunicode#1{\def\UTFencname{#1}%
+ \makeatletter
+ \input{xunicode.sty}%
+ \makeatother}%
+\fi
+% end of the part that should not be loaded more than once.
\endinput
@@ -2454,6 +3866,8 @@
\DeclareUTFcomposite[\UTFencname]{x24E9}{\textcircled}{z}
\DeclareUTFcomposite[\UTFencname]{x24EA}{\textcircled}{0}
+\DeclareUTFcharacter[\UTFencname]{x25EF}{\textbigcircle}
+
\DeclareUTFcomposite[\UTFencname]{x3251}{\textcircled}{21}
\DeclareUTFcomposite[\UTFencname]{x3252}{\textcircled}{22}
\DeclareUTFcomposite[\UTFencname]{x3253}{\textcircled}{23}
@@ -2486,5 +3900,9 @@
\DeclareUTFcomposite[\UTFencname]{x32BE}{\textcircled}{49}
\DeclareUTFcomposite[\UTFencname]{x32BF}{\textcircled}{50}
+\expandafter\ifx\csname ReloadXunicode\endcsname\relax
+ \def\ReloadXunicode#1{\def\UTFencname{#1}%
+ \usepackage{xunicode}}%
+\fi
\endinput