texlive[63101] Master: unisc (21apr22)

commits+karl at tug.org commits+karl at tug.org
Thu Apr 21 22:16:55 CEST 2022


Revision: 63101
          http://tug.org/svn/texlive?view=revision&revision=63101
Author:   karl
Date:     2022-04-21 22:16:55 +0200 (Thu, 21 Apr 2022)
Log Message:
-----------
unisc (21apr22)

Modified Paths:
--------------
    trunk/Master/tlpkg/bin/tlpkg-ctan-check
    trunk/Master/tlpkg/tlpsrc/collection-latexextra.tlpsrc

Added Paths:
-----------
    trunk/Master/texmf-dist/doc/latex/unisc/
    trunk/Master/texmf-dist/doc/latex/unisc/README.txt
    trunk/Master/texmf-dist/doc/latex/unisc/unisc.pdf
    trunk/Master/texmf-dist/source/latex/unisc/
    trunk/Master/texmf-dist/source/latex/unisc/unisc.dtx
    trunk/Master/texmf-dist/source/latex/unisc/unisc.ins
    trunk/Master/texmf-dist/tex/latex/unisc/
    trunk/Master/texmf-dist/tex/latex/unisc/unisc.sty
    trunk/Master/tlpkg/tlpsrc/unisc.tlpsrc

Added: trunk/Master/texmf-dist/doc/latex/unisc/README.txt
===================================================================
--- trunk/Master/texmf-dist/doc/latex/unisc/README.txt	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/unisc/README.txt	2022-04-21 20:16:55 UTC (rev 63101)
@@ -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+
+-------------------------------------------------------
+
+


Property changes on: trunk/Master/texmf-dist/doc/latex/unisc/README.txt
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/unisc/unisc.pdf
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/unisc/unisc.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/latex/unisc/unisc.pdf	2022-04-21 20:15:12 UTC (rev 63100)
+++ trunk/Master/texmf-dist/doc/latex/unisc/unisc.pdf	2022-04-21 20:16:55 UTC (rev 63101)

