[gentium] LGR: Missing ligature s-boundarychar

Ralf Stubner ralf.stubner at gmail.com
Fri Jul 5 14:14:52 CEST 2019


On Fri, Jul 5, 2019 at 12:46 AM Karl Berry <karl at freefriends.org> wrote:
>
>     my initial decision was for ConTeXt;
>
> Ok, thanks. In that case, I'll see what I can do. Ralf, if you have a
> patch at hand, so much the better, of course. -k

Unfortunately the Ruby scripts for generating the the metric files do not work
for me. I have therefore used a the following command  for testing:

ralf at barra:~/devel/gentium-tug/gentium/source/fonts/gentium-tug$
afm2pl -p ../../../fonts/enc/dvips/gentium-tug/gentium-lgr.enc \
  -l lig/gentium-lgr.lig \
  ../../../fonts/afm/public/gentium-tug/GentiumPlus-R.afm \
  && pltotf GentiumPlus-R && tftopl GentiumPlus-R GentiumPlus-R \
  && diff -u lgr-gentiumplus-regular.pl GentiumPlus-R.pl

The final diff compares with lgr-gentiumplus-regular.pl generated from current
lgr-gentiumplus-regular.tfm. The round-trip pl -> tfm -> pl seems necessary to
get the same units etc.

I have tested with the following patch:

ralf at barra:~/devel/gentium-tug/gentium/source/fonts/gentium-tug$ svn diff
Index: lig/gentium-lgr.lig
===================================================================
--- lig/gentium-lgr.lig (revision 23)
+++ lig/gentium-lgr.lig (working copy)
@@ -1,9 +1,12 @@
-% LIGKERN || = 0 ;
+% LIGKERN || = cwm ;

 % LIGKERN sigma || =:| sigma1 ; sigma guillemotright =:| sigma1 ;
 % LIGKERN sigma parenright =:| sigma1 ; sigma period =:| sigma1 ;
 % LIGKERN sigma comma =:| sigma1 ; sigma exclam =:| sigma1 ;
 % LIGKERN sigma semicolon =:| sigma1 ; sigma anoteleia =:| sigma1 ;
+% LIGKERN sigma quoteright =:| sigma1 ; sigma asterisk =:| sigma1 ;
+% LIGKERN sigma slash =:| sigma1 ; sigma colon =:| sigma1 ;
+% LIGKERN sigma bracketright =:| sigma1 ;

 % LIGKERN hyphen hyphen =: endash ; endash hyphen =: emdash ;
 % LIGKERN parenleft parenleft =: guillemotleft ;

The 0 -> cwm change is the crucial one to make the boundary character work.
The three additional lines with ligatures provide all the other
missing ligatures
present in grmn1000.tfm. I am not sure if those should be included. They are
also missing in the LGR metrics for GFS Didot.

Here the diff of the pl files:

--- lgr-gentiumplus-regular.pl  2019-06-27 11:22:51.191738558 +0200
+++ GentiumPlus-R.pl    2019-07-05 14:02:12.003989754 +0200
@@ -14,7 +14,7 @@
    (QUAD R 0.938)
    (EXTRASPACE R 0.073)
    )
-(BOUNDARYCHAR O 0)
+(BOUNDARYCHAR O 1)
 (LIGTABLE
    (LABEL O 0)
    (LIG O 55 O 177)
@@ -581,6 +581,11 @@
    (KRN C q R -0.02)
    (STOP)
    (LABEL C s)
+   (LIG/ O 135 C c)
+   (LIG/ O 72 C c)
+   (LIG/ O 57 C c)
+   (LIG/ O 52 C c)
+   (LIG/ O 35 C c)
    (LIG/ O 73 C c)
    (LIG/ O 77 C c)
    (LIG/ O 41 C c)
@@ -588,6 +593,7 @@
    (LIG/ O 56 C c)
    (LIG/ O 51 C c)
    (LIG/ O 175 C c)
+   (LIG/ O 1 C c)
    (KRN C g R 0.02)
    (KRN C n R 0.02)
    (STOP)
@@ -2229,6 +2235,11 @@
    (CHARDP R 0.0165)
    (CHARIC R 0.002)
    (COMMENT
+      (LIG/ O 135 C c)
+      (LIG/ O 72 C c)
+      (LIG/ O 57 C c)
+      (LIG/ O 52 C c)
+      (LIG/ O 35 C c)
       (LIG/ O 73 C c)
       (LIG/ O 77 C c)
       (LIG/ O 41 C c)
@@ -2236,6 +2247,7 @@
       (LIG/ O 56 C c)
       (LIG/ O 51 C c)
       (LIG/ O 175 C c)
+      (LIG/ O 1 C c)
       (KRN C g R 0.02)
       (KRN C n R 0.02)
       )

A brief test with the resulting TFM was successful.

cheerio
ralf


More information about the gentium mailing list