summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source/luatex/luatexja/tool/table_jisx0208.tex
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/source/luatex/luatexja/tool/table_jisx0208.tex')
-rw-r--r--Master/texmf-dist/source/luatex/luatexja/tool/table_jisx0208.tex123
1 files changed, 123 insertions, 0 deletions
diff --git a/Master/texmf-dist/source/luatex/luatexja/tool/table_jisx0208.tex b/Master/texmf-dist/source/luatex/luatexja/tool/table_jisx0208.tex
new file mode 100644
index 00000000000..c4273fb9f5c
--- /dev/null
+++ b/Master/texmf-dist/source/luatex/luatexja/tool/table_jisx0208.tex
@@ -0,0 +1,123 @@
+%#! euptex -shell-escape
+\catcode`\!=1
+\catcode`\?=2
+\immediate\openout1=jisx0208_1.lua
+\def\OUT{\immediate\write1}
+\catcode`@11
+\def\@firstoftwo#1#2{#1}
+\def\@secondoftwo#1#2{#2}
+\def\ifnumcomp#1#2#3{%
+ \ifnum\numexpr#1\relax#2\numexpr#3\relax
+ \expandafter\@firstoftwo
+ \else
+ \expandafter\@secondoftwo
+ \fi
+}
+\def\truncdiv#1#2{%
+ \ifnumcomp{#1}<{(#1)/(#2)*(#2)}{%
+ \numexpr(#1)/(#2)-1%
+ }{%
+ \numexpr(#1)/(#2)%
+ }%
+}
+\def\hex#1{%
+ \ifnumcomp{#1}<0{}{\hn@i{#1}{}}%
+}
+\def\hn@i#1#2{%
+ \ifnumcomp{#1}<{16}
+ {%
+ \hn@digit{#1}#2%
+ }{%
+ \expandafter\hn@ii\expandafter{%
+ \the\numexpr\truncdiv{#1}{16}%
+ }{#1}{#2}%
+ }%
+}
+\def\hn@ii#1#2#3{%
+ \expandafter\hn@i\expandafter{%
+ \number\numexpr#1\expandafter\expandafter\expandafter
+ \expandafter\expandafter\expandafter\expandafter}%
+ \expandafter\expandafter\expandafter\expandafter
+ \expandafter\expandafter\expandafter{%
+ \hn@digit{(#2)-16*(#1)}#3}%
+}
+\begingroup
+\catcode`012\catcode`112\catcode`212\catcode`312\catcode`412
+\catcode`512\catcode`612\catcode`712\catcode`812\catcode`912
+\catcode`A12\catcode`B12\catcode`C12\catcode`D12\catcode`E12
+\catcode`F12
+\gdef\hn@digit#1{%
+ \ifcase\numexpr#1\relax 0%
+ \or \expandafter 1%
+ \or \expandafter 2%
+ \or \expandafter 3%
+ \or \expandafter 4%
+ \or \expandafter 5%
+ \or \expandafter 6%
+ \or \expandafter 7%
+ \or \expandafter 8%
+ \or \expandafter 9%
+ \or \expandafter A%
+ \or \expandafter B%
+ \or \expandafter C%
+ \or \expandafter D%
+ \or \expandafter E%
+ \or \expandafter F%
+ \fi
+}
+\endgroup
+
+
+\catcode`\{=12
+\catcode`\}=12
+\def\folio!?
+
+\newcount\ku
+\newcount\ten
+\newcount\tmp
+\newcount\tmpa
+\newcount\tmpb
+\font\tt=cmtt10 at 10pt\tt\baselineskip=12pt\parindent=0pt\parskip=0pt
+
+\catcode`\_=12
+\OUT!return {?
+\OUT!version = 3,?
+\OUT!table_jisx0208_uptex = {?
+
+\ku=1
+\loop
+ \tmp=\ku \multiply\tmp"100 \advance\tmp"2020 %"
+ ! \ten=1
+ \loop
+ \advance\tmp1
+ \tmpa=\jis\tmp \tmpb=\tmp\advance\tmpb-"2020%"
+ \ifnum\tmpa>0
+ \OUT! 0x\hex\tmpa,?
+ \else
+ \OUT! false, -- 0x\hex\tmpb?
+ \fi
+ \advance\ten 1
+ \ifnum\ten<95\relax\repeat
+ ?
+ \advance\ku 1
+\ifnum\ku<95\relax\repeat
+
+\OUT!}}?
+\immediate\closeout1
+\catcode`\#=12
+\immediate\openout1=jisx0208_2.tmp
+\OUT!kpse.set_program_name("luatex")?
+\OUT!require('lualibs')?
+\OUT!local t=require('jisx0208_1.lua')?
+\OUT!local s=t.table_jisx0208_uptex?
+\OUT!for i=#s,1,-1 do if type(s[i])=='number' then a=i;break end end?
+\OUT!for i=a+1,#s do s[i]=nil end?
+\OUT!local f = io.open('ltj-jisx0208.lua', 'w')?
+\OUT!f:write(table.serialize(t, 'return'))?
+\OUT!f:close()?
+\immediate\closeout1
+\immediate\write18!texlua jisx0208_2.tmp?
+\immediate\write18!rm jisx0208_2.tmp?
+\immediate\write18!rm jisx0208_1.lua?
+
+\end