diff options
Diffstat (limited to 'fonts/arsenal')
-rw-r--r-- | fonts/arsenal/Makefile | 16 | ||||
-rw-r--r-- | fonts/arsenal/README | 11 | ||||
-rw-r--r-- | fonts/arsenal/arsenal.bib | 2 | ||||
-rw-r--r-- | fonts/arsenal/arsenal.dtx | 171 | ||||
-rw-r--r-- | fonts/arsenal/arsenal.ins | 3 | ||||
-rw-r--r-- | fonts/arsenal/arsenal.pdf | bin | 74824 -> 85893 bytes | |||
-rw-r--r-- | fonts/arsenal/sample-math-arsenal+kpsans.pdf | bin | 0 -> 67926 bytes | |||
-rw-r--r-- | fonts/arsenal/sample-math-iwona.pdf | bin | 54073 -> 62313 bytes | |||
-rw-r--r-- | fonts/arsenal/sample-math-kpsans.pdf | bin | 46128 -> 58187 bytes | |||
-rw-r--r-- | fonts/arsenal/sample-math.dtx | 94 | ||||
-rw-r--r-- | fonts/arsenal/sample-text.pdf | bin | 67018 -> 67017 bytes |
11 files changed, 248 insertions, 49 deletions
diff --git a/fonts/arsenal/Makefile b/fonts/arsenal/Makefile index 4ca8e0e4f3..c550b15f5f 100644 --- a/fonts/arsenal/Makefile +++ b/fonts/arsenal/Makefile @@ -6,7 +6,11 @@ FONTS = \ Arsenal-Italic.otf \ Arsenal-Regular.otf -SAMPLES = sample-math-iwona.tex sample-math-kpsans.tex sample-text.tex +SAMPLES = \ + sample-math-arsenal+kpsans.tex \ + sample-math-iwona.tex \ + sample-math-kpsans.tex \ + sample-text.tex PDF = $(PACKAGE).pdf ${SAMPLES:%.tex=%.pdf} @@ -35,6 +39,16 @@ all: ${PDF} $(PACKAGE).sty $(FONTS) LICENSE_FONTS while ( grep -q '^LaTeX Warning: Label(s) may have changed' $*.log) \ do xelatex $<; done + +sample-math-arsenal+kpsans.pdf: sample-math-arsenal+kpsans.tex $(PACKAGE).sty $(FONTS) + lualatex $< + - bibtex sample-math-arsenal+kpsans + lualatex $< + lualatex $< + while ( grep -q '^LaTeX Warning: Label(s) may have changed' sample-math-arsenal+kpsans.log) \ + do lualatex $<; done + + sample-math-%.tex: $(PACKAGE).ins sample-math.dtx xelatex $< diff --git a/fonts/arsenal/README b/fonts/arsenal/README index 0868e9e8e0..46a8e05837 100644 --- a/fonts/arsenal/README +++ b/fonts/arsenal/README @@ -20,3 +20,14 @@ From https://github.com/alexeiva/Arsenal somewhat lyrical sentiment abides to the Ukrainian nature of the font. This package provides the fonts and LaTeX support for them with matching math. + +Changes: + + Version 0.2, 2023-09-05. Added option math=arsenal+kpsans: a mix + of Arsenal and KpSans glyphs. At present + the correct spacing works only with + LuaTeX. Now the default for math is + iwona, if XeTeX is detected, and + arsenal+kpsans, if LuaTeX is detected. + + Version 0.1, 2023-09-03. The first release version.
\ No newline at end of file diff --git a/fonts/arsenal/arsenal.bib b/fonts/arsenal/arsenal.bib index fcfc2a1059..81a712bd7e 100644 --- a/fonts/arsenal/arsenal.bib +++ b/fonts/arsenal/arsenal.bib @@ -42,7 +42,7 @@ year = 2023, @manual{free-math-font-survey, title = {The \pkg{free-math-font-survey} package}, subtitle = {A survey of available free Mathematics fonts}, -author = {Hartke, Stephen}, +author = {Hartke, Stephen G.}, url = {https://ctan.org/pkg/free-math-font-survey}, urldate = {2023-09-02}, date = {2006-11-07}, diff --git a/fonts/arsenal/arsenal.dtx b/fonts/arsenal/arsenal.dtx index 3607489c58..16db2a0a07 100644 --- a/fonts/arsenal/arsenal.dtx +++ b/fonts/arsenal/arsenal.dtx @@ -17,11 +17,11 @@ \usepackage[tableposition=top]{caption} \urlstyle{rm} \begin{document} + \RecordChanges \DocInput{\jobname.dtx} \end{document} %</driver> % \fi -% % \GetFileInfo{arsenal.sty} % \title{\pkg{arsenal}---\LaTeX\ support of Arsenal fonts by Andrij Shevchenko} % \date{\fileversion, \filedate} @@ -69,6 +69,7 @@ %\label{sec:ug-options} % % \begin{variable}{default, sfdefault, math, scale, Scale} +% \changes{v0.2}{2023/09/04}{Added arsenal+kpsans value for math option} % The options for the package use the key-value interface. % The part |=true| for the boolean options can be dropped. % @@ -79,12 +80,28 @@ % \item[sfdefault] whether to make Arsenal the sans serif font of your % document, either |true| or |false| (the default). % \item[math] whether to enable math support. The currently -% recognized options are |none|, |kpsans|, and |iwona|. The -% default depends on whether Arsenal is your main font: it is -% |iwona| if yes, and |none| otherwise. If |iwona| is selected, we use -% \pkg{iwonamath}~\citep{iwonamath}. If |kpsans| is selected, -% we use \textsc{otf} version of KpSans -% fonts~\citep{kpfonts-otf}. +% recognized options are |none|, |arsenal+kpsans|, |kpsans|, and +% |iwona|. The meaning is the following: +% \begin{description} +% \item[arsenal+kpsans] Use native font for math, adding missing +% letter from the \textsc{otf} version of KpSans +% font~\citep{kpfonts-otf}. Unfortunately this option presently +% does not work properly with \XeTeX, using wrong font +% dimensions resulting in rather bad spacing. +% \item[kpsans] Use \textsc{otf} version of KpSans +% font~\citep{kpfonts-otf} for math. +% \item[iwona] Use use \pkg{iwonamath}~\citep{iwonamath} for math. +% \item[none] Do not define math fonts, leaving the math setup to the user. +% \end{description} +% The default depends on whether Arsenal is your main font and +% which engine is used: +% \begin{enumerate} +% \item If Arsenal is the main font, and \XeTeX\ is used, then +% |iwona|. +% \item If Arsenal is the main font, and Lua\TeX\ is used, then +% |arsenal+kpsans|. +% \item If Arsenal is not your main font, then |none|. +% \end{enumerate} % \item[scale] the scale for the font, by default 0.89. The option % |Scale| is a synonym. % \end{description} @@ -162,8 +179,29 @@ % \cs{textsmileblack} (\textsmileblack). % \end{function} % -% \end{documentation} % +%\subsection{Math support} +%\label{sec:ug-math} +% \changes{v0.2}{2023/09/04}{Added a section about math support} +% +% The support of math is presently experimental. We offer several +% options, as discussed above in Section~\ref{sec:ug-options}. Iwona font +% matches Arsenal in color and sizes, but some letters and proportions +% are different from those for Arsenal. KpSans seems to be slightly +% darker. The option of taking Latin letters from Arsenal and the +% missing symbols from KpSans is attractive, but is currently +% recommended for Lua\TeX\ only, since the font parameters seem to be +% misinterpreted by the \XeTeX\ engine. +% +% +% As discussed in \pkg{kpsans} documentation, if you use this package +% (options |kpsans| and |arsenal+kpsans|), do \emph{not} use +% \pkg{amssymb}. The corresponding symbols are reimplemented in +% \pkg{kpsans}, and (almost) all \pkg{amssymb} commands are available +% by default when one of these options is chosen. +% +% \end{documentation} +% \clearpage % % \begin{implementation} % @@ -182,7 +220,7 @@ %<@@=arsenal> %<*package> \ProvidesExplPackage {arsenal} -{2023-09-03} {0.1} +{2023-09-05} {v0.2} {Arsenal font by Andrij Shevchenko} % \end{macrocode} % @@ -206,10 +244,10 @@ \keys_define:nn {arsenal} { default .bool_set:N = \l_@@_default_bool, - defaul .default:n = true, + default .default:n = true, sfdefault .bool_set:N = \l_@@_sfdefault_bool, sfdefault .default:n = true, - math .choices:nn = {none, kpsans, iwona} + math .choices:nn = {none, arsenal+kpsans, kpsans, iwona} {\tl_set_eq:NN \l_@@_math_tl \l_keys_choice_tl }, scale .tl_set:N = \l_@@_scale_tl, Scale .tl_set:N = \l_@@_scale_tl, @@ -239,7 +277,13 @@ { \bool_if:NTF \l_@@_default_bool { - \tl_set:Nn \l_@@_math_tl {iwona} + \sys_if_engine_xetex:TF + { + \tl_set:Nn \l_@@_math_tl {iwona} + } + { + \tl_set:Nn \l_@@_math_tl {arsenal+kpsans} + } } { \tl_set:Nn \l_@@_math_tl {none} @@ -302,7 +346,7 @@ % \texttenge, % \textruble % } -% Currency symbolse +% Currency symbols % \begin{macrocode} \DeclareUnicodeSymbol{\texthryvnia} {"20B4} \DeclareUnicodeSymbol{\texttugrik} {"20AE} @@ -339,7 +383,10 @@ } % \end{macrocode} % -% Now kpsans. Mostly from~\citep{kpfonts-otf}. +% \changes{v0.2}{2023/09/04}{Separate scaling for upper and lowercase +% for kpsans} +% Now kpsans, see~\citep{kpfonts-otf}. We adjust separately +% upper and lower cases\ldots % \begin{macrocode} \tl_if_eq:NnT \l_@@_math_tl {kpsans} { @@ -355,9 +402,101 @@ Scale=\l_@@_tmp_tl, BoldFont=KpMath-SansBold.otf] + \setmathfont{KpMath-Sans.otf}[ + range={ + scr/{Latin}, + bfscr/{Latin}, + frak/{Latin}, + bffrak/{Latin}, + up/{Latin, Greek, misc}, + bb/{Latin, Greek, misc}, + it/{Latin, Greek, misc}, + bbit/{Latin, Greek, misc}, + tt/{Latin, Greek, misc}, + sfup/{Latin, Greek, misc}, + sfit/{Latin, Greek, misc}, + bfup/{Latin, Greek, misc}, + bfit/{Latin, Greek, misc}, + bfsfup/{Latin, Greek, misc}, + bfsfit/{Latin, Greek, misc}, + }, + Scale=\fp_to_tl:n {\l_@@_tmp_tl * 0.9}, + BoldFont=KpMath-SansBold.otf] } % \end{macrocode} % +% \changes{v0.2}{2023/09/04}{Added the warining about using +% arsenal+kpsans with \XeTeX} +% And arsenal+kpsans. We again adjust separately upper and lower cases\ldots +% \begin{macrocode} +\tl_if_eq:NnT \l_@@_math_tl {arsenal+kpsans} +{ + \sys_if_engine_xetex:T + { + \ClassWarningNoLine{arsenal}{Option~ arsenal+kpsans~ may~ not~ work~ + with~ XeTeX~ engine.~ Please~ use~ lualatex} + } + \tl_set:Ne \l_@@_tmp_tl {\fp_to_tl:n {\l_@@_scale_tl * 1.1}} + \RequirePackage[symbols]{kpfonts-otf} + + \setmathfont{KpMath-Sans.otf}[ + Scale=\l_@@_tmp_tl, + BoldFont=KpMath-SansBold.otf] + + \setmathfont{KpMath-Sans.otf}[ + range={cal/{Latin},bfcal/{Latin}}, + RawFeature=+ss01, + Scale=\fp_to_tl:n {\l_@@_tmp_tl * 0.9}, + BoldFont=KpMath-SansBold.otf] + + \setmathfont{KpMath-Sans.otf}[ + range={ + scr/{Latin, num}, + bfscr/{Latin, num}, + frak/{Latin, num}, + bffrak/{Latin, num}, + up/{Greek, misc, num}, + bb/{Latin, Greek, misc, num}, + it/{Greek, misc, num}, + bbit/{Greek, misc, num}, + tt/{Greek, misc, num}, + sfup/{Greek, misc, num}, + sfit/{Greek, misc, num}, + bfup/{Greek, misc, num}, + bfit/{Greek, misc, num}, + bfsfup/{Greek, misc, num}, + bfsfit/{Greek, misc, num}, + }, + Scale=\fp_to_tl:n {\l_@@_tmp_tl * 0.9}, + BoldFont=KpMath-SansBold.otf] + + + \setmathfont{Arsenal-Regular.otf}[ + range={ + up/{Latin, latin, num}, + tt/{Latin, latin, num}, + sfup/{Latin, latin, num}, + bfup/{Latin, latin, num}, + bfsfup/{Latin, latin, num}, + }, + Scale=\l_@@_scale_tl, + BoldFont=Arsenal-Bold.otf] + + \setmathfont{Arsenal-Italic.otf}[ + range={ + it/{Latin, latin, num}, + bbit/{Latin, latin, num}, + sfit/{Latin, latin, num}, + bfit/{Latin, latin, num}, + bfsfit/{Latin, latin, num}, + }, + Scale=\l_@@_scale_tl, + BoldFont=Arsenal-BoldItalic.otf] + + +} +% \end{macrocode} +% % \begin{macrocode} %</package> % \end{macrocode} @@ -367,5 +506,5 @@ % \bibliographystyle{plainnat} % % -%\PrintIndex -%
\ No newline at end of file +% \PrintIndex +% \PrintChanges
\ No newline at end of file diff --git a/fonts/arsenal/arsenal.ins b/fonts/arsenal/arsenal.ins index 1c172fa202..7d11b835a7 100644 --- a/fonts/arsenal/arsenal.ins +++ b/fonts/arsenal/arsenal.ins @@ -7,6 +7,7 @@ \generate {% \file{sample-math-iwona.tex}{\from{sample-math.dtx}{iwona}}% - \file{sample-math-kpsans.tex}{\from{sample-math.dtx}{kpsans}}% + \file{sample-math-kpsans.tex}{\from{sample-math.dtx}{kpsans}}% + \file{sample-math-arsenal+kpsans.tex}{\from{sample-math.dtx}{arsenal+kpsans}}% } \endbatchfile diff --git a/fonts/arsenal/arsenal.pdf b/fonts/arsenal/arsenal.pdf Binary files differindex ef65ab08ef..a68e93129b 100644 --- a/fonts/arsenal/arsenal.pdf +++ b/fonts/arsenal/arsenal.pdf diff --git a/fonts/arsenal/sample-math-arsenal+kpsans.pdf b/fonts/arsenal/sample-math-arsenal+kpsans.pdf Binary files differnew file mode 100644 index 0000000000..b7455cb751 --- /dev/null +++ b/fonts/arsenal/sample-math-arsenal+kpsans.pdf diff --git a/fonts/arsenal/sample-math-iwona.pdf b/fonts/arsenal/sample-math-iwona.pdf Binary files differindex a62eba25cb..1f972b578d 100644 --- a/fonts/arsenal/sample-math-iwona.pdf +++ b/fonts/arsenal/sample-math-iwona.pdf diff --git a/fonts/arsenal/sample-math-kpsans.pdf b/fonts/arsenal/sample-math-kpsans.pdf Binary files differindex d24e75bbb8..5b1e606f45 100644 --- a/fonts/arsenal/sample-math-kpsans.pdf +++ b/fonts/arsenal/sample-math-kpsans.pdf diff --git a/fonts/arsenal/sample-math.dtx b/fonts/arsenal/sample-math.dtx index 7e84d2c398..cf3296ca91 100644 --- a/fonts/arsenal/sample-math.dtx +++ b/fonts/arsenal/sample-math.dtx @@ -1,9 +1,13 @@ \documentclass{article} %<iwona>\usepackage[default, math=iwona]{arsenal} %<kpsans>\usepackage[default, math=kpsans]{arsenal} -\usepackage{natbib, hyperref, amsmath} +%<arsenal+kpsans>\usepackage[default, math=arsenal+kpsans]{arsenal} +\usepackage{natbib, hyperref, amsmath, bm} +\urlstyle{rm} \usepackage{microtype} \setcounter{secnumdepth}{0} +\usepackage{hologo} +\providecommand*\XeTeX{\hologo{XeTeX}} %<iwona>\usepackage{amssymb} \usepackage[ukrainian, english]{babel} \providecommand\pkg[1]{\textit{#1}} @@ -28,7 +32,10 @@ \title{Sample of Arsenal font with %<iwona> Iwona %<kpsans> KpSans -math} +%<arsenal+kpsans> Arsenal + KpSans +math +%<arsenal+kpsans> (Lua\TeX\ engine) +} \author{Boris Veytsman} \date{Arsenal package version \fileversion, \filedate} \maketitle @@ -38,9 +45,10 @@ math} The samples below are based on the example from~\citep{Hartke06, - free-math-font-survey}. The math fonts are scaled based on lower -case characters. - + free-math-font-survey}. +%<iwona>The math fonts are scaled based on lower case characters. +%<arsenal+kpsans>Arsenal + KpSans math may not work correctly with +%<arsenal+kpsans>\XeTeX. Please use Lua\TeX. \section{English} \label{sec:english} @@ -58,25 +66,6 @@ Let $f$ be analytic in the region $G$ except for the isolated singularities $a_1 \[ \max\{|f(z)|:z\in G^-\}=\max \{|f(z)|:z\in \partial G \}. \] -\vspace*{-1em} - - -\ABC \quad $\ABC$ - -\abc \quad $\abc$ \quad $01234567890$ - -$\AlphaBeta$ \quad $\alphabeta$ \quad $\ell\wp\aleph\infty\propto\emptyset\nabla\partial\mho\imath\jmath\hslash\eth$ - -$\mathrm{A} \Lambda \Delta \nabla \mathrm{B C D} \Sigma \mathrm{E F} \Gamma \mathrm{G H I J K L M N O} \Theta \Omega \mho \mathrm{P} \Phi \Pi \Xi \mathrm{Q R S T U V W X Y} \Upsilon \Psi \mathrm{Z} $ $ \quad 1234567890 $ - -%$\mathit{A \Lambda \Delta B C D E F \Gamma G H I J K L M N O \Theta \Omega P \Phi \Pi \Xi Q R S T U V W X Y \Upsilon \Psi Z }$ - -% don't allow overfull boxes -{\par \tolerance=0 \emergencystretch=100em $a\alpha b \beta c \partial d \delta e \epsilon \varepsilon f \zeta \xi g \gamma h \hbar \hslash \iota i \imath j \jmath k \kappa \varkappa l \ell \lambda m n \eta \theta \vartheta o \sigma \varsigma \phi \varphi \wp p \rho \varrho q r s t \tau \pi u \mu \nu v \upsilon w \omega \varpi x \chi y \psi z$ \linebreak[3] $\infty \propto \emptyset \varnothing \mathrm{d}\eth \backepsilon$\par} - -$\mathcal{\ABC} \quad \mathbb{\ABC}$ - -{\boldmath $\alpha + b = 27$} \section{Ukrainian} \label{sec:ukr} @@ -100,26 +89,71 @@ $a_k$, і якщо $\gamma\approx 0$ в $G$, то \[ \max\{|f(z)|:z\in G^-\}=\max \{|f(z)|:z\in \partial G \}. \] -\vspace*{-1em} +\selectlanguage{english} + +\section{Alphabets} +\label{sec:alphabets} + +\bgroup +\setlength{\parindent}{0pt} +\setlength{\parskip}{1ex} -\ABC \quad $\ABC$ +Uppercase and math\\ +\ABC\quad \textit{\ABC} \quad $\ABC$ -\abc \quad $\abc$ \quad $01234567890$ +Lowercase and math\\ +\abc\quad\textit{\abc} \quad $\abc$ \quad 0123456789\quad $01234567890$ + +Greek\\ $\AlphaBeta$ \quad $\alphabeta$ \quad $\ell\wp\aleph\infty\propto\emptyset\nabla\partial\mho\imath\jmath\hslash\eth$ +Lowercase Greek and math\\ +$\abc\quad \alphabeta$ + +Uppercase Greek and math\\ +$\ABC\quad \AlphaBeta$ + +Greek and misc\\ $\mathrm{A} \Lambda \Delta \nabla \mathrm{B C D} \Sigma \mathrm{E F} \Gamma \mathrm{G H I J K L M N O} \Theta \Omega \mho \mathrm{P} \Phi \Pi \Xi \mathrm{Q R S T U V W X Y} \Upsilon \Psi \mathrm{Z} $ $ \quad 1234567890 $ +%Mathit\\ %$\mathit{A \Lambda \Delta B C D E F \Gamma G H I J K L M N O \Theta \Omega P \Phi \Pi \Xi Q R S T U V W X Y \Upsilon \Psi Z }$ -% don't allow overfull boxes -{\par \tolerance=0 \emergencystretch=100em $a\alpha b \beta c \partial d \delta e \epsilon \varepsilon f \zeta \xi g \gamma h \hbar \hslash \iota i \imath j \jmath k \kappa \varkappa l \ell \lambda m n \eta \theta \vartheta o \sigma \varsigma \phi \varphi \wp p \rho \varrho q r s t \tau \pi u \mu \nu v \upsilon w \omega \varpi x \chi y \psi z$ \linebreak[3] $\infty \propto \emptyset \varnothing \mathrm{d}\eth \backepsilon$\par} +Mathbold\\ +\textbf{\ABC}\quad $\mathbf{\ABC}$\\ +\textbf{\abc}\quad $\mathbf{\abc}$ + +Math and symbols\\ +$a\alpha b \beta c \partial d \delta e \epsilon \varepsilon f \zeta \xi g \gamma h \hbar \hslash \iota i \imath j \jmath k \kappa \varkappa l \ell \lambda m n \eta \theta \vartheta o \sigma \varsigma \phi \varphi \wp p \rho \varrho q r s t \tau \pi u \mu \nu v \upsilon w \omega \varpi x \chi y \psi z$ \linebreak[3] $\infty \propto \emptyset \varnothing \mathrm{d}\eth \backepsilon$ + +Mathcal\\ +$\ABC\quad\mathcal{\ABC}$ + +Mathbb\\ +$\ABC \quad \mathbb{\ABC}$ -$\mathcal{\ABC} \quad \mathbb{\ABC}$ +%<!iwona>Mathscr\\ +%<!iwona>$\ABC \quad \mathscr{\ABC}$ + + +Uppercase mathfrak\\ +$\ABC\quad\mathfrak{\ABC}$ + +Lowercase mathfrak\\ +$\abc\quad\mathfrak{\abc}$ + + +Bold math\\ {\boldmath $\alpha + b = 27$} +Primes: +$f', f'', f'''$. +\egroup + + \selectlanguage{english} \bibliography{arsenal} \bibliographystyle{plainnat} diff --git a/fonts/arsenal/sample-text.pdf b/fonts/arsenal/sample-text.pdf Binary files differindex 7dfff97337..b645892bbf 100644 --- a/fonts/arsenal/sample-text.pdf +++ b/fonts/arsenal/sample-text.pdf |