summaryrefslogtreecommitdiff
path: root/fonts/arsenal
diff options
context:
space:
mode:
Diffstat (limited to 'fonts/arsenal')
-rw-r--r--fonts/arsenal/Makefile16
-rw-r--r--fonts/arsenal/README11
-rw-r--r--fonts/arsenal/arsenal.bib2
-rw-r--r--fonts/arsenal/arsenal.dtx171
-rw-r--r--fonts/arsenal/arsenal.ins3
-rw-r--r--fonts/arsenal/arsenal.pdfbin74824 -> 85893 bytes
-rw-r--r--fonts/arsenal/sample-math-arsenal+kpsans.pdfbin0 -> 67926 bytes
-rw-r--r--fonts/arsenal/sample-math-iwona.pdfbin54073 -> 62313 bytes
-rw-r--r--fonts/arsenal/sample-math-kpsans.pdfbin46128 -> 58187 bytes
-rw-r--r--fonts/arsenal/sample-math.dtx94
-rw-r--r--fonts/arsenal/sample-text.pdfbin67018 -> 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
index ef65ab08ef..a68e93129b 100644
--- a/fonts/arsenal/arsenal.pdf
+++ b/fonts/arsenal/arsenal.pdf
Binary files differ
diff --git a/fonts/arsenal/sample-math-arsenal+kpsans.pdf b/fonts/arsenal/sample-math-arsenal+kpsans.pdf
new file mode 100644
index 0000000000..b7455cb751
--- /dev/null
+++ b/fonts/arsenal/sample-math-arsenal+kpsans.pdf
Binary files differ
diff --git a/fonts/arsenal/sample-math-iwona.pdf b/fonts/arsenal/sample-math-iwona.pdf
index a62eba25cb..1f972b578d 100644
--- a/fonts/arsenal/sample-math-iwona.pdf
+++ b/fonts/arsenal/sample-math-iwona.pdf
Binary files differ
diff --git a/fonts/arsenal/sample-math-kpsans.pdf b/fonts/arsenal/sample-math-kpsans.pdf
index d24e75bbb8..5b1e606f45 100644
--- a/fonts/arsenal/sample-math-kpsans.pdf
+++ b/fonts/arsenal/sample-math-kpsans.pdf
Binary files differ
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
index 7dfff97337..b645892bbf 100644
--- a/fonts/arsenal/sample-text.pdf
+++ b/fonts/arsenal/sample-text.pdf
Binary files differ