texlive[60515] Master/texmf-dist: kpfonts-otf (15sep21)

commits+karl at tug.org commits+karl at tug.org
Wed Sep 15 22:51:24 CEST 2021


Revision: 60515
          http://tug.org/svn/texlive?view=revision&revision=60515
Author:   karl
Date:     2021-09-15 22:51:24 +0200 (Wed, 15 Sep 2021)
Log Message:
-----------
kpfonts-otf (15sep21)

Modified Paths:
--------------
    trunk/Master/texmf-dist/doc/fonts/kpfonts-otf/Kpfonts-OTF-Doc-English.ltx
    trunk/Master/texmf-dist/doc/fonts/kpfonts-otf/Kpfonts-OTF-Doc-English.pdf
    trunk/Master/texmf-dist/doc/fonts/kpfonts-otf/Kpfonts-OTF-Doc-French.ltx
    trunk/Master/texmf-dist/doc/fonts/kpfonts-otf/Kpfonts-OTF-Doc-French.pdf
    trunk/Master/texmf-dist/doc/fonts/kpfonts-otf/README.md
    trunk/Master/texmf-dist/doc/fonts/kpfonts-otf/unimath-kpfonts.pdf
    trunk/Master/texmf-dist/fonts/opentype/public/kpfonts-otf/KpMath-Bold.otf
    trunk/Master/texmf-dist/fonts/opentype/public/kpfonts-otf/KpMath-Light.otf
    trunk/Master/texmf-dist/fonts/opentype/public/kpfonts-otf/KpMath-Regular.otf
    trunk/Master/texmf-dist/fonts/opentype/public/kpfonts-otf/KpMath-Sans.otf
    trunk/Master/texmf-dist/fonts/opentype/public/kpfonts-otf/KpMath-Semibold.otf
    trunk/Master/texmf-dist/fonts/opentype/public/kpfonts-otf/KpMono-Bold.otf
    trunk/Master/texmf-dist/fonts/opentype/public/kpfonts-otf/KpMono-BoldItalic.otf
    trunk/Master/texmf-dist/fonts/opentype/public/kpfonts-otf/KpMono-Italic.otf
    trunk/Master/texmf-dist/fonts/opentype/public/kpfonts-otf/KpMono-Regular.otf
    trunk/Master/texmf-dist/fonts/opentype/public/kpfonts-otf/KpRoman-Bold.otf
    trunk/Master/texmf-dist/fonts/opentype/public/kpfonts-otf/KpRoman-BoldItalic.otf
    trunk/Master/texmf-dist/fonts/opentype/public/kpfonts-otf/KpRoman-Italic.otf
    trunk/Master/texmf-dist/fonts/opentype/public/kpfonts-otf/KpRoman-Light.otf
    trunk/Master/texmf-dist/fonts/opentype/public/kpfonts-otf/KpRoman-LightItalic.otf
    trunk/Master/texmf-dist/fonts/opentype/public/kpfonts-otf/KpRoman-Regular.otf
    trunk/Master/texmf-dist/fonts/opentype/public/kpfonts-otf/KpRoman-Semibold.otf
    trunk/Master/texmf-dist/fonts/opentype/public/kpfonts-otf/KpRoman-SemiboldItalic.otf
    trunk/Master/texmf-dist/fonts/opentype/public/kpfonts-otf/KpSans-Bold.otf
    trunk/Master/texmf-dist/fonts/opentype/public/kpfonts-otf/KpSans-BoldItalic.otf
    trunk/Master/texmf-dist/fonts/opentype/public/kpfonts-otf/KpSans-Italic.otf
    trunk/Master/texmf-dist/fonts/opentype/public/kpfonts-otf/KpSans-Regular.otf
    trunk/Master/texmf-dist/tex/latex/kpfonts-otf/kpfonts-otf.sty

