diff options
author | Norbert Preining <norbert@preining.info> | 2019-09-02 13:46:59 +0900 |
---|---|---|
committer | Norbert Preining <norbert@preining.info> | 2019-09-02 13:46:59 +0900 |
commit | e0c6872cf40896c7be36b11dcc744620f10adf1d (patch) | |
tree | 60335e10d2f4354b0674ec22d7b53f0f8abee672 /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.sty | 190 |
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 |