diff options
author | Karl Berry <karl@freefriends.org> | 2011-09-08 22:44:58 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2011-09-08 22:44:58 +0000 |
commit | 76505c9da21b7fe13574e2ce2caa22a5773b1e87 (patch) | |
tree | 9092ad5ecf3a39e914a3a6d5d9f66932208969f8 /Master/texmf-dist/tex/xelatex/xunicode/xunicode.sty | |
parent | 1bde481c2a1d044e5fb67a14ba93d020d3a34b09 (diff) |
xunicode (8sep11)
git-svn-id: svn://tug.org/texlive/trunk@23877 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/xelatex/xunicode/xunicode.sty')
-rw-r--r-- | Master/texmf-dist/tex/xelatex/xunicode/xunicode.sty | 1894 |
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 |