Modified: trunk/Master/texmf-dist/doc/fonts/kpfonts-otf/Kpfonts-OTF-Doc-English.ltx
===================================================================
--- trunk/Master/texmf-dist/doc/fonts/kpfonts-otf/Kpfonts-OTF-Doc-English.ltx	2021-09-14 23:48:22 UTC (rev 60514)
+++ trunk/Master/texmf-dist/doc/fonts/kpfonts-otf/Kpfonts-OTF-Doc-English.ltx	2021-09-15 20:51:24 UTC (rev 60515)
@@ -6,7 +6,13 @@
 \usepackage[svgnames]{xcolor}
 \usepackage[hypcap=false]{caption}
 \usepackage{shortvrb}
-\usepackage{kpfonts-otf}
+\usepackage[veryoldstyle]{kpfonts-otf}
+\defaultfontfeatures+[\ttfamily]{RawFeature={-hist;-calt;-swsh;-onum}}
+\defaultfontfeatures+[KpRoman,KpLight,\sffamily]{%
+  RawFeature={-hist;-hlig;-calt;-swsh;-rlig;-onum},%
+}
+\setmainfont{KpRoman}
+\setsansfont{KpSans}
 \setmonofont{KpMono}[Color=DarkBlue]
 %Math demos
 \setmathfont{KpMath-Regular.otf}[version=full, CharacterVariant=3,
@@ -41,8 +47,8 @@
 
 \title{Kp-fonts: OpenType version}
 \author{\href{mailto:daniel.flipo at free.fr}{Daniel \textsc{Flipo}}}
-\newcommand*{\version}{0.37}
-\date{18th August, 2021}
+\newcommand*{\version}{0.38}
+\date{12th September, 2021}
 
 \begin{document}
 \selectlanguage{british}
@@ -216,10 +222,7 @@
   and ancient ligatures {\addfontfeatures{RawFeature=+hist;+hlig} si, sl, st}
   are activated.
   Coding \texttt{s=} prints a round `s’ anytime; in most cases this coding is
-  not necessary with LuaTeX%
-  \footnote{TeX’s \tild{} char (nobreakspace) fails to be recognised as ending
-    a word: \texttt{boys\tild{}band} prints
-    {\addfontfeatures{RawFeature=+hist;+hlig}boys~band}.},
+  not necessary with LuaTeX,
   f.i. |\textit{some of Highlands’ mysterious castles…}|
   will print
   {\addfontfeatures{RawFeature=+hist;+hlig;+calt}%

Modified: trunk/Master/texmf-dist/doc/fonts/kpfonts-otf/Kpfonts-OTF-Doc-English.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/fonts/kpfonts-otf/Kpfonts-OTF-Doc-French.ltx
===================================================================
--- trunk/Master/texmf-dist/doc/fonts/kpfonts-otf/Kpfonts-OTF-Doc-French.ltx	2021-09-14 23:48:22 UTC (rev 60514)
+++ trunk/Master/texmf-dist/doc/fonts/kpfonts-otf/Kpfonts-OTF-Doc-French.ltx	2021-09-15 20:51:24 UTC (rev 60515)
@@ -6,9 +6,19 @@
 \usepackage[svgnames]{xcolor}
 \usepackage[hypcap=false]{caption}
 \usepackage{shortvrb}
-\usepackage{kpfonts-otf}
+\usepackage[veryoldstyle]{kpfonts-otf} % active la fonction "add_EoW"
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% On annule l’effet de l’option "veryoldstyle" tout en gardant "add_EoW"
+\defaultfontfeatures+[\ttfamily]{RawFeature={-hist;-calt;-swsh;-onum}}
+\defaultfontfeatures+[KpRoman,KpLight,\sffamily]{%
+  RawFeature={-hist;-hlig;-calt;-swsh;-rlig;-onum},%
+}
+% Recharger les fontes avec les nouvelles "features" :
+\setmainfont{KpRoman}
+\setsansfont{KpSans}
 \setmonofont{KpMono}[Color=DarkBlue]
-% Pour les démos :
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%Pour les démos :
 \setmathfont{KpMath-Regular.otf}[version=full,
                                  CharacterVariant=3,
                                  StylisticSet={1,2,3,4,5,6,7}]
@@ -43,8 +53,8 @@
 
 \title{Kp-fonts version OpenType}
 \author{\href{mailto:daniel.flipo at free.fr}{Daniel \textsc{Flipo}}}
-\newcommand*{\version}{0.37}
-\date{18 août 2021}
+\newcommand*{\version}{0.38}
+\date{12 septembre 2021}
 
 \begin{document}
 \maketitle
@@ -225,32 +235,30 @@
   remplacé par le « {\addfontfeatures{RawFeature=+hist;+hlig}s} » long
   sauf en fin de mot (où il doit rester rond) et les ligatures
   {\addfontfeatures{RawFeature=+hist;+hlig} si, sl, st} sont activées.
-  Ceci fonctionne assez bien avec LuaTeX : le codage\\
-  |\textit{« Des espoirs si funestes… »}| donne
-  {\addfontfeatures{RawFeature=+hist;+hlig;+fina;+calt}
+  Avec LuaTeX, le codage |\textit{« Des espoirs si funestes… »}| donne bien
+  {\addfontfeatures{RawFeature=+hist;+hlig;+calt}
      \textit{«Des espoirs si funestes…»}.
   }
 
-  Les choses se passent bien tant que le « s » est immédiatement suivi
-  d’une espace Unicode (U+0020 espace sécable de base, U+00A0 espace-mot
-  insécable, U+202F fine insécable) ou d’un signe de ponctuation (virgule,
-  point, etc.) \emph{mais pas} s’il est suivi d’une espace
-  insécable produite par TeX (sous la forme pénalité + espace)%
+  Les choses se passent bien tant que le « s » est immédiatement suivi des
+  \emph{caractères} Unicode U+0020 espace-mot,
+  U+00A0 espace-mot insécable, U+202F fine insécable
+  ou d’un signe de ponctuation (virgule, point, etc.) \emph{mais pas} s’il est
+  suivi d’une espace (sécable ou non) produite par TeX%
   \footnote{On utilise la \emph{feature} OpenType \texttt{calt} qui ne
-    reconnaît pas les \cmd{penalty} de TeX.} !
+    reconnaît ni les \cmd{hskip} ni les \cmd{penalty} de TeX.} !
+  Un contournement est fourni dans \file{kpfont-otf.sty} uniquement pour le
+  moteur LuaTeX.
 
-  Exemple : le codage |\textit{espoirs, mais quels~espoirs.}| produit
-  {\addfontfeatures{RawFeature=+hist}\textit{espoirs, mais quels~espoirs?}}
+  Exemple : le codage |\textit{espoirs, mais quels~espoirs?}| produit comme il
+  se doit en français
+  {\addfontfeatures{RawFeature=+hist;+calt}\textit{espoirs, mais~quels~espoirs?}}
+  (avec fine insécable devant le `?’).
 
