5 \NeedsTeXFormat{LaTeX2e}
6 \ProvidesPackage{lltjp-xunicode}[2013/05/14 Patch to xunicode for LuaTeX-ja]
8 \def\UTFencname{EU2}\def\XeTeXpicfile{}
9 \RequirePackage{xunicode,luatexja}
11 \gdef\check@hexcom@digits@#1#2#3#4#5@!@#6#7#8{%
13 \UTFacc@warning@{insufficient hex digits #7 for #6-\string#8}%
15 \ifcat \active\noexpand#8%
17 \expandafter\def\csname\UTFencname\string#8\endcsname{\ltjalchar"#1#2#3#4\relax}%
19 \ifx\cf@encoding\UTFencname
20 \DeclareTextCommand{#8}{OT1}{\undefined}%
22 \DeclareTextCommand{#8}{\cf@encoding}{\undefined}%
24 \else {% macro #8 exists already ...
26 \edef\UTF@testi{#8}\def\UTF@testii{#8}%
27 \ifx\UTF@testi\UTF@testii\aftergroup\UTF@ignore
28 \else\aftergroup\UTF@doit\fi
31 % ... but when it isn't robust, make it so
32 \expandafter\let\csname?-\string#8\endcsname#8\relax
33 \edef\next@UTF@{{\cf@encoding}%
34 {\expandafter\noexpand\csname?-\string#8\endcsname}}%
35 \expandafter\DeclareTextCommand\expandafter
36 {\expandafter#8\expandafter}\next@UTF@
40 \expandafter\global\expandafter
41 \let\csname\UTFencname\string#8\endcsname\relax
42 \fi % end of \add@flag switch
43 \else % not active catcode --- shouldn't happen
44 % \typeout{*** did you really mean #8 ? ***}%
46 \edef\tmp@name{\expandafter\string\csname\UTFencname\endcsname
47 \expandafter\string\csname#8\endcsname}%
48 \expandafter\def\csname\tmp@name\endcsname{\ltjalchar"#1#2#3#4\relax}%
49 \ifx\cf@encoding\UTFencname
50 \expandafter\DeclareTextCommand\expandafter
51 {\csname#8\endcsname}{OT1}{\undefined}%
53 \expandafter\DeclareTextCommand\expandafter
54 {\csname#8\endcsname}{\cf@encoding}{\undefined}%
57 \expandafter\global\expandafter\let\csname#8\endcsname\relax
58 \fi % end of \add@flag switch
61 \gdef\check@hex@digits@#1#2#3#4#5@!@#6#7#8#9{%
63 \UTFacc@warning@{insufficient hex digits #7 for #6-\string#8#9}%
65 \def\UTFchar{\ltjalchar"#1#2#3#4\relax}%
66 \expandafter\expandafter\expandafter\declare@utf@composite
67 \expandafter\expandafter\expandafter
68 {\expandafter\csname#6\endcsname}{\UTFchar}{#8}{#9}\relax
70 \gdef\add@UTF@accent#1#2#3{\ifx\relax#2\relax\ltjalchar"#3\else
71 \ifx\ #2\relax\ltjalchar"#3\else
72 \expandafter\ifx\UTF@space#2\relax\ltjalchar"#3\else
73 \ifx~#2\ltjalchar"#3\else#2\ltjalchar"#1\fi\fi\fi\fi\relax}
74 \gdef\add@UTF@accents#1#2#3{#2\ltjalchar"#1\ltjalchar"#3\relax}
76 % If unicode-math is already loaded, the following error occurs:
77 % ! Undefined control sequence.
79 % Therefore temporarily set \hbar=\relax.
82 \let\ltj@tmpb\iftipaonetoken
83 \let\iftipaonetoken\relax
87 \let\iftipaonetoken\ltj@tmpb
88 \let\ltj@tmpb\relax % no more an if-token
91 {\catcode`\!0\catcode`\\11!catcode`!2 11!catcode`!?11!catcode`!-11
92 !gdef!EU2\nobreakspace{!?-\nobreakspace}%