*** empty log message ***
authorhanda <handa>
Mon, 21 Jul 2003 12:02:27 +0000 (12:02 +0000)
committerhanda <handa>
Mon, 21 Jul 2003 12:02:27 +0000 (12:02 +0000)
example/otfdump.c
src/otfopen.c

index d9d10dc..80b580d 100644 (file)
@@ -1183,6 +1183,25 @@ dump_cmap_table (int indent, OTF_cmap *cmap)
            printf (")");
          }
          break;
+
+       case 6:
+         {
+           OTF_EncodingSubtable6 *sub6
+             = cmap->EncodingRecord[i].subtable.f.f6;
+           int j;
+
+           IPRINT ("(firstCode %d) (entryCount %d)",
+                   sub6->firstCode, sub6->entryCount);
+           IPRINT ("(glyphIdArray");
+           for (j = 0; j < sub6->entryCount; j++)
+             {
+               if ((j % 16) == 0)
+                 IPRINT (" ");
+               printf (" %3d", sub6->glyphIdArray[j]);
+             }
+           printf (")");
+         }
+         break;
        }
 
       indent -= 2;
index 7bfbea0..b6da3db 100644 (file)
@@ -528,6 +528,21 @@ read_cmap_table (OTF *otf, OTF_Stream *stream)
            for (j = 0; j < sub4->GlyphCount; j++)
              READ_USHORT (stream, sub4->glyphIdArray[j]);
          }
+         break;
+
+       case 6:
+         {
+           OTF_EncodingSubtable6 *sub6;
+           int j;
+
+           OTF_MALLOC (sub6, 1, " (EncodingSubtable6)");
+           cmap->EncodingRecord[i].subtable.f.f6 = sub6;
+           READ_USHORT (stream, sub6->firstCode);
+           READ_USHORT (stream, sub6->entryCount);
+           OTF_MALLOC (sub6->glyphIdArray, sub6->entryCount, " (GlyphCount)");
+           for (j = 0; j < sub6->entryCount; j++)
+             READ_USHORT (stream, sub6->glyphIdArray[j]);
+         }
        }
     }
   return cmap;