diff options
author | Karl Berry <karl@freefriends.org> | 2021-08-23 20:50:58 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2021-08-23 20:50:58 +0000 |
commit | f58a5b400a2f0cc8eacf8e853529a0bf462b2aff (patch) | |
tree | feecdde42987c6b9aae3355d7edfc7cf8d5a94e6 | |
parent | 6545ce7952bf97897dbc070c25400dd28c6074d3 (diff) |
kpfonts-otf (23aug21)
git-svn-id: svn://tug.org/texlive/trunk@60309 c570f23f-e606-0410-a88d-b1316a301751
32 files changed, 320 insertions, 227 deletions
diff --git a/Master/texmf-dist/doc/fonts/kpfonts-otf/Kpfonts-OTF-Doc-English.ltx b/Master/texmf-dist/doc/fonts/kpfonts-otf/Kpfonts-OTF-Doc-English.ltx index eb348001ae9..c7700bbc269 100644 --- a/Master/texmf-dist/doc/fonts/kpfonts-otf/Kpfonts-OTF-Doc-English.ltx +++ b/Master/texmf-dist/doc/fonts/kpfonts-otf/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/Master/texmf-dist/doc/fonts/kpfonts-otf/Kpfonts-OTF-Doc-English.pdf b/Master/texmf-dist/doc/fonts/kpfonts-otf/Kpfonts-OTF-Doc-English.pdf Binary files differindex 1c53b58dacb..73a44095b22 100644 --- a/Master/texmf-dist/doc/fonts/kpfonts-otf/Kpfonts-OTF-Doc-English.pdf +++ b/Master/texmf-dist/doc/fonts/kpfonts-otf/Kpfonts-OTF-Doc-English.pdf diff --git a/Master/texmf-dist/doc/fonts/kpfonts-otf/Kpfonts-OTF-Doc-French.ltx b/Master/texmf-dist/doc/fonts/kpfonts-otf/Kpfonts-OTF-Doc-French.ltx index ef89473660f..658013b7a21 100644 --- a/Master/texmf-dist/doc/fonts/kpfonts-otf/Kpfonts-OTF-Doc-French.ltx +++ b/Master/texmf-dist/doc/fonts/kpfonts-otf/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/Master/texmf-dist/doc/fonts/kpfonts-otf/Kpfonts-OTF-Doc-French.pdf b/Master/texmf-dist/doc/fonts/kpfonts-otf/Kpfonts-OTF-Doc-French.pdf Binary files differindex 8795cc84cb0..04075c8f6be 100644 --- a/Master/texmf-dist/doc/fonts/kpfonts-otf/Kpfonts-OTF-Doc-French.pdf +++ b/Master/texmf-dist/doc/fonts/kpfonts-otf/Kpfonts-OTF-Doc-French.pdf diff --git a/Master/texmf-dist/doc/fonts/kpfonts-otf/README.md b/Master/texmf-dist/doc/fonts/kpfonts-otf/README.md index cc674316d7f..8153fabc143 100644 --- a/Master/texmf-dist/doc/fonts/kpfonts-otf/README.md +++ b/Master/texmf-dist/doc/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/Master/texmf-dist/doc/fonts/kpfonts-otf/unimath-kpfonts.ltx b/Master/texmf-dist/doc/fonts/kpfonts-otf/unimath-kpfonts.ltx index 33761129b6a..cc08939821c 100644 --- a/Master/texmf-dist/doc/fonts/kpfonts-otf/unimath-kpfonts.ltx +++ b/Master/texmf-dist/doc/fonts/kpfonts-otf/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/Master/texmf-dist/doc/fonts/kpfonts-otf/unimath-kpfonts.pdf b/Master/texmf-dist/doc/fonts/kpfonts-otf/unimath-kpfonts.pdf Binary files differindex 8fea46f8ac0..261e59fb10a 100644 --- a/Master/texmf-dist/doc/fonts/kpfonts-otf/unimath-kpfonts.pdf +++ b/Master/texmf-dist/doc/fonts/kpfonts-otf/unimath-kpfonts.pdf diff --git a/Master/texmf-dist/fonts/opentype/public/kpfonts-otf/KpMath-Bold.otf b/Master/texmf-dist/fonts/opentype/public/kpfonts-otf/KpMath-Bold.otf Binary files differindex bec81e0070b..5917d76e6ec 100644 --- a/Master/texmf-dist/fonts/opentype/public/kpfonts-otf/KpMath-Bold.otf +++ b/Master/texmf-dist/fonts/opentype/public/kpfonts-otf/KpMath-Bold.otf diff --git a/Master/texmf-dist/fonts/opentype/public/kpfonts-otf/KpMath-Light.otf b/Master/texmf-dist/fonts/opentype/public/kpfonts-otf/KpMath-Light.otf Binary files differindex 8141fa8cb2e..afb47c0e6d4 100644 --- a/Master/texmf-dist/fonts/opentype/public/kpfonts-otf/KpMath-Light.otf +++ b/Master/texmf-dist/fonts/opentype/public/kpfonts-otf/KpMath-Light.otf diff --git a/Master/texmf-dist/fonts/opentype/public/kpfonts-otf/KpMath-Regular.otf b/Master/texmf-dist/fonts/opentype/public/kpfonts-otf/KpMath-Regular.otf Binary files differindex c0a39bd7cc6..618fff9aa69 100644 --- a/Master/texmf-dist/fonts/opentype/public/kpfonts-otf/KpMath-Regular.otf +++ b/Master/texmf-dist/fonts/opentype/public/kpfonts-otf/KpMath-Regular.otf diff --git a/Master/texmf-dist/fonts/opentype/public/kpfonts-otf/KpMath-Sans.otf b/Master/texmf-dist/fonts/opentype/public/kpfonts-otf/KpMath-Sans.otf Binary files differindex d404da41ef2..da0cca17b58 100644 --- a/Master/texmf-dist/fonts/opentype/public/kpfonts-otf/KpMath-Sans.otf +++ b/Master/texmf-dist/fonts/opentype/public/kpfonts-otf/KpMath-Sans.otf diff --git a/Master/texmf-dist/fonts/opentype/public/kpfonts-otf/KpMath-Semibold.otf b/Master/texmf-dist/fonts/opentype/public/kpfonts-otf/KpMath-Semibold.otf Binary files differindex 0c5b50be6a9..af8534b9842 100644 --- a/Master/texmf-dist/fonts/opentype/public/kpfonts-otf/KpMath-Semibold.otf +++ b/Master/texmf-dist/fonts/opentype/public/kpfonts-otf/KpMath-Semibold.otf diff --git a/Master/texmf-dist/fonts/opentype/public/kpfonts-otf/KpMono-Bold.otf b/Master/texmf-dist/fonts/opentype/public/kpfonts-otf/KpMono-Bold.otf Binary files differindex d587fc63d71..bff9f515272 100644 --- a/Master/texmf-dist/fonts/opentype/public/kpfonts-otf/KpMono-Bold.otf +++ b/Master/texmf-dist/fonts/opentype/public/kpfonts-otf/KpMono-Bold.otf diff --git a/Master/texmf-dist/fonts/opentype/public/kpfonts-otf/KpMono-BoldItalic.otf b/Master/texmf-dist/fonts/opentype/public/kpfonts-otf/KpMono-BoldItalic.otf Binary files differindex 67f13295141..d4de33abed7 100644 --- a/Master/texmf-dist/fonts/opentype/public/kpfonts-otf/KpMono-BoldItalic.otf +++ b/Master/texmf-dist/fonts/opentype/public/kpfonts-otf/KpMono-BoldItalic.otf diff --git a/Master/texmf-dist/fonts/opentype/public/kpfonts-otf/KpMono-Italic.otf b/Master/texmf-dist/fonts/opentype/public/kpfonts-otf/KpMono-Italic.otf Binary files differindex 7f13960415b..030f86f6f00 100644 --- a/Master/texmf-dist/fonts/opentype/public/kpfonts-otf/KpMono-Italic.otf +++ b/Master/texmf-dist/fonts/opentype/public/kpfonts-otf/KpMono-Italic.otf diff --git a/Master/texmf-dist/fonts/opentype/public/kpfonts-otf/KpMono-Regular.otf b/Master/texmf-dist/fonts/opentype/public/kpfonts-otf/KpMono-Regular.otf Binary files differindex c0adddfaa1c..4b7403fb887 100644 --- a/Master/texmf-dist/fonts/opentype/public/kpfonts-otf/KpMono-Regular.otf +++ b/Master/texmf-dist/fonts/opentype/public/kpfonts-otf/KpMono-Regular.otf diff --git a/Master/texmf-dist/fonts/opentype/public/kpfonts-otf/KpRoman-Bold.otf b/Master/texmf-dist/fonts/opentype/public/kpfonts-otf/KpRoman-Bold.otf Binary files differindex 2f9eedcfc72..0fb377a82fb 100644 --- a/Master/texmf-dist/fonts/opentype/public/kpfonts-otf/KpRoman-Bold.otf +++ b/Master/texmf-dist/fonts/opentype/public/kpfonts-otf/KpRoman-Bold.otf diff --git a/Master/texmf-dist/fonts/opentype/public/kpfonts-otf/KpRoman-BoldItalic.otf b/Master/texmf-dist/fonts/opentype/public/kpfonts-otf/KpRoman-BoldItalic.otf Binary files differindex ca2ef0ffe11..9f532c48cf7 100644 --- a/Master/texmf-dist/fonts/opentype/public/kpfonts-otf/KpRoman-BoldItalic.otf +++ b/Master/texmf-dist/fonts/opentype/public/kpfonts-otf/KpRoman-BoldItalic.otf diff --git a/Master/texmf-dist/fonts/opentype/public/kpfonts-otf/KpRoman-Italic.otf b/Master/texmf-dist/fonts/opentype/public/kpfonts-otf/KpRoman-Italic.otf Binary files differindex a60ba1bae91..36190b31f3b 100644 --- a/Master/texmf-dist/fonts/opentype/public/kpfonts-otf/KpRoman-Italic.otf +++ b/Master/texmf-dist/fonts/opentype/public/kpfonts-otf/KpRoman-Italic.otf diff --git a/Master/texmf-dist/fonts/opentype/public/kpfonts-otf/KpRoman-Light.otf b/Master/texmf-dist/fonts/opentype/public/kpfonts-otf/KpRoman-Light.otf Binary files differindex f486883683a..d177afe4292 100644 --- a/Master/texmf-dist/fonts/opentype/public/kpfonts-otf/KpRoman-Light.otf +++ b/Master/texmf-dist/fonts/opentype/public/kpfonts-otf/KpRoman-Light.otf diff --git a/Master/texmf-dist/fonts/opentype/public/kpfonts-otf/KpRoman-LightItalic.otf b/Master/texmf-dist/fonts/opentype/public/kpfonts-otf/KpRoman-LightItalic.otf Binary files differindex 8ee3ae544db..15eae3304f3 100644 --- a/Master/texmf-dist/fonts/opentype/public/kpfonts-otf/KpRoman-LightItalic.otf +++ b/Master/texmf-dist/fonts/opentype/public/kpfonts-otf/KpRoman-LightItalic.otf diff --git a/Master/texmf-dist/fonts/opentype/public/kpfonts-otf/KpRoman-Regular.otf b/Master/texmf-dist/fonts/opentype/public/kpfonts-otf/KpRoman-Regular.otf Binary files differindex c325b735e18..06c7d0a7366 100644 --- a/Master/texmf-dist/fonts/opentype/public/kpfonts-otf/KpRoman-Regular.otf +++ b/Master/texmf-dist/fonts/opentype/public/kpfonts-otf/KpRoman-Regular.otf diff --git a/Master/texmf-dist/fonts/opentype/public/kpfonts-otf/KpRoman-Semibold.otf b/Master/texmf-dist/fonts/opentype/public/kpfonts-otf/KpRoman-Semibold.otf Binary files differindex ee26b8102b7..f3b9962fc23 100644 --- a/Master/texmf-dist/fonts/opentype/public/kpfonts-otf/KpRoman-Semibold.otf +++ b/Master/texmf-dist/fonts/opentype/public/kpfonts-otf/KpRoman-Semibold.otf diff --git a/Master/texmf-dist/fonts/opentype/public/kpfonts-otf/KpRoman-SemiboldItalic.otf b/Master/texmf-dist/fonts/opentype/public/kpfonts-otf/KpRoman-SemiboldItalic.otf Binary files differindex f44e9c486c8..cfde95e7785 100644 --- a/Master/texmf-dist/fonts/opentype/public/kpfonts-otf/KpRoman-SemiboldItalic.otf +++ b/Master/texmf-dist/fonts/opentype/public/kpfonts-otf/KpRoman-SemiboldItalic.otf diff --git a/Master/texmf-dist/fonts/opentype/public/kpfonts-otf/KpSans-Bold.otf b/Master/texmf-dist/fonts/opentype/public/kpfonts-otf/KpSans-Bold.otf Binary files differindex 42d8aa36e9a..69071cff034 100644 --- a/Master/texmf-dist/fonts/opentype/public/kpfonts-otf/KpSans-Bold.otf +++ b/Master/texmf-dist/fonts/opentype/public/kpfonts-otf/KpSans-Bold.otf diff --git a/Master/texmf-dist/fonts/opentype/public/kpfonts-otf/KpSans-BoldItalic.otf b/Master/texmf-dist/fonts/opentype/public/kpfonts-otf/KpSans-BoldItalic.otf Binary files differindex 54fd23602ba..903c52ae743 100644 --- a/Master/texmf-dist/fonts/opentype/public/kpfonts-otf/KpSans-BoldItalic.otf +++ b/Master/texmf-dist/fonts/opentype/public/kpfonts-otf/KpSans-BoldItalic.otf diff --git a/Master/texmf-dist/fonts/opentype/public/kpfonts-otf/KpSans-Italic.otf b/Master/texmf-dist/fonts/opentype/public/kpfonts-otf/KpSans-Italic.otf Binary files differindex c9f86c39eb6..b4aff31ac3c 100644 --- a/Master/texmf-dist/fonts/opentype/public/kpfonts-otf/KpSans-Italic.otf +++ b/Master/texmf-dist/fonts/opentype/public/kpfonts-otf/KpSans-Italic.otf diff --git a/Master/texmf-dist/fonts/opentype/public/kpfonts-otf/KpSans-Regular.otf b/Master/texmf-dist/fonts/opentype/public/kpfonts-otf/KpSans-Regular.otf Binary files differindex e7297a33b7a..1c160b94e1c 100644 --- a/Master/texmf-dist/fonts/opentype/public/kpfonts-otf/KpSans-Regular.otf +++ b/Master/texmf-dist/fonts/opentype/public/kpfonts-otf/KpSans-Regular.otf diff --git a/Master/texmf-dist/tex/latex/kpfonts-otf/KpLight.fontspec b/Master/texmf-dist/tex/latex/kpfonts-otf/KpLight.fontspec index 5f86a1b29d4..376601caf86 100644 --- a/Master/texmf-dist/tex/latex/kpfonts-otf/KpLight.fontspec +++ b/Master/texmf-dist/tex/latex/kpfonts-otf/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/Master/texmf-dist/tex/latex/kpfonts-otf/KpRoman.fontspec b/Master/texmf-dist/tex/latex/kpfonts-otf/KpRoman.fontspec index d4664c1f8a4..4ef2046f9ff 100644 --- a/Master/texmf-dist/tex/latex/kpfonts-otf/KpRoman.fontspec +++ b/Master/texmf-dist/tex/latex/kpfonts-otf/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/Master/texmf-dist/tex/latex/kpfonts-otf/KpSans.fontspec b/Master/texmf-dist/tex/latex/kpfonts-otf/KpSans.fontspec index 41c334157c7..4019353dfa3 100644 --- a/Master/texmf-dist/tex/latex/kpfonts-otf/KpSans.fontspec +++ b/Master/texmf-dist/tex/latex/kpfonts-otf/KpSans.fontspec @@ -4,5 +4,6 @@ BoldFont = *-Bold, ItalicFont = *-Italic, BoldItalicFont = *-BoldItalic, + SmallCapsFeatures = {Letters=PetiteCaps}, Ligatures={Common,RequiredOff,RareOff,HistoricOff} } diff --git a/Master/texmf-dist/tex/latex/kpfonts-otf/kpfonts-otf.sty b/Master/texmf-dist/tex/latex/kpfonts-otf/kpfonts-otf.sty index b182d5f199d..9c9c4221f4e 100644 --- a/Master/texmf-dist/tex/latex/kpfonts-otf/kpfonts-otf.sty +++ b/Master/texmf-dist/tex/latex/kpfonts-otf/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 |