-  Même problème devant la ponctuation haute en français, sauf à utiliser
-  l’option |UnicodeNoBreakSpaces| de \pkg{babel-french}. On doit
-  forcer le «s» rond final en codant \texttt{s=} :
-  |\textit{espoirs? désespoirs=!}| produit
-  {\addfontfeatures{RawFeature=+hist}\textit{espoirs? désespoirs=!}}
+  Il est toujours possible de forcer un «s» rond en codant \texttt{s=}.
+  %Pour obtenir le même résultat avec XeTeX, il faudrait coder:\\
+  Avec XeTeX, il faudrait coder: |\textit{espoirs, mais= quels=~espoirs=?}|.
 
-  Avec XeTeX il faut forcer le «s» rond final avant toutes les espaces
-  en codant   \texttt{s=}.
-
 \item[largesmallcaps :] produit des petites capitales plus \textlsc{Grandes}
   que par les \textsc{Petites} obtenues par défaut.
 

Modified: trunk/Master/texmf-dist/doc/fonts/kpfonts-otf/Kpfonts-OTF-Doc-French.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/fonts/kpfonts-otf/README.md
===================================================================
--- trunk/Master/texmf-dist/doc/fonts/kpfonts-otf/README.md	2021-09-14 23:48:22 UTC (rev 60514)
+++ trunk/Master/texmf-dist/doc/fonts/kpfonts-otf/README.md	2021-09-15 20:51:24 UTC (rev 60515)
@@ -141,6 +141,17 @@
      - \perp, \bot, \rightangle, \angle, \measuredangle, \sphericalangle
        shifted up, their bottom rests on the baseline now.
 
