summaryrefslogtreecommitdiff
path: root/Master/texmf-dist
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2022-04-21 20:16:55 +0000
committerKarl Berry <karl@freefriends.org>2022-04-21 20:16:55 +0000
commit6276ddaa8561fe1603991a3adaca08e7d63578e7 (patch)
tree4b9502ef622f62c2c8c0c45d28bdb41577d8ae1c /Master/texmf-dist
parentcc8dda20b1c7d61e2a13736577b698124f03e227 (diff)
unisc (21apr22)
git-svn-id: svn://tug.org/texlive/trunk@63101 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist')
-rw-r--r--Master/texmf-dist/doc/latex/unisc/README.txt10
-rw-r--r--Master/texmf-dist/doc/latex/unisc/unisc.pdfbin0 -> 133592 bytes
-rw-r--r--Master/texmf-dist/source/latex/unisc/unisc.dtx496
-rw-r--r--Master/texmf-dist/source/latex/unisc/unisc.ins55
-rw-r--r--Master/texmf-dist/tex/latex/unisc/unisc.sty274
5 files changed, 835 insertions, 0 deletions
diff --git a/Master/texmf-dist/doc/latex/unisc/README.txt b/Master/texmf-dist/doc/latex/unisc/README.txt
new file mode 100644
index 00000000000..74fb043a2c2
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/unisc/README.txt
@@ -0,0 +1,10 @@
+-------------------------------------------------------
+Package: unisc
+Version: v0.1 (21 April, 2022)
+Author: निरंजन
+Description: Unicode small caps with Xe/LuaLaTeX.
+Repository: https://puszcza.gnu.org.ua/projects/unisc
+License: GPLv3+, GFDLv1.3+
+-------------------------------------------------------
+
+
diff --git a/Master/texmf-dist/doc/latex/unisc/unisc.pdf b/Master/texmf-dist/doc/latex/unisc/unisc.pdf
new file mode 100644
index 00000000000..97b1df006ca
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/unisc/unisc.pdf
Binary files differ
diff --git a/Master/texmf-dist/source/latex/unisc/unisc.dtx b/Master/texmf-dist/source/latex/unisc/unisc.dtx
new file mode 100644
index 00000000000..676bcf4a2d2
--- /dev/null
+++ b/Master/texmf-dist/source/latex/unisc/unisc.dtx
@@ -0,0 +1,496 @@
+% \iffalse meta-comment
+%
+% File: unisc.dtx
+% -------------------------------------------------------
+% Package: unisc
+% Version: v0.1 (21 April, 2022)
+% Author: निरंजन
+% Description: Unicode small caps with Xe/LuaLaTeX.
+% Repository: https://puszcza.gnu.org.ua/projects/unisc
+% License: GPLv3+, GFDLv1.3+
+% -------------------------------------------------------
+%
+% LaTeX Package unisc v0.1
+% Copyright © 2022 निरंजन
+%
+% This program is free software: you can redistribute it
+% and/or modify it under the terms of the GNU General Public
+% License as published by the Free Software Foundation,
+% either version 3 of the License, or (at your option) any
+% later version.
+%
+% This program is distributed in the hope that it will be
+% useful, but WITHOUT ANY WARRANTY; without even the implied
+% warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+% PURPOSE. See the GNU General Public License for more
+% details.
+%
+% You should have received a copy of the GNU General Public
+% License along with this program. If not, see
+% <https://www.gnu.org/licenses/>.
+%
+% The current maintainer of this work is निरंजन.
+%
+% This work consists of the files unisc.dtx
+% unisc.ins
+% and the derived file unisc.sty.
+% \fi
+% \iffalse
+%<*internal>
+\iffalse
+%</internal>
+%<*readme>
+-------------------------------------------------------
+Package: unisc
+Version: v0.1 (21 April, 2022)
+Author: निरंजन
+Description: Unicode small caps with Xe/LuaLaTeX.
+Repository: https://puszcza.gnu.org.ua/projects/unisc
+License: GPLv3+, GFDLv1.3+
+-------------------------------------------------------
+%</readme>
+%<*internal>
+\fi
+%</internal>
+%<*driver|package>
+\def\uniscname{unisc}
+\def\uniscversion{0.1}
+\def\uniscdate{2022-04-21}
+\def\uniscdescription{%
+ Unicode small caps with Xe/LuaLaTeX.%
+}
+%</driver|package>
+%<*driver>
+\documentclass{l3doc}
+\usepackage{xcolor}
+\usepackage{fontawesome5}
+\usepackage{hologo}
+\DeclareRobustCommand\XeLaTeX{\hologo{XeLaTeX}}
+\usepackage{unisc}
+\usepackage{hyperref}
+\hypersetup{%
+ unicode,%
+ colorlinks,%
+ urlcolor=blue!60!black,%
+ linkcolor=red!60!black,%
+ citecolor=green!60!black,%
+ pdftitle={The unisc package},%
+ pdfauthor={निरंजन},%
+ pdfsubject={\uniscdescription}
+}%
+\usepackage{mdframed}
+\usepackage{fontspec}
+\newfontfamily\charissil{CharisSIL}
+\newfontfamily\devanagari[%
+ Script=Devanagari,%
+ Scale=0.8%
+]%
+{Shobhika}
+\NewCommandCopy\oldamp\&
+\def\&{\textit{\oldamp}}
+
+\begin{document}
+ \DocInput{\uniscname.dtx}
+\end{document}
+%</driver>
+% \fi
+% \title{The \pkg{\uniscname} package}
+% \author{^^A
+% {\devanagari निरंजन}\thanks{^^A
+% \href{mailto:hi.niranjan@pm.me}^^A
+% {\faIcon{envelope} \texttt{hi.niranjan@pm.me}}^^A
+% }^^A
+% }
+% \date{^^A
+% Version \uniscversion\ --- \uniscdate\\[1ex]^^A
+% {^^A
+% \small
+% \faIcon{globe}^^A
+% \quad
+% \url{https://puszcza.gnu.org.ua/projects/unisc}\\[0.5ex]^^A
+% \faIcon{bug}^^A
+% \quad
+% \url{https://puszcza.gnu.org.ua/bugs/?group=unisc}^^A
+% }^^A
+% }
+%
+% \maketitle
+%
+% \begin{documentation}
+% \begin{abstract}
+% \LaTeX\ produces small caps with
+% \cs{textsc}\marg{text} or \cs{scshape}. Both of these
+% commands don't produce small caps in Unicode. If the
+% output text is copied and pasted somewhere it shows
+% the same characters used in the input. This package
+% aims to internally convert all the characters provided
+% to the commands mentioned above. It assumes that the
+% file using this package is compiled with Lua/\XeLaTeX\
+% \& a good Unicode font which has the small caps
+% characters, e.g.,
+% \href{https://ctan.org/pkg/charissil}{Charis
+% SIL}. Please note that as there are no Unicode slots
+% allotted to upper case small caps, both the lower case
+% and upper case input will be converted to only one
+% relevant Unicode character in the output, e.g.,
+% \verb|\textsc{Hh}| will produce the same character
+% twice unlike \verb|\oldtextsc{Hh}|.
+% \end{abstract}
+%
+% \tableofcontents
+%
+% \vfill
+%
+% {^^A
+% \setlength{\parindent}{0pt}
+% \LaTeX\ package \pkg{unisc}
+%
+% Copyright © 2022 {\devanagari निरंजन}
+%
+% Permission is granted to copy, distribute and/or
+% modify this document under the terms of the GNU Free
+% Documentation License, Version 1.3 or any later
+% version published by the Free Software Foundation;
+% with no Invariant Sections, no Front-Cover Texts, and
+% no Back-Cover Texts. A copy of the license is included
+% in the section entitled ``GNU Free Documentation
+% License''.^^A
+% }^^A
+%
+% \newpage
+%
+% \section{Documentation}
+%
+% This package provides the following two macros.
+%
+% \subsection{Macros}
+%
+% This package renews two basic \LaTeX\ commands, i.e.,
+% \cs{scshape} \& \cs{textsc}. To keep the original
+% definitions available for the users, I have copied the
+% old commands \& provided two of the following macros
+% which behave exactly like their old variants.
+%
+% \begin{function}{\oldscshape}
+% \begin{syntax}
+% \{\cs{oldscshape} \meta{text}\}
+% \end{syntax}
+% \end{function}
+%
+% \begin{function}{\oldtextsc}
+% \begin{syntax}
+% \cs{oldtextsc}\marg{text}
+% \end{syntax}
+% \end{function}
+%
+% \subsection{The \enquote*{x} factor}
+%
+% This package doesn't support the small capital shape
+% of the character \enquote*{x} as there is no Unicode
+% number allotted for a \enquote*{small capital x} as of
+% now. The package simply prints the small x (for both
+% \verb|\textsc{x}| \& \verb|\textsc{X}|) as it is of
+% the same height of the other small capital letters
+% along with a warning message that warns the users
+% about this deviation.
+%
+% \subsection{Example}
+%
+% \begin{mdframed}
+% \begin{verbatim}
+% \documentclass{article}
+% \usepackage{unisc}
+% \usepackage{fontspec}
+% \setmainfont{CharisSIL}% https://ctan.org/pkg/charissil
+
+% \begin{document}
+% \noindent\textbf{Fake small caps:}
+% {\oldscshape hello world} \oldtextsc{hello world}.
+
+% \noindent\textbf{Unicode small caps:}
+% {\scshape hello world} \textsc{hello world}.
+% \end{document}
+% \end{verbatim}
+% \end{mdframed}
+%
+% This produces the following:
+%
+% \begin{mdframed}
+% \charissil
+% \noindent\textbf{Fake small caps:}
+% {\oldscshape hello world} \oldtextsc{hello world}.
+%
+% \noindent\textbf{Unicode small caps:}
+% {\scshape hello world} \textsc{hello world}.
+% \end{mdframed}
+% \end{documentation}
+%
+% \newpage
+%
+% \begin{implementation}
+% \section{Implementation}
+% Provide package with its basic information.
+% \begin{macrocode}
+%<@@=unisc>
+%<*package>
+\ProvidesPackage{unisc}[2022/04/21 v0.1
+Unicode small caps with Lua/XeLaTeX.]
+% \end{macrocode}
+% Load the necessary packages.
+% \begin{macrocode}
+\RequirePackage{pgfparser}
+\RequirePackage{xpatch}
+% \end{macrocode}
+% Make copies of old commands.
+% \begin{macrocode}
+\NewCommandCopy\oldtextsc\textsc
+\NewCommandCopy\oldscshape\scshape
+% \end{macrocode}
+% As pointed out by Florent Rougon in
+% \href{https://topanswers.xyz/transcript?room=2050&id=138859#c138859}%
+% {this} comment; the definition of \cs{oldtextsc} uses
+% \cs{scshape} twice which needs to be replaced with
+% \cs{oldscshape}. For that the following patching is done
+% \& the old definition is retained.
+% \begin{macrocode}
+\xpatchcmd{\oldtextsc}{\scshape}{\oldscshape}{}{\ERROR}
+\xpatchcmd{\oldtextsc}{\scshape}{\oldscshape}{}{\ERROR}
+% \end{macrocode}
+% The following code is kindly provided by Jonathan P.\
+% Spratte on the following thread:
+% \url{https://topanswers.xyz/tex?q=2005}. I have modified
+% it a bit as per my needs and my indentation style.
+% \begin{macrocode}
+\protected\long\def\unisc@output#1{%
+ \xdef\unisc@outputcontainer{%
+ \unexpanded\expandafter{%
+ \unisc@outputcontainer\unexpanded{#1}%
+ }%
+ }%
+}
+\protected\long\def\unisc@outputexpanded#1{%
+ \xdef\unisc@outputcontainer{%
+ \unexpanded\expandafter{\unisc@outputcontainer#1%
+ }%
+ }%
+}
+\providecommand\@gobbletwo[2]{}
+\pgfparserdefunknown{scparser}{initial}{%
+ \let\unisc@initiated\@empty
+ \pgfparserswitch{initiated}%
+ \pgfparserreinsert
+}
+\pgfparserset{scparser/silent=true}
+\pgfparserdefunknown{scparser}{all}{%
+ \expandafter\unisc@output\expandafter{\pgfparserletter}%
+}
+\newcommand*\unisc@bgroup{\expandafter{\iffalse}\fi}
+\newcommand*\unisc@egroup{\iffalse{\fi}}
+\pgfparserdef{scparser}{all}\begingroup
+ {\begingroup\unisc@outputexpanded\begingroup}
+\pgfparserdef{scparser}{all}\endgroup
+ {\unisc@checkend\endgroup}
+\pgfparserdef{scparser}{all}{\meaning\bgroup}{%
+ \unisc@bgroup\unisc@outputexpanded\unisc@bgroup
+}
+\pgfparserdef{scparser}{all}{\meaning\egroup}
+ {\unisc@checkend\unisc@egroup}
+\newcommand\unisc@savedefinition[1]
+ {\unexpanded{\def#1}{\unexpanded\expandafter{#1}}}
+\protected\def\unisc@checkend#1{%
+ \expanded{%
+ \unexpanded{#1}%
+ \unexpanded{\ifdefined\unisc@initiated}%
+ \unisc@savedefinition\pgfparserstate
+ \unexpanded{\unisc@outputexpanded#1}%
+ \unexpanded{\else}%
+ \unexpanded{\pgfparserswitch{final}}%
+ \unisc@savedefinition\pgfparser@current
+ \unisc@savedefinition\pgfparser@usersname
+ \unexpanded{\fi}%
+ }%
+}
+% \end{macrocode}
+% Following is the code for the replacements of the
+% regular characters with the Unicode ones.
+% \begin{macrocode}
+%% LATIN LETTER SMALL CAPITAL A
+\pgfparserdef{scparser}{initiated}a%
+ {\unisc@outputexpanded{\symbol{"1D00}}}
+\pgfparserdef{scparser}{initiated}A%
+ {\unisc@outputexpanded{\symbol{"1D00}}}
+%% LATIN LETTER SMALL CAPITAL B
+\pgfparserdef{scparser}{initiated}b%
+ {\unisc@outputexpanded{\symbol{"0299}}}
+\pgfparserdef{scparser}{initiated}B%
+ {\unisc@outputexpanded{\symbol{"0299}}}
+%% LATIN LETTER SMALL CAPITAL C
+\pgfparserdef{scparser}{initiated}c%
+ {\unisc@outputexpanded{\symbol{"1D04}}}
+\pgfparserdef{scparser}{initiated}C%
+ {\unisc@outputexpanded{\symbol{"1D04}}}
+%% LATIN LETTER SMALL CAPITAL D
+\pgfparserdef{scparser}{initiated}d%
+ {\unisc@outputexpanded{\symbol{"1D05}}}
+\pgfparserdef{scparser}{initiated}D%
+ {\unisc@outputexpanded{\symbol{"1D05}}}
+%% LATIN LETTER SMALL CAPITAL E
+\pgfparserdef{scparser}{initiated}e%
+ {\unisc@outputexpanded{\symbol{"1D07}}}
+\pgfparserdef{scparser}{initiated}E%
+ {\unisc@outputexpanded{\symbol{"1D07}}}
+%% LATIN LETTER SMALL CAPITAL F
+\pgfparserdef{scparser}{initiated}f%
+ {\unisc@outputexpanded{\symbol{"A730}}}
+\pgfparserdef{scparser}{initiated}F%
+ {\unisc@outputexpanded{\symbol{"A730}}}
+%% LATIN LETTER SMALL CAPITAL G
+\pgfparserdef{scparser}{initiated}g%
+ {\unisc@outputexpanded{\symbol{"0262}}}
+\pgfparserdef{scparser}{initiated}G%
+ {\unisc@outputexpanded{\symbol{"0262}}}
+%% LATIN LETTER SMALL CAPITAL H
+\pgfparserdef{scparser}{initiated}h%
+ {\unisc@outputexpanded{\symbol{"029C}}}
+\pgfparserdef{scparser}{initiated}H%
+ {\unisc@outputexpanded{\symbol{"029C}}}
+%% LATIN LETTER SMALL CAPITAL I
+\pgfparserdef{scparser}{initiated}i%
+ {\unisc@outputexpanded{\symbol{"026A}}}
+\pgfparserdef{scparser}{initiated}I%
+ {\unisc@outputexpanded{\symbol{"026A}}}
+%% LATIN LETTER SMALL CAPITAL J
+\pgfparserdef{scparser}{initiated}j%
+ {\unisc@outputexpanded{\symbol{"1D0A}}}
+\pgfparserdef{scparser}{initiated}J%
+ {\unisc@outputexpanded{\symbol{"1D0A}}}
+%% LATIN LETTER SMALL CAPITAL K
+\pgfparserdef{scparser}{initiated}k%
+ {\unisc@outputexpanded{\symbol{"1D0B}}}
+\pgfparserdef{scparser}{initiated}K%
+ {\unisc@outputexpanded{\symbol{"1D0B}}}
+%% LATIN LETTER SMALL CAPITAL L
+\pgfparserdef{scparser}{initiated}l%
+ {\unisc@outputexpanded{\symbol{"029F}}}
+\pgfparserdef{scparser}{initiated}L%
+ {\unisc@outputexpanded{\symbol{"029F}}}
+%% LATIN LETTER SMALL CAPITAL M
+\pgfparserdef{scparser}{initiated}m%
+ {\unisc@outputexpanded{\symbol{"1D0D}}}
+\pgfparserdef{scparser}{initiated}M%
+ {\unisc@outputexpanded{\symbol{"1D0D}}}
+%% LATIN LETTER SMALL CAPITAL N
+\pgfparserdef{scparser}{initiated}n%
+ {\unisc@outputexpanded{\symbol{"0274}}}
+\pgfparserdef{scparser}{initiated}N%
+ {\unisc@outputexpanded{\symbol{"0274}}}
+%% LATIN LETTER SMALL CAPITAL O
+\pgfparserdef{scparser}{initiated}o%
+ {\unisc@outputexpanded{\symbol{"1D0F}}}
+\pgfparserdef{scparser}{initiated}O%
+ {\unisc@outputexpanded{\symbol{"1D0F}}}
+%% LATIN LETTER SMALL CAPITAL P
+\pgfparserdef{scparser}{initiated}p%
+ {\unisc@outputexpanded{\symbol{"1D18}}}
+\pgfparserdef{scparser}{initiated}P%
+ {\unisc@outputexpanded{\symbol{"1D18}}}
+%% LATIN LETTER SMALL CAPITAL Q
+\pgfparserdef{scparser}{initiated}q%
+ {\unisc@outputexpanded{\symbol{"A7AF}}}
+\pgfparserdef{scparser}{initiated}Q%
+ {\unisc@outputexpanded{\symbol{"A7AF}}}
+%% LATIN LETTER SMALL CAPITAL R
+\pgfparserdef{scparser}{initiated}r%
+ {\unisc@outputexpanded{\symbol{"0280}}}
+\pgfparserdef{scparser}{initiated}R%
+ {\unisc@outputexpanded{\symbol{"0280}}}
+%% LATIN LETTER SMALL CAPITAL S
+\pgfparserdef{scparser}{initiated}s%
+ {\unisc@outputexpanded{\symbol{"A731}}}
+\pgfparserdef{scparser}{initiated}S%
+ {\unisc@outputexpanded{\symbol{"A731}}}
+%% LATIN LETTER SMALL CAPITAL T
+\pgfparserdef{scparser}{initiated}t%
+ {\unisc@outputexpanded{\symbol{"1D1B}}}
+\pgfparserdef{scparser}{initiated}T%
+ {\unisc@outputexpanded{\symbol{"1D1B}}}
+%% LATIN LETTER SMALL CAPITAL U
+\pgfparserdef{scparser}{initiated}u%
+ {\unisc@outputexpanded{\symbol{"1D1C}}}
+\pgfparserdef{scparser}{initiated}U%
+ {\unisc@outputexpanded{\symbol{"1D1C}}}
+%% LATIN LETTER SMALL CAPITAL V
+\pgfparserdef{scparser}{initiated}v%
+ {\unisc@outputexpanded{\symbol{"1D20}}}
+\pgfparserdef{scparser}{initiated}V%
+ {\unisc@outputexpanded{\symbol{"1D20}}}
+%% LATIN LETTER SMALL CAPITAL W
+\pgfparserdef{scparser}{initiated}w%
+ {\unisc@outputexpanded{\symbol{"1D21}}}
+\pgfparserdef{scparser}{initiated}W%
+ {\unisc@outputexpanded{\symbol{"1D21}}}
+%% LATIN LETTER X
+\pgfparserdef{scparser}{initiated}x{%
+ \unisc@outputexpanded{\symbol{"0078}}%
+ \PackageWarning{unisc}{%
+ You have used the unsupported character `x' in the\MessageBreak
+ argument of \string\textsc
+ }%
+}
+\pgfparserdef{scparser}{initiated}X{%
+ \unisc@outputexpanded{\symbol{"0078}}%
+ \PackageWarning{unisc}{%
+ You have used the unsupported character `X' in the\MessageBreak
+ argument of \string\textsc
+ }%
+}
+%% No Unicode number for small capital x as of now.
+%% \textsc{X} == \textsc{x} for size-consistency.
+%% LATIN LETTER SMALL CAPITAL Y
+\pgfparserdef{scparser}{initiated}y%
+ {\unisc@outputexpanded{\symbol{"028F}}}
+\pgfparserdef{scparser}{initiated}Y%
+ {\unisc@outputexpanded{\symbol{"028F}}}
+%% LATIN LETTER SMALL CAPITAL Z
+\pgfparserdef{scparser}{initiated}z%
+ {\unisc@outputexpanded{\symbol{"1D22}}}
+\pgfparserdef{scparser}{initiated}Z%
+ {\unisc@outputexpanded{\symbol{"1D22}}}
+%% BLANK SPACE
+\pgfparserdef{scparser}{initiated}{blank space}%
+ {\unisc@outputexpanded{ }}
+%% END OF INPUT CHARACTERS
+\pgfparserdeffinal{scparser}%
+ {\expanded{\unisc@outputcontainer}}
+% \end{macrocode}
+% Renew the definitions of \cs{textsc} \& \cs{scshape}
+% commands.
+% \begin{macrocode}
+\AddToHook{begindocument/end}{%
+ \RenewDocumentCommand\scshape{ }{%
+ \ifdefined\unisc@initiated
+ \PackageError{unisc}{Nested use not allowed}{%
+ You somehow made \string\nirshape\space expand inside
+ the parser. This isn't supported.%
+ }%
+ \expandafter\@gobbletwo
+ \else
+ \global\let\unisc@outputcontainer\@empty
+ \fi
+ \pgfparserparse{scparser}%
+ }
+ \RenewDocumentCommand\textsc{ m }{%
+ \begingroup\scshape #1\endgroup
+ }%
+}
+% \end{macrocode}
+% \begin{macrocode}
+%</package>
+% \end{macrocode}
+% \end{implementation}
+% \newpage
+% \addcontentsline{toc}{section}{^^A
+% GNU Free Documentation License^^A
+% }
+% \include{gfdl-tex.tex}
+% \Finale
diff --git a/Master/texmf-dist/source/latex/unisc/unisc.ins b/Master/texmf-dist/source/latex/unisc/unisc.ins
new file mode 100644
index 00000000000..f9024a665b8
--- /dev/null
+++ b/Master/texmf-dist/source/latex/unisc/unisc.ins
@@ -0,0 +1,55 @@
+% File: unisc.ins
+\input l3docstrip.tex
+
+\keepsilent
+\askforoverwritefalse
+
+\preamble
+----------------------------------------------------------
+Package: unisc
+Version: v0.1 (21 April, 2022)
+Author: निरंजन
+Description: Unicode small caps with Lua/XeLaTeX.
+Repository: https://puszcza.gnu.org.ua/projects/unisc
+License: GPLv3+, GFDLv1.3+
+----------------------------------------------------------
+
+LaTeX Package unisc v0.1
+Copyright © 2022 निरंजन
+
+This program is free software: you can redistribute it
+and/or modify it under the terms of the GNU General Public
+License as published by the Free Software Foundation, either
+version 3 of the License, or (at your option) any later
+version.
+
+This program is distributed in the hope that it will be
+useful, but WITHOUT ANY WARRANTY; without even the implied
+warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+PURPOSE. See the GNU General Public License for more
+details.
+
+You should have received a copy of the GNU General Public
+License along with this program. If not, see
+<https://www.gnu.org/licenses/>.
+
+The current maintainer of this work is निरंजन.
+
+This work consists of the files unisc.dtx
+ unisc.ins
+and the derived file unisc.sty.
+----------------------------------------------------------
+\endpreamble
+
+\usedir{tex/latex/\jobname}
+\generate{
+ \file{\jobname.sty}{\from{\jobname.dtx}{package}}
+}
+
+\nopreamble\nopostamble
+\usedir{doc/latex/\jobname}
+\generate{
+ \file{README.txt}{\from{\jobname.dtx}{readme}}
+}
+
+\endbatchfile
diff --git a/Master/texmf-dist/tex/latex/unisc/unisc.sty b/Master/texmf-dist/tex/latex/unisc/unisc.sty
new file mode 100644
index 00000000000..e2315ba9417
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/unisc/unisc.sty
@@ -0,0 +1,274 @@
+%%
+%% This is file `unisc.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% unisc.dtx (with options: `package')
+%% ----------------------------------------------------------
+%% Package: unisc
+%% Version: v0.1 (21 April, 2022)
+%% Author: निरंजन
+%% Description: Unicode small caps with Lua/XeLaTeX.
+%% Repository: https://puszcza.gnu.org.ua/projects/unisc
+%% License: GPLv3+, GFDLv1.3+
+%% ----------------------------------------------------------
+%%
+%% LaTeX Package unisc v0.1
+%% Copyright © 2022 निरंजन
+%%
+%% This program is free software: you can redistribute it
+%% and/or modify it under the terms of the GNU General Public
+%% License as published by the Free Software Foundation, either
+%% version 3 of the License, or (at your option) any later
+%% version.
+%%
+%% This program is distributed in the hope that it will be
+%% useful, but WITHOUT ANY WARRANTY; without even the implied
+%% warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+%% PURPOSE. See the GNU General Public License for more
+%% details.
+%%
+%% You should have received a copy of the GNU General Public
+%% License along with this program. If not, see
+%% <https://www.gnu.org/licenses/>.
+%%
+%% The current maintainer of this work is निरंजन.
+%%
+%% This work consists of the files unisc.dtx
+%% unisc.ins
+%% and the derived file unisc.sty.
+%% ----------------------------------------------------------
+\def\uniscname{unisc}
+\def\uniscversion{0.1}
+\def\uniscdate{2022-04-21}
+\def\uniscdescription{%
+ Unicode small caps with Xe/LuaLaTeX.%
+}
+
+
+\ProvidesPackage{unisc}[2022/04/21 v0.1
+Unicode small caps with Lua/XeLaTeX.]
+\RequirePackage{pgfparser}
+\RequirePackage{xpatch}
+\NewCommandCopy\oldtextsc\textsc
+\NewCommandCopy\oldscshape\scshape
+\xpatchcmd{\oldtextsc}{\scshape}{\oldscshape}{}{\ERROR}
+\xpatchcmd{\oldtextsc}{\scshape}{\oldscshape}{}{\ERROR}
+\protected\long\def\unisc@output#1{%
+ \xdef\unisc@outputcontainer{%
+ \unexpanded\expandafter{%
+ \unisc@outputcontainer\unexpanded{#1}%
+ }%
+ }%
+}
+\protected\long\def\unisc@outputexpanded#1{%
+ \xdef\unisc@outputcontainer{%
+ \unexpanded\expandafter{\unisc@outputcontainer#1%
+ }%
+ }%
+}
+\providecommand\@gobbletwo[2]{}
+\pgfparserdefunknown{scparser}{initial}{%
+ \let\unisc@initiated\@empty
+ \pgfparserswitch{initiated}%
+ \pgfparserreinsert
+}
+\pgfparserset{scparser/silent=true}
+\pgfparserdefunknown{scparser}{all}{%
+ \expandafter\unisc@output\expandafter{\pgfparserletter}%
+}
+\newcommand*\unisc@bgroup{\expandafter{\iffalse}\fi}
+\newcommand*\unisc@egroup{\iffalse{\fi}}
+\pgfparserdef{scparser}{all}\begingroup
+ {\begingroup\unisc@outputexpanded\begingroup}
+\pgfparserdef{scparser}{all}\endgroup
+ {\unisc@checkend\endgroup}
+\pgfparserdef{scparser}{all}{\meaning\bgroup}{%
+ \unisc@bgroup\unisc@outputexpanded\unisc@bgroup
+}
+\pgfparserdef{scparser}{all}{\meaning\egroup}
+ {\unisc@checkend\unisc@egroup}
+\newcommand\unisc@savedefinition[1]
+ {\unexpanded{\def#1}{\unexpanded\expandafter{#1}}}
+\protected\def\unisc@checkend#1{%
+ \expanded{%
+ \unexpanded{#1}%
+ \unexpanded{\ifdefined\unisc@initiated}%
+ \unisc@savedefinition\pgfparserstate
+ \unexpanded{\unisc@outputexpanded#1}%
+ \unexpanded{\else}%
+ \unexpanded{\pgfparserswitch{final}}%
+ \unisc@savedefinition\pgfparser@current
+ \unisc@savedefinition\pgfparser@usersname
+ \unexpanded{\fi}%
+ }%
+}
+%% LATIN LETTER SMALL CAPITAL A
+\pgfparserdef{scparser}{initiated}a%
+ {\unisc@outputexpanded{\symbol{"1D00}}}
+\pgfparserdef{scparser}{initiated}A%
+ {\unisc@outputexpanded{\symbol{"1D00}}}
+%% LATIN LETTER SMALL CAPITAL B
+\pgfparserdef{scparser}{initiated}b%
+ {\unisc@outputexpanded{\symbol{"0299}}}
+\pgfparserdef{scparser}{initiated}B%
+ {\unisc@outputexpanded{\symbol{"0299}}}
+%% LATIN LETTER SMALL CAPITAL C
+\pgfparserdef{scparser}{initiated}c%
+ {\unisc@outputexpanded{\symbol{"1D04}}}
+\pgfparserdef{scparser}{initiated}C%
+ {\unisc@outputexpanded{\symbol{"1D04}}}
+%% LATIN LETTER SMALL CAPITAL D
+\pgfparserdef{scparser}{initiated}d%
+ {\unisc@outputexpanded{\symbol{"1D05}}}
+\pgfparserdef{scparser}{initiated}D%
+ {\unisc@outputexpanded{\symbol{"1D05}}}
+%% LATIN LETTER SMALL CAPITAL E
+\pgfparserdef{scparser}{initiated}e%
+ {\unisc@outputexpanded{\symbol{"1D07}}}
+\pgfparserdef{scparser}{initiated}E%
+ {\unisc@outputexpanded{\symbol{"1D07}}}
+%% LATIN LETTER SMALL CAPITAL F
+\pgfparserdef{scparser}{initiated}f%
+ {\unisc@outputexpanded{\symbol{"A730}}}
+\pgfparserdef{scparser}{initiated}F%
+ {\unisc@outputexpanded{\symbol{"A730}}}
+%% LATIN LETTER SMALL CAPITAL G
+\pgfparserdef{scparser}{initiated}g%
+ {\unisc@outputexpanded{\symbol{"0262}}}
+\pgfparserdef{scparser}{initiated}G%
+ {\unisc@outputexpanded{\symbol{"0262}}}
+%% LATIN LETTER SMALL CAPITAL H
+\pgfparserdef{scparser}{initiated}h%
+ {\unisc@outputexpanded{\symbol{"029C}}}
+\pgfparserdef{scparser}{initiated}H%
+ {\unisc@outputexpanded{\symbol{"029C}}}
+%% LATIN LETTER SMALL CAPITAL I
+\pgfparserdef{scparser}{initiated}i%
+ {\unisc@outputexpanded{\symbol{"026A}}}
+\pgfparserdef{scparser}{initiated}I%
+ {\unisc@outputexpanded{\symbol{"026A}}}
+%% LATIN LETTER SMALL CAPITAL J
+\pgfparserdef{scparser}{initiated}j%
+ {\unisc@outputexpanded{\symbol{"1D0A}}}
+\pgfparserdef{scparser}{initiated}J%
+ {\unisc@outputexpanded{\symbol{"1D0A}}}
+%% LATIN LETTER SMALL CAPITAL K
+\pgfparserdef{scparser}{initiated}k%
+ {\unisc@outputexpanded{\symbol{"1D0B}}}
+\pgfparserdef{scparser}{initiated}K%
+ {\unisc@outputexpanded{\symbol{"1D0B}}}
+%% LATIN LETTER SMALL CAPITAL L
+\pgfparserdef{scparser}{initiated}l%
+ {\unisc@outputexpanded{\symbol{"029F}}}
+\pgfparserdef{scparser}{initiated}L%
+ {\unisc@outputexpanded{\symbol{"029F}}}
+%% LATIN LETTER SMALL CAPITAL M
+\pgfparserdef{scparser}{initiated}m%
+ {\unisc@outputexpanded{\symbol{"1D0D}}}
+\pgfparserdef{scparser}{initiated}M%
+ {\unisc@outputexpanded{\symbol{"1D0D}}}
+%% LATIN LETTER SMALL CAPITAL N
+\pgfparserdef{scparser}{initiated}n%
+ {\unisc@outputexpanded{\symbol{"0274}}}
+\pgfparserdef{scparser}{initiated}N%
+ {\unisc@outputexpanded{\symbol{"0274}}}
+%% LATIN LETTER SMALL CAPITAL O
+\pgfparserdef{scparser}{initiated}o%
+ {\unisc@outputexpanded{\symbol{"1D0F}}}
+\pgfparserdef{scparser}{initiated}O%
+ {\unisc@outputexpanded{\symbol{"1D0F}}}
+%% LATIN LETTER SMALL CAPITAL P
+\pgfparserdef{scparser}{initiated}p%
+ {\unisc@outputexpanded{\symbol{"1D18}}}
+\pgfparserdef{scparser}{initiated}P%
+ {\unisc@outputexpanded{\symbol{"1D18}}}
+%% LATIN LETTER SMALL CAPITAL Q
+\pgfparserdef{scparser}{initiated}q%
+ {\unisc@outputexpanded{\symbol{"A7AF}}}
+\pgfparserdef{scparser}{initiated}Q%
+ {\unisc@outputexpanded{\symbol{"A7AF}}}
+%% LATIN LETTER SMALL CAPITAL R
+\pgfparserdef{scparser}{initiated}r%
+ {\unisc@outputexpanded{\symbol{"0280}}}
+\pgfparserdef{scparser}{initiated}R%
+ {\unisc@outputexpanded{\symbol{"0280}}}
+%% LATIN LETTER SMALL CAPITAL S
+\pgfparserdef{scparser}{initiated}s%
+ {\unisc@outputexpanded{\symbol{"A731}}}
+\pgfparserdef{scparser}{initiated}S%
+ {\unisc@outputexpanded{\symbol{"A731}}}
+%% LATIN LETTER SMALL CAPITAL T
+\pgfparserdef{scparser}{initiated}t%
+ {\unisc@outputexpanded{\symbol{"1D1B}}}
+\pgfparserdef{scparser}{initiated}T%
+ {\unisc@outputexpanded{\symbol{"1D1B}}}
+%% LATIN LETTER SMALL CAPITAL U
+\pgfparserdef{scparser}{initiated}u%
+ {\unisc@outputexpanded{\symbol{"1D1C}}}
+\pgfparserdef{scparser}{initiated}U%
+ {\unisc@outputexpanded{\symbol{"1D1C}}}
+%% LATIN LETTER SMALL CAPITAL V
+\pgfparserdef{scparser}{initiated}v%
+ {\unisc@outputexpanded{\symbol{"1D20}}}
+\pgfparserdef{scparser}{initiated}V%
+ {\unisc@outputexpanded{\symbol{"1D20}}}
+%% LATIN LETTER SMALL CAPITAL W
+\pgfparserdef{scparser}{initiated}w%
+ {\unisc@outputexpanded{\symbol{"1D21}}}
+\pgfparserdef{scparser}{initiated}W%
+ {\unisc@outputexpanded{\symbol{"1D21}}}
+%% LATIN LETTER X
+\pgfparserdef{scparser}{initiated}x{%
+ \unisc@outputexpanded{\symbol{"0078}}%
+ \PackageWarning{unisc}{%
+ You have used the unsupported character `x' in the\MessageBreak
+ argument of \string\textsc
+ }%
+}
+\pgfparserdef{scparser}{initiated}X{%
+ \unisc@outputexpanded{\symbol{"0078}}%
+ \PackageWarning{unisc}{%
+ You have used the unsupported character `X' in the\MessageBreak
+ argument of \string\textsc
+ }%
+}
+%% No Unicode number for small capital x as of now.
+%% \textsc{X} == \textsc{x} for size-consistency.
+%% LATIN LETTER SMALL CAPITAL Y
+\pgfparserdef{scparser}{initiated}y%
+ {\unisc@outputexpanded{\symbol{"028F}}}
+\pgfparserdef{scparser}{initiated}Y%
+ {\unisc@outputexpanded{\symbol{"028F}}}
+%% LATIN LETTER SMALL CAPITAL Z
+\pgfparserdef{scparser}{initiated}z%
+ {\unisc@outputexpanded{\symbol{"1D22}}}
+\pgfparserdef{scparser}{initiated}Z%
+ {\unisc@outputexpanded{\symbol{"1D22}}}
+%% BLANK SPACE
+\pgfparserdef{scparser}{initiated}{blank space}%
+ {\unisc@outputexpanded{ }}
+%% END OF INPUT CHARACTERS
+\pgfparserdeffinal{scparser}%
+ {\expanded{\unisc@outputcontainer}}
+\AddToHook{begindocument/end}{%
+ \RenewDocumentCommand\scshape{ }{%
+ \ifdefined\unisc@initiated
+ \PackageError{unisc}{Nested use not allowed}{%
+ You somehow made \string\nirshape\space expand inside
+ the parser. This isn't supported.%
+ }%
+ \expandafter\@gobbletwo
+ \else
+ \global\let\unisc@outputcontainer\@empty
+ \fi
+ \pgfparserparse{scparser}%
+ }
+ \RenewDocumentCommand\textsc{ m }{%
+ \begingroup\scshape #1\endgroup
+ }%
+}
+\endinput
+%%
+%% End of file `unisc.sty'.