summaryrefslogtreecommitdiff
path: root/fonts/kpfonts-otf
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2020-11-20 03:01:07 +0000
committerNorbert Preining <norbert@preining.info>2020-11-20 03:01:07 +0000
commit9fd41d05ec3aeb960a242af4f054e5c2d21de4e1 (patch)
treec5b4d8f677677e0a172270edf93e0600e8814f1f /fonts/kpfonts-otf
parent760d89b8378840fd2799ef792b5300b760723bff (diff)
CTAN sync 202011200301
Diffstat (limited to 'fonts/kpfonts-otf')
-rw-r--r--fonts/kpfonts-otf/README.md33
-rw-r--r--fonts/kpfonts-otf/doc/Kpfonts-OTF-Doc-English.ltx181
-rw-r--r--fonts/kpfonts-otf/doc/Kpfonts-OTF-Doc-English.pdfbin185280 -> 189615 bytes
-rw-r--r--fonts/kpfonts-otf/doc/Kpfonts-OTF-Doc-French.ltx181
-rw-r--r--fonts/kpfonts-otf/doc/Kpfonts-OTF-Doc-French.pdfbin186766 -> 190947 bytes
-rw-r--r--fonts/kpfonts-otf/doc/unimath-kpfonts.pdfbin1808256 -> 1798004 bytes
-rw-r--r--fonts/kpfonts-otf/fonts/KpMath-Bold.otfbin203332 -> 204312 bytes
-rw-r--r--fonts/kpfonts-otf/fonts/KpMath-Light.otfbin467248 -> 468440 bytes
-rw-r--r--fonts/kpfonts-otf/fonts/KpMath-Regular.otfbin392904 -> 394504 bytes
-rw-r--r--fonts/kpfonts-otf/fonts/KpMath-Sans.otfbin271864 -> 272896 bytes
-rw-r--r--fonts/kpfonts-otf/fonts/KpMath-Semibold.otfbin202092 -> 203032 bytes
-rw-r--r--fonts/kpfonts-otf/fonts/KpMono-Bold.otfbin55492 -> 58132 bytes
-rw-r--r--fonts/kpfonts-otf/fonts/KpMono-BoldItalic.otfbin62800 -> 65468 bytes
-rw-r--r--fonts/kpfonts-otf/fonts/KpMono-Italic.otfbin64116 -> 66788 bytes
-rw-r--r--fonts/kpfonts-otf/fonts/KpMono-Regular.otfbin56660 -> 59188 bytes
-rw-r--r--fonts/kpfonts-otf/fonts/KpRoman-Bold.otfbin118272 -> 125732 bytes
-rw-r--r--fonts/kpfonts-otf/fonts/KpRoman-BoldItalic.otfbin132500 -> 139880 bytes
-rw-r--r--fonts/kpfonts-otf/fonts/KpRoman-Italic.otfbin123516 -> 131084 bytes
-rw-r--r--fonts/kpfonts-otf/fonts/KpRoman-Light.otfbin117224 -> 123156 bytes
-rw-r--r--fonts/kpfonts-otf/fonts/KpRoman-LightItalic.otfbin120568 -> 128940 bytes
-rw-r--r--fonts/kpfonts-otf/fonts/KpRoman-Regular.otfbin118496 -> 125888 bytes
-rw-r--r--fonts/kpfonts-otf/fonts/KpRoman-Semibold.otfbin116236 -> 124164 bytes
-rw-r--r--fonts/kpfonts-otf/fonts/KpRoman-SemiboldItalic.otfbin127884 -> 136264 bytes
-rw-r--r--fonts/kpfonts-otf/fonts/KpSans-Bold.otfbin90004 -> 96556 bytes
-rw-r--r--fonts/kpfonts-otf/fonts/KpSans-BoldItalic.otfbin101396 -> 108268 bytes
-rw-r--r--fonts/kpfonts-otf/fonts/KpSans-Italic.otfbin102032 -> 108960 bytes
-rw-r--r--fonts/kpfonts-otf/fonts/KpSans-Regular.otfbin89544 -> 95896 bytes
-rw-r--r--fonts/kpfonts-otf/tex/KpLight.fontspec13
-rw-r--r--fonts/kpfonts-otf/tex/KpMono.fontspec8
-rw-r--r--fonts/kpfonts-otf/tex/KpRoman.fontspec15
-rw-r--r--fonts/kpfonts-otf/tex/KpSans.fontspec9
-rw-r--r--fonts/kpfonts-otf/tex/kpfonts-otf.sty164
32 files changed, 364 insertions, 240 deletions
diff --git a/fonts/kpfonts-otf/README.md b/fonts/kpfonts-otf/README.md
index 767c396cec..8507ed6fe1 100644
--- a/fonts/kpfonts-otf/README.md
+++ b/fonts/kpfonts-otf/README.md
@@ -15,7 +15,7 @@ The package is still experimental, bug reports and suggestions are welcome.
fontspec configuration files;
* the `doc/` directory holds documentation in English and French and
a table of available Math symbols comparing kpfonts-otf to LatinModern,
- STIXTwo, Erewhon, TeXGyrePagella and DejaVu.
+ STIXTwo, Erewhon, TeXGyreTermes, Garamond and Libertinus.
## Installation
@@ -45,8 +45,35 @@ Either version 1.3 or, at your option, any later version.
## Changes
* First release version: 0.30 (experimental, expect changes!).
-* v. 0.31: Fixed inconsistent widths/sidebearings for six glyphs:
- = ≠ < ≤ > ≥ (all five Math fonts affected, original Type1 too).
+
+* v. 0.31:
+ Fixed inconsistent widths/sidebearings for six glyphs:
+ = ≠ < ≤ > ≥ (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}).
---
Copyright 2020- 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 982dd0a626..50327f0ad3 100644
--- a/fonts/kpfonts-otf/doc/Kpfonts-OTF-Doc-English.ltx
+++ b/fonts/kpfonts-otf/doc/Kpfonts-OTF-Doc-English.ltx
@@ -1,7 +1,8 @@
-\documentclass[paper=a4,british]{scrartcl}
+\documentclass[paper=a4]{scrartcl}
% Packages
-\usepackage{graphics, array, varioref}
+\usepackage{graphics, array}
\usepackage[svgnames]{xcolor}
+\usepackage[hypcap=false]{caption}
\usepackage{shortvrb}
\usepackage{kpfonts-otf}
\setmonofont{KpMono}[Color=DarkBlue]
@@ -13,7 +14,8 @@
\setmathfont{KpMath-Bold.otf}[version=bold, Style=leqslant, CharacterVariant=3]
\setmathfont{KpMath-Sans.otf}[version=sans, Style=leqslant, CharacterVariant=3]
-\usepackage{babel}
+\usepackage[british,french]{babel} % french layout (lists, …)
+\usepackage[english]{varioref}
\usepackage{realscripts}
\usepackage{microtype}
\usepackage{hyperref}
@@ -27,7 +29,6 @@
%
\MakeShortVerb{\|}
-\newcommand*{\textsb}[1]{{\Semibold #1}}
\newcommand*{\pkg}[1]{\texttt{#1}}
\newcommand*{\opt}[1]{\texttt{#1}}
\newcommand*{\optit}[1]{\textit{\color{DarkBlue}#1}}
@@ -39,9 +40,10 @@
\title{Kp-fonts: OpenType version}
\author{\href{mailto:daniel.flipo@free.fr}{Daniel \textsc{Flipo}}}
-\newcommand*{\version}{0.31}
+\newcommand*{\version}{0.32}
\begin{document}
+\selectlanguage{british}
\maketitle
\thispagestyle{empty}
@@ -187,13 +189,25 @@ 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’},
- unless it ends a word (then it remains `s’).
- Just code \texttt{s=} to force a round `s’ if needed.
- {\addfontfeatures{RawFeature=+hist;+hlig;+fina;+calt}%
- \textit{Highlands’ mysterious castles}} can be coded as\\
- |\textit{{Highlands’ mysterious castles}|
+\item[veryoldstyle:] \label{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.}
+ 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%
+ \footnote{TeX’s \tild{} char (nobreakspace) fails to be recognised as ending
+ a word: \texttt{boys\tild{}band} prints
+ {\addfontfeatures{RawFeature=+hist;+hlig}boys~band}.},
+ f.i. |\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.
\item[largesmallcaps:] prints larger \textlsc{Small Caps} than the default
ones (\textsc{Petites Caps}).
@@ -217,8 +231,8 @@ and a bunch of Kp-fonts specifics symbols.
\item[mathcal:] forces commands |\mathcal| and |\mathscr| to print
%%% Even with STIX2Math \mathcal and \mathscr print the same!!! BUG?
- \mathversion{full}$\mathcal{ABCD}$ % $\mathscr{ABCD}$
- instead of \mathversion{base} $\mathcal{ABCD}$ (default).
+ \mathversion{full}$\mathcal{A,B,C,D}$ % $\mathscr{ABCD}$
+ instead of \mathversion{base} $\mathcal{A,B,C,D}$ (default).
\item[frenchstyle:] Latin uppercase letters and all Greek letters are
printed upright, only lowercase latin letters are printed in italics;
@@ -240,6 +254,9 @@ and a bunch of Kp-fonts specifics symbols.
\item[fancyReIm:] commands |\Re| et |\Im| print $\RE$ and $\IM$ respectively
instead of $\Re$ et $\Im$.
+\item[tight :] horizontal spaces tightened in math mode (same settings as
+ \pkg{fourier-otf}).
+
\item[noDcommand:] do not define |\D| to avoid incompatibilities with other
packages.
@@ -249,8 +266,8 @@ and a bunch of Kp-fonts specifics symbols.
\label{sec:options-standard}
Loading Kp-fonts through \file{kpfonts-otf.sty} offers only a limited choice
-of options; using the standard commands \cmd{setmainfont}, \cmd{setsansfont},
-\cmd{setmonofont}, \cmd{setmathfont} offers much more flexibility.
+of options; the standard commands \cmd{setmainfont}, \cmd{setsansfont},
+\cmd{setmonofont}, \cmd{setmathfont} offer much more flexibility.
On the other hand, \file{kpfonts-otf.sty} defines a lot of useful commands
to access AMS and specific Kp-fonts symbols. Loading \pkg{kpfonts-otf} with
@@ -295,16 +312,23 @@ Here are the options available for Text Kp-fonts:
\item[Ligatures=Common] (default) automatic ligatures ff ffi ffl fi fl.
-\item[Ligatures=Rare] {\addfontfeature{Ligatures=Rare} ct et st} ligatures.
+\item[Alternate=1] provides an alternative for glyphs
+ {\addfontfeature{Alternate=1} ffi ffl fi fl} (ff is unchanged).
+
+\item[Ligatures=Required :] adds {\addfontfeature{Ligatures=Required} ft et tt}
+ ligatures.
+
+\item[Ligatures=Rare] adds {\addfontfeature{Ligatures=Rare} ct et st} ligatures.
\item[Style=Swash] to get the long-tailed capital
Q: {\addfontfeature{Style=Swash}Queen, also in small caps (both sizes):
- \textpsc{Queen} and \textlsc{Queen}} ;
+ \textpsc{Queen} and \textlsc{Queen}}.
-\item[Style=Historic] prints a long-s ({\addfontfeature{Style=Historic}s})
- instead of `s’ except as last letter of a word:
- {\addfontfeature{Style=Historic}`mysterious’}; getting a normal `s’ is
- possible anytime coding `|s=|’.
+\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=|’. As the long variant is never used at words’ ends
+ the feature \opt{calc} is also activated: it tries to catch end of words,
+ see \opt{veryoldstyle} p.~\pageref{veryoldstyle} for more details.
\item[Ligatures=Historic] switches specific ligatures for the long
{\addfontfeature{Style=Historic}s}:
@@ -358,7 +382,7 @@ or to |\setmathfont{}|:
\item[nabla =] \opt{italic} (default upright);
\end{description}
-Seven `Style Variants’ are available with Kp-fonts, here are the first thee:
+Seven `Style Variants’ are available with Kp-fonts, here are the first three:
\begin{description}
\item[Style=mathcal] (\texttt{+ss01}) commands |\mathcal{}| and |\mathscr{}|
print \mathversion{full}$\mathcal{ABC}$ instead of
@@ -374,16 +398,16 @@ Seven `Style Variants’ are available with Kp-fonts, here are the first thee:
\mathversion{base}$\iiint$ (default).
\end{description}
-\begin{table}[ht]
-The next four tables present the other Style Variants available.
-
- {\centering
- \caption{Style=leqslant (\texttt{+ss04})}
- \label{ss04}
- \begin{tabular}{@{}lcc@{}}
- \hline
+\vspace{\baselineskip}
+The next four tables present the other Style Variants available:
+\par\noindent
+\begin{minipage}{\linewidth}
+ \begin{minipage}[t]{0.45\linewidth}\centering
+ \captionof{table}{Style=leqslant (\texttt{+ss04})}\label{ss04}
+ \begin{tabular}{@{}lcc@{}}
+ \hline
Command & Default & Variant \\
- \hline
+ \hline
\cmd{leq} & $\leq$ & $\leqslant$ \\
\cmd{geq} & $\geq$ & $\geqslant$ \\
\cmd{nleq} & $\nleq$ & $\nleqslant$ \\
@@ -392,68 +416,70 @@ The next four tables present the other Style Variants available.
\cmd{geqq} & $\geqq$ & $\geqqslant$ \\
\cmd{eqless} & $\eqless$ & $\eqslantless$ \\
\cmd{eqgtr} & $\eqgtr$ & $\eqslantgtr$ \\
- \hline
- \end{tabular}\par}
-\end{table}
-
-\begin{table}[ht]
- \centering
- \caption{Style=smaller (\texttt{+ss05})}
- \label{ss05}
- \begin{tabular}{@{}lcc@{}}
- \hline
+ \cmd{lesseqgtr} & $\lesseqgtr$ & $\lesseqslantgtr$ \\
+ \cmd{gtreqless} & $\gtreqless$ & $\gtreqslantless$ \\
+ \cmd{lesseqqgtr} & $\lesseqqgtr$ & $\lesseqqslantgtr$ \\
+ \cmd{gtreqqless} & $\gtreqqless$ & $\gtreqqslantless$ \\
+ \hline
+ \end{tabular}
+ \end{minipage}\hspace{\fill}
+ \begin{minipage}[t]{0.5\linewidth}\centering
+ \captionof{table}{Style=smaller (\texttt{+ss05})}\label{ss05}
+ \begin{tabular}{@{}lcc@{}}
+ \hline
Command & Default & Variant \\
- \hline
+ \hline
\cmd{mid} & $\mid$ & $\shortmid$ \\
\cmd{nmid} & $\nmid$ & $\nshortmid$ \\
\cmd{parallel} & $\parallel$ & $\shortparallel$ \\
\cmd{nparallel} & $\nparallel$ & $\nshortparallel$ \\
- \hline
- \end{tabular}
-\end{table}
-
-\begin{table}[ht]
- \centering
- \caption{Style=subsetneq (\texttt{+ss06})}
- \label{ss06}
- \begin{tabular}{@{}lcc@{}}
- \hline
+ \cmd{parallelslant} & $\parallelslant$ & $\shortparallelslant$ \\
+ \cmd{nparallelslant} & $\nparallelslant$ & $\nshortparallelslant$ \\
+ \hline
+ \end{tabular}
+ \end{minipage}\\[\baselineskip]
+ \begin{minipage}[t]{0.45\linewidth}\centering
+ \captionof{table}{Style=subsetneq (\texttt{+ss06})}\label{ss06}
+ \begin{tabular}{@{}lcc@{}}
+ \hline
Command & Default & Variant \\
- \hline
+ \hline
\cmd{subsetneq} & $\subsetneq$ & $\varsubsetneq$ \\
\cmd{supsetneq} & $\supsetneq$ & $\varsupsetneq$ \\
\cmd{subsetneqq} & $\subsetneqq$ & $\varsubsetneqq$ \\
\cmd{supsetneqq} & $\supsetneqq$ & $\varsupsetneqq$ \\
- \hline
- \end{tabular}
-\end{table}
-
- \begin{table}[ht]
- {\centering
- \caption{Style=parallelslant (\texttt{+ss07})}
- \label{ss07}
- \begin{tabular}{@{}lcc@{}}
- \hline
+ \hline
+ \end{tabular}
+ \end{minipage}\hspace{\fill}
+ \begin{minipage}[t]{0.5\linewidth}\centering
+ \captionof{table}{Style=parallelslant (\texttt{+ss07})}\label{ss07}
+ \begin{tabular}{@{}lcc@{}}
+ \hline
Command & Default & Variant \\
- \hline
+ \hline
\cmd{parallel} & $\parallel$ & $\parallelslant$ \\
\cmd{nparallel} & $\nparallel$ & $\nparallelslant$ \\
- \hline
- \end{tabular}\par}
+ \cmd{shortparallel} & $\shortparallel$ & $\shortparallelslant$ \\
+ \cmd{nshortparallel} & $\nshortparallel$ & $\nshortparallelslant$ \\
+ \hline
+ \end{tabular}
+ \end{minipage}
+\end{minipage}
\vspace{\baselineskip}
Example: switching styles 4 (leqslant) and 6 (subsetneq) can be achieved
coding either\\
|\setmathfont{KpMath-Regular.otf}[StylisticSet={4,6}]|\quad or\\
-|\setmathfont{KpMath-Regular.otf}[Style={leqslant,subsetneq}]|
-\end{table}
+|\setmathfont{KpMath-Regular.otf}[Style={leqslant,subsetneq}]|\\
+but this second syntax is available only if \pkg{kpfonts-otf.sty} has been
+loaded (eventually with the \opt{symbols} option).
\vspace{\baselineskip}
-Table~\vref{cv} shows the available `Glyph Variants’:
+Table~\vref{cv} shows the available `Glyphs Variants’:
\begin{table}[ht]
\centering
- \caption{Variantes de glyphe}
+ \caption{Glyphs Variants}
\label{cv}
\begin{tabular}{@{}>{\ttfamily}lccl@{}}
\hline
@@ -575,6 +601,7 @@ 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}
@@ -589,6 +616,12 @@ The full list of Unicode symbols available with Kp-fonts is shown in file
\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
+ \widebreve{x}\quad \widebreve{xxxx}\quad \widebreve{xxxxxx}
+ \]
+
\item \cmd{overparen} and \cmd{underparen}
\[\overparen{x}\quad \overparen{xy}\quad \overparen{xyz}\quad
\mathring{\overparen{A\cup B}}\quad
@@ -623,8 +656,9 @@ The full list of Unicode symbols available with Kp-fonts is shown in file
\subsection{Math Versions}
-Different versions of the \family{KpMath} fonts may be definde in the
+Different versions of the \family{KpMath} fonts may be defined in the
document’s preamble:\\
+|\setmathfont{KpMath-Regular.otf}[version=base|, \optit{options} |]|\\
|\setmathfont{KpMath-Bold.otf}[version=bold|, \optit{options} |]|\\
|\setmathfont{KpMath-Semibold.otf}[version=semibold|, \optit{options} |]|\\
|\setmathfont{KpMath-Sans.otf}[version=sans|, \optit{options} |]|\\
@@ -632,7 +666,8 @@ document’s preamble:\\
then, it is easy to switch from one version to another one with
|\mathversion{|\optit{name}|}|.
-\vspace{\baselineskip}
+
+\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 902b9b78a2..403512a981 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 7eda2aa386..faf9097892 100644
--- a/fonts/kpfonts-otf/doc/Kpfonts-OTF-Doc-French.ltx
+++ b/fonts/kpfonts-otf/doc/Kpfonts-OTF-Doc-French.ltx
@@ -2,6 +2,7 @@
% Packages
\usepackage{graphics, array, varioref}
\usepackage[svgnames]{xcolor}
+\usepackage[hypcap=false]{caption}
\usepackage{shortvrb}
\usepackage{kpfonts-otf}
\setmonofont{KpMono}[Color=DarkBlue]
@@ -33,7 +34,6 @@
\MakeShortVerb{\|}
-\newcommand*{\textsb}[1]{{\Semibold #1}}
\newcommand*{\pkg}[1]{\texttt{#1}}
\newcommand*{\opt}[1]{\texttt{#1}}
\newcommand*{\optit}[1]{\textit{\color{DarkBlue}#1}}
@@ -45,7 +45,7 @@
\title{Kp-fonts version OpenType}
\author{\href{mailto:daniel.flipo@free.fr}{Daniel \textsc{Flipo}}}
-\newcommand*{\version}{0.31}
+\newcommand*{\version}{0.32}
\begin{document}
\maketitle
@@ -207,13 +207,36 @@ Notez que ces options n'affectent que les polices de texte.
\item \textsc{\textbf{\test}}
\end{itemize}
-\item[veryoldstyle :] identique à l'option \opt{oldstyle} sauf que le « s »
- rond est remplacé par le « {\addfontfeatures{RawFeature=+hist;+hlig}s} » long.
- sauf en fin de mot, où le « s » reste rond.
- On peut toujours forcer le « s» rond par la ligature « \texttt{s=} ».
- Le codage |\textit{« Des espoirs si funestes. »}| donne ceci :
- {\addfontfeatures{RawFeature=+hist;+hlig;+fina;+calt}%
- \textit{«Des espoirs si funestes.»}}.
+\item[veryoldstyle :] \label{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
+ {\addfontfeatures{RawFeature=+hist;+hlig} si, sl, st} sont activées.
+ Ceci fonctionne assez bien avec LuaTeX : le codage\\
+ |\textit{« Des espoirs si funestes… »}| donne
+ {\addfontfeatures{RawFeature=+hist;+hlig;+fina;+calt}
+ \textit{«Des espoirs si funestes…»}.
+ }
+
+ Les choses se passent bien tant que le « s » est immédiatement suivi
+ d’une espace Unicode (U+0020 espace sécable de base, 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
+ insécable produite par TeX (sous la forme pénalité + espace)%
+ \footnote{On utilise la \emph{feature} OpenType \texttt{calt} qui ne
+ reconnaît pas les \cmd{penalty} de TeX.} !
+
+ Exemple : le codage |\textit{espoirs, mais quels~espoirs.}| produit
+ {\addfontfeatures{RawFeature=+hist}\textit{espoirs, mais quels~espoirs?}}
+
+ Même problème devant la ponctuation haute en français, sauf à utiliser
+ l’option |UnicodeNoBreakSpaces| de \pkg{babel-french}. On doit
+ forcer le «s» rond final en codant \texttt{s=} :
+ |\textit{espoirs? désespoirs=!}| produit
+ {\addfontfeatures{RawFeature=+hist}\textit{espoirs? désespoirs=!}}
+
+ Avec XeTeX il faut forcer le «s» rond final avant toutes les espaces
+ en codant \texttt{s=}.
\item[largesmallcaps :] produit des petites capitales plus \textlsc{Grandes}
que par les \textsc{Petites} obtenues par défaut.
@@ -259,16 +282,19 @@ Notez que ces options n'affectent que les polices de texte.
\item[partialup :] le symbole |\partial| affiche $\symup{\partial}$
(droit) au lieu de $\partial$ ;
-\enlargethispage*{\baselineskip}
\item[fancyReIm :] les commandes |\Re| et |\Im| donnent normalement
$\Re$ et $\Im$, avec cette option elles produisent respectivement $\RE$ et
$\IM$ ;
-\item[noDcommand :] pour éviter tout risque d’incompatibilité, la commande
- |\D| n'est pas définie.
+\item[tight :] les espaces horizontaux sont réduits en math (comme
+ ceux de \pkg{fourier-otf}).
+
+\item[noDcommand :] la commande |\D| n'est pas définie (risque
+ d’incompatibilité).
\end{description}
+\enlargethispage*{2\baselineskip}
\section{Autre façon de charger les Kp-fonts}
\label{sec:options-standard}
@@ -311,20 +337,36 @@ Pour les polices de texte de Kp-fonts les options suivantes sont proposées :
\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) ;
+
\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{=} !}) ;
+
\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=Rare :] ligatures {\addfontfeature{Ligatures=Rare} ct et st} ;
+
+\item[Alternate=1] modifie l’aspect des ligatures
+ {\addfontfeature{Alternate=1} ffi ffl fi fl} (ff inchangé) ;
+
+\item[Ligatures=Required :] ajoute les ligatures
+ {\addfontfeature{Ligatures=Required} ft et tt} ;
+
+\item[Ligatures=Rare :] ajoute les ligatures
+ {\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}} ;
+
\item[Style=Historic :] pour remplacer systématiquement le « s » rond par un
- {\addfontfeature{Style=Historic}« s »} long, sauf en fin de mot comme le veut
- l’usage ; il est toujours possible de forcer un « s » rond en codant |s=| ;
+ {\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, voir l’option \opt{veryoldstyle}
+ p.~\pageref{veryoldstyle}.
+
\item[Ligatures=Historic :] active les ligatures spécifiques au
{\addfontfeature{Style=Historic,Ligatures=Historic}« s » long si, sl, st}.
\end{description}
@@ -394,16 +436,18 @@ trois premières :
\mathversion{base}$\iiint$.
\end{description}
-Les quatre tables suivantes recensent les autres variantes de style proposées.
-
-\begin{table}[ht]
- {\centering
- \caption{Style=leqslant (\texttt{+ss04})}
- \label{ss04}
- \begin{tabular}{@{}lcc@{}}
- \hline
+\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
+ \begin{minipage}[t]{0.45\linewidth}\centering
+ \captionof{table}{Style=leqslant (\texttt{+ss04})} \label{ss04}
+ \begin{tabular}[t]{@{}lcc@{}}
+ \hline
Commande & Base & Variante \\
- \hline
+ \hline
\cmd{leq} & $\leq$ & $\leqslant$ \\
\cmd{geq} & $\geq$ & $\geqslant$ \\
\cmd{nleq} & $\nleq$ & $\nleqslant$ \\
@@ -412,67 +456,71 @@ Les quatre tables suivantes recensent les autres variantes de style proposées.
\cmd{geqq} & $\geqq$ & $\geqqslant$ \\
\cmd{eqless} & $\eqless$ & $\eqslantless$ \\
\cmd{eqgtr} & $\eqgtr$ & $\eqslantgtr$ \\
- \hline
- \end{tabular}\par}
-\end{table}
-
-\begin{table}[ht]
- \centering
- \caption{Style=smaller (\texttt{+ss05})}
- \label{ss05}
- \begin{tabular}{@{}lcc@{}}
- \hline
+ \cmd{lesseqgtr} & $\lesseqgtr$ & $\lesseqslantgtr$ \\
+ \cmd{gtreqless} & $\gtreqless$ & $\gtreqslantless$ \\
+ \cmd{lesseqqgtr} & $\lesseqqgtr$ & $\lesseqqslantgtr$ \\
+ \cmd{gtreqqless} & $\gtreqqless$ & $\gtreqqslantless$ \\
+ \hline
+ \end{tabular}
+ \end{minipage}\hspace{\fill}
+ \begin{minipage}[t]{0.5\linewidth}\centering
+ \captionof{table}{Style=smaller (\texttt{+ss05})}\label{ss05}
+ \begin{tabular}[t]{@{}lcc@{}}
+ \hline
Commande & Base & Variante \\
- \hline
+ \hline
\cmd{mid} & $\mid$ & $\shortmid$ \\
\cmd{nmid} & $\nmid$ & $\nshortmid$ \\
\cmd{parallel} & $\parallel$ & $\shortparallel$ \\
\cmd{nparallel} & $\nparallel$ & $\nshortparallel$ \\
- \hline
- \end{tabular}
-\end{table}
-
-\begin{table}[ht]
- \centering
- \caption{Style=subsetneq (\texttt{+ss06})}
- \label{ss06}
- \begin{tabular}{@{}lcc@{}}
- \hline
+ \cmd{parallelslant} & $\parallelslant$ & $\shortparallelslant$ \\
+ \cmd{nparallelslant} & $\nparallelslant$ & $\nshortparallelslant$ \\
+ \hline
+ \end{tabular}
+ \end{minipage}\\
+ \begin{minipage}[t]{0.45\linewidth}\centering
+ \captionof{table}{Style=subsetneq (\texttt{+ss06})}\label{ss06}
+ \begin{tabular}[t]{@{}lcc@{}}
+ \hline
Commande & Base & Variante \\
- \hline
+ \hline
\cmd{subsetneq} & $\subsetneq$ & $\varsubsetneq$ \\
\cmd{supsetneq} & $\supsetneq$ & $\varsupsetneq$ \\
\cmd{subsetneqq} & $\subsetneqq$ & $\varsubsetneqq$ \\
\cmd{supsetneqq} & $\supsetneqq$ & $\varsupsetneqq$ \\
- \hline
- \end{tabular}
-\end{table}
-
- \begin{table}[ht]
- {\centering
- \caption{Style=parallelslant (\texttt{+ss07})}
- \label{ss07}
- \begin{tabular}{@{}lcc@{}}
- \hline
+ \hline
+ \end{tabular}
+ \end{minipage}\hspace{\fill}
+ \begin{minipage}[t]{0.5\linewidth}\centering
+ \captionof{table}{Style=parallelslant (\texttt{+ss07})}\label{ss07}
+ \begin{tabular}[t]{@{}lcc@{}}
+ \hline
Commande & Base & Variante \\
- \hline
+ \hline
\cmd{parallel} & $\parallel$ & $\parallelslant$ \\
\cmd{nparallel} & $\nparallel$ & $\nparallelslant$ \\
- \hline
- \end{tabular}\par}
+ \cmd{shortparallel} & $\shortparallel$ & $\shortparallelslant$ \\
+ \cmd{nshortparallel} & $\nshortparallel$ & $\nshortparallelslant$ \\
+ \hline
+ \end{tabular}
+ \end{minipage}
+\end{minipage}
+
\vspace{\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}]|
-\end{table}
+|\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}).
+%\end{table}
-\vspace{\baselineskip}
La table~\vref{cv} recense les variantes de glyphes proposées :
+\vspace{\baselineskip}
\begin{table}[ht]
\centering
- \caption{Variantes de glyphe}
+ \caption{Variantes de glyphes}
\label{cv}
\begin{tabular}{@{}>{\ttfamily}lccl@{}}
\hline
@@ -609,6 +657,12 @@ n’ont pas de code Unicode, ils sont codés en zone privée pour Kp-fonts.
\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
+ \widebreve{x}\quad \widebreve{xxxx}\quad \widebreve{xxxxxx}
+ \]
+
\item \cmd{overparen} et \cmd{underparen}
\[\overparen{x}\quad \overparen{xy}\quad \overparen{xyz}\quad
\mathring{\overparen{A\cup B}}\quad
@@ -648,6 +702,7 @@ Il est possible de définir plusieurs versions de la police mathématique
et une version sans empattements (\textit{sans}).
On définit dans le préambule les versions désirées, par exemple :\\
+|\setmathfont{KpMath-Regular.otf}[version=base|, \optit{options} |]|\\
|\setmathfont{KpMath-Bold.otf}[version=bold|, \optit{options} |]|\\
|\setmathfont{KpMath-Semibold.otf}[version=semibold|, \optit{options} |]|\\
|\setmathfont{KpMath-Sans.otf}[version=sans|, \optit{options} |]|\\
diff --git a/fonts/kpfonts-otf/doc/Kpfonts-OTF-Doc-French.pdf b/fonts/kpfonts-otf/doc/Kpfonts-OTF-Doc-French.pdf
index df0cad77bc..e8700d78d5 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 b25e4d178c..dbea25a6c7 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 22739ff7da..b591945bd5 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 d5c5f130aa..c2473a2850 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 d5276a938b..c8838ff2d6 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 6b628cb306..4441bc6fb9 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 91dc14f9da..34eb8a9879 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 165aa4a268..13d211e389 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 ac196e11c6..ec1ee937e6 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 edb98e852d..fe706f7d1b 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 3302fa064d..d5a0babceb 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 a6a2cbe904..f97f218f3c 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 cda2905d70..b1651325f0 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 3d2fcd2b62..990bcea0cd 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 6501008d9e..a59f5df343 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 9acf44991e..e30a7e0e36 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 fe3f2a7fe0..ac0e2b5bcc 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 30377b06b3..ed6103ddfe 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 9ccb0fa382..81fb9946a2 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 e8d61e6bba..0312cb23f1 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 b3ffb36ef2..14751f9b47 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 b3597205e0..4ba797c056 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 6d6f419736..2e047662b6 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/KpLight.fontspec b/fonts/kpfonts-otf/tex/KpLight.fontspec
index 861054f1f2..5f86a1b29d 100644
--- a/fonts/kpfonts-otf/tex/KpLight.fontspec
+++ b/fonts/kpfonts-otf/tex/KpLight.fontspec
@@ -1,7 +1,12 @@
\defaultfontfeatures[KpLight]
{ Extension = .otf,
- UprightFont = *-Light,
- BoldFont = *-Semibold,
- ItalicFont = *-LightItalic,
- BoldItalicFont = *-SemiboldItalic
+ UprightFont = KpRoman-Light,
+ BoldFont = KpRoman-Semibold,
+ ItalicFont = KpRoman-LightItalic,
+ BoldItalicFont = KpRoman-SemiboldItalic,
+ SlantedFont = KpRoman-Light,
+ SlantedFeatures = {FakeSlant=0.19},
+ BoldSlantedFont = KpRoman-Semibold,
+ BoldSlantedFeatures = {FakeSlant=0.19},
+ Ligatures={Common,RequiredOff,RareOff,HistoricOff}
}
diff --git a/fonts/kpfonts-otf/tex/KpMono.fontspec b/fonts/kpfonts-otf/tex/KpMono.fontspec
index c15afe0bcf..5677ba19af 100644
--- a/fonts/kpfonts-otf/tex/KpMono.fontspec
+++ b/fonts/kpfonts-otf/tex/KpMono.fontspec
@@ -1,7 +1,7 @@
\defaultfontfeatures[KpMono]
{ Extension = .otf,
- UprightFont = *-Regular,
- BoldFont = *-Bold,
- ItalicFont = *-Italic,
- BoldItalicFont = *-BoldItalic
+ UprightFont = *-Regular,
+ BoldFont = *-Bold,
+ ItalicFont = *-Italic,
+ BoldItalicFont = *-BoldItalic
}
diff --git a/fonts/kpfonts-otf/tex/KpRoman.fontspec b/fonts/kpfonts-otf/tex/KpRoman.fontspec
index 00ed521b7a..d4664c1f8a 100644
--- a/fonts/kpfonts-otf/tex/KpRoman.fontspec
+++ b/fonts/kpfonts-otf/tex/KpRoman.fontspec
@@ -1,7 +1,12 @@
\defaultfontfeatures[KpRoman]
{ Extension = .otf,
- UprightFont = *-Regular,
- BoldFont = *-Bold,
- ItalicFont = *-Italic,
- BoldItalicFont = *-BoldItalic
- }
+ UprightFont = KpRoman-Regular,
+ BoldFont = KpRoman-Bold,
+ ItalicFont = KpRoman-Italic,
+ BoldItalicFont = KpRoman-BoldItalic,
+ SlantedFont = KpRoman-Regular,
+ SlantedFeatures = {FakeSlant=0.19},
+ BoldSlantedFont = KpRoman-Bold,
+ BoldSlantedFeatures = {FakeSlant=0.19},
+ Ligatures={Common,RequiredOff,RareOff,HistoricOff}
+}
diff --git a/fonts/kpfonts-otf/tex/KpSans.fontspec b/fonts/kpfonts-otf/tex/KpSans.fontspec
index eae6a60770..41c334157c 100644
--- a/fonts/kpfonts-otf/tex/KpSans.fontspec
+++ b/fonts/kpfonts-otf/tex/KpSans.fontspec
@@ -1,7 +1,8 @@
\defaultfontfeatures[KpSans]
{ Extension = .otf,
- UprightFont = *-Regular,
- BoldFont = *-Bold,
- ItalicFont = *-Italic,
- BoldItalicFont = *-BoldItalic
+ UprightFont = *-Regular,
+ BoldFont = *-Bold,
+ ItalicFont = *-Italic,
+ BoldItalicFont = *-BoldItalic,
+ Ligatures={Common,RequiredOff,RareOff,HistoricOff}
}
diff --git a/fonts/kpfonts-otf/tex/kpfonts-otf.sty b/fonts/kpfonts-otf/tex/kpfonts-otf.sty
index 38e42fa7b6..74e8ef19f2 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.31}
-\def\filedate{2020/06/20}
+\def\fileversion{0.32}
+\def\filedate{2020/11/18}
\ProvidesPackage{kpfonts-otf}[\filedate\space\fileversion]
% Ensure luatex or xetex engine
@@ -29,6 +29,7 @@
\newif\ifkp@calasscr
\newif\ifkp@oldReIm
\newif\ifkp@symbols \kp@symbolstrue
+\newif\ifkp@tight
%
% Global options
\DeclareOption{light} {\kp@lighttexttrue\kp@lightmathtrue}
@@ -40,8 +41,8 @@
% Text options
\DeclareOption{lighttext} {\kp@lighttexttrue}
\DeclareOption{oldstylenums} {\kp@osntrue}
-\DeclareOption{oldstyle} {\kp@ostrue\kp@Qtailtrue}
-\DeclareOption{veryoldstyle} {\kp@vostrue\kp@Qtailtrue}
+\DeclareOption{oldstyle} {\kp@ostrue\kp@osntrue\kp@Qtailtrue}
+\DeclareOption{veryoldstyle} {\kp@vostrue\kp@osntrue\kp@Qtailtrue}
\DeclareOption{largesmallcaps} {\kp@largesmallcapstrue}
% Math options
\DeclareOption{lightmath} {\kp@lightmathtrue}
@@ -53,10 +54,18 @@
\DeclareOption{oldstylenumsmath} {\kp@osnmtrue}
\DeclareOption{fancyReIm} {\kp@oldReImtrue}
\DeclareOption{noDcommand} {\kp@Dcommandfalse}
+\DeclareOption{tight} {\kp@tighttrue}
\DeclareOption{symbols} {\kp@textfalse\kp@sffalse\kp@ttfalse
\kp@mathfalse}
\ProcessOptions
+% This is adapted from babel to concatenate 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
@@ -66,6 +75,11 @@
\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}
@@ -118,99 +132,75 @@
% Loading Text fonts...
\ifkp@text
\RequirePackage{fontspec}[2019/01/01]
- \defaultfontfeatures+[\rmfamily,\KpLight]{Contextuals={WordFinal,Alternate}}
- %Oldstylenums
+ % This needed with LuaTeX to typeset some composed chars like
+ % āēīōū ẽ ĕ ċṅṁ etc. not ready-made in the KPfonts…
+ \ifluahbtex\defaultfontfeatures{Renderer=HarfBuzz}\fi
+ % TS1 accent in Private Area
+ \DeclareUnicodeAccent{\newtie}{TU}{"E9F0}
+ % Accents not in tuenc.def
+ \DeclareUnicodeAccent{\candra} \UnicodeEncodingName{"0310}
+ \DeclareUnicodeAccent{\ringbelow} \UnicodeEncodingName{"0325}
+ % Oldstylenums
\ifkp@osn
- \ifkp@sf
- \ifkp@tt
- \defaultfontfeatures+[\rmfamily,\KpLight,\sffamily,\ttfamily]%
- {Numbers=Lowercase}
- \else
- \defaultfontfeatures+[\rmfamily,\KpLight,\sffamily]{Numbers=Lowercase}
- \fi
- \else
- \defaultfontfeatures+[\rmfamily,\KpLight]{Numbers=Lowercase}
+ \ifkp@tt
+ \defaultfontfeatures+[\ttfamily]{Numbers=Lowercase}
\fi
+ \KP@addto\KP@options{Numbers=Lowercase}
\fi
- % Oldstyle
+ %% Oldstyle
\ifkp@os
- \ifkp@sf
- \defaultfontfeatures+[\rmfamily,\KpLight,\sffamily]{%
- Style=Swash,Ligatures={TeX,Rare},Numbers=Lowercase}
- \else
- \defaultfontfeatures+[\rmfamily,\KpLight]{%
- Style=Swash,Ligatures={TeX,Rare},Numbers=Lowercase}
+ \ifkp@tt
+ \defaultfontfeatures+[\ttfamily]{Style=Swash}
\fi
- \ifkp@tt\defaultfontfeatures+[\ttfamily]{Numbers=Lowercase}\fi
+ \KP@addto\KP@options{Style=Swash,Ligatures=Rare}
\fi
- % Veryoldstyle
+ %% Veryoldstyle
\ifkp@vos
- \ifkp@sf
- \defaultfontfeatures+[\rmfamily,\KpLight,\sffamily]{%
- Style=Historic, Ligatures={TeX,Historic}}
- \else
- \defaultfontfeatures+[\rmfamily,\KpLight]{%
- Style=Historic, Ligatures={TeX,Historic}}
+ \ifkp@tt
+ \defaultfontfeatures+[\ttfamily]{Style=Historic, Contextuals=Alternate}
\fi
+ \KP@addto\KP@options{Style=Historic, Ligatures=Historic,
+ Contextuals=Alternate}
\fi
+ % Smallcaps
\ifkp@largesmallcaps
- \defaultfontfeatures+{SmallCapsFeatures = {Letters=SmallCaps}}
+ \KP@addto\KP@options{SmallCapsFeatures = {Letters=SmallCaps}}
\else
- \defaultfontfeatures+{SmallCapsFeatures = {Letters=PetiteCaps}}
+ \KP@addto\KP@options{SmallCapsFeatures = {Letters=PetiteCaps}}
\fi
% Text Serif fonts:
- \setmainfont{KpRoman}[
- Extension = .otf,
- UprightFont = *-Regular,
- BoldFont = *-Bold,
- ItalicFont = *-Italic,
- BoldItalicFont = *-BoldItalic
- ]
- \newfontfamily\KpLight{KpRoman-Light}[
- Extension = .otf,
- BoldFont = KpRoman-Semibold,
- ItalicFont = KpRoman-LightItalic,
- BoldItalicFont = KpRoman-SemiboldItalic,
- Ligatures=TeX
- ]
- \newfontface\Light{KpRoman-Light.otf}[Ligatures=TeX]
- \newfontface\LightItalic {KpRoman-LightItalic.otf}[Ligatures=TeX]
- \newfontface\Semibold{KpRoman-Semibold.otf}[Ligatures=TeX]
- \newfontface\SemiboldItalic{KpRoman-SemiboldItalic.otf}[Ligatures=TeX]
-\fi
-% Text Sans Serif fonts:
-\ifkp@sf
- \defaultfontfeatures+[\sffamily]{Contextuals={WordFinal,Alternate}}
- \setsansfont{KpSans}[
- Extension = .otf,
- UprightFont = *-Regular,
- BoldFont = *-Bold,
- ItalicFont = *-Italic,
- BoldItalicFont = *-BoldItalic
- ]
-\fi
-% Text Typewriter fonts:
-\ifkp@tt
- \defaultfontfeatures+[\ttfamily]{Contextuals={WordFinal,Alternate}}
- \setmonofont{KpMono}[
- Extension = .otf,
- UprightFont = *-Regular,
- BoldFont = *-Bold,
- ItalicFont = *-Italic,
- BoldItalicFont = *-BoldItalic
- ]
-\fi
-% Light option
-\ifkp@lighttext
- \renewcommand{\rmfamily}{\KpLight}
+ \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]
+ \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]
+ \DeclareTextFontCommand{\textsb}{\Semibold}
+ \DeclareTextFontCommand{\textlt}{\Light}
+ \fi
+ % Text Sans Serif fonts:
+ \ifkp@sf
+ \setsansfont{KpSans}[\KP@options]
+ \fi
+ % Text Typewriter fonts:
+ \ifkp@tt
+ \setmonofont{KpMono}
+ \fi
+ % Large/Petites smallcaps
+ \DeclareRobustCommand\lscshape{\addfontfeatures{RawFeature=+smcp}}
+ \DeclareRobustCommand\pscshape{\addfontfeatures{RawFeature=+pcap}}
+ \DeclareRobustCommand\textlsc[1]{{\lscshape #1}}
+ \DeclareRobustCommand\textpsc[1]{{\pscshape #1}}
\fi
-% Large/Petites smallcaps
-\DeclareRobustCommand\lscshape{\addfontfeatures{RawFeature=+smcp}}
-\DeclareRobustCommand\pscshape{\addfontfeatures{RawFeature=+pcap}}
-\DeclareRobustCommand\textlsc[1]{{\lscshape #1}}
-\DeclareRobustCommand\textpsc[1]{{\pscshape #1}}
-
\ifkp@symbols
% Style aliases
\newopentypefeature{Style}{mathcal}{ss01}
@@ -361,8 +351,14 @@
% <math type> : \mathord=0 \mathrel=3 ; <family>=0
\Umathchardef\circledR = 0 0 "24C7 \relax
\Umathchardef\circledS = 0 0 "24C8 \relax
- \Umathchardef\npreceq = 3 0 "E096 \relax
- \Umathchardef\nsucceq = 3 0 "E097 \relax
+ \Umathchardef\shortparallelslant = 3 0 "E092 \relax
+ \Umathchardef\nshortparallelslant = 3 0 "E093 \relax
+ \Umathchardef\lesseqslantgtr = 3 0 "E094 \relax
+ \Umathchardef\gtreqslantless = 3 0 "E095 \relax
+ \Umathchardef\lesseqqslantgtr = 3 0 "E096 \relax
+ \Umathchardef\gtreqqslantless = 3 0 "E097 \relax
+ \Umathchardef\npreceq = 3 0 "E098 \relax
+ \Umathchardef\nsucceq = 3 0 "E099 \relax
\Umathchardef\diagup = 0 0 "E0A0 \relax
\Umathchardef\diagdown = 0 0 "E0A1 \relax
\Umathchardef\shortmid = 3 0 "E0A2 \relax