+* v. 0.38:
+
+  1. Text fonts:
+     - Glyphs U+200B (zero width space) and U+2060 (word joiner) added.
+     - Improved option "veryoldstyle" (luatex only): a final "s" is no longer
+	   turned into the long variant.
+     - Fixed kerning after "f" in KpSans-BoldItalic.
+  2. Math fonts:
+     - Added bold versions to \dotlessi, \dotlessj, named \mbfdotlessi,
+	   \mbfdotlessj (\mbfimath and \mbfjmath were already available).
+
 ---
 Copyright 2020-2021  Daniel Flipo
 E-mail: daniel (dot) flipo (at) free (dot) fr

Modified: trunk/Master/texmf-dist/doc/fonts/kpfonts-otf/unimath-kpfonts.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/fonts/opentype/public/kpfonts-otf/KpMath-Bold.otf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/fonts/opentype/public/kpfonts-otf/KpMath-Light.otf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/fonts/opentype/public/kpfonts-otf/KpMath-Regular.otf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/fonts/opentype/public/kpfonts-otf/KpMath-Sans.otf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/fonts/opentype/public/kpfonts-otf/KpMath-Semibold.otf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/fonts/opentype/public/kpfonts-otf/KpMono-Bold.otf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/fonts/opentype/public/kpfonts-otf/KpMono-BoldItalic.otf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/fonts/opentype/public/kpfonts-otf/KpMono-Italic.otf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/fonts/opentype/public/kpfonts-otf/KpMono-Regular.otf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/fonts/opentype/public/kpfonts-otf/KpRoman-Bold.otf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/fonts/opentype/public/kpfonts-otf/KpRoman-BoldItalic.otf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/fonts/opentype/public/kpfonts-otf/KpRoman-Italic.otf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/fonts/opentype/public/kpfonts-otf/KpRoman-Light.otf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/fonts/opentype/public/kpfonts-otf/KpRoman-LightItalic.otf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/fonts/opentype/public/kpfonts-otf/KpRoman-Regular.otf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/fonts/opentype/public/kpfonts-otf/KpRoman-Semibold.otf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/fonts/opentype/public/kpfonts-otf/KpRoman-SemiboldItalic.otf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/fonts/opentype/public/kpfonts-otf/KpSans-Bold.otf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/fonts/opentype/public/kpfonts-otf/KpSans-BoldItalic.otf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/fonts/opentype/public/kpfonts-otf/KpSans-Italic.otf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/fonts/opentype/public/kpfonts-otf/KpSans-Regular.otf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/tex/latex/kpfonts-otf/kpfonts-otf.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/kpfonts-otf/kpfonts-otf.sty	2021-09-14 23:48:22 UTC (rev 60514)
+++ trunk/Master/texmf-dist/tex/latex/kpfonts-otf/kpfonts-otf.sty	2021-09-15 20:51:24 UTC (rev 60515)
@@ -1,6 +1,6 @@
 \NeedsTeXFormat{LaTeX2e}[2019-01-01]
