diff --git a/unicodedomino.sty b/unicodedomino.sty index 98df2c499e5e57dce22f886d8a407ce4985ab3da..060778466e04d2547a3adf20cbd068304926d980 100644 --- a/unicodedomino.sty +++ b/unicodedomino.sty @@ -59,6 +59,8 @@ }% % collect octet tokens, trim them and pass them on to handler +\ifx\UTFviii@two@octets@combine\@undefined% + % v1.2h 2019/07/09, or older \long\def\UTFviii@two@octets#1#2{% \ifx\protect\@typeset@protect% \edef\unicodedomino@tmp{#1\unicodedomino@last{\string#2}}% @@ -86,6 +88,36 @@ \string#1\string#2\string#3\string#4% \fi% }% +\else% + % v1.2i 2019/07/09, or newer + \long\def\UTFviii@two@octets#1#2{% + \ifx\protect\@typeset@protect% + \edef\unicodedomino@tmp{#1\unicodedomino@last{\string#2}}% + \expandafter\unicodedomino@octets\unicodedomino@tmp\empty% + \else% + % protected, just write the original multibyte character + \string#1\string#2% + \fi% + }% + \long\def\UTFviii@three@octets#1#2#3{% + \ifx\protect\@typeset@protect% + \edef\unicodedomino@tmp{#1\unicodedomino@last{\string#2}\unicodedomino@last{\string#3}}% + \expandafter\unicodedomino@octets\unicodedomino@tmp\empty% + \else% + % protected, just write the original multibyte character + \string#1\string#2\string#3% + \fi% + }% + \long\def\UTFviii@four@octets#1#2#3#4{% + \ifx\protect\@typeset@protect% + \edef\unicodedomino@tmp{#1\unicodedomino@last{\string#2}\unicodedomino@last{\string#3}\unicodedomino@last{\string#4}}% + \expandafter\unicodedomino@octets\unicodedomino@tmp\empty% + \else% + % protected, just write the original multibyte character + \string#1\string#2\string#3\string#4% + \fi% + }% +\fi% % handle trimmed octets \def\unicodedomino@octets#1\empty{%