%% $Id: lucida-otf-doc.tex 1177 2025-12-10 16:03:18Z herbert $
% Copyright 2012-2015 TeX Users Group.
% 
% Copying and distribution of this file, with or without modification,
% are permitted in any medium, without royalty.

\listfiles
\documentclass[11pt]{article}
\usepackage{geometry}

\usepackage{fontspec}
\newfontface\Lucida{LucidaBrightOT}
\usepackage{xcolor,xltabular}

\usepackage[useKerning,
            TT={Scale=0.88,FakeStretch=0.9},
            SS={Scale=0.9},
            RM={Scale=0.9},
            DefaultFeatures={Ligatures=TeX}]{lucida-otf}  % support opentype math fonts

\newfontface\LucidaKern{LucidaBrightOT}[RawFeature=+lucidaletterkerning]

\newcommand\sK[1]{\textcolor{red}{\rlap{\Lucida\large#1}}\textcolor{blue}{\LucidaKern\large#1}}
\usepackage{biblatex}
\addbibresource{\jobname.bib}
\usepackage{array}
\usepackage{metalogo} % for \XeTeX logo
\usepackage{booktabs} % for examples
\usepackage{ltablex} % for examples
\usepackage{listings} % for code
\usepackage{dtk-logos} % for Wikipedia W
\usepackage{minted-code} % for Wikipedia W


\pagestyle{headings}

\usepackage[colorlinks,hyperfootnotes=false]{hyperref}
% define \code for url-like breaking of typewriter fragments.
\ifx\nolinkurl\undefined \let\code\url \else \let\code\nolinkurl \fi

% Define \cs to prepend a backslash, and be unbreakable:
\DeclareRobustCommand\cs[1]{\mbox{\texttt{\char`\\#1}}}

% An environment like quote, but less space above and more below:
\newenvironment{demoquote}
   {\tabularx{\dimexpr\linewidth+\marginparwidth}{@{} X >{\ttfamily}l @{}}}
   {\endtabularx}


\title{Support for the Lucida OpenType fonts from TUG}
\author{Herbert Voß}
\begin{document}
\maketitle
\tableofcontents

\section{Introduction}

{\def\thefootnote{}
% article.cls uses 1.8em for the footnote indent.
\footnotetext{\kern-1.8em \textregistered\ Lucida is a trademark of
Bigelow \& Holmes Inc.\ registered in the U.S. Patent \& Trademark
Office and other jurisdictions.}
}

This document contains examples of the Lucida OpenType fonts available
through TUG.  They can be used with any OpenType-aware application,
including the Lua\TeX\ and \XeTeX\ extensions of \TeX\ (but not
pdf\TeX).

A brief overview:

\begin{itemize}
\item Math fonts: Lucida Bright Math and Lucida Bright Math Demi,
extended OpenType versions of the original Type~1 Lucida math fonts.

\item Three text families (regular, italic, bold, bold italic) also 
coming from the original Type~1 distribution: Lucida Bright, Lucida
Sans, and Lucida Sans Typewriter.

\item Three specialized fonts from the original Type~1
distribution: Blackletter, Calligraphy, and Handwriting.

\item Two additional monospaced font families (same four variants):
Lucida Grande Mono DK and Lucida Console DK.  These have O (oh), and Q
glyphs modified to a somewhat squarish shape, and the 0~(zero) glyph
open rather than slashed, as preferred by Don Knuth.  As usual, Lucida
ConsoleDK has shorter capitals than Grande Mono, among other smaller
changes.  (If you don't have the DK fonts and want to remake this
document as a test, you'll need to remove the references to them.)

\end{itemize}

The package \texttt{lucida-otf} supports all families with specific optional
arguments:

\begin{tabular}{@{} >{\ttfamily}l l @{}}\\\toprule
\emph{name} & \emph{meaning}\\\midrule
RM & Lucida Bright (Roman)\\
SS & Lucida Sans\\
TT & Lucida Sans Typewriter\\
GTT & Lucida GrandeDK\\
CTT & Lucida ConsoleDK \\
MM & Lucida Math\\
MMbold & Lucida Boldmath\\
BL & Lucida Blacklatter\\
CAL & Lucida Calligraphy\\
HW & Lucida Handwriting\\
DefaultFeatures & for all font styles\\\bottomrule
\end{tabular}

\bigskip
Except math all fonts are preset with \texttt{Scale=0.92}. For this documentation
we use instead:

\begin{verbatim}
\usepackage[TT={Scale=0.88,FakeStretch=0.9},
            SS={Scale=0.9},
            RM={Scale=0.9},
            DefaultFeatures={Ligatures=TeX}]{lucida-otf}  % support opentype lucida fonts
\end{verbatim}

\begin{sloppypar}
The standard font families \texttt{rm}, \texttt{sf}, and \texttt{tt} 
can be used as usual for any \LaTeX\  engine. The other specific Lucida fonts
can be used by one of the macros \cs{LucidaBlackletter}, 
\cs{LucidaCalligraphy}, 
\cs{LucidaHandwriting},
\cs{LucidaGrandeMonoDK}, and
\cs{LucidaConsoleDK}. They are defined as:
\end{sloppypar}





\begin{verbatim}
% The specialized one-off fonts:
\newfontface\LucidaBlackletter{LucidaBlackletterOT}[Extension=.otf,\lucidaBL@features]
\newfontface\LucidaCalligraphy{LucidaCalligraphyOT-Italic}[Extension=.otf,\lucidaCAL@features]
\newfontface\LucidaHandwriting{LucidaHandwritingOT-Italic}[Extension=.otf,\lucidaHW@features]
%
% GrandeMono and Console fonts for an example:

\newfontfamily\LucidaGrandeMonoDK{LucidaGrandeMonoDK}[
       Extension = .otf,
  \lucidaGrandeTT@features,
      ItalicFont = *-Italic,
        BoldFont = *-Bold,
  BoldItalicFont = *-BoldItalic
]
%
\newfontfamily\LucidaConsoleDK{LucidaConsoleDK}[%
       Extension = .otf,
  \lucidaConsoleTT@features,
      ItalicFont = *-Italic,
        BoldFont = *-Bold,
  BoldItalicFont = *-BoldItalic
]
\end{verbatim}


\section{Kerning}

For Lua\LaTeX\ 
the package uses by default a kerning table (Kerning table \texttt{lucida-otf.kern} was created 
by Bruno Bischoffberger (\url{https://github.com/whilealive/LaTexStyles}) and extended by the original
kernings from YandY (\url{http://tug.org/yandy}).

An example (Blue is  \emph{with} kerning):



\noindent
\sK{AC}, \sK{AG}, \sK{AJ}, \sK{AO}, \sK{AQ}, \sK{AS}, \sK{AT}, \sK{AU}, \sK{AV}, \sK{AW}, 
\sK{Aa}, \sK{Ac}, \sK{Ae}, \sK{Ao}, \sK{Ap}, \sK{Aq}, \sK{At}, 
\sK{Av}, \sK{Ay}, \sK{Az}, \sK{Ce}, \sK{Co}, \sK{Cw}, \sK{Cy}, \sK{Da}, \sK{De}, \sK{Do},
	\sK{Fa}, \sK{Fe}, \sK{Fy}, \sK{Ha}, \sK{He}, \sK{Ib}, \sK{Io}, \sK{Iq}, \sK{Ja}, 
	\sK{Je}, 
	\sK{Jo}, \sK{Ka}, \sK{Ke}, \sK{Ko}, \sK{Ku}, \sK{Ky},
	\sK{Ly}, \sK{Na}, \sK{Ni}, \sK{No}, \sK{Oa}, \sK{Og}, \sK{Oh}, \sK{Ok}, \sK{Ol}, 
	\sK{Ot}, \sK{Pa}, \sK{Po}, \sK{Pv}, \sK{Pw},
	\sK{Ra}, \sK{Rd}, \sK{Re}, \sK{Rj}, \sK{Ro}, \sK{Ru}, \sK{Rw}, \sK{Ry}, \sK{Ta}, 
	\sK{Td}, \sK{Te}, \sK{To}, \sK{Tr}, \sK{Ts}, \sK{Tu}, \sK{Tw}, \sK{Ty}, \sK{Tz},
	\sK{Va}, \sK{Ve}, \sK{Vo}, \sK{Vs}, \sK{Wa}, \sK{We}, \sK{Wo}, \sK{Wy}, \sK{Ya}, 
	\sK{Ye}, \sK{Yi}, \sK{Yo}, \sK{Yp}, \sK{Ys}, \sK{Yu},
	\sK{Za}, \sK{Ze}, \sK{Zo}, \sK{Zu}, \sK{Zü}, \sK{Zy}


If you do not want to use the kerning table, then load the package with the optional argument \texttt{useKerning=false}.

\section{Stylistic sets for math}

It makes no real sense to change the setting in the middle of a text docuument,
because it should be used for the complete document.

\newsavebox\MBoxA
\savebox\MBoxA{$\sum$}

\newsavebox\MBoxB
\savebox\MBoxB{\Lss03{\sum}}

For example, with:
\begin{verbatim}
\usepackage[MM={StylisticSet=ss03}]{LucidaBrightMathOT.otf}
\end{verbatim}
%         \Lss03{\sum} vs.\ default $\sum$.}\\

\noindent
the $\sum$ has a smaller height of \the\dimexpr\ht\MBoxB+\dp\MBoxB\relax\ instead of the default
height of \the\dimexpr\ht\MBoxA+\dp\MBoxA\relax.
%
%\the\ht\MBoxA
%\the\dp\MBoxA
%
%\the\ht\MBoxB
%\the\dp\MBoxB
%
However, a local change of the math features is possible with the macro \verb|\Lss|.
It expects two digits and the math argument

\begin{exampleA}[righthand width=0.4\linewidth]{Local change of math features}
\Lss03{\sum} vs.\ default $\sum$.
\end{exampleA}


\def\tablevbox#1{\vtop{%
  \advance\hsize by -3pc
  \advance\baselineskip by -.4pt
  \strut #1\strut
  \vadjust{\vskip 1pt}\par
}}

\noindent
\begin{xltabular}{\linewidth}{@{} l X @{}}
ss01 & \tablevbox{alternate Latin lower case math italic identical to
         text italic.  This option is not recommended as Greek $\nu$
         (nu) and Latin \Lss01{v} (vee) become too similar;
         cf.\ default vee: $v$.}\\
%
ss02 & \tablevbox{smaller arrows (original Type\,1 size):
         \Lss02{\Uparrow} vs.\ default $\Uparrow$.}\\
%
ss03 & \tablevbox{smaller operators (original Type\,1 size):
         \Lss03{\sum} vs.\ default $\sum$.}\\
%
ss04 & \tablevbox{calligraphic alternative (similar to the Type\,1
         design) to the math script alphabet:
         \Lss04{\mathscr{ABC\,xyz}} vs.\ default
         $\mathscr{\,ABC\,xyz}$.}\\
%
ss05 & \tablevbox{use a slashed-zero style for the empty set character
         (U+2205):\newline \Lss05{\emptyset} vs.\ default
         $\emptyset$.}\\
%
ss20 & \tablevbox{upright partial differential character (U+2202):
         \Lss20{\partial} vs.\ default $\partial$.}\\
\end{xltabular}



\section{Text examples}

\newcommand\demotext{%
  For \textsterling 45, almost anything can
  be found floating in fields. 
  !`THE DAZED BROWN FOX QUICKLY GAVE 12345--67890 JUMPS!
  --- ?`But aren't Kafka's Schlo\ss{} and
  \AE sop's \OE uvres often na\"\i ve vis-\`a-vis the d\ae monic
  ph\oe nix's official r\^ole in fluffy souffl\'es?}

\newcommand*\demotextsc{\textsc{\ Sphinx of black quartz, judge my vow}.}

\newcommand*\otfoldstylenums{\addfontfeatures{Numbers={OldStyle}}}
\newcommand*\demotextosf{\ \otfoldstylenums{0123456789}.}

The basic text family is \code{LucidaBrightOT}, with the usual four
variants---\allowbreak regular, italic, bold, and bold italic, all with
oldstyle figures; small caps are available in the upright shapes.



\noindent
\begin{xltabular}{\dimexpr\linewidth+\marginparwidth}{@{} >{\raggedright}X >{\ttfamily}l @{}}
\demotext\demotextsc \demotextosf & LucidaBrightOT\\[4pt]
\itshape\demotext\demotextosf & LucidaBrightOT-Italic\\[4pt]
\bfseries\demotext\demotextsc \demotextosf & LucidaBrightOT-Demibold\\[4pt]
\bfseries\itshape\demotext\demotextosf & LucidaBrightOT-DemiboldItalic\\[12pt]
%\end{tabularx}
~ & ~ \\
%\noindent
%\begin{tabularx}{\dimexpr\linewidth+\marginparwidth}{@{} >{\raggedright}X >{\ttfamily}l @{}}
\sffamily\demotext & LucidaSansOT\\[4pt]
\sffamily\itshape\demotext & LucidaSansOT-Italic\\[4pt]
\sffamily\bfseries\demotext & LucidaSansOT-Demibold \\[4pt]
\sffamily\bfseries\itshape\demotext & LucidaSansOT-DemiboldItalic\\[12pt]
%\end{tabularx}
~ & ~ \\

%\noindent
%\begin{tabularx}{\dimexpr\linewidth+\marginparwidth}{@{} >{\raggedright}X >{\ttfamily}l @{}}
\ttfamily\demotext &    LucidaSansTypewriterOT\\[4pt]
\ttfamily\itshape\demotext & LucidaSansTypewriterOT-Oblique\\[4pt]
\ttfamily\bfseries\demotext & LucidaSansTypewriterOT-Bold\\[4pt]
\ttfamily\bfseries\itshape\demotext & LucidaSansTypewriterOT-BoldOblique\\[12pt]
%\end{tabularx}
~ & ~ \\%
%\noindent
%\begin{tabularx}{\dimexpr\linewidth+\marginparwidth}{@{} >{\raggedright}X >{\ttfamily}l @{}}
\LucidaGrandeMonoDK\demotext & LucidaGrandeMonoDK\\[4pt]
\LucidaGrandeMonoDK\itshape\demotext & LucidaGrandeMonoDK-Italic\\[4pt]
\LucidaGrandeMonoDK\bfseries\demotext & LucidaGrandeMonoDK-Bold\\[4pt]
\LucidaGrandeMonoDK\bfseries\itshape\demotext & LucidaGrandeMonoDK-BoldItalic\\[12pt]
%\end{tabularx}
%
~ & ~ \\%
%\noindent
%\begin{tabularx}{\dimexpr\linewidth+\marginparwidth}{@{} >{\raggedright}X >{\ttfamily}l @{}}
\LucidaConsoleDK\demotext & LucidaConsoleDK\\[4pt]
\LucidaConsoleDK\itshape\demotext & LucidaConsoleDK-Italic\\[4pt]
\LucidaConsoleDK\bfseries\demotext & LucidaConsoleDK-Bold\\[4pt]
\LucidaConsoleDK\bfseries\itshape\demotext & LucidaConsoleDK-BoldItalic\\[12pt]
%\end{tabularx}
%
~ & ~ \\%
%\noindent
%\begin{tabularx}{\dimexpr\linewidth+\marginparwidth}{@{} >{\raggedright}X >{\ttfamily}l @{}}
\LucidaBlackletter\demotext & LucidaBlackletterOT\\[4pt]
\LucidaCalligraphy\demotext & LucidaCalligraphyOT\\[4pt]
\LucidaHandwriting\demotext & LucidaHandwritingOT\\
\end{xltabular}

%\setmainfont{LucidaBright}

Euro and copyright symbols are available: \texteuro\ \textcopyright.

\section{Math examples}

\begin{verbatim}
Here's some math:
\[ 
  \phi(x)=\int_{-\infty}^{x} e^{-x^{2}/2} 
\]
And now bold math:
\mathversion{bold}
\[ 
  \phi(x)=\int_{-\infty}^{x} e^{-x^{2}/2} 
\]
\mathversion{normal}
\[ 
  \symbf{\phi(x)}=\int_{-\infty}^{x} \symbf{e^{-x^{2}/2}}
\]
\end{verbatim}

%\setmathfont{LucidaBrightMathOT.otf}[version=normal]%
%\mathversion{normal}
%\setmathfont{LucidaBrightMathOT-Demi.otf}[version=bold]

Here's some math:
\[ 
  \phi(x)=\int_{-\infty}^{x} e^{-x^{2}/2} 
\]
And now bold math:

\mathversion{bold}
\[ 
  \phi(x)=\int_{-\infty}^{x} e^{-x^{2}/2} 
\]

\mathversion{normal}
\[ 
  \symbf{\phi(x)}=\int_{-\infty}^{x} \symbf{e^{-x^{2}/2}}
\]



\section{Closing}

If you have questions or problems regarding installation or use, please
email \code{lucida@tug.org}; this is an open and publicly archived list
for Lucida discussion; you can subscribe on the web at
\url{http://lists.tug.org/lucida}.  On the other hand, questions or
problems related to ordering or licensing should go to
\code{lucida-admin@tug.org}.

Finally, B\&H's web site for Lucida is \url{http://lucidafonts.com},
and the home page for Lucida and \TeX\ is \url{http://tug.org/lucida}.

The font list of this documentation is:

\footnotesize\ttfamily
\expandafter\IfFileExists\expandafter{\jobname.txt}%
  {\lstinputlisting{\jobname.txt}}{}

\normalfont\rmfamily

\nocite{*}
\printbibliography


\end{document}