Property changes on: trunk/Master/texmf-dist/doc/latex/unisc/unisc.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/source/latex/unisc/unisc.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/unisc/unisc.dtx	                        (rev 0)
+++ trunk/Master/texmf-dist/source/latex/unisc/unisc.dtx	2022-04-21 20:16:55 UTC (rev 63101)
@@ -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 at pm.me}^^A
+%     {\faIcon{envelope} \texttt{hi.niranjan at 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 at output#1{%
+  \xdef\unisc at outputcontainer{%
+    \unexpanded\expandafter{%
+      \unisc at outputcontainer\unexpanded{#1}%
+    }%
+  }%
+}
+\protected\long\def\unisc at outputexpanded#1{%
+  \xdef\unisc at outputcontainer{%
+    \unexpanded\expandafter{\unisc at outputcontainer#1%
+    }%
+  }%
+}
+\providecommand\@gobbletwo[2]{}
+\pgfparserdefunknown{scparser}{initial}{%
+  \let\unisc at initiated\@empty
+  \pgfparserswitch{initiated}%
+  \pgfparserreinsert
+}
+\pgfparserset{scparser/silent=true}
+\pgfparserdefunknown{scparser}{all}{%
+  \expandafter\unisc at output\expandafter{\pgfparserletter}%
+}
+\newcommand*\unisc at bgroup{\expandafter{\iffalse}\fi}
+\newcommand*\unisc at egroup{\iffalse{\fi}}
+\pgfparserdef{scparser}{all}\begingroup
+  {\begingroup\unisc at outputexpanded\begingroup}
+\pgfparserdef{scparser}{all}\endgroup
+  {\unisc at checkend\endgroup}
+\pgfparserdef{scparser}{all}{\meaning\bgroup}{%
+  \unisc at bgroup\unisc at outputexpanded\unisc at bgroup
+}
+\pgfparserdef{scparser}{all}{\meaning\egroup}
+  {\unisc at checkend\unisc at egroup}
+\newcommand\unisc at savedefinition[1]
+  {\unexpanded{\def#1}{\unexpanded\expandafter{#1}}}
+\protected\def\unisc at checkend#1{%
+  \expanded{%
+    \unexpanded{#1}%
+    \unexpanded{\ifdefined\unisc at initiated}%
+    \unisc at savedefinition\pgfparserstate
+    \unexpanded{\unisc at outputexpanded#1}%
+    \unexpanded{\else}%
+    \unexpanded{\pgfparserswitch{final}}%
+    \unisc at savedefinition\pgfparser at current
+    \unisc at savedefinition\pgfparser at 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 at outputexpanded{\symbol{"1D00}}}
+\pgfparserdef{scparser}{initiated}A%
+  {\unisc at outputexpanded{\symbol{"1D00}}}
+%% LATIN LETTER SMALL CAPITAL B
+\pgfparserdef{scparser}{initiated}b%
+  {\unisc at outputexpanded{\symbol{"0299}}}
+\pgfparserdef{scparser}{initiated}B%
+  {\unisc at outputexpanded{\symbol{"0299}}}
+%% LATIN LETTER SMALL CAPITAL C
+\pgfparserdef{scparser}{initiated}c%
+  {\unisc at outputexpanded{\symbol{"1D04}}}
+\pgfparserdef{scparser}{initiated}C%
+  {\unisc at outputexpanded{\symbol{"1D04}}}
+%% LATIN LETTER SMALL CAPITAL D
+\pgfparserdef{scparser}{initiated}d%
+  {\unisc at outputexpanded{\symbol{"1D05}}}
+\pgfparserdef{scparser}{initiated}D%
+  {\unisc at outputexpanded{\symbol{"1D05}}}
+%% LATIN LETTER SMALL CAPITAL E
+\pgfparserdef{scparser}{initiated}e%
+  {\unisc at outputexpanded{\symbol{"1D07}}}
+\pgfparserdef{scparser}{initiated}E%
+  {\unisc at outputexpanded{\symbol{"1D07}}}
+%% LATIN LETTER SMALL CAPITAL F
+\pgfparserdef{scparser}{initiated}f%
+  {\unisc at outputexpanded{\symbol{"A730}}}
+\pgfparserdef{scparser}{initiated}F%
+  {\unisc at outputexpanded{\symbol{"A730}}}
+%% LATIN LETTER SMALL CAPITAL G
+\pgfparserdef{scparser}{initiated}g%
+  {\unisc at outputexpanded{\symbol{"0262}}}
+\pgfparserdef{scparser}{initiated}G%
+  {\unisc at outputexpanded{\symbol{"0262}}}
+%% LATIN LETTER SMALL CAPITAL H
+\pgfparserdef{scparser}{initiated}h%
+  {\unisc at outputexpanded{\symbol{"029C}}}
+\pgfparserdef{scparser}{initiated}H%
+  {\unisc at outputexpanded{\symbol{"029C}}}
+%% LATIN LETTER SMALL CAPITAL I
+\pgfparserdef{scparser}{initiated}i%
+  {\unisc at outputexpanded{\symbol{"026A}}}
+\pgfparserdef{scparser}{initiated}I%
+  {\unisc at outputexpanded{\symbol{"026A}}}
+%% LATIN LETTER SMALL CAPITAL J
+\pgfparserdef{scparser}{initiated}j%
+  {\unisc at outputexpanded{\symbol{"1D0A}}}
+\pgfparserdef{scparser}{initiated}J%
+  {\unisc at outputexpanded{\symbol{"1D0A}}}
+%% LATIN LETTER SMALL CAPITAL K
+\pgfparserdef{scparser}{initiated}k%
+  {\unisc at outputexpanded{\symbol{"1D0B}}}
+\pgfparserdef{scparser}{initiated}K%
+  {\unisc at outputexpanded{\symbol{"1D0B}}}
+%% LATIN LETTER SMALL CAPITAL L
+\pgfparserdef{scparser}{initiated}l%
+  {\unisc at outputexpanded{\symbol{"029F}}}
+\pgfparserdef{scparser}{initiated}L%
+  {\unisc at outputexpanded{\symbol{"029F}}}
+%% LATIN LETTER SMALL CAPITAL M
+\pgfparserdef{scparser}{initiated}m%
+  {\unisc at outputexpanded{\symbol{"1D0D}}}
+\pgfparserdef{scparser}{initiated}M%
+  {\unisc at outputexpanded{\symbol{"1D0D}}}
+%% LATIN LETTER SMALL CAPITAL N
+\pgfparserdef{scparser}{initiated}n%
+  {\unisc at outputexpanded{\symbol{"0274}}}
+\pgfparserdef{scparser}{initiated}N%
+  {\unisc at outputexpanded{\symbol{"0274}}}
+%% LATIN LETTER SMALL CAPITAL O
+\pgfparserdef{scparser}{initiated}o%
+  {\unisc at outputexpanded{\symbol{"1D0F}}}
+\pgfparserdef{scparser}{initiated}O%
+  {\unisc at outputexpanded{\symbol{"1D0F}}}
+%% LATIN LETTER SMALL CAPITAL P
+\pgfparserdef{scparser}{initiated}p%
+  {\unisc at outputexpanded{\symbol{"1D18}}}
+\pgfparserdef{scparser}{initiated}P%
+  {\unisc at outputexpanded{\symbol{"1D18}}}
+%% LATIN LETTER SMALL CAPITAL Q
+\pgfparserdef{scparser}{initiated}q%
+  {\unisc at outputexpanded{\symbol{"A7AF}}}
+\pgfparserdef{scparser}{initiated}Q%
+  {\unisc at outputexpanded{\symbol{"A7AF}}}
+%% LATIN LETTER SMALL CAPITAL R
+\pgfparserdef{scparser}{initiated}r%
+  {\unisc at outputexpanded{\symbol{"0280}}}
+\pgfparserdef{scparser}{initiated}R%
+  {\unisc at outputexpanded{\symbol{"0280}}}
+%% LATIN LETTER SMALL CAPITAL S
+\pgfparserdef{scparser}{initiated}s%
+  {\unisc at outputexpanded{\symbol{"A731}}}
+\pgfparserdef{scparser}{initiated}S%
+  {\unisc at outputexpanded{\symbol{"A731}}}
+%% LATIN LETTER SMALL CAPITAL T
+\pgfparserdef{scparser}{initiated}t%
+  {\unisc at outputexpanded{\symbol{"1D1B}}}
+\pgfparserdef{scparser}{initiated}T%
+  {\unisc at outputexpanded{\symbol{"1D1B}}}
+%% LATIN LETTER SMALL CAPITAL U
+\pgfparserdef{scparser}{initiated}u%
+  {\unisc at outputexpanded{\symbol{"1D1C}}}
+\pgfparserdef{scparser}{initiated}U%
+  {\unisc at outputexpanded{\symbol{"1D1C}}}
+%% LATIN LETTER SMALL CAPITAL V
+\pgfparserdef{scparser}{initiated}v%
+  {\unisc at outputexpanded{\symbol{"1D20}}}
+\pgfparserdef{scparser}{initiated}V%
+  {\unisc at outputexpanded{\symbol{"1D20}}}
+%% LATIN LETTER SMALL CAPITAL W
+\pgfparserdef{scparser}{initiated}w%
+  {\unisc at outputexpanded{\symbol{"1D21}}}
+\pgfparserdef{scparser}{initiated}W%
+  {\unisc at outputexpanded{\symbol{"1D21}}}
+%% LATIN LETTER X
+\pgfparserdef{scparser}{initiated}x{%
+  \unisc at outputexpanded{\symbol{"0078}}%
+  \PackageWarning{unisc}{%
+    You have used the unsupported character `x' in the\MessageBreak
+    argument of \string\textsc
+  }%
+}
+\pgfparserdef{scparser}{initiated}X{%
+  \unisc at 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 at outputexpanded{\symbol{"028F}}}
+\pgfparserdef{scparser}{initiated}Y%
+  {\unisc at outputexpanded{\symbol{"028F}}}
+%% LATIN LETTER SMALL CAPITAL Z
+\pgfparserdef{scparser}{initiated}z%
+  {\unisc at outputexpanded{\symbol{"1D22}}}
+\pgfparserdef{scparser}{initiated}Z%
+  {\unisc at outputexpanded{\symbol{"1D22}}}
+%% BLANK SPACE
+\pgfparserdef{scparser}{initiated}{blank space}%
+  {\unisc at outputexpanded{ }}
+%% END OF INPUT CHARACTERS
+\pgfparserdeffinal{scparser}%
+  {\expanded{\unisc at outputcontainer}}
+%    \end{macrocode}
+% Renew the definitions of \cs{textsc} \& \cs{scshape}
+% commands.
+%    \begin{macrocode}
+\AddToHook{begindocument/end}{%
+  \RenewDocumentCommand\scshape{  }{%
+    \ifdefined\unisc at 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 at 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


Property changes on: trunk/Master/texmf-dist/source/latex/unisc/unisc.dtx
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/source/latex/unisc/unisc.ins
===================================================================
--- trunk/Master/texmf-dist/source/latex/unisc/unisc.ins	                        (rev 0)
+++ trunk/Master/texmf-dist/source/latex/unisc/unisc.ins	2022-04-21 20:16:55 UTC (rev 63101)
@@ -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

Added: trunk/Master/texmf-dist/tex/latex/unisc/unisc.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/unisc/unisc.sty	                        (rev 0)
+++ trunk/Master/texmf-dist/tex/latex/unisc/unisc.sty	2022-04-21 20:16:55 UTC (rev 63101)
@@ -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 at output#1{%
+  \xdef\unisc at outputcontainer{%
+    \unexpanded\expandafter{%
+      \unisc at outputcontainer\unexpanded{#1}%
+    }%
+  }%
+}
+\protected\long\def\unisc at outputexpanded#1{%
+  \xdef\unisc at outputcontainer{%
+    \unexpanded\expandafter{\unisc at outputcontainer#1%
+    }%
+  }%
+}
+\providecommand\@gobbletwo[2]{}
+\pgfparserdefunknown{scparser}{initial}{%
+  \let\unisc at initiated\@empty
+  \pgfparserswitch{initiated}%
+  \pgfparserreinsert
+}
+\pgfparserset{scparser/silent=true}
+\pgfparserdefunknown{scparser}{all}{%
+  \expandafter\unisc at output\expandafter{\pgfparserletter}%
+}
+\newcommand*\unisc at bgroup{\expandafter{\iffalse}\fi}
+\newcommand*\unisc at egroup{\iffalse{\fi}}
+\pgfparserdef{scparser}{all}\begingroup
+  {\begingroup\unisc at outputexpanded\begingroup}
+\pgfparserdef{scparser}{all}\endgroup
+  {\unisc at checkend\endgroup}
+\pgfparserdef{scparser}{all}{\meaning\bgroup}{%
+  \unisc at bgroup\unisc at outputexpanded\unisc at bgroup
+}
+\pgfparserdef{scparser}{all}{\meaning\egroup}
+  {\unisc at checkend\unisc at egroup}
+\newcommand\unisc at savedefinition[1]
+  {\unexpanded{\def#1}{\unexpanded\expandafter{#1}}}
+\protected\def\unisc at checkend#1{%
+  \expanded{%
+    \unexpanded{#1}%
+    \unexpanded{\ifdefined\unisc at initiated}%
+    \unisc at savedefinition\pgfparserstate
+    \unexpanded{\unisc at outputexpanded#1}%
+    \unexpanded{\else}%
+    \unexpanded{\pgfparserswitch{final}}%
+    \unisc at savedefinition\pgfparser at current
+    \unisc at savedefinition\pgfparser at usersname
+    \unexpanded{\fi}%
+  }%
+}
+%% LATIN LETTER SMALL CAPITAL A
+\pgfparserdef{scparser}{initiated}a%
+  {\unisc at outputexpanded{\symbol{"1D00}}}
+\pgfparserdef{scparser}{initiated}A%
+  {\unisc at outputexpanded{\symbol{"1D00}}}
+%% LATIN LETTER SMALL CAPITAL B
+\pgfparserdef{scparser}{initiated}b%
+  {\unisc at outputexpanded{\symbol{"0299}}}
+\pgfparserdef{scparser}{initiated}B%
+  {\unisc at outputexpanded{\symbol{"0299}}}
+%% LATIN LETTER SMALL CAPITAL C
+\pgfparserdef{scparser}{initiated}c%
+  {\unisc at outputexpanded{\symbol{"1D04}}}
+\pgfparserdef{scparser}{initiated}C%
+  {\unisc at outputexpanded{\symbol{"1D04}}}
+%% LATIN LETTER SMALL CAPITAL D
+\pgfparserdef{scparser}{initiated}d%
+  {\unisc at outputexpanded{\symbol{"1D05}}}
+\pgfparserdef{scparser}{initiated}D%
+  {\unisc at outputexpanded{\symbol{"1D05}}}
+%% LATIN LETTER SMALL CAPITAL E
+\pgfparserdef{scparser}{initiated}e%
+  {\unisc at outputexpanded{\symbol{"1D07}}}
+\pgfparserdef{scparser}{initiated}E%
+  {\unisc at outputexpanded{\symbol{"1D07}}}
+%% LATIN LETTER SMALL CAPITAL F
+\pgfparserdef{scparser}{initiated}f%
+  {\unisc at outputexpanded{\symbol{"A730}}}
+\pgfparserdef{scparser}{initiated}F%
+  {\unisc at outputexpanded{\symbol{"A730}}}
+%% LATIN LETTER SMALL CAPITAL G
+\pgfparserdef{scparser}{initiated}g%
+  {\unisc at outputexpanded{\symbol{"0262}}}
+\pgfparserdef{scparser}{initiated}G%
+  {\unisc at outputexpanded{\symbol{"0262}}}
+%% LATIN LETTER SMALL CAPITAL H
+\pgfparserdef{scparser}{initiated}h%
+  {\unisc at outputexpanded{\symbol{"029C}}}
+\pgfparserdef{scparser}{initiated}H%
+  {\unisc at outputexpanded{\symbol{"029C}}}
+%% LATIN LETTER SMALL CAPITAL I
+\pgfparserdef{scparser}{initiated}i%
+  {\unisc at outputexpanded{\symbol{"026A}}}
+\pgfparserdef{scparser}{initiated}I%
+  {\unisc at outputexpanded{\symbol{"026A}}}
+%% LATIN LETTER SMALL CAPITAL J
+\pgfparserdef{scparser}{initiated}j%
+  {\unisc at outputexpanded{\symbol{"1D0A}}}
+\pgfparserdef{scparser}{initiated}J%
+  {\unisc at outputexpanded{\symbol{"1D0A}}}
+%% LATIN LETTER SMALL CAPITAL K
+\pgfparserdef{scparser}{initiated}k%
+  {\unisc at outputexpanded{\symbol{"1D0B}}}
+\pgfparserdef{scparser}{initiated}K%
+  {\unisc at outputexpanded{\symbol{"1D0B}}}
+%% LATIN LETTER SMALL CAPITAL L
+\pgfparserdef{scparser}{initiated}l%
+  {\unisc at outputexpanded{\symbol{"029F}}}
+\pgfparserdef{scparser}{initiated}L%
+  {\unisc at outputexpanded{\symbol{"029F}}}
+%% LATIN LETTER SMALL CAPITAL M
+\pgfparserdef{scparser}{initiated}m%
+  {\unisc at outputexpanded{\symbol{"1D0D}}}
+\pgfparserdef{scparser}{initiated}M%
+  {\unisc at outputexpanded{\symbol{"1D0D}}}
+%% LATIN LETTER SMALL CAPITAL N
+\pgfparserdef{scparser}{initiated}n%
+  {\unisc at outputexpanded{\symbol{"0274}}}
+\pgfparserdef{scparser}{initiated}N%
+  {\unisc at outputexpanded{\symbol{"0274}}}
+%% LATIN LETTER SMALL CAPITAL O
+\pgfparserdef{scparser}{initiated}o%
+  {\unisc at outputexpanded{\symbol{"1D0F}}}
+\pgfparserdef{scparser}{initiated}O%
+  {\unisc at outputexpanded{\symbol{"1D0F}}}
+%% LATIN LETTER SMALL CAPITAL P
+\pgfparserdef{scparser}{initiated}p%
+  {\unisc at outputexpanded{\symbol{"1D18}}}
+\pgfparserdef{scparser}{initiated}P%
+  {\unisc at outputexpanded{\symbol{"1D18}}}
+%% LATIN LETTER SMALL CAPITAL Q
+\pgfparserdef{scparser}{initiated}q%
+  {\unisc at outputexpanded{\symbol{"A7AF}}}
+\pgfparserdef{scparser}{initiated}Q%
+  {\unisc at outputexpanded{\symbol{"A7AF}}}
+%% LATIN LETTER SMALL CAPITAL R
+\pgfparserdef{scparser}{initiated}r%
+  {\unisc at outputexpanded{\symbol{"0280}}}
+\pgfparserdef{scparser}{initiated}R%
+  {\unisc at outputexpanded{\symbol{"0280}}}
+%% LATIN LETTER SMALL CAPITAL S
+\pgfparserdef{scparser}{initiated}s%
+  {\unisc at outputexpanded{\symbol{"A731}}}
+\pgfparserdef{scparser}{initiated}S%
+  {\unisc at outputexpanded{\symbol{"A731}}}
+%% LATIN LETTER SMALL CAPITAL T
+\pgfparserdef{scparser}{initiated}t%
+  {\unisc at outputexpanded{\symbol{"1D1B}}}
+\pgfparserdef{scparser}{initiated}T%
+  {\unisc at outputexpanded{\symbol{"1D1B}}}
+%% LATIN LETTER SMALL CAPITAL U
+\pgfparserdef{scparser}{initiated}u%
+  {\unisc at outputexpanded{\symbol{"1D1C}}}
+\pgfparserdef{scparser}{initiated}U%
+  {\unisc at outputexpanded{\symbol{"1D1C}}}
+%% LATIN LETTER SMALL CAPITAL V
+\pgfparserdef{scparser}{initiated}v%
+  {\unisc at outputexpanded{\symbol{"1D20}}}
+\pgfparserdef{scparser}{initiated}V%
+  {\unisc at outputexpanded{\symbol{"1D20}}}
+%% LATIN LETTER SMALL CAPITAL W
+\pgfparserdef{scparser}{initiated}w%
+  {\unisc at outputexpanded{\symbol{"1D21}}}
+\pgfparserdef{scparser}{initiated}W%
+  {\unisc at outputexpanded{\symbol{"1D21}}}
+%% LATIN LETTER X
+\pgfparserdef{scparser}{initiated}x{%
+  \unisc at outputexpanded{\symbol{"0078}}%
+  \PackageWarning{unisc}{%
+    You have used the unsupported character `x' in the\MessageBreak
+    argument of \string\textsc
+  }%
+}
+\pgfparserdef{scparser}{initiated}X{%
+  \unisc at 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 at outputexpanded{\symbol{"028F}}}
+\pgfparserdef{scparser}{initiated}Y%
+  {\unisc at outputexpanded{\symbol{"028F}}}
+%% LATIN LETTER SMALL CAPITAL Z
+\pgfparserdef{scparser}{initiated}z%
+  {\unisc at outputexpanded{\symbol{"1D22}}}
+\pgfparserdef{scparser}{initiated}Z%
+  {\unisc at outputexpanded{\symbol{"1D22}}}
+%% BLANK SPACE
+\pgfparserdef{scparser}{initiated}{blank space}%
+  {\unisc at outputexpanded{ }}
+%% END OF INPUT CHARACTERS
+\pgfparserdeffinal{scparser}%
+  {\expanded{\unisc at outputcontainer}}
+\AddToHook{begindocument/end}{%
+  \RenewDocumentCommand\scshape{  }{%
+    \ifdefined\unisc at 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 at outputcontainer\@empty
+    \fi
+    \pgfparserparse{scparser}%
+  }
+  \RenewDocumentCommand\textsc{ m }{%
+    \begingroup\scshape #1\endgroup
+  }%
+}
+\endinput
+%%
+%% End of file `unisc.sty'.


Property changes on: trunk/Master/texmf-dist/tex/latex/unisc/unisc.sty
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Modified: trunk/Master/tlpkg/bin/tlpkg-ctan-check
===================================================================
--- trunk/Master/tlpkg/bin/tlpkg-ctan-check	2022-04-21 20:15:12 UTC (rev 63100)
+++ trunk/Master/tlpkg/bin/tlpkg-ctan-check	2022-04-21 20:16:55 UTC (rev 63101)
@@ -836,7 +836,7 @@
     unfonts-core unfonts-extra
     uni-titlepage uni-wtal-ger uni-wtal-lin
     unicode-alphabets unicode-data unicode-bidi unicode-math
-    unicodefonttable unifith uninormalize uniquecounter unisugar
+    unicodefonttable unifith uninormalize uniquecounter unisc unisugar
     unitconv unitn-bimrep units unitsdef
     universa universalis univie-ling unizgklasa
     unravel unswcover

Modified: trunk/Master/tlpkg/tlpsrc/collection-latexextra.tlpsrc
===================================================================
--- trunk/Master/tlpkg/tlpsrc/collection-latexextra.tlpsrc	2022-04-21 20:15:12 UTC (rev 63100)
+++ trunk/Master/tlpkg/tlpsrc/collection-latexextra.tlpsrc	2022-04-21 20:16:55 UTC (rev 63101)
@@ -1336,6 +1336,7 @@
 depend undolabl
 depend uni-titlepage
 depend unicodefonttable
+depend unisc
 depend unitconv
 depend units
 depend unravel

Added: trunk/Master/tlpkg/tlpsrc/unisc.tlpsrc
===================================================================


More information about the tex-live-commits mailing list.