diff options
author | Karl Berry <karl@freefriends.org> | 2006-01-13 00:10:12 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2006-01-13 00:10:12 +0000 |
commit | 04ab462906d13abba66a6c7998e21ac4f5d57473 (patch) | |
tree | d6df651562eeaf0bf85326ba9734d6f80c84fe20 /Master/texmf-dist/tex/latex/ucs/ucsutils.sty | |
parent | 1f27dd25f350ec27e0e2d44f2fafd15f3d2bae71 (diff) |
ucs
git-svn-id: svn://tug.org/texlive/trunk@1418 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex/ucs/ucsutils.sty')
-rw-r--r-- | Master/texmf-dist/tex/latex/ucs/ucsutils.sty | 125 |
1 files changed, 125 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/latex/ucs/ucsutils.sty b/Master/texmf-dist/tex/latex/ucs/ucsutils.sty new file mode 100644 index 00000000000..6f842bd071a --- /dev/null +++ b/Master/texmf-dist/tex/latex/ucs/ucsutils.sty @@ -0,0 +1,125 @@ +%% +%% This is file `ucsutils.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% ucs.dtx (with options: `ucsutils.sty') +%% +%% Copyright 2001 Dominique Unruh <dominique@unruh.de> +%% +%% This program is provided under the terms of the LaTeX Project Public +%% License with some modifications. +%% See the file LICENSE (http://www.unruh.de/DniQ/latex/unicode/content/LICENSE) +%% for information. +%% +\ifx\DeclareOption\undefined\else +\ProvidesPackage{ucsutils}[2002/04/23 UCS: Auxiliary macros]% +\RequirePackage{ucs}% +\ifx\@ucsutils\undefined\let\@ucsutils\empty\fi +\DeclareOption*{% + \edef\uc@temp@a{\csname\CurrentOption\endcsname}% + \expandafter\g@addto@macro\expandafter\@ucsutils\expandafter + {\expandafter\\\uc@temp@a}}% +\ProcessOptions*% +\fi +{\def\\#1{\ifx#1\relax\global\let#11\fi}\@ucsutils}% +\def\@ucsutils@section#1{\ifx#11\catcode2=9\else\catcode2=14\fi\relax}% +\@ucsutils@section\UnicodeEmbedFont +^^B\RequirePackage{keyval}% +^^B\def\UnicodeEmbedFont#1{% +^^B \ifx\KV@ucembedfont@start\undefined +^^B \define@key{ucembedfont}{encoding}{\def\uc@embedfont@enc{##1}}% +^^B \define@key{ucembedfont}{start}{\def\uc@embedfont@start{##1}}% +^^B \define@key{ucembedfont}{fontstart}% +^^B {\def\uc@embedfont@fontstart{##1}}% +^^B \define@key{ucembedfont}{num}{\def\uc@embedfont@fontstart{##1}}% +^^B \define@key{ucembedfont}{option}{\def\uc@embedfont@option{##1}}% +^^B \fi +^^B \let\uc@embedfont@enc\undefined % Ignored +^^B \let\uc@embedfont@start\undefined +^^B \def\uc@embedfont@fontstart{0}% +^^B \let\uc@embedfont@num\undefined +^^B \def\uc@embedfont@option{document}% +^^B \setkeys{ucembedfont}{#1}% +^^B \ifx\uc@embedfont@start\undefined +^^B \uc@errormsg{\string\UnicodeEmbedFont\space +^^B needs argument start=...}{}\fi +^^B \edef\uc@embedfont@fontstart{\number\uc@embedfont@fontstart}% +^^B \edef\uc@embedfont@start{\number\uc@embedfont@start}% +^^B \ifx\uc@embedfont@num\undefined +^^B \@tempcnta-\uc@embedfont@fontstart +^^B \advance\@tempcnta by256 +^^B \edef\uc@embedfont@num{\number\@tempcnta}% +^^B \fi +^^B \@tempcnta0 +^^B \@tempcntb\uc@embedfont@fontstart +^^B \loop\ifnum\@tempcnta<\uc@embedfont@num +^^B \advance\@tempcnta by\uc@embedfont@start +^^B \edef\uc@temp@a{% +^^B \noexpand\char\number\@tempcntb\space}% +^^B \expandafter\DeclareUnicodeCharacterAsOptional +^^B \expandafter{\expandafter\@tempcnta\expandafter}% +^^B \expandafter{\expandafter\uc@embedfont@option\expandafter}% +^^B \expandafter{\uc@temp@a}% +^^B \advance\@tempcnta by-\uc@embedfont@start +^^B \advance\@tempcntb by1 +^^B \advance\@tempcnta by1 +^^B \repeat +^^B} +\@ucsutils@section\univerb +^^B\def\uc@vbsetchar#1#2{% +^^B \catcode#1\active +^^B \begingroup\uccode`\~#1\uppercase{\endgroup\edef~}{#2}} +^^B\DeclareRobustCommand\univerb[1][]{\ifx\@nil#1\@nil\else\PackageError{ucs}{% +^^B \string\univerb\space has optional argument}{% +^^B \string\univerb[...] is not supported}\fi% +^^B \bgroup +^^B \@tempcnta\@ne +^^B \loop\ifnum\@tempcnta<128\relax +^^B \uc@vbsetchar\@tempcnta{\noexpand\unichar{\number\@tempcnta}}% +^^B \advance\@tempcnta by\@ne +^^B \repeat +^^B \uc@vbsetchar{32}{\noexpand\unicodecombine\noexpand\unichar{32}}% +^^B \uc@vbsetchar{13}{\noexpand\unicodecombine\noexpand\leavevmode\noexpand\\% +^^B \noexpand\leavevmode}% +^^B \def\verb@egroup{% +^^B \SetUnicodeOption{nocombine}% +^^B \global\let\verb@balance@group\@empty\egroup}% +^^B \SetUnicodeOption{combine}% +^^B \@sverb} +\@ucsutils@section\unistring +^^B\def\uc@spacechar{\futurelet\uc@spacechar\empty}\expandafter\uc@spacechar\uc@spc +^^B\def\@unistring#1{% +^^B \ifx\uc@temp@a\uc@spacechar +^^B \@temptokena\expandafter{\the\@temptokena\unicodecombine\unichar{32}}% +^^B \fi +^^B \ifx\tw@#1\else +^^B \ifx\@ne#1\else +^^B \ifnum`#1<128 +^^B \@temptokena\expandafter{\the\@temptokena\unichar{`#1}}% +^^B \else +^^B \@temptokena\expandafter{\the\@temptokena#1}% +^^B \fi +^^B \fi% +^^B \expandafter\futurelet\expandafter\uc@temp@a\expandafter\@unistring +^^B \fi +^^B} +^^B\DeclareRobustCommand\unistring[1]{% +^^B \let\uc@temp@a\undefined +^^B \@temptokena{}% +^^B \@unistring\@ne#1\tw@ +^^B {\SetUnicodeOption{combine}% +^^B \the\@temptokena +^^B \SetUnicodeOption{nocombine}}} +{\def\\#1{% + \ifx#11% + \uc@errormsg{Can't load \string#1}{You have given the option + \expandafter\@gobble\string#1 to ucsutils,\MessageBreak but + there is no command called \string#1 in ucsutils.sty.}% + \global\let#1\undefined + \fi} + \@ucsutils}% +\let\@ucsutils\undefined +\let\@ucsutils@section\undefined +\catcode2=15 |