summaryrefslogtreecommitdiff
path: root/fonts
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2021-03-17 03:01:06 +0000
committerNorbert Preining <norbert@preining.info>2021-03-17 03:01:06 +0000
commitbb51b61cfc3fcb367f52d31948039a1468fbcf80 (patch)
tree2c9be8de7fa3daaf6064452aaecc8ed6a0f8d567 /fonts
parent4947a16af6c8e33f697a8da222db7f3ad027ba94 (diff)
CTAN sync 202103170301
Diffstat (limited to 'fonts')
-rw-r--r--fonts/kpfonts-otf/README.md89
-rw-r--r--fonts/kpfonts-otf/doc/Kpfonts-OTF-Doc-English.ltx28
-rw-r--r--fonts/kpfonts-otf/doc/Kpfonts-OTF-Doc-English.pdfbin186140 -> 187084 bytes
-rw-r--r--fonts/kpfonts-otf/doc/Kpfonts-OTF-Doc-French.ltx74
-rw-r--r--fonts/kpfonts-otf/doc/Kpfonts-OTF-Doc-French.pdfbin187563 -> 188514 bytes
-rw-r--r--fonts/kpfonts-otf/fonts/KpMath-Bold.otfbin196892 -> 196892 bytes
-rw-r--r--fonts/kpfonts-otf/fonts/KpMath-Light.otfbin455424 -> 455424 bytes
-rw-r--r--fonts/kpfonts-otf/fonts/KpMath-Regular.otfbin428692 -> 428692 bytes
-rw-r--r--fonts/kpfonts-otf/fonts/KpMath-Sans.otfbin275380 -> 275556 bytes
-rw-r--r--fonts/kpfonts-otf/fonts/KpMath-Semibold.otfbin198620 -> 198620 bytes
-rw-r--r--fonts/kpfonts-otf/fonts/KpMono-Bold.otfbin57568 -> 57768 bytes
-rw-r--r--fonts/kpfonts-otf/fonts/KpMono-BoldItalic.otfbin64788 -> 64992 bytes
-rw-r--r--fonts/kpfonts-otf/fonts/KpMono-Italic.otfbin66092 -> 66300 bytes
-rw-r--r--fonts/kpfonts-otf/fonts/KpMono-Regular.otfbin58696 -> 58904 bytes
-rw-r--r--fonts/kpfonts-otf/fonts/KpRoman-Bold.otfbin131844 -> 132080 bytes
-rw-r--r--fonts/kpfonts-otf/fonts/KpRoman-BoldItalic.otfbin142532 -> 142704 bytes
-rw-r--r--fonts/kpfonts-otf/fonts/KpRoman-Italic.otfbin132824 -> 134260 bytes
-rw-r--r--fonts/kpfonts-otf/fonts/KpRoman-Light.otfbin130212 -> 130328 bytes
-rw-r--r--fonts/kpfonts-otf/fonts/KpRoman-LightItalic.otfbin134964 -> 135176 bytes
-rw-r--r--fonts/kpfonts-otf/fonts/KpRoman-Regular.otfbin130740 -> 130976 bytes
-rw-r--r--fonts/kpfonts-otf/fonts/KpRoman-Semibold.otfbin129108 -> 129324 bytes
-rw-r--r--fonts/kpfonts-otf/fonts/KpRoman-SemiboldItalic.otfbin140432 -> 140488 bytes
-rw-r--r--fonts/kpfonts-otf/fonts/KpSans-Bold.otfbin95408 -> 102972 bytes
-rw-r--r--fonts/kpfonts-otf/fonts/KpSans-BoldItalic.otfbin103212 -> 110904 bytes
-rw-r--r--fonts/kpfonts-otf/fonts/KpSans-Italic.otfbin103092 -> 110936 bytes
-rw-r--r--fonts/kpfonts-otf/fonts/KpSans-Regular.otfbin94940 -> 102384 bytes
-rw-r--r--fonts/kpfonts-otf/tex/kpfonts-otf.sty199
27 files changed, 222 insertions, 168 deletions
diff --git a/fonts/kpfonts-otf/README.md b/fonts/kpfonts-otf/README.md
index 331171afac..2267028da9 100644
--- a/fonts/kpfonts-otf/README.md
+++ b/fonts/kpfonts-otf/README.md
@@ -51,49 +51,60 @@ Either version 1.3 or, at your option, any later version.
= ≠ < ≤ > ≥ (all five Math fonts affected, original Type1 too).
* v. 0.32:
- 1) Text fonts:
- kpfonts-otf.sty corrected: the "light" option didn't work properly.
- kffonts-otf should now cover all glyphs in TS1 encoding (textcomp.sty).
- The height of all diacritics has been reviewed and corrected
- New combining diacritics added : U+0310, U+0323, U+0325, U+0327, U+0328.
- New glyphs added: U+0110 (Dcroat), U+0111 (dcroat), U+0123 (gcircumflex),
- U+0126 (Hbar), U+0127 (hbar), U+0129 (itilde), U+012B (imacron),
- U+012D (ibreve), U+0135 (jcircumflex), U+0166 (Tbar), U+0167 (tbar)
- and their counterparts in Petite Caps and Small Caps.
- Corrected Petite Caps and Small Caps variant for U+00F0 (eth),
- U+00FE (thorn), U+0111 (dcroat) and U+014B (eng).
- Optional ft and tt ligatures added, see feature "Ligatures=Required".
- Variants for ligatures fi ffi fl ffl added, see "Alternate=1".
- (faked) slanted fonts added to match kpfonts T1 version.
-
- 2) Math fonts:
- Corrected mismatch between mitl (U+1d459) and ell (U+2113).
- Slanted versions for \shortparallel and \nshortparallel
- and for \gtreqless, \lesseqgtr, \gtreqqless, \lesseqqgtr added.
- Stretchy accents \wideoverbar, \widebreve, \widecheck added.
- Reduced boldness for superscripts and supersuperscripts.
- New option "tight" to reduce horizontal spaces in math mode
- (same settings as \pkg{fourier} and \pkg{fourier-otf}).
+ 1. Text fonts:
+ kpfonts-otf.sty corrected: the "light" option didn't work properly.
+ kpfonts-otf should now cover all glyphs in TS1 encoding (textcomp.sty).
+ The height of all diacritics has been reviewed and corrected
+ New combining diacritics added : U+0310, U+0323, U+0325, U+0327, U+0328.
+ New glyphs added: U+0110 (Dcroat), U+0111 (dcroat), U+0123 (gcircumflex),
+ U+0126 (Hbar), U+0127 (hbar), U+0129 (itilde), U+012B (imacron),
+ U+012D (ibreve), U+0135 (jcircumflex), U+0166 (Tbar), U+0167 (tbar)
+ and their counterparts in Petite Caps and Small Caps.
+ Corrected Petite Caps and Small Caps variant for U+00F0 (eth),
+ U+00FE (thorn), U+0111 (dcroat) and U+014B (eng).
+ Optional ft and tt ligatures added, see feature "Ligatures=Required".
+ Variants for ligatures fi ffi fl ffl added, see "Alternate=1".
+ (faked) slanted fonts added to match kpfonts T1 version.
+
+ 2. Math fonts:
+ Corrected mismatch between mitl (U+1d459) and ell (U+2113).
+ Slanted versions for \shortparallel and \nshortparallel
+ and for \gtreqless, \lesseqgtr, \gtreqqless, \lesseqqgtr added.
+ Stretchy accents \wideoverbar, \widebreve, \widecheck added.
+ Reduced boldness for superscripts and supersuperscripts.
+ New option "tight" to reduce horizontal spaces in math mode
+ (same settings as \pkg{fourier} and \pkg{fourier-otf}).
* v. 0.33:
- Roman Text fonts:
- Added 54 glyphs in Latin-A range (mostly complete now).
- Math fonts:
- Fixed inconsistencies in superscripts and supersuperscripts metrics.
+ - Roman Text fonts:
+ Added 54 glyphs in Latin-ExtendedA range (mostly complete now).
+ - Math fonts:
+ Fixed inconsistencies in superscripts and supersuperscripts metrics.
* v. 0.34:
- Massive glyph cleaning: many spurious control points deleted in glyphs
- for both Math and Text fonts.
- Math fonts:
- metrics (width, italic correction) reviewed;
- accents ovhook (U+0309), candra (U+0310), vertoverlay (U+202D) added.
- Text fonts:
- kernings before and after quoteright improved;
- German capital Eszet (U+1E9E) added, in Petite and Small caps too,
- feature "StylisticSet=2" added to get SS instead of capital Eszet;
- diacritics corrected in KpRoman-LightItalic (some were upright);
- breaking change: feature "Alternate=1" changed to "StylisticSet=1"
- as it didn't work with XeTeX.
+ Massive glyph cleaning: many spurious control points deleted in glyphs
+ for both Math and Text fonts.
+ - Text fonts:
+ kernings before and after quoteright improved;
+ German capital Eszet (U+1E9E) added, in Petite and Small caps too,
+ feature "StylisticSet=2" added to get SS instead of capital Eszet;
+ diacritics corrected in KpRoman-LightItalic (some were upright);
+ breaking change: feature "Alternate=1" changed to "StylisticSet=1"
+ as it didn't work with XeTeX.
+ - Math fonts:
+ metrics (width, italic correction) reviewed;
+ accents ovhook (U+0309), candra (U+0310), vertoverlay (U+202D) added.
+
+* v. 0.35:
+ - Text fonts:
+ Added 54 glyphs in Latin-ExtendedA range for KpSans fonts.
+ Euro symbol added in Roman, Sans and Mono, option StyleSet=3 to trigger it.
+ Added missing anchors for "dot below" on P, p, p.pc, p.sc, a.sc.
+ HarfBuzz renderer no longer loaded for HBLuaTeX engine, new option
+ "harfbuzz" to force loading it (kpfonts-otf.sty).
+ - Math fonts:
+ Extensible delimiters corrected in KpMath-Sans.
+ Options frenchstyle, partialup and fancyReIm now work as intended.
---
Copyright 2020-2021 Daniel Flipo
diff --git a/fonts/kpfonts-otf/doc/Kpfonts-OTF-Doc-English.ltx b/fonts/kpfonts-otf/doc/Kpfonts-OTF-Doc-English.ltx
index fac99bd7ea..dfb1f39439 100644
--- a/fonts/kpfonts-otf/doc/Kpfonts-OTF-Doc-English.ltx
+++ b/fonts/kpfonts-otf/doc/Kpfonts-OTF-Doc-English.ltx
@@ -16,6 +16,7 @@
\usepackage[british,french]{babel} % french layout (lists, …)
\usepackage[english]{varioref}
+
\usepackage{realscripts}
\usepackage{microtype}
\usepackage{hyperref}
@@ -40,7 +41,7 @@
\title{Kp-fonts: OpenType version}
\author{\href{mailto:daniel.flipo@free.fr}{Daniel \textsc{Flipo}}}
-\newcommand*{\version}{0.34}
+\newcommand*{\version}{0.35}
\begin{document}
\selectlanguage{british}
@@ -96,7 +97,8 @@
A style file \file{kpfont-otf.sty} is provided to load Kp-fonts easily.
It is derived from \file{kpfont.sty} but options differ.
- Please beware that the current version (\version) is \emph{experimental}.
+ Please beware of the \emph{experimental} status of the current
+ version~(\version).
All fonts are covered by OFL licence, style file and documentation
are under LPPL-1.3 licence.
@@ -218,6 +220,15 @@ and a bunch of Kp-fonts specifics symbols.
\item[germandbls :] |\SS| prints {\addfontfeatures{StylisticSet=2}\SS} instead
of {\char"1E9E} (capital \textit{Eszett}), ditto for small/petite caps.
+\item[eurosym :] remplaces the Euro character (€) by the official symbol
+ {\addfontfeatures{StylisticSet=3}(€)} (available in regular, italic,
+ bold and et bolditalic) ; the |\KPeuro| command is also provided to print
+ the official symbol, it accepts an optionnal argument : |\kpeuro[1,50]{}|
+ prints \kpeuro[1,50] (with a nobreak space).
+
+\item[harfbuzz :] switches |Renderer=Harfbuzz| for HBLuaTeX engine;
+ up to version 0.34, this renderer was silently activated but seldom useful.
+
\end{description}
\subsection{Options for Math fonts \emph{only}}
@@ -342,6 +353,10 @@ Here are the options available for Text Kp-fonts:
\item[StylisticSet=2 :] |\SS| prints {\addfontfeatures{StylisticSet=2}\SS}
instead of {\char"1E9E} (capital \textit{Eszett}), ditto for small/petite caps.
+\item[StylisticSet=3 :] remplaces the Euro character (€) by the official symbol
+ {\addfontfeatures{StylisticSet=3}(€)} (available in regular, italics,
+ bold and et bolditalic).
+
\end{description}
Options may be are chosen for each font, say:
@@ -409,8 +424,7 @@ Seven `Style Variants’ are available with Kp-fonts, here are the first three:
\vspace{\baselineskip}
The next four tables present the other Style Variants available:
-\par\noindent
-\begin{minipage}{\linewidth}
+\\[-.5\baselineskip]
\begin{minipage}[t]{0.45\linewidth}\centering
\captionof{table}{Style=leqslant (\texttt{+ss04})}\label{ss04}
\begin{tabular}{@{}lcc@{}}
@@ -446,7 +460,8 @@ The next four tables present the other Style Variants available:
\cmd{nparallelslant} & $\nparallelslant$ & $\nshortparallelslant$ \\
\hline
\end{tabular}
- \end{minipage}\\[\baselineskip]
+ \end{minipage}
+ \par\noindent
\begin{minipage}[t]{0.45\linewidth}\centering
\captionof{table}{Style=subsetneq (\texttt{+ss06})}\label{ss06}
\begin{tabular}{@{}lcc@{}}
@@ -473,7 +488,6 @@ The next four tables present the other Style Variants available:
\hline
\end{tabular}
\end{minipage}
-\end{minipage}
\vspace{\baselineskip}
Example: switching styles 4 (leqslant) and 6 (subsetneq) can be achieved
@@ -610,7 +624,6 @@ are coded in Kp-fonts’ private zone.
The full list of Unicode symbols available with Kp-fonts is shown in file
\file{unimath-kpfonts.pdf}.
-\newpage
\subsection{Wide accents}
\begin{itemize}
@@ -676,7 +689,6 @@ then, it is easy to switch from one version to another one with
|\mathversion{|\optit{name}|}|.
-\newpage
Example\footnote{Option \opt{CharacterVariant=3} changes
$\epsilon$ into $\varepsilon$.} :
\begin{verbatim}
diff --git a/fonts/kpfonts-otf/doc/Kpfonts-OTF-Doc-English.pdf b/fonts/kpfonts-otf/doc/Kpfonts-OTF-Doc-English.pdf
index d161984d42..0c06d3fb9c 100644
--- a/fonts/kpfonts-otf/doc/Kpfonts-OTF-Doc-English.pdf
+++ b/fonts/kpfonts-otf/doc/Kpfonts-OTF-Doc-English.pdf
Binary files differ
diff --git a/fonts/kpfonts-otf/doc/Kpfonts-OTF-Doc-French.ltx b/fonts/kpfonts-otf/doc/Kpfonts-OTF-Doc-French.ltx
index a7cebe36ca..dff014531e 100644
--- a/fonts/kpfonts-otf/doc/Kpfonts-OTF-Doc-French.ltx
+++ b/fonts/kpfonts-otf/doc/Kpfonts-OTF-Doc-French.ltx
@@ -17,7 +17,8 @@
\usepackage{babel}
\frenchsetup{og=«, fg=»,%ListItemsAsPar
- }
+}
+\usepackage[All]{lua-typo}
\usepackage{realscripts}
\usepackage{microtype}
\usepackage{hyperref}
@@ -45,7 +46,7 @@
\title{Kp-fonts version OpenType}
\author{\href{mailto:daniel.flipo@free.fr}{Daniel \textsc{Flipo}}}
-\newcommand*{\version}{0.34}
+\newcommand*{\version}{0.35}
\begin{document}
\maketitle
@@ -247,6 +248,16 @@ Notez que ces options n'affectent que les polices de texte.
\item[germandbls :] |\SS| affiche {\addfontfeatures{StylisticSet=2}\SS} au
lieu de {\char"1E9E} (\textit{eszett} majuscule), idem en petites capitales.
+\item[eurosym :] remplace le caractère Euro (€) par le symbole officiel
+ {\addfontfeatures{StylisticSet=3}(€)}, disponible également en italique,
+ gras et gras italique ; la commande |\kpeuro| produit également ce
+ symbole officiel, elle admet un argument optionnel : |\kpeuro[1,50]{}|
+ imprime \kpeuro[1,50] (espace-mot insécable).
+
+\item[harfbuzz :] active le moteur de rendu |Renderer=Harfbuzz| pour HBLuaTeX ;
+ depuis la version 0.35, il n’est plus activé par défaut
+ (il est rarement nécessaire).
+
\end{description}
\subsection{Options des polices mathématiques}
@@ -254,7 +265,7 @@ Notez que ces options n'affectent que les polices de texte.
\begin{description}
\item[lightmath :] les mathématiques sont composées avec les polices
- « light » ;
+ « light ».
\item[bbsans :] dans tous les cas, la commande |\mathbb| produit du
sans-serif :
@@ -263,19 +274,19 @@ Notez que ces options n'affectent que les polices de texte.
$\mathbb{Z}$, à comparer à
\mathversion{base}
$\mathbb{C}$, $\mathbb{K}$, $\mathbb{N}$, $\mathbb{Q}$, $\mathbb{R}$,
- $\mathbb{Z}$ ;
+ $\mathbb{Z}$.
\item[mathcal :] cette option modifie l’effet des commandes
|\mathcal| et |\mathscr|, elles produisent toutes les deux
\mathversion{full}$\mathcal{ABCD}$ % $\mathscr{ABCD}$
- alors que par défaut \mathversion{base} on a $\mathcal{ABCD}$ ;
+ alors que par défaut \mathversion{base} on a $\mathcal{ABCD}$.
\item[frenchstyle :] les majuscules romaines et toutes les lettres grecques
(majuscules ou minuscules) sont droites, selon la tradition typographique
- française, seules les minuscules romaines restent obliques ;
+ française, seules les minuscules romaines restent obliques.
\item[oldstylenumsmath :] fournit les nombres elzéviriens en mode
- mathématique ;
+ mathématique.
\item[narrowiints :] fournit des intégrales multiples plus étroites, plus
« françaises » :
@@ -285,11 +296,11 @@ Notez que ces options n'affectent que les polices de texte.
\mathversion{base}$\iiint$ et $\displaystyle\iiint$
\item[partialup :] le symbole |\partial| affiche $\symup{\partial}$
- (droit) au lieu de $\partial$ ;
+ (droit) au lieu de $\partial$.
\item[fancyReIm :] les commandes |\Re| et |\Im| donnent normalement
$\Re$ et $\Im$, avec cette option elles produisent respectivement $\RE$ et
- $\IM$ ;
+ $\IM$.
\item[tight :] les espaces horizontaux sont réduits en math (comme
ceux de \pkg{fourier-otf}).
@@ -333,7 +344,7 @@ la syntaxe classique\\[.5\baselineskip]
Ceux qui veulent utiliser les KP-fonts pour des documents sans maths, peuvent
évidemment charger uniquement \pkg{fontspec} et faire appel aux commandes
-ci-dessus.
+ci-dessous.
\subsection{Options des polices de texte}
@@ -341,30 +352,30 @@ Pour les polices de texte de Kp-fonts les options suivantes sont proposées :
\begin{description}
\item[Numbers=Lowercase :] pour avoir les chiffres minuscules ou elzéviriens
{\addfontfeature{Numbers=Lowercase} 1,2,3} ou
- \style{Numbers=Lining} (par défaut 1,2,3) ;
+ \style{Numbers=Lining} (par défaut 1,2,3).
\item[SmallCapsFeatures = \{Letters=SmallCaps\} :] pour que la commande
|\textsc{}| affiche les \textlsc{Grandes} petites capitales à la place des
\textpsc{Petites} obtenues par défaut
(option \style{SmallCapsFeatures = \{Letters=PetiteCaps\}}%
- \footnote{Accolades indispensables à cause du signe \texttt{=} !}) ;
+ \footnote{Accolades indispensables à cause du signe \texttt{=} !}).
\item[Ligatures=TeX :] (par défaut) |!`|\quad|?`|\quad|--|\quad |---|
- affichent respectivement\quad !` \quad ?` -- et --- ;
+ affichent respectivement\quad !` \quad ?` -- et ---.
-\item[Ligatures=Common :] (par défaut) ligatures automatiques ff ffi ffl fi fl ;
+\item[Ligatures=Common :] (par défaut) ligatures automatiques ff ffi ffl fi fl.
\item[StylisticSet=1] modifie l’aspect des ligatures
- {\addfontfeature{StylisticSet=1} ffi ffl fi fl} (ff inchangé) ;
+ {\addfontfeature{StylisticSet=1} ffi ffl fi fl} (ff inchangé).
\item[Ligatures=Required :] ajoute les ligatures
- {\addfontfeature{Ligatures=Required} ft et tt} ;
+ {\addfontfeature{Ligatures=Required} ft et tt}.
\item[Ligatures=Rare :] ajoute les ligatures
- {\addfontfeature{Ligatures=Rare} ct et st} ;
+ {\addfontfeature{Ligatures=Rare} ct et st}.
\item[Style=Swash :] pour le {\addfontfeature{Style=Swash}Q long également en
- petites et grandes capitales \textpsc{Que} et \textlsc{Que}} ;
+ petites et grandes capitales \textpsc{Que} et \textlsc{Que}}.
\item[Style=Historic :] pour remplacer systématiquement le « s » rond par un
{\addfontfeature{Style=Historic}« s »} long, il reste possible de forcer un
@@ -378,6 +389,10 @@ Pour les polices de texte de Kp-fonts les options suivantes sont proposées :
\item[StylisticSet=2 :] |\SS| affiche {\addfontfeatures{StylisticSet=2}\SS} au
lieu de {\char"1E9E} (\textit{eszett} majuscule), idem en petites capitales.
+\item[StylisticSet=3 :] remplace le caractère Euro (€) par le symbole officiel
+ {\addfontfeatures{StylisticSet=3}(€)}, disponible également en italique,
+ gras et gras italique.
+
\end{description}
Le choix parmi ces options se fait normalement globalement pour tout le
@@ -445,12 +460,8 @@ trois premières :
\mathversion{base}$\iiint$.
\end{description}
-\vspace{\baselineskip}\enlargethispage*{\baselineskip}
-Les quatre tables suivantes recensent les autres variantes de style proposées :
-\par\noindent
-\begin{minipage}{\linewidth}
- \setlength{\parindent}{0pt}
- \centering
+Les quatre tables suivantes recensent les autres variantes de style proposées.
+\nopagebreak\par\noindent
\begin{minipage}[t]{0.45\linewidth}\centering
\captionof{table}{Style=leqslant (\texttt{+ss04})} \label{ss04}
\begin{tabular}[t]{@{}lcc@{}}
@@ -486,7 +497,8 @@ Les quatre tables suivantes recensent les autres variantes de style proposées :
\cmd{nparallelslant} & $\nparallelslant$ & $\nshortparallelslant$ \\
\hline
\end{tabular}
- \end{minipage}\\
+ \end{minipage}
+\par\noindent
\begin{minipage}[t]{0.45\linewidth}\centering
\captionof{table}{Style=subsetneq (\texttt{+ss06})}\label{ss06}
\begin{tabular}[t]{@{}lcc@{}}
@@ -513,20 +525,18 @@ Les quatre tables suivantes recensent les autres variantes de style proposées :
\hline
\end{tabular}
\end{minipage}
-\end{minipage}
-
-\vspace{\baselineskip}
+\vspace{2\baselineskip}
Exemple : pour activer les styles 4 (leqslant) et 6 (subsetneq) on code\\
|\setmathfont{KpMath-Regular.otf}[StylisticSet={4,6}]|\quad ou bien\\
|\setmathfont{KpMath-Regular.otf}[Style={leqslant,subsetneq}]|\\
-ma cette variante plus parlante n’est disponible que si on a chargé
-\pkg{kpfonts-otf.sty} (même avec l’option \opt{symbols}).
+mais cette variante plus parlante n’est disponible que si
+\pkg{kpfonts-otf.sty} a été chargé (éventuellement avec l’option \opt{symbols}).
%\end{table}
-La table~\vref{cv} recense les variantes de glyphes proposées :
-
\vspace{\baselineskip}
+La table~\vref{cv} recense les variantes de glyphes proposées.
+
\begin{table}[ht]
\centering
\caption{Variantes de glyphes}
diff --git a/fonts/kpfonts-otf/doc/Kpfonts-OTF-Doc-French.pdf b/fonts/kpfonts-otf/doc/Kpfonts-OTF-Doc-French.pdf
index ecdc8f17e3..7e74e307fe 100644
--- a/fonts/kpfonts-otf/doc/Kpfonts-OTF-Doc-French.pdf
+++ b/fonts/kpfonts-otf/doc/Kpfonts-OTF-Doc-French.pdf
Binary files differ
diff --git a/fonts/kpfonts-otf/fonts/KpMath-Bold.otf b/fonts/kpfonts-otf/fonts/KpMath-Bold.otf
index 8b38cf5de8..04082f75ff 100644
--- a/fonts/kpfonts-otf/fonts/KpMath-Bold.otf
+++ b/fonts/kpfonts-otf/fonts/KpMath-Bold.otf
Binary files differ
diff --git a/fonts/kpfonts-otf/fonts/KpMath-Light.otf b/fonts/kpfonts-otf/fonts/KpMath-Light.otf
index 394f6f3e08..c874d9ebc9 100644
--- a/fonts/kpfonts-otf/fonts/KpMath-Light.otf
+++ b/fonts/kpfonts-otf/fonts/KpMath-Light.otf
Binary files differ
diff --git a/fonts/kpfonts-otf/fonts/KpMath-Regular.otf b/fonts/kpfonts-otf/fonts/KpMath-Regular.otf
index f03cfc5dbb..17185f8865 100644
--- a/fonts/kpfonts-otf/fonts/KpMath-Regular.otf
+++ b/fonts/kpfonts-otf/fonts/KpMath-Regular.otf
Binary files differ
diff --git a/fonts/kpfonts-otf/fonts/KpMath-Sans.otf b/fonts/kpfonts-otf/fonts/KpMath-Sans.otf
index 0016386cc7..021ca063b9 100644
--- a/fonts/kpfonts-otf/fonts/KpMath-Sans.otf
+++ b/fonts/kpfonts-otf/fonts/KpMath-Sans.otf
Binary files differ
diff --git a/fonts/kpfonts-otf/fonts/KpMath-Semibold.otf b/fonts/kpfonts-otf/fonts/KpMath-Semibold.otf
index 68c1442f9b..d7530476b9 100644
--- a/fonts/kpfonts-otf/fonts/KpMath-Semibold.otf
+++ b/fonts/kpfonts-otf/fonts/KpMath-Semibold.otf
Binary files differ
diff --git a/fonts/kpfonts-otf/fonts/KpMono-Bold.otf b/fonts/kpfonts-otf/fonts/KpMono-Bold.otf
index 69e8ed0678..d2de74d8b2 100644
--- a/fonts/kpfonts-otf/fonts/KpMono-Bold.otf
+++ b/fonts/kpfonts-otf/fonts/KpMono-Bold.otf
Binary files differ
diff --git a/fonts/kpfonts-otf/fonts/KpMono-BoldItalic.otf b/fonts/kpfonts-otf/fonts/KpMono-BoldItalic.otf
index ccd0b95cf2..8066ae6136 100644
--- a/fonts/kpfonts-otf/fonts/KpMono-BoldItalic.otf
+++ b/fonts/kpfonts-otf/fonts/KpMono-BoldItalic.otf
Binary files differ
diff --git a/fonts/kpfonts-otf/fonts/KpMono-Italic.otf b/fonts/kpfonts-otf/fonts/KpMono-Italic.otf
index 4a651f9cac..3d25604b24 100644
--- a/fonts/kpfonts-otf/fonts/KpMono-Italic.otf
+++ b/fonts/kpfonts-otf/fonts/KpMono-Italic.otf
Binary files differ
diff --git a/fonts/kpfonts-otf/fonts/KpMono-Regular.otf b/fonts/kpfonts-otf/fonts/KpMono-Regular.otf
index 2b4b0b9e0e..945d10385b 100644
--- a/fonts/kpfonts-otf/fonts/KpMono-Regular.otf
+++ b/fonts/kpfonts-otf/fonts/KpMono-Regular.otf
Binary files differ
diff --git a/fonts/kpfonts-otf/fonts/KpRoman-Bold.otf b/fonts/kpfonts-otf/fonts/KpRoman-Bold.otf
index e1dc647b96..5866731d13 100644
--- a/fonts/kpfonts-otf/fonts/KpRoman-Bold.otf
+++ b/fonts/kpfonts-otf/fonts/KpRoman-Bold.otf
Binary files differ
diff --git a/fonts/kpfonts-otf/fonts/KpRoman-BoldItalic.otf b/fonts/kpfonts-otf/fonts/KpRoman-BoldItalic.otf
index 7e11f79dab..5a4e0a11c7 100644
--- a/fonts/kpfonts-otf/fonts/KpRoman-BoldItalic.otf
+++ b/fonts/kpfonts-otf/fonts/KpRoman-BoldItalic.otf
Binary files differ
diff --git a/fonts/kpfonts-otf/fonts/KpRoman-Italic.otf b/fonts/kpfonts-otf/fonts/KpRoman-Italic.otf
index f4d990f757..a5f5ab9410 100644
--- a/fonts/kpfonts-otf/fonts/KpRoman-Italic.otf
+++ b/fonts/kpfonts-otf/fonts/KpRoman-Italic.otf
Binary files differ
diff --git a/fonts/kpfonts-otf/fonts/KpRoman-Light.otf b/fonts/kpfonts-otf/fonts/KpRoman-Light.otf
index 21e6b5c58d..4edc9c4652 100644
--- a/fonts/kpfonts-otf/fonts/KpRoman-Light.otf
+++ b/fonts/kpfonts-otf/fonts/KpRoman-Light.otf
Binary files differ
diff --git a/fonts/kpfonts-otf/fonts/KpRoman-LightItalic.otf b/fonts/kpfonts-otf/fonts/KpRoman-LightItalic.otf
index 7ee8a704ca..cf4c18de5b 100644
--- a/fonts/kpfonts-otf/fonts/KpRoman-LightItalic.otf
+++ b/fonts/kpfonts-otf/fonts/KpRoman-LightItalic.otf
Binary files differ
diff --git a/fonts/kpfonts-otf/fonts/KpRoman-Regular.otf b/fonts/kpfonts-otf/fonts/KpRoman-Regular.otf
index 2658921404..4c98236c84 100644
--- a/fonts/kpfonts-otf/fonts/KpRoman-Regular.otf
+++ b/fonts/kpfonts-otf/fonts/KpRoman-Regular.otf
Binary files differ
diff --git a/fonts/kpfonts-otf/fonts/KpRoman-Semibold.otf b/fonts/kpfonts-otf/fonts/KpRoman-Semibold.otf
index 789c686815..98e80e1021 100644
--- a/fonts/kpfonts-otf/fonts/KpRoman-Semibold.otf
+++ b/fonts/kpfonts-otf/fonts/KpRoman-Semibold.otf
Binary files differ
diff --git a/fonts/kpfonts-otf/fonts/KpRoman-SemiboldItalic.otf b/fonts/kpfonts-otf/fonts/KpRoman-SemiboldItalic.otf
index f0f1e4bd33..df16f0329b 100644
--- a/fonts/kpfonts-otf/fonts/KpRoman-SemiboldItalic.otf
+++ b/fonts/kpfonts-otf/fonts/KpRoman-SemiboldItalic.otf
Binary files differ
diff --git a/fonts/kpfonts-otf/fonts/KpSans-Bold.otf b/fonts/kpfonts-otf/fonts/KpSans-Bold.otf
index 3f09e0364e..43c4a4f0cf 100644
--- a/fonts/kpfonts-otf/fonts/KpSans-Bold.otf
+++ b/fonts/kpfonts-otf/fonts/KpSans-Bold.otf
Binary files differ
diff --git a/fonts/kpfonts-otf/fonts/KpSans-BoldItalic.otf b/fonts/kpfonts-otf/fonts/KpSans-BoldItalic.otf
index 991aeff2fa..ba68320c71 100644
--- a/fonts/kpfonts-otf/fonts/KpSans-BoldItalic.otf
+++ b/fonts/kpfonts-otf/fonts/KpSans-BoldItalic.otf
Binary files differ
diff --git a/fonts/kpfonts-otf/fonts/KpSans-Italic.otf b/fonts/kpfonts-otf/fonts/KpSans-Italic.otf
index fdb2493baa..e7d68286ab 100644
--- a/fonts/kpfonts-otf/fonts/KpSans-Italic.otf
+++ b/fonts/kpfonts-otf/fonts/KpSans-Italic.otf
Binary files differ
diff --git a/fonts/kpfonts-otf/fonts/KpSans-Regular.otf b/fonts/kpfonts-otf/fonts/KpSans-Regular.otf
index f807a6e18e..f3ed871b8f 100644
--- a/fonts/kpfonts-otf/fonts/KpSans-Regular.otf
+++ b/fonts/kpfonts-otf/fonts/KpSans-Regular.otf
Binary files differ
diff --git a/fonts/kpfonts-otf/tex/kpfonts-otf.sty b/fonts/kpfonts-otf/tex/kpfonts-otf.sty
index 1975e7c660..0630b74ed2 100644
--- a/fonts/kpfonts-otf/tex/kpfonts-otf.sty
+++ b/fonts/kpfonts-otf/tex/kpfonts-otf.sty
@@ -1,6 +1,6 @@
\NeedsTeXFormat{LaTeX2e}[2019-01-01]
-\def\fileversion{0.34}
-\def\filedate{2021-01-30}
+\def\fileversion{0.35}
+\def\filedate{2021-03-14}
\ProvidesPackage{kpfonts-otf}[\filedate\space\fileversion]
% Ensure luatex or xetex engine
@@ -15,7 +15,9 @@
\newif\ifkp@lighttext
\newif\ifkp@largesmallcaps
\newif\ifkp@altfligs
+\newif\ifkp@eurosym
\newif\ifkp@germandbls
+\newif\ifkp@harfbuzz
\newif\ifkp@osn
\newif\ifkp@os
\newif\ifkp@vos
@@ -48,6 +50,8 @@
\DeclareOption{largesmallcaps} {\kp@largesmallcapstrue}
\DeclareOption{altfligs} {\kp@altfligstrue}
\DeclareOption{germandbls} {\kp@germandblstrue}
+\DeclareOption{eurosym} {\kp@eurosymtrue}
+\DeclareOption{harfbuzz} {\kp@harfbuzztrue}
% Math options
\DeclareOption{lightmath} {\kp@lightmathtrue}
\DeclareOption{bbsans} {\kp@sfmathbbtrue}
@@ -63,82 +67,28 @@
\kp@mathfalse}
\ProcessOptions
-% This is adapted from babel to concatenate font features.
+% This is adapted from babel to concatenate (rm & sf) font features.
\def\KP@addto#1#2{%
{\toks@\expandafter{#1,#2}%
\xdef#1{\the\toks@}}%
}
-\def\KP@options{Ligatures=TeX}
-
-\ifkp@symbols % true unless "nomath"
- \RequirePackage{unicode-math}[2019/01/01]
- % \D close integral
- \ifkp@Dcommand
- \newcommand*{\D}[1]{\mathclose{\,\symup{d}}#1}%
- \fi
-\fi
-% Loading Math fonts...
-\ifkp@math
- \ifkp@tight
- \thinmuskip=2mu
- \medmuskip=2.5mu plus 1mu minus 2.5mu
- \thickmuskip=3.5mu plus 2.5mu
- \fi
- \ifkp@lightmath
- \ifkp@calasscr
- \defaultfontfeatures+[KpMath-Light.otf]{RawFeature=+ss01}
- \fi
- \ifkp@sfmathbb
- \defaultfontfeatures+[KpMath-Light.otf]{RawFeature=+ss02}
- \fi
- \ifkp@narrowiints
- \defaultfontfeatures+[KpMath-Light.otf]{RawFeature=+ss03}
- \fi
- \ifkp@frenchstyle
- \defaultfontfeatures+[KpMath-Light.otf]{math-style=french}
- \fi
- \ifkp@osnm
- \defaultfontfeatures+[KpMath-Light.otf]{Numbers=Lowercase}
- \fi
- \ifkp@oldReIm
- \defaultfontfeatures+[KpMath-Light.otf]{RawFeature=+cv03}
- \fi
- \ifkp@partialup
- \defaultfontfeatures+[KpMath-Light.otf]{partial=upright}
- \fi
- \setmathfont{KpMath-Light.otf}
- \else
- \ifkp@calasscr
- \defaultfontfeatures+[KpMath-Regular.otf]{RawFeature=+ss01}
- \fi
- \ifkp@sfmathbb
- \defaultfontfeatures+[KpMath-Regular.otf]{RawFeature=+ss02}
- \fi
- \ifkp@narrowiints
- \defaultfontfeatures+[KpMath-Regular.otf]{RawFeature=+ss03}
- \fi
- \ifkp@frenchstyle
- \defaultfontfeatures+[KpMath-Regular.otf]{math-style=french}
- \fi
- \ifkp@osnm
- \defaultfontfeatures+[KpMath-Regular.otf]{Numbers=Lowercase}
- \fi
- \ifkp@oldReIm
- \defaultfontfeatures+[KpMath-Regular.otf]{RawFeature=+cv03}
- \fi
- \ifkp@partialup
- \defaultfontfeatures+[KpMath-Regular.otf]{partial=upright}
- \fi
- \setmathfont{KpMath-Regular.otf}
- \fi
-\fi
+\def\KP@Toptions{Ligatures=TeX}
+% Concatenation of Math options.
+\newtoks\KpMtoks
+\newcommand*{\Store@KP@MOption}[2]{%
+ \KpMtoks=\expandafter{\the\KpMtoks #1={#2},}}
% Loading Text fonts...
\ifkp@text
\RequirePackage{fontspec}[2019/01/01]
- % This needed with LuaTeX to typeset composed chars not ready-made
- % in the KPfonts (f.i. ċṅṁ plus āēīōūẽĕ in sans-serif).
- \ifluahbtex\defaultfontfeatures{Renderer=HarfBuzz}\fi
+ % Euro symbol
+ \newcommand*{\kp@euro}{\char"E990\relax}
+ \newcommand*{\kpeuro}[1][]{\def\@tmp{#1}%
+ \ifx\@tmp\@empty \kp@euro \else #1~\kp@euro\fi
+ }
+ % Option harfbuzz is needed with HBLuaTeX to typeset composed chars
+ % not ready-made in the KPfonts (f.i. ċṅṁ, ạẹịụọṃ,…).
+ \ifluahbtex\ifkp@harfbuzz\defaultfontfeatures+{Renderer=HarfBuzz}\fi\fi
% TS1 accent in Private Area
\DeclareUnicodeAccent{\newtie}{TU}{"E9F0}
% Accents not in tuenc.def
@@ -149,58 +99,65 @@
\ifkp@tt
\defaultfontfeatures+[\ttfamily]{Numbers=Lowercase}
\fi
- \KP@addto\KP@options{Numbers=Lowercase}
+ \KP@addto\KP@Toptions{Numbers=Lowercase}
\fi
%% Oldstyle
\ifkp@os
\ifkp@tt
\defaultfontfeatures+[\ttfamily]{Style=Swash}
\fi
- \KP@addto\KP@options{Style=Swash,Ligatures=Rare}
+ \KP@addto\KP@Toptions{Style=Swash,Ligatures=Rare}
\fi
%% Veryoldstyle
\ifkp@vos
\ifkp@tt
\defaultfontfeatures+[\ttfamily]{Style=Historic, Contextuals=Alternate}
\fi
- \KP@addto\KP@options{Style=Historic, Ligatures=Historic,
+ \KP@addto\KP@Toptions{Style=Historic, Ligatures=Historic,
Contextuals=Alternate}
\fi
% Smallcaps
\ifkp@largesmallcaps
- \KP@addto\KP@options{SmallCapsFeatures = {Letters=SmallCaps}}
+ \KP@addto\KP@Toptions{SmallCapsFeatures = {Letters=SmallCaps}}
\else
- \KP@addto\KP@options{SmallCapsFeatures = {Letters=PetiteCaps}}
+ \KP@addto\KP@Toptions{SmallCapsFeatures = {Letters=PetiteCaps}}
\fi
% Altfligs
\ifkp@altfligs
- \KP@addto\KP@options{StylisticSet=1}
+ \KP@addto\KP@Toptions{StylisticSet=1}
\fi
% Germandbls
\ifkp@germandbls
- \KP@addto\KP@options{StylisticSet=2}
+ \KP@addto\KP@Toptions{StylisticSet=2}
+ \fi
+ % Euro symbol
+ \ifkp@eurosym
+ \ifkp@tt
+ \defaultfontfeatures+[\ttfamily]{StylisticSet=3}
+ \fi
+ \KP@addto\KP@Toptions{StylisticSet=3}
\fi
% Text Serif fonts:
\ifkp@lighttext
- \setmainfont{KpLight}[\KP@options]
- \newfontface\Semibold{KpRoman-Regular.otf}[\KP@options]
- \newfontface\SemiboldItalic{KpRoman-Italic.otf}[\KP@options]
- \newfontface\Extrabold{KpRoman-Bold.otf}[\KP@options]
- \newfontface\ExtraboldItalic{KpRoman-BoldItalic.otf}[\KP@options]
+ \setmainfont{KpLight}[\KP@Toptions]
+ \newfontface\Semibold{KpRoman-Regular.otf}[\KP@Toptions]
+ \newfontface\SemiboldItalic{KpRoman-Italic.otf}[\KP@Toptions]
+ \newfontface\Extrabold{KpRoman-Bold.otf}[\KP@Toptions]
+ \newfontface\ExtraboldItalic{KpRoman-BoldItalic.otf}[\KP@Toptions]
\DeclareTextFontCommand{\textsb}{\Semibold}
\DeclareTextFontCommand{\texteb}{\Extrabold}
\else
- \setmainfont{KpRoman}[\KP@options]
- \newfontface\Light{KpRoman-Light.otf}[\KP@options]
- \newfontface\LightItalic {KpRoman-LightItalic.otf}[\KP@options]
- \newfontface\Semibold{KpRoman-Semibold.otf}[\KP@options]
- \newfontface\SemiboldItalic{KpRoman-SemiboldItalic.otf}[\KP@options]
+ \setmainfont{KpRoman}[\KP@Toptions]
+ \newfontface\Light{KpRoman-Light.otf}[\KP@Toptions]
+ \newfontface\LightItalic {KpRoman-LightItalic.otf}[\KP@Toptions]
+ \newfontface\Semibold{KpRoman-Semibold.otf}[\KP@Toptions]
+ \newfontface\SemiboldItalic{KpRoman-SemiboldItalic.otf}[\KP@Toptions]
\DeclareTextFontCommand{\textsb}{\Semibold}
\DeclareTextFontCommand{\textlt}{\Light}
\fi
% Text Sans Serif fonts:
\ifkp@sf
- \setsansfont{KpSans}[\KP@options]
+ \setsansfont{KpSans}[\KP@Toptions]
\fi
% Text Typewriter fonts:
\ifkp@tt
@@ -213,8 +170,72 @@
\DeclareRobustCommand\textpsc[1]{{\pscshape #1}}
\fi
+\ifkp@symbols % true unless "nomath"
+ \RequirePackage{unicode-math}[2019/01/01]
+ % \D close integral
+ \ifkp@Dcommand
+ \newcommand*{\D}[1]{\mathclose{\,\symup{d}}#1}%
+ \fi
+\fi
+
+% Loading Math fonts...
+\ifkp@math
+ \ifkp@tight
+ \thinmuskip=2mu
+ \medmuskip=2.5mu plus 1mu minus 2.5mu
+ \thickmuskip=3.5mu plus 2.5mu
+ \fi
+ \ifkp@lightmath
+ \ifkp@calasscr
+ \Store@KP@MOption{RawFeature}{+ss01}
+ \fi
+ \ifkp@sfmathbb
+ \Store@KP@MOption{RawFeature}{+ss02}
+ \fi
+ \ifkp@narrowiints
+ \Store@KP@MOption{RawFeature}{+ss03}
+ \fi
+ \ifkp@osnm
+ \Store@KP@MOption{Numbers}{Lowercase}
+ \fi
+ \ifkp@oldReIm
+ \Store@KP@MOption{RawFeature}{+cv00}
+ \fi
+ \ifkp@frenchstyle
+ \Store@KP@MOption{math-style}{french}
+ \fi
+ \ifkp@partialup
+ \Store@KP@MOption{partial}{upright}
+ \fi
+ \expandafter\setmathfont\expandafter[\the\KpMtoks]{KpMath-Light.otf}
+ \else
+ \ifkp@calasscr
+ \Store@KP@MOption{RawFeature}{+ss01}
+ \fi
+ \ifkp@sfmathbb
+ \Store@KP@MOption{RawFeature}{+ss02}
+ \fi
+ \ifkp@narrowiints
+ \Store@KP@MOption{RawFeature}{+ss03}
+ \fi
+ \ifkp@osnm
+ \Store@KP@MOption{Numbers}{Lowercase}
+ \fi
+ \ifkp@oldReIm
+ \Store@KP@MOption{RawFeature}{+cv00}
+ \fi
+ \ifkp@frenchstyle
+ \Store@KP@MOption{math-style}{french}
+ \fi
+ \ifkp@partialup
+ \Store@KP@MOption{partial}{upright}
+ \fi
+ \expandafter\setmathfont\expandafter[\the\KpMtoks]{KpMath-Regular.otf}
+ \fi
+\fi
+
\ifkp@symbols
- % Style aliases
+ % Style aliases (math only)
\newopentypefeature{Style}{mathcal}{ss01}
\newopentypefeature{Style}{bbsans}{ss02}
\newopentypefeature{Style}{narrowiints}{ss03}