From 49c73d01116f5b4c5f2d55a3661b8fa28bc5f831 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Wed, 27 Sep 2017 23:01:58 +0000 Subject: spark-otf (27sep17) git-svn-id: svn://tug.org/texlive/trunk@45411 c570f23f-e606-0410-a88d-b1316a301751 --- .../texmf-dist/tex/latex/spark-otf/spark-otf.sty | 98 +++++++++++++++------- 1 file changed, 66 insertions(+), 32 deletions(-) (limited to 'Master/texmf-dist/tex/latex/spark-otf') diff --git a/Master/texmf-dist/tex/latex/spark-otf/spark-otf.sty b/Master/texmf-dist/tex/latex/spark-otf/spark-otf.sty index 4b05b9d668e..d756b7e4ada 100644 --- a/Master/texmf-dist/tex/latex/spark-otf/spark-otf.sty +++ b/Master/texmf-dist/tex/latex/spark-otf/spark-otf.sty @@ -1,4 +1,4 @@ -%% $Id: spark-otf.sty 565 2017-09-20 08:23:06Z herbert $ +%% $Id: spark-otf.sty 582 2017-09-25 06:27:35Z herbert $ %% %% This file is distributed under the terms of the LaTeX Project Public %% License from CTAN archives in directory macros/latex/base/lppl.txt. @@ -6,9 +6,9 @@ %% % Copyright 2017 Herbert Voss hvoss@tug.org %% -\def\spark@version{0.02} +\def\spark@version{0.04} \ProvidesPackage{spark-otf}[% - 2017/09/21 v. \spark@version~(Herbert Voss) Supports spark OpenType for lualatex/xelatex.] + 2017/09/26 v. \spark@version~(Herbert Voss) Supports spark OpenType for lualatex/xelatex.] % \RequirePackage{ifxetex,ifluatex,xkeyval} % @@ -28,32 +28,61 @@ \ifluatex\RequirePackage{luacode}\fi +\newcommand\setSparkColor[2]{% + \addfontfeatures{UprightFeatures={Color=#1}}#2% + \addfontfeatures{UprightFeatures={Color=000000}}} + \ifspark@usefilenames \typeout {Using file names for the spark font}% %----------------------------------------- file names ---------------------------- - \newfontfamily\sparkBarMedium{{Spark - Bar - Medium}}[RawFeature=+calt,\spark@DefaultFeatures] - \newfontfamily\sparkBarNarrow{{Spark - Bar - Narrow}}[RawFeature=+calt,\spark@DefaultFeatures] - \newfontfamily\sparkBarThin{{Spark - Bar - Thin}}[RawFeature=+calt,\spark@DefaultFeatures] + \font\sparkBarMedium="file:Spark - Bar - Medium.otf:mode=node;+calt;\spark@DefaultFeatures" + \font\sparkBarNarrow="file:Spark - Bar - Narrow.otf:mode=node;+calt;\spark@DefaultFeatures" + \font\sparkBarThin="file:Spark - Bar - Thin.otf:mode=node;+calt;\spark@DefaultFeatures" % - \newfontfamily\sparkDotLine{{Spark - Dot-line - Medium}}[RawFeature=+calt,\spark@DefaultFeatures] + \font\sparkDotLine="file:Spark - Dot-line - Medium.otf:mode=node;+calt;\spark@DefaultFeatures" +% + \font\sparkDotMedium="file:Spark - Dot - Medium.otf:mode=node;+calt;\spark@DefaultFeatures" + \font\sparkDotSmall="file:Spark - Dot - Small.otf:mode=node;+calt;\spark@DefaultFeatures" % - \newfontfamily\sparkDotMedium{{Spark - Dot - Medium}}[RawFeature=+calt,\spark@DefaultFeatures] - \newfontfamily\sparkDotSmall{{Spark - Dot - Small}}[RawFeature=+calt,\spark@DefaultFeatures] -%Spark - Bar - Medium.otf Spark - Bar - Thin.otf Spark - Dot - Medium.otf -%Spark - Bar - Narrow.otf Spark - Dot-line - Medium.otf Spark - Dot - Small.otf - \else \typeout {Using symbolic names for the spark font}% %----------------------------------------- symbolic names ---------------------------- - \newfontfamily\sparkBarMedium{SparkBar-Medium}[RawFeature=+calt,\spark@DefaultFeatures] - \newfontfamily\sparkBarNarrow{SparkBar-Narrow}[RawFeature=+calt,\spark@DefaultFeatures] - \newfontfamily\sparkBarThin{SparkBar-Thin}[RawFeature=+calt,\spark@DefaultFeatures] + \newfontface\sparkBarMedium{Spark-BarMedium}[RawFeature=+calt,\spark@DefaultFeatures] + \newfontface\sparkBarNarrow{Spark-BarNarrow}[RawFeature=+calt,\spark@DefaultFeatures] + \newfontface\sparkBarThin{Spark-BarThin}[RawFeature=+calt,\spark@DefaultFeatures] % - \newfontfamily\sparkDotLine{Spark-Dot-lineMedium}[RawFeature=+calt,\spark@DefaultFeatures] + \newfontface\sparkDotLine{Spark-Dot-lineMedium}[RawFeature=+calt,\spark@DefaultFeatures] % - \newfontfamily\sparkDotMedium{Spark-DotMedium}[RawFeature=+calt,\spark@DefaultFeatures] - \newfontfamily\sparkDotSmall{Spark-DotSmall}[RawFeature=+calt,\spark@DefaultFeatures] + \newfontface\sparkDotMedium{Spark-DotMedium}[RawFeature=+calt,\spark@DefaultFeatures] + \newfontface\sparkDotSmall{Spark-DotSmall}[RawFeature=+calt,\spark@DefaultFeatures] \fi +% +% +\def\Extend@List{\@ifnextchar!\Extend@List@i\Extend@List@ii} +\def\Extend@List@i!#1,#2\@nil{% + \def\spark@mark@first{#1}% + \def\spark@values@i{#1,}% + \Extend@List@iii#2,!,!\@nil +} +\def\Extend@List@ii#1\@nil{\Extend@List@iii#1,!,!\@nil} +% +\def\Extend@List@iii#1,!#2,!#3\@nil{% + \ifx\relax#2\relax % no value with ! + \edef\spark@values@i{\spark@values@i#1}% + \def\spark@mark@last{}% + \else + \edef\spark@values@i{\spark@values@i#1,#2}% + \def\spark@mark@last{#2}% + \fi +} + +\def\check@list@values#1{% + \def\spark@values@i{}% + \def\spark@mark@first{}% + \def\spark@mark@last{}% + \Extend@List#1\@nil +} + % \ifluatex \begin{luacode} @@ -73,28 +102,33 @@ function RelativeValues(v,m) end end \end{luacode} -\def\spark@line{Line} + \def\spark@line{Line}% 12 3 45 \NewDocumentCommand\sparkBar{sO{Medium}O{}mO{}}{{% - \IfValueTF{#1}% - {\edef\spark@values{\directlua{RelativeValues({#4},99)}}}% - {\def\spark@values{#4}}% - \@nameuse{sparkBar#2}#3\string{\spark@values\string}#5% + \check@list@values{#4}% + \IfBooleanTF{#1}% + {\edef\spark@values@ii{\directlua{RelativeValues({\spark@values@i},99)}}}% + {\let\spark@values@ii\spark@values@i}% + \@nameuse{sparkBar#2}#3\spark@mark@first\string{\spark@values@ii\string}\spark@mark@last#5% }} +% 12 3 45 \NewDocumentCommand\sparkDot{sO{Medium}O{}mO{}}{{% - \IfValueTF{#1}% + \check@list@values{#4}% + \IfBooleanTF{#1}% {\def\spark@arg{#2}% - \ifx\spark@line\spark@arg \edef\spark@values{\directlua{RelativeValues({#4},9)}}% - \else \edef\spark@values{\directlua{RelativeValues({#4},99)}}% + \ifx\spark@line\spark@arg \edef\spark@values@ii{\directlua{RelativeValues({\spark@values@i},9)}}% + \else \edef\spark@values@ii{\directlua{RelativeValues({\spark@values@i},100)}}% \fi}% - {\def\spark@values{#4}}% - \@nameuse{sparkDot#2}#3\string{\spark@values\string}#5% + {\let\spark@values@ii\spark@values@i}% + \@nameuse{sparkDot#2}\spark@mark@first\string{\spark@values@ii\string}\spark@mark@last% }} -\else %% XeLaTeX +\else %% XeLaTeX% 1 2 34 \NewDocumentCommand\sparkBar{O{Medium}O{}mO{}}{{% - \@nameuse{sparkBar#1}#2\string{#3\string}#4% - }} + \check@list@values{#3}% + \@nameuse{sparkBar#1}\spark@mark@first\string{\spark@values@i\string}\spark@mark@last% + }}% 1 2 34 \NewDocumentCommand\sparkDot{O{Medium}O{}mO{}}{{% - \@nameuse{sparkDot#1}#2\string{#3\string}#4% + \check@list@values{#3}% + \@nameuse{sparkDot#1}\spark@mark@first\string{\spark@values@i\string}\spark@mark@last% }} \fi %% -- cgit v1.2.3