summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/ucharcat/ucharcat.sty
blob: 1bad5082f8f8470af4a28786e71c02ec7d0df30f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
%%
%% This is file `ucharcat.sty',
%% generated with the docstrip utility.
%%
%% The original source files were:
%%
%% ucharcat.dtx  (with options: `package')
%% 
%% Source File: textcase.dtx
%% Copyright 2015 David Carlisle
%%
%% This file may be distributed under the terms of the LPPL.
%% See README for details.
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{ucharcat}
       [2015/05/20 v0.01 ucharcat for luaLaTeX  (DPC)]
\ifx\directlua\@undefined
\ifx\Ucharcat\@undefined
\ifx\XeTeXinterchartokenstate\@undefined
\PackageError{ucharcat}
{\string\Ucharcat\space may only be used with xetex and luatex}
{skipping package}
\else
\PackageError{ucharcat}
{\string\Ucharcat\space is defined in xetex releases from 2015 only}
{skipping package}
\fi
\fi
\expandafter\endinput
\fi
\ifx\newcatcodetable\@undefined
  \chardef\ucharcat@table"7000
\else
  \newcatcodetable\ucharcat@table
\fi
\luatexinitcatcodetable\ucharcat@table
\directlua{%
function UcharcatLua()
  local mych = newtoken.scan_int()
  local mycat = newtoken.scan_int()
  tex.setcatcode(\the\numexpr\ucharcat@table\relax,mych,mycat)
  tex.sprint(\the\numexpr\ucharcat@table\relax,unicode.utf8.char(mych))
end
}
\def\Ucharcat{\directlua{UcharcatLua()}}
\endinput
%%
%% End of file `ucharcat.sty'.