summaryrefslogtreecommitdiff
path: root/fonts/lucida-otf/latex/lucida-otf.sty
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
committerNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
commite0c6872cf40896c7be36b11dcc744620f10adf1d (patch)
tree60335e10d2f4354b0674ec22d7b53f0f8abee672 /fonts/lucida-otf/latex/lucida-otf.sty
Initial commit
Diffstat (limited to 'fonts/lucida-otf/latex/lucida-otf.sty')
-rw-r--r--fonts/lucida-otf/latex/lucida-otf.sty190
1 files changed, 190 insertions, 0 deletions
diff --git a/fonts/lucida-otf/latex/lucida-otf.sty b/fonts/lucida-otf/latex/lucida-otf.sty
new file mode 100644
index 0000000000..b380836d36
--- /dev/null
+++ b/fonts/lucida-otf/latex/lucida-otf.sty
@@ -0,0 +1,190 @@
+%% $Id: lucida-otf.sty 750 2018-03-29 12:29:53Z herbert $
+%%
+%% This file is distributed under the terms of the LaTeX Project Public
+%% License from CTAN archives in directory macros/latex/base/lppl.txt.
+%% Either version 1.3 or, at your option, any later version.
+%%
+% Copyright 2018 Herbert Voss hvoss@tug.org
+%%
+\ProvidesPackage{lucida-otf}[%
+ 2018/03/31 v. 0.08 (Herbert Voss) Supports Lucida OpenType for lualatex/xelatex.]
+%
+\RequirePackage{ifxetex,ifluatex,xkeyval,textcomp}
+\RequirePackage{unicode-math} % support opentype math fonts
+ % loads itself fontspec
+%
+\newif\ifLucida@usefilenames \Lucida@usefilenamesfalse
+\DeclareOptionX{usefilenames}[true]{\@nameuse{Lucida@usefilenames#1}}
+%
+\providecommand\lucidaRM@features{Scale=0.92}% Roman
+\providecommand\lucidaSS@features{Scale=0.92}% SansSerif
+\providecommand\lucidaTT@features{Scale=0.92}% Typewriter
+\providecommand\lucidaGrandeTT@features{Scale=0.92}% Typewriter
+\providecommand\lucidaConsoleTT@features{Scale=0.92}% Typewriter
+\providecommand\lucidaMM@features{}% Math regular
+\providecommand\lucidaMMbold@features{}% Math bold
+\providecommand\lucidaBL@features{}% Blackletter
+\providecommand\lucidaCAL@features{}% Calligraphy
+\providecommand\lucidaHW@features{}% Handwriting
+\providecommand\lucida@DefaultFeatures{}
+\DeclareOptionX{RM}{\renewcommand*{\lucidaRM@features}{#1}}
+\DeclareOptionX{SS}{\renewcommand*{\lucidaSS@features}{#1}}
+\DeclareOptionX{TT}{\renewcommand*{\lucidaTT@features}{#1}}
+\DeclareOptionX{GTT}{\renewcommand*{\lucidaGrandeTT@features}{#1}}
+\DeclareOptionX{CTT}{\renewcommand*{\lucidaConsoleTT@features}{#1}}
+\DeclareOptionX{MM}{\renewcommand*{\lucidaMM@features}{#1}}
+\DeclareOptionX{MMbold}{\renewcommand*{\lucidaMMbold@features}{#1}}
+\DeclareOptionX{BL}{\renewcommand*{\lucidaBL@features}{#1}}
+\DeclareOptionX{CAL}{\renewcommand*{\lucidaCAL@features}{#1}}
+\DeclareOptionX{HW}{\renewcommand*{\lucidaHW@features}{#1}}
+\DeclareOptionX{DefaultFeatures}{\def\lucida@DefaultFeatures{#1}}
+
+\newif\ifLucida@useKerning \Lucida@useKerningtrue
+\DeclareOptionX{useKerning}[true]{\@nameuse{Lucida@useKerning#1}}
+
+\ProcessOptionsX\relax
+
+\def\Lucida@RawFeatures{}\def\Lucida@MathRawFeatures{}
+\ifLucida@useKerning
+ \ifluatex
+ \RequirePackage{luacode}
+ \typeout{loading lucida-otf-kern.tex ... }%
+ \input{lucida-otf-kern.tex}%
+ \def\Lucida@RawFeatures{+lucidaletterkerning,+lucidanumberkerning}
+ \def\Lucida@MathRawFeatures{+lucidanumberkerning}
+ \fi
+\fi
+
+\defaultfontfeatures{Ligatures=TeX,\lucida@DefaultFeatures}% default in fontspec
+%
+\ifLucida@usefilenames
+\typeout {Using file names for the Lucida font}%
+%----------------------------------------- file names ----------------------------
+\setmainfont{LucidaBrightOT}[% main rm
+ Extension = .otf,
+ \lucidaRM@features,
+ ItalicFont = *-Italic,
+ BoldFont = *-Demi,
+ BoldItalicFont = *-DemiItalic,
+ RawFeature = {\Lucida@RawFeatures},
+]
+%
+\setsansfont{LucidaSansOT}[% main sans
+ Extension = .otf,
+ \lucidaSS@features,
+ ItalicFont = *-Italic,
+ BoldFont = *-Demi,
+ BoldItalicFont = *-DemiItalic
+]
+%
+\setmonofont{LucidaSansTypewriterOT}[% main typewriter
+ Extension = .otf,
+ \lucidaTT@features,
+ ItalicFont = *-Oblique,
+ BoldFont = *-Bold,
+ BoldItalicFont = *-BoldOblique
+]
+\newfontfamily\lucidaSLshape{LucidaBrightOT}[
+ FakeSlant = 0.2,
+ Extension = .otf,
+ \lucidaRM@features,
+ BoldFont = *-Demi,
+ BoldItalicFont = *-DemiItalic
+]
+%\renewcommand\sldefault{\lucidaSLshape}
+\let\slshape\lucidaSLshape
+%
+% Setting math
+% First we have to expand the feature macros:
+%\expandafter\setmathfont\expandafter[\lucidaMM@features]{LucidaBrightMathOT}
+%\expandafter\setmathfont\expandafter[\lucidaMMbold@features,version=bold]{LucidaBrightMathOT-Demibold}
+
+\edef\Set@Math{\noexpand\setmathfont{Lucida Bright Math OT}[\lucidaMM@features, RawFeature = {\Lucida@MathRawFeatures}]%
+ \noexpand\setmathfont{Lucida Bright Math OT Demibold}[\lucidaMMbold@features,version=bold]}
+\Set@Math
+%
+% The specialized one-off fonts:
+\newfontface\LucidaBlackletter{LucidaBlackletterOT}[
+ Extension = .otf,
+ \lucidaBL@features]
+\newfontface\LucidaCalligraphy{LucidaCalligraphyOT}[
+ Extension = .otf,
+ \lucidaCAL@features]
+\newfontface\LucidaHandwriting{LucidaHandwritingOT}[
+ 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
+]
+\else
+\typeout {Using symbolic names for the Lucida font}%
+%----------------------------------------- symbolic names ----------------------------
+\setmainfont{Lucida Bright OT}[% main rm
+ \lucidaRM@features,
+ BoldFont = * Demibold,
+ BoldItalicFont = * Demibold Italic,
+ RawFeature = {\Lucida@RawFeatures}
+]
+%
+\setsansfont{Lucida Sans OT}[% main sans
+ \lucidaSS@features,
+ BoldFont = * Demibold,
+ BoldItalicFont = * Demibold Italic
+]
+%
+\setmonofont{Lucida Sans Typewriter OT}[% main typewriter
+ \lucidaTT@features,
+]
+\newfontfamily\lucidaSLshape{Lucida Bright OT}[
+ FakeSlant = 0.2,
+% Extension = .otf,
+ \lucidaRM@features,
+ BoldFont = * Demibold,
+ BoldItalicFont = * Demibold Italic
+]
+%\renewcommand\sldefault{\lucidaSLshape}
+\let\slshape\lucidaSLshape
+%
+% Setting math
+% First we have to expand the feature macros:
+%\expandafter\setmathfont\expandafter[\lucidaMM@features]{LucidaBright Math OT}
+%\expandafter\setmathfont\expandafter[\lucidaMMbold@features,version=bold]{LucidaBright Math OT-Demibold}
+
+\edef\Set@Math{\noexpand\setmathfont{Lucida Bright Math OT}[\lucidaMM@features, RawFeature = {\Lucida@MathRawFeatures}]%
+ \noexpand\setmathfont{Lucida Bright Math OT Demibold}[\lucidaMMbold@features,version=bold]}
+\Set@Math
+%
+% The specialized one-off fonts:
+\newfontface\LucidaBlackletter{Lucida Blackletter OT}%
+ [
+ \lucidaBL@features]
+\newfontface\LucidaCalligraphy{Lucida Calligraphy OT Italic}[\lucidaCAL@features]
+\newfontface\LucidaHandwriting{Lucida Handwriting OT Italic}[\lucidaHW@features]
+%
+% GrandeMono and Console fonts for an example:
+
+\newfontfamily\LucidaGrandeMonoDK{Lucida Grande Mono DK}[
+ \lucidaGrandeTT@features,
+]
+%
+\newfontfamily\LucidaConsoleDK{Lucida Console DK}[%
+ \lucidaConsoleTT@features,
+]
+\fi
+
+\endinput