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.
50 lines
1.3 KiB
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'.
|
|
|