[gentium-commits] [SCM] gentium updated: r92 - trunk/gentium/source/fonts/gentium-tug/type1

Pavel Far?? INVALID.NOREPLY at gnu.org.ua
Wed Apr 6 22:57:28 CEST 2022


Author: pavel
Date: 2022-04-06 20:57:28 +0000 (Wed, 06 Apr 2022)
New Revision: 92

Modified:
   trunk/gentium/source/fonts/gentium-tug/type1/kerncorrection.py
Log:
use more kerning classes

Modified: trunk/gentium/source/fonts/gentium-tug/type1/kerncorrection.py
===================================================================
--- trunk/gentium/source/fonts/gentium-tug/type1/kerncorrection.py	2022-04-06 20:02:05 UTC (rev 91)
+++ trunk/gentium/source/fonts/gentium-tug/type1/kerncorrection.py	2022-04-06 20:57:28 UTC (rev 92)
@@ -124,25 +124,14 @@
     ]
 
     kern_pairs_initial_cap = [
-        ["V a", "V aacute", "V abreve", "V acircumflex", "V adieresis", "V ae", "V agrave", "V amacron", "V aogonek", "V aring", "V atilde"],
-        ["V e", "V eacute", "V ecaron", "V ecircumflex", "V edieresis", "V edotaccent", "V egrave", "V emacron", "V eogonek"],
-        ["V o", "V oacute", "V ocircumflex", "V odieresis", "V oe", "V ograve", "V ohungarumlaut", "V omacron", "V oslash", "V otilde"],
         ["Y a", "Y aacute", "Y abreve", "Y acircumflex", "Y adieresis", "Y ae", "Y agrave", "Y amacron", "Y aogonek", "Y aring", "Y atilde", "Yacute a", "Ydieresis a", "Yacute aacute"],
         ["Y e", "Y eacute", "Y ecaron", "Y ecircumflex", "Y edieresis", "Y edotaccent", "Y egrave", "Y emacron", "Y eogonek", "Yacute e", "Ydieresis e", "Yacute eacute", "Yacute ecaron"],
         ["Y o", "Y oacute", "Y ocircumflex", "Y odieresis", "Y oe", "Y ograve", "Y ohungarumlaut", "Y omacron", "Y oslash", "Y otilde", "Yacute o", "Ydieresis o", "Yacute oacute"],
         # not used the combination "Y u" that is only in GentiumPlus regular
-        ["A v", "Aacute v", "Abreve v", "Acircumflex v", "Adieresis v", "Agrave v", "Amacron v", "Aogonek v", "Aring v", "Atilde v"],
-        ["A w", "Aacute w", "Abreve w", "Acircumflex w", "Adieresis w", "Agrave w", "Amacron w", "Aogonek w", "Aring w", "Atilde w"],
         ["A y", "A yacute", "A ydieresis", "Aacute y", "Abreve y", "Acircumflex y", "Adieresis y", "Agrave y", "Amacron y", "Aogonek y", "Aring y", "Atilde y", "Aacute yacute"],
-        ["F a", "F aacute", "F abreve", "F acircumflex", "F adieresis", "F ae", "F agrave", "F amacron", "F aogonek", "F aring", "F atilde"],
-        ["F e", "F eacute", "F ecaron", "F ecircumflex", "F edieresis", "F edotaccent", "F egrave", "F emacron", "F eogonek"],
-        ["F o", "F oacute", "F ocircumflex", "F odieresis", "F oe", "F ograve", "F ohungarumlaut", "F omacron", "F oslash", "F otilde"],
         ["T a", "T aacute", "T abreve", "T acircumflex", "T adieresis", "T ae", "T agrave", "T amacron", "T aogonek", "T aring", "T atilde", "Tcaron a", "uni0162 a", "uni021A a", "Tcaron aacute"],
         ["T e", "T eacute", "T ecaron", "T ecircumflex", "T edieresis", "T edotaccent", "T egrave", "T emacron", "T eogonek", "Tcaron e", "uni0162 e", "uni021A e"],
         ["T o", "T oacute", "T ocircumflex", "T odieresis", "T oe", "T ograve", "T ohungarumlaut", "T omacron", "T oslash", "T otilde", "Tcaron o", "uni0162 o", "uni021A o", "Tcaron oacute"],
-        ["W a", "W aacute", "W abreve", "W acircumflex", "W adieresis", "W ae", "W agrave", "W amacron", "W aogonek", "W aring", "W atilde"],
-        ["W e", "W eacute", "W ecaron", "W ecircumflex", "W edieresis", "W edotaccent", "W egrave", "W emacron", "W eogonek"],
-        ["W o", "W oacute", "W ocircumflex", "W odieresis", "W oe", "W ograve", "W ohungarumlaut", "W omacron", "W oslash", "W otilde"]
     ]
 
     kern_pairs_small = [
@@ -171,8 +160,30 @@
         ["A quoteright", "quotesinglbase V", "quotesinglbase W", "quotesinglbase Y", "quotesinglbase Yacute", "quotesinglbase T", "quotesinglbase Tcaron"]
     ]
 
+    # TODO: It is possible to create several kerning classes for one letter. For example 'A' can be used
+    #       for letter A with all possible accents and 'A_unaccented' can be used for just the letter 'A',
+    #       'A_subset' can be used for just some accented variants of 'A'. The base kern is now removed,
+    #       therefore there shouldn't be problems with non-existing letters like 'A_unaccented' (but check
+    #       that it is true).
+    #
+    #       This would enable to move more kerns to kerning classes.
+    #
+    #       Deriving all kerns from e.g. 'a e' would give too many kerns. It might help to check
+    #       which combinations can really exist in some language, but it would require some research
+    #       and a lot of work.
     latin_class_kerns = [
         # sort lines before commit!
+        "A v",
+        "A w",
+        "F a",
+        "F e",
+        "F o",
+        "V a",
+        "V e",
+        "V o",
+        "W a",
+        "W e",
+        "W o",
         "a v",
         "a w",
         "c h",
@@ -196,6 +207,10 @@
     # similar Latin letters that come first in the kerning pair
     latin_left_classes = {
         # sort lines before commit!
+        "A": ["A", "Aacute", "Abreve", "Acircumflex", "Adieresis", "Agrave", "Amacron", "Aogonek", "Aring", "Atilde"],
+        "F": ["F"],
+        "V": ["V"],
+        "W": ["W"],
         "a": ["a", "aacute", "abreve", "acircumflex", "adieresis", "agrave", "amacron", "aogonek", "aring", "atilde"],
         "c": ["c", "cacute", "ccaron", "ccedilla", "cdotaccent"],
         "e": ["e", "eacute", "ecaron", "ecircumflex", "edieresis", "edotaccent", "egrave", "emacron", "eogonek"],



More information about the gentium-commits mailing list.