summaryrefslogtreecommitdiff
path: root/macros/unicodetex/latex/fontspec/fontspec-doc-style.sty
diff options
context:
space:
mode:
Diffstat (limited to 'macros/unicodetex/latex/fontspec/fontspec-doc-style.sty')
-rw-r--r--macros/unicodetex/latex/fontspec/fontspec-doc-style.sty292
1 files changed, 292 insertions, 0 deletions
diff --git a/macros/unicodetex/latex/fontspec/fontspec-doc-style.sty b/macros/unicodetex/latex/fontspec/fontspec-doc-style.sty
new file mode 100644
index 0000000000..751e7a150d
--- /dev/null
+++ b/macros/unicodetex/latex/fontspec/fontspec-doc-style.sty
@@ -0,0 +1,292 @@
+
+
+\ProvidesPackage{fontspec-doc-style}
+
+\input{fontspec.dtx}
+\ExplSyntaxOff
+
+\usepackage{fontspec,booktabs,caption,xcolor,flafter,fancyvrb,hologo,graphicx,
+ url,varioref,varwidth,microtype,tocloft,framed,xparse,docmute}
+
+\let\FancyVerbSpace\verbvisiblespace
+
+%% Various labelling commands:
+\newcommand*\name[1]{{#1}}
+\newcommand*\opt[1]{\texttt{#1}}
+\newcommand*\feat[1]{\texttt{#1}}
+
+\let\latin\textit
+\def\eg{\latin{e.g.}}
+\def\ie{\latin{i.e.}}
+\def\Eg{\latin{E.g.}}
+\def\Ie{\latin{I.e.}}
+\def\etc{\@ifnextchar.{\latin{etc}}{\latin{etc.}\@}}
+
+\newcommand\note[1]{\unskip\footnote{#1}}
+
+\def\MacOSX{macOS}
+\def\AAT{\textsc{aat}}
+\def\ATSUI{\textsc{atsui}}
+
+\newcommand\NFSS{\textsc{nfss}}
+\newcommand\XeLaTeX{\hologo{XeLaTeX}}
+\newcommand\LuaLaTeX{\hologo{LuaLaTeX}}
+
+% ToC formatting:
+\setlength\cftsubsecnumwidth{1.4\cftsubsecnumwidth}
+%\def\@cfttocstart{\small\begin{multicols}{2}}
+%\def\@cfttocfinish{\end{multicols}}
+
+\fvset{gobble=0}
+
+\captionsetup[table]{position=above}
+\captionsetup[figure]{position=above}
+
+
+%% Fonts
+
+\defaultfontfeatures{Numbers=OldStyle}
+\IfFontExistsTF{AldusNovaPro-Book.otf}
+ {
+ \setmainfont{aldus-nova}
+ \setsansfont{palatino-sans-light}
+ }
+ {
+\setmainfont{texgyrepagella}[
+ Extension = .otf,
+ UprightFont = *-regular ,
+ ItalicFont = *-italic ,
+ BoldFont = *-bold ,
+ BoldItalicFont = *-bolditalic ,
+]
+\setsansfont{texgyreheros}[
+ Extension = .otf,
+ UprightFont = *-regular ,
+ ItalicFont = *-italic ,
+ BoldFont = *-bold ,
+ BoldItalicFont = *-bolditalic ,
+]
+ }
+\setmonofont{lmmono10-regular.otf}[
+ Numbers={Lining,SlashedZero},
+ ItalicFont=lmmonoslant10-regular.otf,
+ BoldFont=lmmonolt10-bold.otf,
+ BoldItalicFont=lmmonolt10-boldoblique.otf,
+]
+\newfontfamily\ttcondensed{lmmonoltcond10-regular.otf}
+
+%% (La)TeX font-related declarations:
+\linespread{1.05} % Pagella needs more space between lines
+\frenchspacing % Remove ugly extra space after punctuation
+
+%% ToC
+\def\@dotsep{1000}
+\setcounter{tocdepth}{2}
+\setlength\columnseprule{0.4pt}
+\renewcommand\tableofcontents{\relax
+ \begin{multicols}{2}[\section*{\contentsname}]\relax
+ \@starttoc{toc}\relax
+ \end{multicols}}
+
+
+%% Index
+\setcounter{IndexColumns}{2}
+\renewenvironment{theglossary}
+ {\small\list{}{}
+ \item\relax
+ \glossary@prologue\GlossaryParms
+ \let\item\@idxitem \ignorespaces
+ \def\pfill{\hspace*{\fill}}}
+ {\endlist}
+
+
+
+%% varioref definitions:
+\labelformat{table}{Table~#1}
+\labelformat{section}{Section~#1}
+\labelformat{subsection}{Section~#1}
+
+\definecolor{niceblue}{rgb}{0.1,0.2,0.8}
+
+
+
+
+%% EXAMPLES
+
+\newif\ifshowexamples
+\showexamplestrue
+
+\newsavebox\X
+\newsavebox\Y
+
+\newcounter{example}
+
+\newcommand\exref[1]{Example~\ref{ex:#1}}
+\newcommand\Exref[1]{Example~\ref{ex:#1}}
+
+\newenvironment{Xexample}[3][]
+ {\VerbatimEnvironment\begin{Fexample}[#1]{#2}{#3}{X}}
+ {\end{Fexample}}
+
+\newenvironment{Lexample}[3][]
+ {\VerbatimEnvironment\begin{Fexample}[#1]{#2}{#3}{L}}
+ {\end{Fexample}}
+
+\newenvironment{Fexample}[4][]
+ {%
+ \def\options{#1}%
+ \def\filename{#2}%
+ \def\captiontext{#3}%
+ \def\prefix{#4}
+ \refstepcounter{example}%
+ \label{ex:\filename}%
+ \ifshowexamples
+ \IfFileExists{zzz-\theexample-\prefix-\filename.tex}{}{%
+ \immediate\write18{rm -f zzz-\theexample-* ;}%
+ }%
+ \fi
+ \VerbatimEnvironment
+ \begin{VerbatimOut}{zzz-\theexample-\prefix-\filename.tex}}
+% text in the environment
+ {\end{VerbatimOut}
+ \begin{figure}
+ \setlength\parindent{0pt}%
+ \edef\@tempa{[gobble=0,fontsize=\noexpand\small,\options]}%
+ \savebox\X{%
+ \expandafter\BVerbatimInput
+ \@tempa{zzz-\theexample-\prefix-\filename.tex}%
+ }%
+ \IfFileExists{zzz-\theexample-\prefix-\filename.pdf}{}
+ {%
+ \edef\XXcmd{%
+ \unexpanded{%
+ \RequirePackage{luatex85}
+ \documentclass[margin=0.2mm]{standalone}
+ \usepackage{booktabs,ifthen,graphicx,xcolor,varwidth}
+ \usepackage{fontspec}
+ \defaultfontfeatures{Ligatures=TeX}
+ \begin{document}
+ \begin{varwidth}{0.7\linewidth}
+ \input} zzz-\theexample-\prefix-\filename.tex
+ \unexpanded{
+ \end{varwidth}
+ \end{document}
+ }%
+ }%
+ \edef\1{%
+ \csname prog@\prefix\endcsname "\unexpanded\expandafter{\XXcmd}";
+ printf '\@percentchar s' '\unexpanded\expandafter{\XXcmd}' > zzz-\theexample-\prefix-\filename-test.tex;
+ }%
+ \ifshowexamples
+ \immediate\write18{\unexpanded\expandafter{\1}}%
+ \fi
+ }%
+ \savebox\Y{%
+ \IfFileExists{zzz-\theexample-\prefix-\filename.pdf}
+ {\includegraphics{zzz-\theexample-\prefix-\filename.pdf}}
+ {\color{red}\itshape ---Example graphic not generated---}%
+ }
+ % TYPESETTING
+ \rule[0.5\baselineskip]{\columnwidth}{1pt}%
+ \vspace{-1.2ex}%
+ \def\@tempa{\small\textsf{Example~\theexample:~}}%
+ \settowidth\@tempdima{\@tempa\captiontext}%
+ \par
+ \ifdim\@tempdima>\linewidth
+ \settowidth\@tempdima{\@tempa}%
+ \@tempa\parbox[t]{\linewidth-\@tempdima}{\small\captiontext}%
+ \vspace{0.4\baselineskip}%
+ \else
+ \parbox{\linewidth}{\centering\@tempa~\captiontext}%
+ \fi
+ \par\rule[0.4\baselineskip]{\columnwidth}{0.4pt}\par
+ \ifdim\dimexpr\wd\X+\wd\Y>\linewidth\relax
+ \null\hfill\makebox[0pt][r]{\usebox\Y}\usebox\X
+ \else
+ \hfill\usebox\Y\hfill\usebox\X
+ \fi
+ \par\rule[0.5\baselineskip]{\columnwidth}{1pt}
+ \end{figure}
+}
+
+\def\prog@X{xelatex
+ -jobname=zzz-\theexample-X-\filename\space}
+
+\def\prog@L{lualatex
+ -jobname=zzz-\theexample-L-\filename\space}
+
+%%%%%%%%%%%%%%%%%%%%%%
+
+\newcommand*\setexsize[1]{\let\examplesize#1}
+\newcommand*\setverbwidth[1]{\def\auxwidth{#1}}
+
+
+
+\newcounter{argument}
+\g@addto@macro\endmacro{\setcounter{argument}{0}}
+\newcommand*\darg[1]{%
+ \stepcounter{argument}%
+ \noindent{\ttfamily\char`\#\theargument~:~}#1\par}
+\newcommand*\doarg[1]{%
+ \stepcounter{argument}%
+ \noindent{\ttfamily\makebox[0pt][r]{[}\char`\#\theargument]:~}#1\par}
+
+\newcommand\unichar[2]{\textsc{\MakeLowercase{u+#1: #2}}}
+
+\newcommand\cmdbox[1]{%
+ \smallskip\par\noindent
+ \fbox{\begin{varwidth}{\linewidth}
+ #1%
+ \end{varwidth}}%
+ \smallskip
+}
+\def\CMD#1{\texttt{\null#1\unskip}}
+
+
+\NewDocumentCommand \otf {somm} {%
+ \featname & #3 & \texttt{#4}
+ \IfBooleanT #1 { & \textdagger }
+ \\
+}
+\newenvironment{features}[1]{%
+ \def\NOTE{}
+ \def\thisfeatname{#1}%
+ \def\featname{\thisfeatname~~\texttt=~~\null\gdef\featname{}}%
+ \begin{table}
+ \caption{Options for the OpenType font feature `\thisfeatname'.}
+ \edef\@tempa{\noexpand\label{feat:\thisfeatname}}\@tempa
+ \centering
+ \begin{tabular}{@{}l@{}l@{\hspace{0.5\tabcolsep}}l@{\hspace{0.5\tabcolsep}}l@{}}
+ \toprule
+ Feature & Option & Tag & \\
+ \midrule
+}{
+ \bottomrule
+ \end{tabular}
+ \par\smallskip
+ \footnotesize
+ \textdagger\ These feature options can be disabled with \texttt{..Off} variants, and reset \\ to default state (neither explicitly on nor off) with \texttt{..Reset}.
+ \NOTE
+ \end{table}
+}
+
+
+%%%%%%%%%%%
+
+\def \MakePrivateLetters {%
+ \catcode `\@ = 11
+ \catcode `\_ = 11
+ \catcode `\: = 11
+}
+
+%% for LaTeX3 csnames
+\catcode `\_= 11
+
+\renewcommand\partname{Part}
+
+
+% /©
+%
+% (COPYRIGHT GOES HERE)
+%
+% ©/