summaryrefslogtreecommitdiff
path: root/fonts
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2021-08-24 03:02:02 +0000
committerNorbert Preining <norbert@preining.info>2021-08-24 03:02:02 +0000
commit3e6c1d9e0f4a3f6852f41547738a6b62086fda9d (patch)
treea0d6d6bfcb399b7e898130cb38a31eab349eab79 /fonts
parent0ef3dfaccca426fb0f3b06fc106ef9b5b0423dad (diff)
CTAN sync 202108240302
Diffstat (limited to 'fonts')
-rw-r--r--fonts/kpfonts-otf/README.md148
-rw-r--r--fonts/kpfonts-otf/doc/Kpfonts-OTF-Doc-English.ltx57
-rw-r--r--fonts/kpfonts-otf/doc/Kpfonts-OTF-Doc-English.pdfbin189920 -> 192022 bytes
-rw-r--r--fonts/kpfonts-otf/doc/Kpfonts-OTF-Doc-French.ltx56
-rw-r--r--fonts/kpfonts-otf/doc/Kpfonts-OTF-Doc-French.pdfbin191924 -> 194203 bytes
-rw-r--r--fonts/kpfonts-otf/doc/unimath-kpfonts.ltx68
-rw-r--r--fonts/kpfonts-otf/doc/unimath-kpfonts.pdfbin1787182 -> 1814438 bytes
-rw-r--r--fonts/kpfonts-otf/fonts/KpMath-Bold.otfbin196892 -> 196892 bytes
-rw-r--r--fonts/kpfonts-otf/fonts/KpMath-Light.otfbin456084 -> 458080 bytes
-rw-r--r--fonts/kpfonts-otf/fonts/KpMath-Regular.otfbin429640 -> 431524 bytes
-rw-r--r--fonts/kpfonts-otf/fonts/KpMath-Sans.otfbin276440 -> 278296 bytes
-rw-r--r--fonts/kpfonts-otf/fonts/KpMath-Semibold.otfbin198620 -> 198620 bytes
-rw-r--r--fonts/kpfonts-otf/fonts/KpMono-Bold.otfbin57768 -> 57768 bytes
-rw-r--r--fonts/kpfonts-otf/fonts/KpMono-BoldItalic.otfbin64992 -> 64992 bytes
-rw-r--r--fonts/kpfonts-otf/fonts/KpMono-Italic.otfbin66300 -> 66300 bytes
-rw-r--r--fonts/kpfonts-otf/fonts/KpMono-Regular.otfbin58904 -> 58904 bytes
-rw-r--r--fonts/kpfonts-otf/fonts/KpRoman-Bold.otfbin132080 -> 132172 bytes
-rw-r--r--fonts/kpfonts-otf/fonts/KpRoman-BoldItalic.otfbin142704 -> 142796 bytes
-rw-r--r--fonts/kpfonts-otf/fonts/KpRoman-Italic.otfbin134260 -> 134364 bytes
-rw-r--r--fonts/kpfonts-otf/fonts/KpRoman-Light.otfbin130328 -> 130416 bytes
-rw-r--r--fonts/kpfonts-otf/fonts/KpRoman-LightItalic.otfbin135176 -> 135272 bytes
-rw-r--r--fonts/kpfonts-otf/fonts/KpRoman-Regular.otfbin130976 -> 131068 bytes
-rw-r--r--fonts/kpfonts-otf/fonts/KpRoman-Semibold.otfbin129324 -> 129420 bytes
-rw-r--r--fonts/kpfonts-otf/fonts/KpRoman-SemiboldItalic.otfbin140488 -> 140584 bytes
-rw-r--r--fonts/kpfonts-otf/fonts/KpSans-Bold.otfbin102972 -> 102972 bytes
-rw-r--r--fonts/kpfonts-otf/fonts/KpSans-BoldItalic.otfbin110904 -> 110904 bytes
-rw-r--r--fonts/kpfonts-otf/fonts/KpSans-Italic.otfbin110936 -> 110936 bytes
-rw-r--r--fonts/kpfonts-otf/fonts/KpSans-Regular.otfbin102384 -> 102384 bytes
-rw-r--r--fonts/kpfonts-otf/tex/KpLight.fontspec1
-rw-r--r--fonts/kpfonts-otf/tex/KpRoman.fontspec1
-rw-r--r--fonts/kpfonts-otf/tex/KpSans.fontspec1
-rw-r--r--fonts/kpfonts-otf/tex/kpfonts-otf.sty215
32 files changed, 320 insertions, 227 deletions
diff --git a/fonts/kpfonts-otf/README.md b/fonts/kpfonts-otf/README.md
index cc674316d7..8153fabc14 100644
--- a/fonts/kpfonts-otf/README.md
+++ b/fonts/kpfonts-otf/README.md
@@ -1,10 +1,10 @@
-kpfonts-otf package
-===================
+The kpfonts-otf package
+=======================
## Description
-`kpfonts-otf’ is meant as a replacement, for LuaLaTeX and XeLaTeX users,
-of Christophe Caignaert’s `kpfonts’ package. Christophe’s Type1 fonts have
+`kpfonts-otf` is meant as a replacement, for LuaLaTeX and XeLaTeX users,
+of Christophe Caignaert’s `kpfonts` package. Christophe’s Type1 fonts have
been converted to OpenType using fontforge and Adobe's AFDKO bundle.
The package is still experimental, bug reports and suggestions are welcome.
@@ -20,23 +20,24 @@ The package is still experimental, bug reports and suggestions are welcome.
## Installation
This package is meant to be installed automatically by TeXLive, MikTeX, etc.
-Otherwise, `kpfonts-otf’ can be installed under TEXMFHOME or TEXMFLOCAL, f.i.
-* alls fonts (fonts/*.otf files) in directory
+Otherwise, `kpfonts-otf` can be installed under TEXMFHOME or TEXMFLOCAL, f.i.
+
++ alls fonts (`fonts/*.otf` files) in directory
`texmf-local/fonts/opentype/public/kpfonts-otf/`
-* style and fontspec files (tex/kpfonts-otf.sty and tex/*.fontspec) in directory
- `texmf-local/tex/latex/kpfonts-otf/`
-* documentation (from doc/ directory) in
++ style and fontspec files (`tex/kpfonts-otf.sty` and `tex/*.fontspec`) in
+ directory `texmf-local/tex/latex/kpfonts-otf/`
++ documentation (from doc/ directory) in
`texmf-local/doc/fonts/public/kpfonts-otf/`
Don't forget to rebuild the file database (mktexlsr or so) if you install
under TEXMFLOCAL.
Finally, you may want to make the system font database aware of the
-`kpfonts-otf’ fonts (fontconfig under Linux).
+`kpfonts-otf` fonts (fontconfig under Linux).
## License
-* The fonts included in `kpfonts-otf’ are licensed under the
+* The fonts included in `kpfonts-otf` are licensed under the
SIL Open Font License, Version 1.1.
This license is available with a FAQ at: http://scripts.sil.org/OFL
* The other files are distributed under the terms of the LaTeX Project
@@ -47,75 +48,98 @@ Either version 1.3 or, at your option, any later version.
* 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.32:
- 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.
+ 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}).
+ - 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-ExtendedA range (mostly complete now).
+ Added 54 glyphs in Latin-ExtendedA range (mostly complete now).
- Math fonts:
- Fixed inconsistencies in superscripts and supersuperscripts metrics.
+ 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.
- - 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.
+
+ 1. 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.
+ 2. 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.
+
+ 1. 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`).
+ 2. Math fonts:
+ - Extensible delimiters corrected in KpMath-Sans.
+ - Options `frenchstyle`, `partialup` and `fancyReIm` now work as intended.
* v. 0.36:
- - Math fonts:
- kpfonts-otf.sty: Option mathcal deleted, \mathcal{} and \mathscr{}
- now print different glyphs.
- mathcal substitutions corrected for KpMath-Regular and KpMath-Sans.
- Extensible \langle, \rangle, \lAngle and \rangle delimiters are now
- available in eight sizes (three bigger sizes added).
- All vertical arrows are now extensible.
- Bug fix: extensible right paren was broken, thanks to Tom Stotko
- for pointed it out!
+
+ Math fonts:
+ - `kpfonts-otf.sty`: Option mathcal deleted, \mathcal{} and \mathscr{}
+ now print different glyphs.
+ - mathcal substitutions corrected for `KpMath-Regular` and `KpMath-Sans`.
+ - Extensible \langle, \rangle, \lAngle and \rangle delimiters are now
+ available in eight sizes (three bigger sizes added).
+ - All vertical arrows are now extensible.
+ - Bug fix: extensible right paren was broken in `KpMath-Sans`, thanks
+ to Tom Stotko for pointed it out!
+
+* v. 0.37:
+
+ 1. Text fonts:
+ - Added glyphs U+2010 and U+2011 (hyphens).
+ - Corrected `kpfonts-otf.sty`: option "largesmallcaps" fixed, new weights
+ added (\sbseries, \ltseries, \ebseries), see documentation.
+ - Breaking change: files `*.fontspec` changed so that the default smallcaps
+ are now "Petite" instead of "Small" to match the orignal kpfonts default.
+ 2. Math fonts:
+ - Completed the collection of "squares", "triangles", "diamonds" and
+ "lozenges".
+ - Tuned all "squares", "circles" and "triangles": the smaller ones are
+ centered on the math-axis, larger ones rest on the baseline.
+ - \perp, \bot, \rightangle, \angle, \measuredangle, \sphericalangle
+ shifted up, their bottom rests on the baseline now.
---
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 eb348001ae..c7700bbc26 100644
--- a/fonts/kpfonts-otf/doc/Kpfonts-OTF-Doc-English.ltx
+++ b/fonts/kpfonts-otf/doc/Kpfonts-OTF-Doc-English.ltx
@@ -41,7 +41,8 @@
\title{Kp-fonts: OpenType version}
\author{\href{mailto:daniel.flipo@free.fr}{Daniel \textsc{Flipo}}}
-\newcommand*{\version}{0.36}
+\newcommand*{\version}{0.37}
+\date{18th August, 2021}
\begin{document}
\selectlanguage{british}
@@ -65,7 +66,7 @@
\family{KpMath-Semibold} and \family{KpMath-Sans}.
\family{KpRoman} and \family{KpSans} families have small caps available in
- two sizes (SmallCaps and PetitesCaps), upper and lowercase digits
+ two sizes (SmallCaps and PetiteCaps), upper and lowercase digits
({\addfontfeatures{Numbers=Lowercase} 0123456789}), ancient ligatures
{\addfontfeatures{Ligatures=Rare} ct, st} and
{\addfontfeatures{Style=Swash}Q} a long-tailed capital Q.
@@ -134,20 +135,20 @@ and a bunch of Kp-fonts specifics symbols.
\medskip
\begin{minipage}{.45\textwidth}\test. $E=mc^2$\end{minipage}\hfill
-\begin{minipage}{.45\textwidth}\Light \test. \mathversion{light}$E=mc^2$
+\begin{minipage}{.45\textwidth}\ltseries\test. \mathversion{light}$E=mc^2$
\end{minipage}
\medskip\mathversion{base}
\begin{minipage}{.45\textwidth}\itshape \test\end{minipage}\hfill
-\begin{minipage}{.45\textwidth}\LightItalic \test\end{minipage}
+\begin{minipage}{.45\textwidth}\ltseries\itshape\test\end{minipage}
\medskip
\begin{minipage}{.45\textwidth}\bfseries \test\end{minipage}\hfill
-\begin{minipage}{.45\textwidth}\Semibold \test\end{minipage}
+\begin{minipage}{.45\textwidth}\sbseries \test\end{minipage}
\medskip
\begin{minipage}{.45\textwidth}\bfseries\itshape \test\end{minipage}\hfill
-\begin{minipage}{.45\textwidth}\SemiboldItalic \test\end{minipage}
+\begin{minipage}{.45\textwidth}\sbseries\itshape\test\end{minipage}
\medskip
@@ -157,6 +158,10 @@ and a bunch of Kp-fonts specifics symbols.
\item[nosf:] do not change Sans-Serif Text fonts, use the defaults.
\item[nott:] do not change Typewriter Text fonts, use the defaults.
\item[onlyrm:] equivalent to the last two combined.
+\item[fulloldstyle:] equivalent to options \opt{oldstyle} and
+ \opt{oldstylemath}.
+\item[fulloldstylenums:] equivalent to options \opt{oldstylenums} and
+ \opt{oldstylenumsmath}.
\end{description}
\subsection{Options for Text fonts \emph{only}}
@@ -164,6 +169,16 @@ and a bunch of Kp-fonts specifics symbols.
\begin{description}
\item[lighttext:] switches to \famvar{light} Text fonts.
+ Two more weights are provided by \pkg{kpfonts-otf.sty}:
+ with the \famvar{lighttext} (or \famvar{light}) option, \famvar{Semibold} and
+ \famvar{Extrabold} vs \famvar{Light} and \famvar{Semibold} without it.
+ These weights are available through |\ltseries|, |\sbseries| and
+ |\ebseries| commands to be used in a group or alternatively through one
+ argument commands |\textlt{}|, |\textsb{}| and |\texteb{}|.
+
+ |{\sbseries\itshape Foo}| or |\textsb{\textit{Foo}}| print
+ {\sbseries\itshape Foo}.
+
\item[oldstylenums:] provides lowercase digits as a default.
To get uppercase digits locally: |{\addfontfeature{Numbers=Lining} 123}|.
@@ -213,7 +228,7 @@ and a bunch of Kp-fonts specifics symbols.
\texttt{mysterious=} to get a round `s’ there.
\item[largesmallcaps:] prints larger \textlsc{Small Caps} than the default
- ones (\textsc{Petites Caps}).
+ ones (\textsc{Petite Caps}).
\item[altfligs :] prints alternative shapes for ligatures
{\addfontfeatures{StylisticSet=1}fi, fl, ffi, ffl}
@@ -315,7 +330,7 @@ using commands\\[.5\baselineskip]
|\set...font{|\optit{font}|}[|\optit{options}|]|.
For documents requiring no Math fonts, loading \pkg{fontspec} and using
-the |\set...font| commands is enough.
+the |\set...font| commands is enough, no need to load \pkg{kpfonts-otf} at all.
\subsection{Options for Text fonts}
@@ -327,8 +342,10 @@ Here are the options available for Text Kp-fonts:
\item[SmallCapsFeatures = \{Letters=SmallCaps\}] the |\textsc{}| command
will print larger \textlsc{Small Caps} than the default
- \textpsc{Petites Caps}.\\
- The default setting is \style{SmallCapsFeatures = \{Letters=PetiteCaps\}}.
+ \textpsc{Petite Caps}.\\
+ The default setting%
+ \footnote{Changed in v0.37 to match the original \pkg{kpfonts} package.},
+ is \style{SmallCapsFeatures = \{Letters=PetiteCaps\}}.
\item[Ligatures=TeX] (default) |'|\quad|!`|\quad|?`|\quad|--|\quad |---|\quad
print respectively\quad ’ \quad !` \quad ?`\quad -- \quad ---.
@@ -376,7 +393,7 @@ but can also be shared by different typefaces:
\defaultfontfeatures+[KpRoman,KpSans]{%
Ligatures = Rare,
Style = Swash,
- SmallCapsFeatures = {Letters=SmallCaps},
+ SmallCapsFeatures = {Letters=PetiteCaps},
}
\setmainfont{KpRoman}
\setsansfont{KpSans}
@@ -399,7 +416,23 @@ using |\addfontfeatures| inside a group, f.i.\ to print lowercase digits
\begin{verbatim}
{\addfontfeatures{Numbers=Lowercase}1234576890}
\end{verbatim}
-Actually, a shortcup is available in this case: |\oldstylenums{1234576890}|.
+Actually, a shortcut is available in this case: |\oldstylenums{1234576890}|.
+
+5. With the \family{KpRoman}, it is possible to define two more weights
+\famvar{Light} and \famvar{Semibold} borrowed from \family{KpLight}:
+\begin{verbatim}
+\newfontfamily\KpLight{KpLight}[<same options as KpRoman>]
+\newcommand*{\ltseries}{\KpLight}
+\newcommand*{\sbseries}{\KpLight\bfseries}
+\DeclareTextFontCommand{\textlt}{\ltseries}
+\DeclareTextFontCommand{\textsb}{\sbseries}
+\end{verbatim}
+ These weights are then available through |\ltseries|, |\sbseries| commands
+ to be used in a group or alternatively through one argument commands
+ |\textlt{}| and |\textsb{}|.
+
+ With the \family{KpLight}, weights \famvar{Semibold} and \famvar{Extrabold}
+ can be defined similarly.
\subsection{Options for Math fonts}
diff --git a/fonts/kpfonts-otf/doc/Kpfonts-OTF-Doc-English.pdf b/fonts/kpfonts-otf/doc/Kpfonts-OTF-Doc-English.pdf
index 1c53b58dac..73a44095b2 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 ef89473660..658013b7a2 100644
--- a/fonts/kpfonts-otf/doc/Kpfonts-OTF-Doc-French.ltx
+++ b/fonts/kpfonts-otf/doc/Kpfonts-OTF-Doc-French.ltx
@@ -43,7 +43,8 @@
\title{Kp-fonts version OpenType}
\author{\href{mailto:daniel.flipo@free.fr}{Daniel \textsc{Flipo}}}
-\newcommand*{\version}{0.36}
+\newcommand*{\version}{0.37}
+\date{18 août 2021}
\begin{document}
\maketitle
@@ -141,20 +142,20 @@ ainsi qu’un certain nombre de symboles et de commandes spécifiques à Kp-font
\medskip
\begin{minipage}{.45\textwidth}\test{} $E=mc^2$\end{minipage}\hfill
-\begin{minipage}{.45\textwidth}\Light \test{} \mathversion{light}$E=mc^2$
+\begin{minipage}{.45\textwidth}\ltseries\test{} \mathversion{light}$E=mc^2$
\end{minipage}
\medskip\mathversion{base}
\begin{minipage}{.45\textwidth}\itshape \test\end{minipage}\hfill
-\begin{minipage}{.45\textwidth}\LightItalic \test\end{minipage}
+\begin{minipage}{.45\textwidth}\ltseries\itshape \test\end{minipage}
\medskip
\begin{minipage}{.45\textwidth}\bfseries \test\end{minipage}\hfill
-\begin{minipage}{.45\textwidth}\Semibold \test\end{minipage}
+\begin{minipage}{.45\textwidth}\sbseries \test\end{minipage}
\medskip
\begin{minipage}{.45\textwidth}\bfseries\itshape \test\end{minipage}\hfill
-\begin{minipage}{.45\textwidth}\SemiboldItalic \test\end{minipage}
+\begin{minipage}{.45\textwidth}\sbseries\itshape \test\end{minipage}
\medskip
@@ -165,6 +166,10 @@ ainsi qu’un certain nombre de symboles et de commandes spécifiques à Kp-font
\item[nosf :] Kp-fonts ne modifie pas les polices sans-serif de texte.
\item[nott :] Kp-fonts ne modifie pas les polices de texte à chasse fixe.
\item[onlyrm :] équivalente aux deux précédentes options.
+\item[fulloldstyle :] équivalente aux options \opt{oldstyle} et
+ \opt{oldstylemath}.
+\item[fulloldstylenums :] équivalente aux options \opt{oldstylenums} et
+ \opt{oldstylenumsmath}.
\end{description}
\subsection{Options des polices de texte}
@@ -174,6 +179,17 @@ Notez que ces options n'affectent que les polices de texte.
\begin{description}
\item[lighttext :] le texte est composé en utilisant les polices « light ».
+ \pkg{kpfonts-otf.sty} donne accès à des graisses intermédiaires:
+ avec l’option \famvar{lighttext} (ou \famvar{light}) on a du
+ \famvar{Semibold} et du \famvar{Extrabold}, et par défaut on a du
+ \famvar{Light} et du \famvar{Semibold}.
+ Ces graisses s’obtiennent par les commandes |\ltseries|, |\sbseries| et
+ |\ebseries| à utiliser dans un groupe ou bien grâce aux commandes à un
+ argument |\textlt{}|, |\textsb{}| et |\texteb{}|.
+
+ |{\sbseries\itshape Foo}| ou |\textsb{\textit{Foo}}| donne
+ {\sbseries\itshape Foo}.
+
\item[oldstylenums :] Les polices fournissent ici les nombres elzéviriens par
défaut.
@@ -346,7 +362,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-dessous.
+ci-dessous sans charger \pkg{kpfonts-otf}.
\subsection{Options des polices de texte}
@@ -357,10 +373,11 @@ Pour les polices de texte de Kp-fonts les options suivantes sont proposées :
\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{=} !}).
+ |\textsc{}| affiche de plus \textlsc{Grandes} petites capitales à la place
+ des \textpsc{Petites} obtenues par défaut, correspondant à l’option%
+ \footnote{Inversée en version v0.37 pour coller à celle de \pkg{kpfonts}.}
+ \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 ---.
@@ -409,7 +426,7 @@ qu’une fois en procédant de la façon suivante :
\defaultfontfeatures+[KpRoman,KpSans]{%
Ligatures = Rare,
Style = Swash,
- SmallCapsFeatures = {Letters=SmallCaps},
+ SmallCapsFeatures = {Letters=PetiteCaps},
}
\setmainfont{KpRoman}
\setsansfont{KpSans}
@@ -434,6 +451,23 @@ commande |\addfontfeatures| dans un groupe :
{\addfontfeatures{Numbers=Lowercase}1234576890}
\end{verbatim}
+5. Avec la famille \family{KpRoman}, il est possible de definir deux graisses
+supplémentaires \famvar{Light} et \famvar{Semibold} empruntées à la famille
+\family{KpLight} comme ceci :
+\begin{verbatim}
+\newfontfamily\KpLight{KpLight}[<mêmes options que KpRoman>]
+\newcommand*{\ltseries}{\KpLight}
+\newcommand*{\sbseries}{\KpLight\bfseries}
+\DeclareTextFontCommand{\textlt}{\ltseries}
+\DeclareTextFontCommand{\textsb}{\sbseries}
+\end{verbatim}
+ Ces graisses s’obtiennent ensuite grâce aux commandes |\ltseries| et
+ |\sbseries| à utiliser dans un groupe ou bien avec les commandes à un
+ argument |\textlt{}| et |\textsb{}|.
+
+ Avec la famille \family{KpLight}, on peut définir de même les graisses
+ \famvar{Semibold} et \famvar{Extrabold}.
+
\subsection{Options des polices mathématiques}
Les options suivantes peuvent être passées à \pkg{unicode-math}%
diff --git a/fonts/kpfonts-otf/doc/Kpfonts-OTF-Doc-French.pdf b/fonts/kpfonts-otf/doc/Kpfonts-OTF-Doc-French.pdf
index 8795cc84cb..04075c8f6b 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.ltx b/fonts/kpfonts-otf/doc/unimath-kpfonts.ltx
index 33761129b6..cc08939821 100644
--- a/fonts/kpfonts-otf/doc/unimath-kpfonts.ltx
+++ b/fonts/kpfonts-otf/doc/unimath-kpfonts.ltx
@@ -1,20 +1,25 @@
%%^^A%% unimath-symbols.ltx -- part of UNICODE-MATH <wspr.io/unicode-math>
%%^^A%% Listing of Unicode mathematics symbols using a variety of fonts.
-%% Changes (df): XITS replaced by Erewhon.
+% !TEX TS-program = LuaLaTeX
-%!TEX TS-program = LuaLaTeX
+%% Changes (df): XITS replaced by Kpfonts, Fira replaced by Libertinus,
+%% Palatino replaced by Termes, Erewhon and Garamond added.
+%% Changes by David Carlisle: https://github.com/wspr/unicode-math/issues/570
-%%%%%%%%%%%%%%%%%%%%%%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% SYMBOLS DEFINED BY UNICODE-MATH
-%%%%%%%%%%%%%%%%%%%%%%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\documentclass[final]{article}
\makeatletter
-\usepackage{ragged2e,setspace,booktabs,catchfile,shortvrb,geometry,metalogo,textcomp,longtable,tabu,hyperref}
+\usepackage{ragged2e,setspace,booktabs,catchfile,shortvrb,geometry,metalogo,textcomp,longtable,array,hyperref}
-\geometry{margin=3cm}
+\usepackage{ninecolors}
+\NineColors{saturation=high}
+
+\geometry{margin=24mm}
\hypersetup{colorlinks,linkcolor=black}
\def\cmd#1{\texttt{\textbackslash\expandafter\@gobble\string#1}}
@@ -22,7 +27,7 @@
\usepackage{fontspec}
\setmainfont{texgyrepagella}%
[
- Extension = .otf,
+ Extension = .otf ,
UprightFont = *-regular,
ItalicFont = *-italic,
BoldFont = *-bold,
@@ -52,35 +57,33 @@
}
\ExplSyntaxOff
-\defmathfont{lm}{latinmodern-math.otf}{CC6666}{LM}
-%\defmathfont{xits}{XITSMath-Regular.otf}{6666CC}{X}
-\defmathfont{stix}{STIXTwoMath-Regular.otf}{66CC66}{S}
-\defmathfont{erewhon}{Erewhon-Math.otf}{AA6666}{E}
-\defmathfont{kpfonts}{KpMath-Regular.otf}{AA66CC}{K}
-%\defmathfont{kpfonts}{KpMath-Light.otf}{AA66CC}{K}
-\defmathfont{termes}{texgyretermes-math.otf}{66CCCC}{T}
-%\defmathfont{dejavu}{texgyredejavu-math.otf}{AACC66}{D}
-\defmathfont{garamond}{Garamond-Math.otf}{AACC66}{G}
-%\defmathfont{fira}{FiraMath-Regular.otf}{AA66CC}{F}
-\defmathfont{libertinus}{LibertinusMath-Regular.otf}{AA66CC}{Li}
+\defmathfont{lm}{latinmodern-math.otf}{red5}{M}
+\defmathfont{stix}{STIXTwoMath-Regular.otf}{green5}{S}
+\defmathfont{erewhon}{Erewhon-Math.otf}{brown5}{E}
+\defmathfont{kpfonts}{KpMath-Regular.otf}{cyan5}{K}
+%\defmathfont{kpfonts}{KpMath-Light.otf}{cyan5}{K}
+\defmathfont{termes}{texgyretermes-math.otf}{violet5}{T}
+\defmathfont{libertinus}{LibertinusMath-Regular.otf}{yellow5}{L}
+\defmathfont{garamond}{Garamond-Math.otf}{magenta5}{G}
\def\INPUT{\input{unicode-math-table.tex}}
\def\TABLE{%
\par\noindent
-\begin{longtabu}[l]{@{}l *{\Nfonts}{c} lX[l]@{}}
+\setlength\tabcolsep{5pt}%
+\begin{longtable}[l]{@{}l *{\Nfonts}{c} lp{100pt}@{}}
\toprule
- \textsc{usv} & \Llm & \Lstix & \Lerewhon & \Lkpfonts & \Ltermes & \Lgaramond & \Llibertinus
- & Macro & Description \\
+ \textsc{usv} & \Llm & \Lstix & \Lerewhon & \Lkpfonts & \Ltermes & \Llibertinus
+ & \Lgaramond & Macro & Description \\
\midrule \endhead
\INPUT\\
\bottomrule
-\end{longtabu}
+\end{longtable}
}
\makeatletter
\def\USV#1{\footnotesize\scshape\MakeLowercase{u+\@gobble#1}}
\makeatother
\def\CMD#1{\footnotesize\cmd#1}
-\def\DESC#1{%
+\def\DESC#1{\vspace{-6pt}%
\begin{spacing}{0.5}
\RaggedRight\scriptsize #1%
\end{spacing}
@@ -103,8 +106,8 @@
\SYMB{#2}{erewhon}{#1} &
\SYMB{#2}{kpfonts}{#1} &
\SYMB{#2}{termes}{#1} &
- \SYMB{#2}{garamond}{#1} &
\SYMB{#2}{libertinus}{#1} &
+ \SYMB{#2}{garamond}{#1} &
\CMD{#2}
\tl_if_in:NnT \PLAIN {#2}
{
@@ -183,8 +186,8 @@ The following fonts are shown: (with approximate symbol counts)
\item[\Lerewhon] \mathversion{erewhon} $\mathup{Erewhon\ Math}$ (\ref{count:erewhon})
\item[\Lkpfonts] \mathversion{kpfonts} $\mathup{KpMath\ Regular}$ (\ref{count:kpfonts})
\item[\Ltermes] \mathversion{termes} $\mathup{TeX\ Gyre\ Termes\ Math}$ (\ref{count:termes})
-\item[\Lgaramond] \mathversion{garamond} $\mathup{Garamond\ Math}$ (\ref{count:garamond})
\item[\Llibertinus] \mathversion{libertinus} $\mathup{Libertinus\ Math}$ (\ref{count:libertinus})
+\item[\Lgaramond] \mathversion{garamond} $\mathup{Garamond\ Math}$ (\ref{count:garamond})
\end{itemize}
Symbols defined in Plain \TeX\ are indicated with {\color[gray]{0.6} \textsuperscript{\sffamily (p)}} after their macro name.
\LaTeX\ follows Plain \TeX, but defines a handful more, indicated with {\color[gray]{0.6} \textsuperscript{\sffamily (l)}}.
@@ -255,19 +258,17 @@ Note that accents will only be properly placed if used with an OpenType font wit
\SHOW\mathaccent
\endgroup
-\section{Accents, \cmd\mathaccent}
-
-Note that accents will only be properly placed if used with an OpenType font with the necessary information.
-
+% Added (df)
+\section{Accents wide, \cmd\mathaccentwide}
\begingroup
\def\SYMB#1#2#3{%
\expandafter\iffontchar\csname#2\endcsname #3\relax
\refstepcounter{#2}%
\mathversion{#2}%
- $\displaystyle#1 \mitx$%
+ $\displaystyle#1 {\mitx+\mity}$%
\fi
}
-\SHOW\mathaccent
+\SHOW\mathaccentwide
\endgroup
\section{Bottom accents, \cmd\mathbotaccent}
@@ -295,6 +296,7 @@ Note that accents will only be properly placed if used with an OpenType font wit
\SHOW\mathbotaccentwide
\endgroup
+\clearpage
\section{Big operators, \cmd\mathop}
Of the operators shown below, a subset need to be flagged by \textsf{unicode-math} for \cmd\nolimits\ adjustments.
@@ -310,7 +312,7 @@ The limits behaviour as specified by \textsf{unicode-math} are shown with grey s
\SHOW\mathop
\endgroup
-\clearpage
+%\clearpage
\section{Binary relations, \cmd\mathbin}
\SHOW\mathbin
@@ -486,7 +488,7 @@ The limits behaviour as specified by \textsf{unicode-math} are shown with grey s
\TABLE
\FINISH
-
+\mbox{}
\end{document}
\endinput
diff --git a/fonts/kpfonts-otf/doc/unimath-kpfonts.pdf b/fonts/kpfonts-otf/doc/unimath-kpfonts.pdf
index 8fea46f8ac..261e59fb10 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 bec81e0070..5917d76e6e 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 8141fa8cb2..afb47c0e6d 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 c0a39bd7cc..618fff9aa6 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 d404da41ef..da0cca17b5 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 0c5b50be6a..af8534b984 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 d587fc63d7..bff9f51527 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 67f1329514..d4de33abed 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 7f13960415..030f86f6f0 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 c0adddfaa1..4b7403fb88 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 2f9eedcfc7..0fb377a82f 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 ca2ef0ffe1..9f532c48cf 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 a60ba1bae9..36190b31f3 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 f486883683..d177afe429 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 8ee3ae544d..15eae3304f 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 c325b735e1..06c7d0a736 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 ee26b8102b..f3b9962fc2 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 f44e9c486c..cfde95e778 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 42d8aa36e9..69071cff03 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 54fd23602b..903c52ae74 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 c9f86c39eb..b4aff31ac3 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 e7297a33b7..1c160b94e1 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 5f86a1b29d..376601caf8 100644
--- a/fonts/kpfonts-otf/tex/KpLight.fontspec
+++ b/fonts/kpfonts-otf/tex/KpLight.fontspec
@@ -8,5 +8,6 @@
SlantedFeatures = {FakeSlant=0.19},
BoldSlantedFont = KpRoman-Semibold,
BoldSlantedFeatures = {FakeSlant=0.19},
+ SmallCapsFeatures = {Letters=PetiteCaps},
Ligatures={Common,RequiredOff,RareOff,HistoricOff}
}
diff --git a/fonts/kpfonts-otf/tex/KpRoman.fontspec b/fonts/kpfonts-otf/tex/KpRoman.fontspec
index d4664c1f8a..4ef2046f9f 100644
--- a/fonts/kpfonts-otf/tex/KpRoman.fontspec
+++ b/fonts/kpfonts-otf/tex/KpRoman.fontspec
@@ -8,5 +8,6 @@
SlantedFeatures = {FakeSlant=0.19},
BoldSlantedFont = KpRoman-Bold,
BoldSlantedFeatures = {FakeSlant=0.19},
+ SmallCapsFeatures = {Letters=PetiteCaps},
Ligatures={Common,RequiredOff,RareOff,HistoricOff}
}
diff --git a/fonts/kpfonts-otf/tex/KpSans.fontspec b/fonts/kpfonts-otf/tex/KpSans.fontspec
index 41c334157c..4019353dfa 100644
--- a/fonts/kpfonts-otf/tex/KpSans.fontspec
+++ b/fonts/kpfonts-otf/tex/KpSans.fontspec
@@ -4,5 +4,6 @@
BoldFont = *-Bold,
ItalicFont = *-Italic,
BoldItalicFont = *-BoldItalic,
+ SmallCapsFeatures = {Letters=PetiteCaps},
Ligatures={Common,RequiredOff,RareOff,HistoricOff}
}
diff --git a/fonts/kpfonts-otf/tex/kpfonts-otf.sty b/fonts/kpfonts-otf/tex/kpfonts-otf.sty
index b182d5f199..9c9c4221f4 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.36}
-\def\filedate{2021-05-21}
+\def\fileversion{0.37}
+\def\filedate{2021-08-18}
\ProvidesPackage{kpfonts-otf}[\filedate\space\fileversion]
% Ensure luatex or xetex engine
@@ -36,57 +36,57 @@
\newif\ifkp@tight
%
% Global options
-\DeclareOption{light} {\kp@lighttexttrue\kp@lightmathtrue}
-\DeclareOption{nomath} {\kp@mathfalse\kp@symbolsfalse}
-\DeclareOption{notext} {\kp@textfalse}
-\DeclareOption{nosf} {\kp@sffalse}
-\DeclareOption{nott} {\kp@ttfalse}
-\DeclareOption{onlyrm} {\kp@ttfalse\kp@sffalse}
+\DeclareOption{light} {\kp@lighttexttrue\kp@lightmathtrue}
+\DeclareOption{nomath} {\kp@mathfalse\kp@symbolsfalse}
+\DeclareOption{notext} {\kp@textfalse}
+\DeclareOption{nosf} {\kp@sffalse}
+\DeclareOption{nott} {\kp@ttfalse}
+\DeclareOption{onlyrm} {\kp@ttfalse\kp@sffalse}
+\DeclareOption{fulloldstylenums} {\kp@osntrue\kp@osnmtrue}
+\DeclareOption{fulloldstyle} {\kp@ostrue\kp@Qtailtrue\kp@osntrue
+ \kp@osnmtrue}
% Text options
-\DeclareOption{lighttext} {\kp@lighttexttrue}
-\DeclareOption{oldstylenums} {\kp@osntrue}
-\DeclareOption{oldstyle} {\kp@ostrue\kp@osntrue\kp@Qtailtrue}
-\DeclareOption{veryoldstyle} {\kp@vostrue\kp@osntrue\kp@Qtailtrue}
-\DeclareOption{largesmallcaps} {\kp@largesmallcapstrue}
-\DeclareOption{altfligs} {\kp@altfligstrue}
-\DeclareOption{germandbls} {\kp@germandblstrue}
-\DeclareOption{eurosym} {\kp@eurosymtrue}
-\DeclareOption{harfbuzz} {\kp@harfbuzztrue}
+\DeclareOption{lighttext} {\kp@lighttexttrue}
+\DeclareOption{oldstylenums} {\kp@osntrue}
+\DeclareOption{oldstyle} {\kp@ostrue\kp@osntrue\kp@Qtailtrue}
+\DeclareOption{veryoldstyle} {\kp@vostrue\kp@osntrue\kp@Qtailtrue}
+\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}
-\DeclareOption{mathcal} {\kp@calasscrtrue}
-\DeclareOption{narrowiints} {\kp@narrowiintstrue}
-\DeclareOption{frenchstyle} {\kp@frenchstyletrue}
-\DeclareOption{partialup} {\kp@partialuptrue}
-\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}
+\DeclareOption{lightmath} {\kp@lightmathtrue}
+\DeclareOption{bbsans} {\kp@sfmathbbtrue}
+\DeclareOption{mathcal} {\kp@calasscrtrue}
+\DeclareOption{narrowiints} {\kp@narrowiintstrue}
+\DeclareOption{frenchstyle} {\kp@frenchstyletrue}
+\DeclareOption{partialup} {\kp@partialuptrue}
+\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 (rm & sf) font features.
-\def\KP@addto#1#2{%
- {\toks@\expandafter{#1,#2}%
- \xdef#1{\the\toks@}}%
-}
-\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...
+% Text fonts setup...
\ifkp@text
\RequirePackage{fontspec}[2019/01/01]
+ % Two candidates for \rmfamily:
+ \newfontfamily\KpRoman{KpRoman}
+ \newfontfamily\KpLight{KpLight}
% 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
+ % Option harfbuzz is needed with HBLuaTeX to typeset some composed chars
% not ready-made in the KPfonts (f.i. ċṅṁ, ạẹịụọṃ,…).
\ifluahbtex\ifkp@harfbuzz\defaultfontfeatures+{Renderer=HarfBuzz}\fi\fi
% TS1 accent in Private Area
@@ -99,71 +99,73 @@
\ifkp@tt
\defaultfontfeatures+[\ttfamily]{Numbers=Lowercase}
\fi
- \KP@addto\KP@Toptions{Numbers=Lowercase}
+ \defaultfontfeatures+[KpRoman,KpLight,\sffamily]{Numbers=Lowercase}
\fi
%% Oldstyle
\ifkp@os
\ifkp@tt
\defaultfontfeatures+[\ttfamily]{Style=Swash}
\fi
- \KP@addto\KP@Toptions{Style=Swash,Ligatures=Rare}
+ \defaultfontfeatures+[KpRoman,KpLight,\sffamily]{Style=Swash,Ligatures=Rare}
\fi
%% Veryoldstyle
\ifkp@vos
\ifkp@tt
\defaultfontfeatures+[\ttfamily]{Style=Historic, Contextuals=Alternate}
\fi
- \KP@addto\KP@Toptions{Style=Historic, Ligatures=Historic,
- Contextuals=Alternate}
+ \defaultfontfeatures+[KpRoman,KpLight,\sffamily]{%
+ Style=Historic,Ligatures=Historic,Contextuals=Alternate}
\fi
% Smallcaps
\ifkp@largesmallcaps
- \KP@addto\KP@Toptions{SmallCapsFeatures = {Letters=SmallCaps}}
+ \defaultfontfeatures+[KpRoman,KpLight,\sffamily]{%
+ SmallCapsFeatures = {Letters=SmallCaps}}
\else
- \KP@addto\KP@Toptions{SmallCapsFeatures = {Letters=PetiteCaps}}
+ \defaultfontfeatures+[KpRoman,KpLight,\sffamily]{%
+ SmallCapsFeatures = {Letters=PetiteCaps}}
\fi
% Altfligs
\ifkp@altfligs
- \KP@addto\KP@Toptions{StylisticSet=1}
+ \defaultfontfeatures+[KpRoman,KpLight,\sffamily]{StylisticSet=1}
\fi
% Germandbls
\ifkp@germandbls
- \KP@addto\KP@Toptions{StylisticSet=2}
+ \defaultfontfeatures+[KpRoman,KpLight,\sffamily]{StylisticSet=2}
\fi
% Euro symbol
\ifkp@eurosym
\ifkp@tt
\defaultfontfeatures+[\ttfamily]{StylisticSet=3}
\fi
- \KP@addto\KP@Toptions{StylisticSet=3}
+ \defaultfontfeatures+[KpRoman,KpLight,\sffamily]{StylisticSet=3}
\fi
- % Text Serif fonts:
+ % Loading Text Serif fonts:
\ifkp@lighttext
- \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}
+ \setmainfont{KpLight}
+ \renewfontfamily\KpLight{KpLight}
+ \renewfontfamily\KpRoman{KpRoman}
+ \newcommand*{\sbseries}{\KpRoman}
+ \newcommand*{\ebseries}{\KpRoman\bfseries}
+ \DeclareTextFontCommand{\textsb}{\sbseries}
+ \DeclareTextFontCommand{\texteb}{\ebseries}
\else
- \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}
+ \setmainfont{KpRoman}
+ \renewfontfamily\KpRoman{KpRoman}
+ \renewfontfamily\KpLight{KpLight}
+ \newcommand*{\sbseries}{\KpLight\bfseries}
+ \newcommand*{\ltseries}{\KpLight}
+ \DeclareTextFontCommand{\textsb}{\sbseries}
+ \DeclareTextFontCommand{\textlt}{\ltseries}
\fi
- % Text Sans Serif fonts:
+ % Loading Text Sans Serif fonts:
\ifkp@sf
- \setsansfont{KpSans}[\KP@Toptions]
+ \setsansfont{KpSans}
\fi
- % Text Typewriter fonts:
+ % Loading Text Typewriter fonts:
\ifkp@tt
\setmonofont{KpMono}
\fi
- % Large/Petites smallcaps
+ % Large/Petite smallcaps
\DeclareRobustCommand\lscshape{\addfontfeatures{RawFeature=+smcp}}
\DeclareRobustCommand\pscshape{\addfontfeatures{RawFeature=+pcap}}
\DeclareRobustCommand\textlsc[1]{{\lscshape #1}}
@@ -191,53 +193,48 @@
\medmuskip=2.5mu plus 1mu minus 2.5mu
\thickmuskip=3.5mu plus 2.5mu
\fi
+ \ifkp@calasscr
+ \KP@mathcal@Warning
+ \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
\ifkp@lightmath
- \ifkp@calasscr
- \KP@mathcal@Warning
- \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}
+ %\expandafter\setmathfont\expandafter[\the\KpMtoks]{KpMath-Light.otf}
+ % Following Joseph Wright in https://tex.stackexchange.com/questions/451
+ \begingroup
+ \edef\temp{%
+ \endgroup
+ \noexpand\setmathfont{KpMath-Light.otf}%
+ [\unexpanded\expandafter{\the\KpMtoks}]%
+ }
+ \temp
\setmathfont[range={cal,bfcal},RawFeature=+ss01]{KpMath-Light.otf}
\else
- \ifkp@calasscr
- \KP@mathcal@Warning
- \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}
+ %\expandafter\setmathfont\expandafter[\the\KpMtoks]{KpMath-Regular.otf}
+ % Following Joseph Wright in https://tex.stackexchange.com/questions/451
+ \begingroup
+ \edef\temp{%
+ \endgroup
+ \noexpand\setmathfont{KpMath-Regular.otf}%
+ [\unexpanded\expandafter{\the\KpMtoks}]%
+ }
+ \temp
\setmathfont[range={cal,bfcal},RawFeature=+ss01]{KpMath-Regular.otf}
\fi
\fi