Skip to content
Snippets Groups Projects
Verified Commit f0685f14 authored by mirabilos's avatar mirabilos Committed by mirabilos
Browse files

optimise; prepare to feed upstream

parent b1828bf4
No related branches found
No related tags found
No related merge requests found
......@@ -28,7 +28,7 @@
% makes all UTF-8 available in listings.
\NeedsTeXFormat{LaTeX2e}%
\ProvidesPackage{unicodedomino}[2018/08/05 1.3 Domino for unknown codepoints]%
\ProvidesPackage{unicodedomino}[2018/08/05 1.4~ Domino for unknown codepoints]%
\makeatletter%
\ifx\numexpr\@undefined%
......@@ -194,7 +194,7 @@
% main handler
\def\UTFviii@defined#1{%
\ifx#1\relax%
\if\relax\expandafter\UTFviii@chkseq\string#1\empty\relax%
\if\relax\expandafter\UTFviii@checkseq\string#1\empty\relax%
% unknown char
\ifx\protect\@typeset@protect%
% not protected
......@@ -224,7 +224,7 @@
}%
% input validation, including security-relevant checks
\def\UTFviii@chkseq#1:#2#3\empty{%
\def\UTFviii@checkseq#1:#2#3\empty{%
\ifnum`#2<"80 %
\ifx\empty#3\empty%
\else%
......@@ -236,27 +236,27 @@
\else%
\ifnum`#2<"E0 %
% one 80-BF
\UTFviii@chksq@onetrail#3\empty%
\UTFviii@check@one#3\empty%
\else%
\ifnum`#2<"E1 %
% A0-BF + one 80-BF
\UTFviii@chksq@a@trail#3\empty%
\UTFviii@check@two"A0.#3\empty%
\else%
\ifnum`#2<"F0 %
% two 80-BF
\UTFviii@chksq@twotrail#3\empty%
\UTFviii@check@two"80.#3\empty%
\else%
\ifnum`#2<"F1 %
% 90-BF + two 80-BF
\UTFviii@chksq@ninetytrails#3\empty%
\UTFviii@check@three"90."BF.#3\empty%
\else%
\ifnum`#2<"F4 %
% three 80-BF
\UTFviii@chksq@threetrail#3\empty%
\UTFviii@check@three"80."BF.#3\empty%
\else%
\ifnum`#2<"F5 %
% 80-8F + two 80-BF
\UTFviii@chksq@belowninetytrails#3\empty%
\UTFviii@check@three"80."8F.#3\empty%
\else%
1%
\fi%
......@@ -268,13 +268,12 @@
\fi%
\fi%
}%
\def\UTFviii@chksq@onetrail#1#2\empty{%
\def\UTFviii@check@one#1#2\empty{%
\ifx\empty#2\empty%
\ifnum`#1<"80 %
1%
\else%
\ifnum`#1<"C0 %
\else%
\ifnum`#1>"BF %
1%
\fi%
\fi%
......@@ -282,77 +281,32 @@
1%
\fi%
}%
\def\UTFviii@chksq@a@trail#1#2\empty{%
\ifx\empty#2\empty%
\def\UTFviii@check@two#1.#2#3\empty{%
\ifx\empty#3\empty%
1%
\else%
\ifnum`#1<"A0 %
\ifnum`#2<#1 %
1%
\else%
\ifnum`#1<"C0 %
\UTFviii@chksq@onetrail#2\empty%
\else%
\ifnum`#2>"BF %
1%
\fi%
\fi%
\fi%
}%
\def\UTFviii@chksq@twotrail#1#2\empty{%
\ifx\empty#2\empty%
1%
\else%
\ifnum`#1<"80 %
1%
\else%
\ifnum`#1<"C0 %
\UTFviii@chksq@onetrail#2\empty%
\else%
1%
\UTFviii@check@one#3\empty%
\fi%
\fi%
\fi%
}%
\def\UTFviii@chksq@ninetytrails#1#2\empty{%
\ifx\empty#2\empty%
\def\UTFviii@check@three#1.#2.#3#4\empty{%
\ifx\empty#4\empty%
1%
\else%
\ifnum`#1<"90 %
\ifnum`#3<#1 %
1%
\else%
\ifnum`#1<"C0 %
\UTFviii@chksq@twotrail#2\empty%
\else%
\ifnum`#3>#2 %
1%
\fi%
\fi%
\fi%
}%
\def\UTFviii@chksq@threetrail#1#2\empty{%
\ifx\empty#2\empty%
1%
\else%
\ifnum`#1<"80 %
1%
\else%
\ifnum`#1<"C0 %
\UTFviii@chksq@twotrail#2\empty%
\else%
1%
\fi%
\fi%
\fi%
}%
\def\UTFviii@chksq@belowninetytrails#1#2\empty{%
\ifx\empty#2\empty%
1%
\else%
\ifnum`#1<"80 %
1%
\else%
\ifnum`#1<"90 %
\UTFviii@chksq@twotrail#2\empty%
\else%
1%
\UTFviii@check@two"80.#4\empty%
\fi%
\fi%
\fi%
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment