You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
tex-compiler/texmf-dist/tex/latex/ucharcat/ucharcat.sty

50 lines
1.3 KiB

%%
%% 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/11/19 v0.03 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
\directlua{tex.enableprimitives("",{"initcatcodetable"})}
\initcatcodetable\ucharcat@table
\else
\newcatcodetable\ucharcat@table
\fi
\directlua{%
local nt = newtoken or token
function UcharcatLua()
local mych = nt.scan_int()
local mycat = nt.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'.