summaryrefslogtreecommitdiff
path: root/fonts
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2022-11-11 03:01:36 +0000
committerNorbert Preining <norbert@preining.info>2022-11-11 03:01:36 +0000
commitcb29daf7efdfbc631ff814579233be617efdbdf9 (patch)
tree9b2e4e2fc09c507166c8ee2ab43bdf63f2f1cdeb /fonts
parent7ffc72f568b89a4914168cd6921510d226a48620 (diff)
CTAN sync 202211110301
Diffstat (limited to 'fonts')
-rw-r--r--fonts/kpfonts-otf/README.md14
-rw-r--r--fonts/kpfonts-otf/doc/Kpfonts-OTF-Doc-English.ltx83
-rw-r--r--fonts/kpfonts-otf/doc/Kpfonts-OTF-Doc-English.pdfbin220944 -> 221331 bytes
-rw-r--r--fonts/kpfonts-otf/doc/Kpfonts-OTF-Doc-French.ltx81
-rw-r--r--fonts/kpfonts-otf/doc/Kpfonts-OTF-Doc-French.pdfbin223341 -> 222907 bytes
-rw-r--r--fonts/kpfonts-otf/doc/unimath-kpfonts.pdfbin1821149 -> 1821068 bytes
-rw-r--r--fonts/kpfonts-otf/fonts/KpMath-Bold.otfbin197760 -> 198208 bytes
-rw-r--r--fonts/kpfonts-otf/fonts/KpMath-Light.otfbin459812 -> 460680 bytes
-rw-r--r--fonts/kpfonts-otf/fonts/KpMath-Regular.otfbin433460 -> 434344 bytes
-rw-r--r--fonts/kpfonts-otf/fonts/KpMath-Sans.otfbin281060 -> 282092 bytes
-rw-r--r--fonts/kpfonts-otf/fonts/KpMath-Semibold.otfbin199880 -> 198900 bytes
-rw-r--r--fonts/kpfonts-otf/fonts/KpMono-Bold.otfbin57912 -> 57924 bytes
-rw-r--r--fonts/kpfonts-otf/fonts/KpMono-BoldItalic.otfbin65120 -> 65136 bytes
-rw-r--r--fonts/kpfonts-otf/fonts/KpMono-Italic.otfbin66424 -> 66440 bytes
-rw-r--r--fonts/kpfonts-otf/fonts/KpMono-Regular.otfbin59044 -> 59056 bytes
-rw-r--r--fonts/kpfonts-otf/fonts/KpRoman-Bold.otfbin132224 -> 132240 bytes
-rw-r--r--fonts/kpfonts-otf/fonts/KpRoman-BoldItalic.otfbin142840 -> 142852 bytes
-rw-r--r--fonts/kpfonts-otf/fonts/KpRoman-Italic.otfbin132976 -> 132988 bytes
-rw-r--r--fonts/kpfonts-otf/fonts/KpRoman-Light.otfbin130468 -> 130484 bytes
-rw-r--r--fonts/kpfonts-otf/fonts/KpRoman-LightItalic.otfbin135316 -> 135328 bytes
-rw-r--r--fonts/kpfonts-otf/fonts/KpRoman-Regular.otfbin131120 -> 131132 bytes
-rw-r--r--fonts/kpfonts-otf/fonts/KpRoman-Semibold.otfbin129480 -> 129496 bytes
-rw-r--r--fonts/kpfonts-otf/fonts/KpRoman-SemiboldItalic.otfbin140432 -> 140484 bytes
-rw-r--r--fonts/kpfonts-otf/fonts/KpSans-Bold.otfbin103116 -> 103128 bytes
-rw-r--r--fonts/kpfonts-otf/fonts/KpSans-BoldItalic.otfbin111112 -> 111128 bytes
-rw-r--r--fonts/kpfonts-otf/fonts/KpSans-Italic.otfbin111072 -> 111088 bytes
-rw-r--r--fonts/kpfonts-otf/fonts/KpSans-Regular.otfbin102532 -> 102556 bytes
-rw-r--r--fonts/kpfonts-otf/tex/kpfonts-otf.sty72
28 files changed, 95 insertions, 155 deletions
diff --git a/fonts/kpfonts-otf/README.md b/fonts/kpfonts-otf/README.md
index 8a18734d6e..2d3ed1f8f4 100644
--- a/fonts/kpfonts-otf/README.md
+++ b/fonts/kpfonts-otf/README.md
@@ -177,9 +177,17 @@ Either version 1.3 or, at your option, any later version.
* v. 0.45:
Maths fonts: delimiters, integrals, sum, prod etc. are now vertically
- centerred by design on the maths axis (required by luametatex).
+ centred by design on the maths axis (required by luametatex).
Fixed inconsistencies about bold and semibold integrals.
-
+
+* v. 0.46:
+ 1. Text fonts: option longs deleted, option veryoldstyle improved, the
+ substitution from `s' to `ſ' is now handled by "StylisticSet=12".
+ 2. Maths fonts:
+ - Added a smaller variant for \widehat, \widetilde, \widecheck.
+ - Vertical variants added for \vert, \Vert, \Vvert.
+ - Added extensible integral for U+222B (usable with luametatex).
+
---
-Copyright 2020-2022 Daniel Flipo
+Copyright 2020-2022 Daniel Flipo
E-mail: daniel (dot) flipo (at) free (dot) fr
diff --git a/fonts/kpfonts-otf/doc/Kpfonts-OTF-Doc-English.ltx b/fonts/kpfonts-otf/doc/Kpfonts-OTF-Doc-English.ltx
index e945af75a3..ced8669435 100644
--- a/fonts/kpfonts-otf/doc/Kpfonts-OTF-Doc-English.ltx
+++ b/fonts/kpfonts-otf/doc/Kpfonts-OTF-Doc-English.ltx
@@ -6,8 +6,7 @@
\usepackage[svgnames]{xcolor}
\usepackage[hypcap=false]{caption}
\usepackage{shortvrb}
-% Option "longs" for local exemples of the long s
-\usepackage[longs]{kpfonts-otf}
+\usepackage{kpfonts-otf}
% Math demos
\setmathfont{KpMath-Regular.otf}[version=full,
@@ -42,7 +41,7 @@
\title{Kp-fonts: OpenType version}
\author{\href{mailto:daniel.flipo@free.fr}{Daniel \textsc{Flipo}}}
-\newcommand*{\version}{0.45}
+\newcommand*{\version}{0.46}
\begin{document}
\selectlanguage{british}
@@ -213,32 +212,23 @@ and a bunch of Kp-fonts specifics symbols.
\item \textsc{\textbf{\test}}
\end{itemize}
-\item[veryoldstyle:] same as option \opt{oldstyle} but
- the round `s’ is replaced by the long one
- {\addfontfeatures{RawFeature=+hist;+hlig}`s\hspace{1sp}’},
- unless it ends a word (then it remains `s’)%
- \footnote{The OpenType \texttt{calt} feature is used to catch `s’ ending
- a word.}
+\item[veryoldstyle:]\hlabel{veryoldstyle} same as option \opt{oldstyle} but
+ the round `s’ is replaced by the long one `ſ’
+ unless it ends a word or is followed by \textit{b}, \textit{f} or \textit{h}%
+ \footnote{Rules found on
+ \href{https://fr.wikipedia.org/wiki/S_long}{wikipedia}.}
and ancient ligatures {\addfontfeatures{RawFeature=+hist;+hlig} si, sl, st}
are activated.
- Coding \texttt{s=} prints a round `s’ anytime; in most cases this coding is
- not necessary with LuaTeX,
- f.i. |\textit{some of Highlands’ mysterious castles…}|
- will print
+ Coding |\textit{some of Highlands’ mysterious castles…}| will print
{\addfontfeatures{RawFeature=+hist;+hlig;+calt}%
- \textit{some of Highlands’ mysterious castles…}} which is correct;
- with XeTeX an \texttt{=} sign must be added at the end of
- \texttt{mysterious=} to get a round `s’ there :
- final `s’ followed by a punctuation sign is never turned into
- {\addfontfeatures{RawFeature=+hist;+hlig}`s\hspace{1sp}’}, when followed by
- a space it is a trickier, see option \opt{longs} below.
-
-\item[longs] \hlabel{longs}
- inhibits the transformation of an `s’ followed by a space into
- {\addfontfeatures{RawFeature=+hist;+hlig}`s\hspace{1sp}’}. This option,
- available only with LuaTeX, is silently switched on by \opt{veryoldstyle};
- it is used explicitly in the present document to deal with the examples of
- long `s’ shown in the preceding item.
+ \textit{some of Highlands’ mysterious castles…}} which is correct.
+
+ The automatic substitution relies on the OpenType feature
+ \texttt{StylisticSet=12}. A round `s’ (resp. long `ſ’) can be forced by
+ coding \texttt{s\char"200B=} or |\shorts{}| (resp. \texttt{ſ}%
+ \footnote{On Unix systems the \texttt{Compose} key can be used:
+ \texttt{Compose f s}.}
+ or |\longs{}|).
\item[largesmallcaps:] prints larger \textlsc{Small Caps} than the default
ones (\textsc{Petite Caps}).
@@ -363,7 +353,8 @@ Here are the options available for Text Kp-fonts:
\item[Ligatures=TeX] (default) |'|\quad|!`|\quad|?`|\quad|--|\quad |---|\quad
print respectively\quad ’ \quad !` \quad ?`\quad -- \quad ---.
-\item[Ligatures=Common] (default) automatic ligatures ff ffi ffl fi fl.
+\item[Ligatures=Common] (default) automatic ligatures ff ffi ffl fi fl
+ (plus s\char"200B=).
\item[StylisticSet=1] provides an alternative for glyphs
{\addfontfeature{StylisticSet=1} ffi ffl fi fl} (ff is unchanged).
@@ -377,19 +368,23 @@ Here are the options available for Text Kp-fonts:
Q: {\addfontfeature{Style=Swash}Queen, also in small caps (both sizes):
\textpsc{Queen} and \textlsc{Queen}}.
-\item[Style=Historic] replaces any instance of `s’ by the long variant
- {\addfontfeature{Style=Historic}s}. It is still possible to get a round
- `s’ coding it as `|s=|’ specially at end of words; see options
- \opt{veryoldstyle} and \opt{longs} p.~\pageref{longs} for more details.
+\item[Style=Historic] replaces any instance of `s’ by the long variant~`ſ’.
+ It is still possible to get a round `s’ coding it as
+ `\texttt{s\char"200B=}’; this option should no longer be used, it is
+ superseded by \opt{StylisticSet=12} below.
+
+\item[StylisticSet=12] has been described in option \opt{veryoldstyle}
+ p.~\pageref{veryoldstyle}: it operates a contextual substitution of
+ round~`s’ by long~`ſ’. An alias \opt{Style=autolongs} is available if
+ \pkg{kpfonts-otf.sty} has been loaded.
-\item[Ligatures=Historic] switches specific ligatures for the long
- {\addfontfeature{Style=Historic}s}:
+\item[Ligatures=Historic] switches specific ligatures for the long~ſ:
{\addfontfeature{Style=Historic,Ligatures=Historic} si, sl, st}.
\item[StylisticSet=2 :] |\SS| prints {\addfontfeatures{StylisticSet=2}\SS}
instead of {\char"1E9E} (capital \textit{Eszett}), ditto for small/petite caps.
-\item[StylisticSet=3 :] replaces the Euro character (€) by the official symbol
+\item[StylisticSet=3] replaces the Euro character (€) by the official symbol
{\addfontfeatures{StylisticSet=3}(€)} (available in regular, italics,
bold and bolditalic).
@@ -689,22 +684,22 @@ The full list of Unicode symbols available with Kp-fonts is shown in file
\subsection{Wide accents}
\begin{itemize}
+\item \cmd{wideoverbar} and \cmd{mathunderbar}%
+ \footnote{\cmd{overline} and \cmd{underline} are not font related,
+ they are based on \cmd{rule}.}
+ \[\wideoverbar{x}\quad \wideoverbar{xy}\quad \wideoverbar{xyz}\quad
+ \wideoverbar{A\cup B}\quad \wideoverbar{A\cup (B\cap C)\cup D}\quad
+ \mathunderbar{m+n+p}\]
+
\item \cmd{widehat} and \cmd{widetilde}
\[\widehat{x}\; \widehat{xx} \;\widehat{xxx} \;\widehat{xxxx}\;
\widehat{xxxxx} \;\widehat{xxxxxx} \;\widetilde{x}\; \widetilde{xx}\;
\widetilde{xxx} \;\widetilde{xxxx} \;\widetilde{xxxxx}\;
\widetilde{xxxxxx}\]
-\item \cmd{overline} and \cmd{underline}
- \[\overline{x}\quad \overline{xy}\quad \overline{xyz}\quad
- \overline{A\cup B}\quad \overline{A\cup (B\cap C)\cup D}\quad
- \underline{m+n+p}\]
-
-\item \cmd{wideoverbar}, \cmd{widecheck} and \cmd{widebreve}
- \[\wideoverbar{x}\quad \wideoverbar{xy}\quad \wideoverbar{xyz}\quad
- \widecheck{x}\quad \widecheck{xxxx}\quad \widecheck{xxxxxx}\quad
- \widebreve{x}\quad \widebreve{xxxx}\quad \widebreve{xxxxxx}
- \]
+\item \cmd{widecheck} and \cmd{widebreve}
+ \[\widecheck{x}\quad \widecheck{xxxx}\quad \widecheck{xxxxxx}\quad
+ \widebreve{x}\quad \widebreve{xxxx}\quad \widebreve{xxxxxx}\]
\item \cmd{overparen} and \cmd{underparen}
\[\overparen{x}\quad \overparen{xy}\quad \overparen{xyz}\quad
diff --git a/fonts/kpfonts-otf/doc/Kpfonts-OTF-Doc-English.pdf b/fonts/kpfonts-otf/doc/Kpfonts-OTF-Doc-English.pdf
index 5529c0e23e..40fc33cb66 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 6be3c43ff6..09ea4e292c 100644
--- a/fonts/kpfonts-otf/doc/Kpfonts-OTF-Doc-French.ltx
+++ b/fonts/kpfonts-otf/doc/Kpfonts-OTF-Doc-French.ltx
@@ -7,10 +7,8 @@
\usepackage[hypcap=false]{caption}
\usepackage{shortvrb}
\usepackage{babel}
-\frenchsetup{og=«, fg=»,%ListItemsAsPar
-}
-
-\usepackage[longs]{kpfonts-otf}
+\frenchsetup{og=«, fg=», ListItemsAsPar}
+\usepackage{kpfonts-otf}
% Pour les démos :
\setmathfont{KpMath-Regular.otf}[version=full,
@@ -42,7 +40,7 @@
\title{Kp-fonts version OpenType}
\author{\href{mailto:daniel.flipo@free.fr}{Daniel \textsc{Flipo}}}
-\newcommand*{\version}{0.45}
+\newcommand*{\version}{0.46}
\begin{document}
\maketitle
@@ -118,7 +116,7 @@
Les utilisateurs de la version originale des Kp-fonts préfèreront probablement
charger \pkg{kpfonts-otf.sty} comme ceci :\\[.5\baselineskip]
|\usepackage[ |\optit{options}| ]{kpfonts-otf}|\\[.5\baselineskip]
-ceci charge \pkg{unicode-math}, \pkg{fontspec} ainsi que \pkg{realscripts} et
+ceci charge \pkg{unicode-math}, \pkg{fontspec} et \pkg{realscripts} et
définit \family{KpRoman} (\family{Regular} ou \family{Light} selon les options),
\family{KpSans} et \family{KpMono} comme polices de texte et \family{KpMath}
(\family{Regular} ou \family{Light} selon les options) comme police
@@ -224,38 +222,23 @@ Notez que ces options n'affectent que les polices de texte.
\item[veryoldstyle :] \hlabel{veryoldstyle}
identique à l'option \opt{oldstyle} mais en plus le « s » rond est
- remplacé par le « {\addfontfeatures{RawFeature=+hist;+hlig}s} » long
- sauf en fin de mot (où il doit rester rond) et les ligatures
+ remplacé par le «ſ» long sauf en fin de mot et sauf devant \textit{b},
+ \textit{f} et \textit{h}%
+ \footnote{Ces règles sont celles décrites
+ \href{https://fr.wikipedia.org/wiki/S_long}{ici}.}
+ et les ligatures
{\addfontfeatures{RawFeature=+hist;+hlig} si, sl, st} sont activées.
- Avec LuaTeX, le codage |\textit{« Des espoirs si funestes… »}| donne bien
+ Le codage |\textit{« Des espoirs si funestes… »}| donne bien
{\addfontfeatures{RawFeature=+hist;+hlig;+calt}
\textit{«Des espoirs si funestes…»}.
}
- Les choses se passent bien tant que le « s » est immédiatement suivi des
- \emph{caractères} Unicode U+0020 espace-mot,
- U+00A0 espace-mot insécable, U+202F fine insécable
- ou d’un signe de ponctuation (virgule, point, etc.) \emph{mais pas} s’il est
- suivi d’une espace (sécable ou non) produite par TeX%
- \footnote{On utilise la \emph{feature} OpenType \texttt{calt} qui ne
- reconnaît ni les \cmd{hskip} ni les \cmd{penalty} de TeX.} !
- Le fichier \file{kpfont-otf.sty} fournit une parade au moins avec le
- moteur LuaTeX.
-
- Exemple : le codage |\textit{espoirs, mais quels~espoirs?}| produit comme il
- se doit en français
- {\addfontfeatures{RawFeature=+hist;+calt}\textit{espoirs, mais~quels~espoirs?}}
- (avec fine insécable devant le `?’).
-
- Il est toujours possible de forcer un «s» rond en codant \texttt{s=}.
- Avec XeTeX, il faudrait coder: |\textit{espoirs, mais= quels=~espoirs=?}|.
-
-\item[longs :] \hlabel{longs}
- empêche qu’un « s » suivi d’une espace sécable ou non soit
- transformé en « s » long. Cette option, utilisable seulement avec
- LuaTeX, est activée automatiquement par \opt{veryoldstyle} ; dans ce document
- elle est utilisée seule pour traiter les exemples locaux de « s » long
- (voir ci-dessus).
+ La substitution automatique repose sur la \textit{feature} OpenType
+ \texttt{StylisticSet=12}. Il est toujours possible de forcer un «s» rond
+ en codant \texttt{s\char"200B=} ou |\shorts{}| ou un «ſ» long en codant
+ \texttt{ſ}%
+ \footnote{Sous Unix, le \texttt{ſ} long s’obtient grâce à la touche
+ \texttt{Compose} : \texttt{Compose f s}.} ou |\longs{}|.
\item[largesmallcaps :] produit des petites capitales plus \textlsc{Grandes}
que par les \textsc{Petites} obtenues par défaut.
@@ -388,7 +371,8 @@ Pour les polices de texte de Kp-fonts les options suivantes sont proposées :
\item[Ligatures=TeX :] (par défaut) |!`|\quad|?`|\quad|--|\quad |---|
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
+ (plus s\char"200B=).
\item[StylisticSet=1] modifie l’aspect des ligatures
{\addfontfeature{StylisticSet=1} ffi ffl fi fl} (ff inchangé).
@@ -404,10 +388,14 @@ Pour les polices de texte de Kp-fonts les options suivantes sont proposées :
\item[Style=Historic :] pour remplacer systématiquement le « s » rond par un
{\addfontfeature{Style=Historic}« s »} long, il reste possible de forcer un
- « s » rond, en fin de mot notamment, en codant |s=| ; ce n’est pas toujours
- nécessaire, sous LuaTeX activer l’option \opt{longs} de
- \pkg{kpfonts-otf} |\usepackage[longs]{kpfonts-otf}| permet d’éviter ce
- codage pour les « s » suivis d’une espace (voir p.~\pageref{veryoldstyle}).
+ « s » rond, en fin de mot notamment, en codant \texttt{s\char"200B=}.
+ Cette option ne devrait plus être utilisée, elle est remplacée par la
+ suivante \opt{StylisticSet=12}.
+
+\item[StylisticSet=12 :] option décrite sous le nom de \opt{veryoldstyle}
+ p.~\pageref{veryoldstyle}: elle opère un remplacement contextuel du `s’~rond
+ par le `ſ’~long. Si \pkg{kpfonts-otf.sty} est chargé, elle a pour alias
+ \opt{Style=autolongs}.
\item[Ligatures=Historic :] active les ligatures spécifiques au
{\addfontfeature{Style=Historic,Ligatures=Historic}« s » long si, sl, st}.
@@ -730,20 +718,21 @@ n’ont pas de code Unicode, ils sont codés en zone privée pour Kp-fonts.
\subsection{Accents extensibles}
\begin{itemize}
+\item \cmd{wideoverbar} and \cmd{mathunderbar}%
+ \footnote{\cmd{overline} and \cmd{underline} utilisent \cmd{rule}, elles
+ ne sont pas liées à la police.}
+ \[\wideoverbar{x}\quad \wideoverbar{xy}\quad \wideoverbar{xyz}\quad
+ \wideoverbar{A\cup B}\quad \wideoverbar{A\cup (B\cap C)\cup D}\quad
+ \mathunderbar{m+n+p}\]
+
\item \cmd{widehat} et \cmd{widetilde}
\[\widehat{x}\; \widehat{xx} \;\widehat{xxx} \;\widehat{xxxx}\;
\widehat{xxxxx} \;\widehat{xxxxxx} \;\widetilde{x}\; \widetilde{xx}\;
\widetilde{xxx} \;\widetilde{xxxx} \;\widetilde{xxxxx}\;
\widetilde{xxxxxx}\]
-\item \cmd{overline} et \cmd{underline}
- \[\overline{x}\quad \overline{xy}\quad \overline{xyz}\quad
- \overline{A\cup B}\quad \overline{A\cup (B\cap C)\cup D}\quad
- \underline{m+n+p}\]
-
-\item \cmd{wideoverbar}, \cmd{widecheck} et \cmd{widebreve}
- \[\wideoverbar{x}\quad \wideoverbar{xy}\quad \wideoverbar{xyz}\quad
- \widecheck{x}\quad \widecheck{xxxx}\quad \widecheck{xxxxxx}\quad
+\item \cmd{widecheck} et \cmd{widebreve}
+ \[\widecheck{x}\quad \widecheck{xxxx}\quad \widecheck{xxxxxx}\quad
\widebreve{x}\quad \widebreve{xxxx}\quad \widebreve{xxxxxx}
\]
diff --git a/fonts/kpfonts-otf/doc/Kpfonts-OTF-Doc-French.pdf b/fonts/kpfonts-otf/doc/Kpfonts-OTF-Doc-French.pdf
index 7206dabf88..da0c19bac2 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/doc/unimath-kpfonts.pdf b/fonts/kpfonts-otf/doc/unimath-kpfonts.pdf
index f10f284d68..d767b66dd0 100644
--- a/fonts/kpfonts-otf/doc/unimath-kpfonts.pdf
+++ b/fonts/kpfonts-otf/doc/unimath-kpfonts.pdf
Binary files differ
diff --git a/fonts/kpfonts-otf/fonts/KpMath-Bold.otf b/fonts/kpfonts-otf/fonts/KpMath-Bold.otf
index aadba155b7..2978442d80 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 417c1f64e7..f9875d5966 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 ee8a58cc92..059418084a 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 a24d67fff9..fafb63051e 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 f88a36bb65..5fd8318793 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 827c37d6c8..13aa55494b 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 afb1ff2e80..91170c263e 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 b71e12016b..d95fa10bc9 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 315adffd5a..65fa0fc174 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 37c8338a21..4a64c4c946 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 420c6fc90f..d1cc6d8a45 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 aeab6d58ca..589bc5eef7 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 4760d0f82f..e0ceca0e0f 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 847c46a822..42f5c657d7 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 c32cf5442f..f97fe3d007 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 6ef1b162da..40726c8a01 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 9fe7448652..8545049265 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 68a33ee3ab..9e386648cd 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 1d26116eb2..ac9a827ed6 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 bed2d15e76..8020d08390 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 768bfc3f28..5ee33920e6 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 4d6ca62a31..9fdb53d30b 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.45}
-\def\filedate{2022-10-06}
+\def\fileversion{0.46}
+\def\filedate{2022-11-10}
\ProvidesPackage{kpfonts-otf}[\filedate\space\fileversion]
% Ensure luatex or xetex engine
@@ -21,7 +21,6 @@
\newif\ifkp@osn
\newif\ifkp@os
\newif\ifkp@vos
-\newif\ifkp@longs
\newif\ifkp@Qtail
%
\newif\ifkp@lightmath
@@ -50,9 +49,7 @@
\DeclareOption{lighttext} {\kp@lighttexttrue}
\DeclareOption{oldstylenums} {\kp@osntrue}
\DeclareOption{oldstyle} {\kp@ostrue\kp@osntrue\kp@Qtailtrue}
-\DeclareOption{longs} {\kp@longstrue}
-\DeclareOption{veryoldstyle} {\kp@vostrue\kp@osntrue\kp@Qtailtrue
- \ifluatex\kp@longstrue\fi}
+\DeclareOption{veryoldstyle} {\kp@vostrue\kp@osntrue\kp@Qtailtrue}
\DeclareOption{largesmallcaps} {\kp@largesmallcapstrue}
\DeclareOption{altfligs} {\kp@altfligstrue}
\DeclareOption{germandbls} {\kp@germandblstrue}
@@ -81,6 +78,8 @@
% Text fonts setup...
\ifkp@text
\RequirePackage{fontspec}[2019/01/01]
+ % Style alias (text only)
+ \newopentypefeature{Style}{autolongs}{+ss12}
\RequirePackage{realscripts}
% Two candidates for \rmfamily:
\newfontfamily\KpRoman{KpRoman}
@@ -98,6 +97,9 @@
% Accents not in tuenc.def
\DeclareUnicodeAccent{\candra} \UnicodeEncodingName{"0310}
\DeclareUnicodeAccent{\ringbelow} \UnicodeEncodingName{"0325}
+ % Long s: ſ
+ \DeclareTextCommand{\longs}{TU}{\char"17F}
+ \DeclareTextCommand{\shorts}{TU}{\char"17F\char"200B}
% Oldstylenums
\ifkp@osn
\ifkp@tt
@@ -115,64 +117,10 @@
%% Veryoldstyle
\ifkp@vos
\ifkp@tt
- \defaultfontfeatures+[\ttfamily]{Style=Historic, Contextuals=Alternate}
+ \defaultfontfeatures+[\ttfamily]{StylisticSet=12}
\fi
\defaultfontfeatures+[KpRoman,KpLight,\sffamily]{%
- Style=Historic,Ligatures=Historic,Contextuals=Alternate}
- \fi
- %% No Long s before spaces with luatex
- \ifkp@longs
- \ifluatex
- % This function adds character U+200B (zero width space) when an "s"
- % is followed by a TeX space (glue or penalty) so that it is not turned
- % into a long "s" by the "calt" feature.
- \directlua{%
- function add_eow_char (head)
- local eow = 0x200B
- local GLUE = node.id("glue")
- local GLYPH = node.id("glyph")
- local SPSKIP = 13
- local PENALTY = node.id("penalty")
- local Longs =
- {[string.byte("s")] = true}
- local new_node = node.new
- local copy_node = node.copy
- local insert_node_after = node.insert_after
- % Perserve TeX's kerning
- head = node.kerning(head)
- % wordbd is the zero width node to add
- local wordbd = new_node(GLYPH)
- for item in node.traverse_id(GLYPH, head) do
- if Longs[item.char] then
- local fid = item.font
- % Check if char U+200B is available in the current font:
- % code borrowed from file "luaotfload-auxiliary.lua".
- local fontdata = fonts.hashes.identifiers[fid]
- if fontdata and fontdata.characters[eow] then
- nxt = item.next
- if not nxt or (nxt.id == GLUE and nxt.subtype == SPSKIP)
- or nxt.id == PENALTY then
- wordbd.font = fid
- wordbd.char = eow
- wordbd.attr = item.attr
- insert_node_after(head,item,copy_node(wordbd))
- end
- end
- end
- end
- end
- }
- % Register *after* loading babel-french!
- \AtBeginDocument{%
- \directlua{
- luatexbase.add_to_callback("kerning", add_eow_char,
- "add_end_of_word_boundary");
- }
- }
- \else
- \PackageWarning{kpfonts-otf}%
- {Option "longs" skipped (luatex only), reported}
- \fi
+ StylisticSet=12, Ligatures=Historic}
\fi
% Smallcaps
\ifkp@largesmallcaps