You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pdfbox.apache.org by ti...@apache.org on 2019/06/27 19:21:42 UTC

svn commit: r1862247 - /pdfbox/trunk/fontbox/src/main/java/org/apache/fontbox/ttf/GlyphSubstitutionTable.java

Author: tilman
Date: Thu Jun 27 19:21:42 2019
New Revision: 1862247

URL: http://svn.apache.org/viewvc?rev=1862247&view=rev
Log:
PDFBOX-4071: add some comments to help navigate GSUB

Modified:
    pdfbox/trunk/fontbox/src/main/java/org/apache/fontbox/ttf/GlyphSubstitutionTable.java

Modified: pdfbox/trunk/fontbox/src/main/java/org/apache/fontbox/ttf/GlyphSubstitutionTable.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/fontbox/src/main/java/org/apache/fontbox/ttf/GlyphSubstitutionTable.java?rev=1862247&r1=1862246&r2=1862247&view=diff
==============================================================================
--- pdfbox/trunk/fontbox/src/main/java/org/apache/fontbox/ttf/GlyphSubstitutionTable.java (original)
+++ pdfbox/trunk/fontbox/src/main/java/org/apache/fontbox/ttf/GlyphSubstitutionTable.java Thu Jun 27 19:21:42 2019
@@ -273,13 +273,17 @@ public class GlyphSubstitutionTable exte
         LookupSubTable[] subTables = new LookupSubTable[subTableCount];
         switch (lookupType)
         {
-        case 1: // Single
+        case 1:
+            // Single
+            // https://docs.microsoft.com/en-us/typography/opentype/spec/gsub#SS
             for (int i = 0; i < subTableCount; i++)
             {
                 subTables[i] = readLookupSubTable(data, offset + subTableOffets[i]);
             }
             break;
-        case 4: // Ligature Substitution Subtable
+        case 4:
+            // Ligature Substitution Subtable
+            // https://docs.microsoft.com/en-us/typography/opentype/spec/gsub#LS
             for (int i = 0; i < subTableCount; i++)
             {
                 subTables[i] = readLigatureSubstitutionSubtable(data, offset + subTableOffets[i]);
@@ -301,6 +305,8 @@ public class GlyphSubstitutionTable exte
         {
         case 1:
         {
+            // LookupType 1: Single Substitution Subtable
+            // https://docs.microsoft.com/en-us/typography/opentype/spec/gsub#11-single-substitution-format-1
             int coverageOffset = data.readUnsignedShort();
             short deltaGlyphID = data.readSignedShort();
             CoverageTable coverageTable = readCoverageTable(data, offset + coverageOffset);
@@ -308,6 +314,8 @@ public class GlyphSubstitutionTable exte
         }
         case 2:
         {
+            // Single Substitution Format 2
+            // https://docs.microsoft.com/en-us/typography/opentype/spec/gsub#12-single-substitution-format-2
             int coverageOffset = data.readUnsignedShort();
             int glyphCount = data.readUnsignedShort();
             int[] substituteGlyphIDs = new int[glyphCount];