-\def\fileversion{0.37}
-\def\filedate{2021-08-18}
+\def\fileversion{0.38}
+\def\filedate{2021-09-12}
 \ProvidesPackage{kpfonts-otf}[\filedate\space\fileversion]
 
 % Ensure luatex or xetex engine
@@ -82,7 +82,7 @@
   \newfontfamily\KpRoman{KpRoman}
   \newfontfamily\KpLight{KpLight}
   % Euro symbol
-  \newcommand*{\kp at euro}{\char"E990\relax}
+  \newcommand*{\kp at euro}{\ifkp at eurosym\char"E990 \else\char"20AC \fi}
   \newcommand*{\kpeuro}[1][]{\def\@tmp{#1}%
     \ifx\@tmp\@empty \kp at euro \else #1~\kp at euro\fi
   }
@@ -115,6 +115,54 @@
     \fi
     \defaultfontfeatures+[KpRoman,KpLight,\sffamily]{%
             Style=Historic,Ligatures=Historic,Contextuals=Alternate}
+    \ifluatex
+      % This function adds character U+200B (zero width space) when an "s"
+      % is followed by a TeX space (glue or penalty) so that it is not turned
+      % into a long "s" by the "calt" feature.
+      \directlua{%
+        function add_eow_char (head)
+          local eow = 0x200B
+          local GLUE = node.id("glue")
+          local GLYPH = node.id("glyph")
+          local SPSKIP = 13
+          local PENALTY = node.id("penalty")
+          local Longs =
+            {[string.byte("s")] = true}
+          local new_node  = node.new
+          local copy_node = node.copy
+          local insert_node_after = node.insert_after
+          % Perserve TeX's kerning
+          head = node.kerning(head)
+          % wordbd is the zero width node to add
+          local wordbd = new_node(GLYPH)
+          for item in node.traverse_id(GLYPH, head) do
+              if Longs[item.char] then
+                 local fid = item.font
+                 % Check if char U+200B is available in the current font:
+                 % code borrowed from file "luaotfload-auxiliary.lua".
+                 local fontdata = fonts.hashes.identifiers[fid]
+                 if fontdata and fontdata.characters[eow] then
+                    nxt = item.next
+                    if not nxt or (nxt.id == GLUE and nxt.subtype == SPSKIP)
+                               or  nxt.id == PENALTY  then
+                       wordbd.font = fid
+                       wordbd.char = eow
+                       wordbd.attr = item.attr
+                       insert_node_after(head,item,copy_node(wordbd))
+                    end
+                 end
+              end
+          end
+        end
+      }
+      % Register *after* loading babel-french!
+      \AtBeginDocument{%
+        \directlua{
+          luatexbase.add_to_callback("kerning", add_eow_char,
+                                     "add_end_of_word_boundary");
+        }
+      }
+    \fi
   \fi
   % Smallcaps
   \ifkp at largesmallcaps
@@ -259,9 +307,11 @@
     \Umathchardef\lambdabar =            0 0 "E02A \relax
     \Umathchardef\mbfvec =               0 0 "E044 \relax
     \Umathchardef\mbfwp =                0 0 "E045 \relax
-    \Umathchardef\mbfimath =             0 0 "E046 \relax
-    \Umathchardef\mbfjmath =             0 0 "E047 \relax
+    \Umathchardef\mbfdotlessi =          0 0 "E046 \relax
+    \Umathchardef\mbfdotlessj =          0 0 "E047 \relax
     \Umathchardef\mbfell =               0 0 "E049 \relax
+    \Umathchardef\mbfimath =             0 0 "E066 \relax
+    \Umathchardef\mbfjmath =             0 0 "E067 \relax
     \Umathchardef\mbhbar =               0 0 "E068 \relax
     \Umathchardef\mbhslash =             0 0 "E06F \relax
     \Umathchardef\mithbar =              0 0 "E078 \relax



More information about the tex-live-commits mailing list.