/* otfdump.c -- Dump OpenType Layout Tables.
-Copyright (C) 2003, 2004
+Copyright (C) 2003, 2004, 2008
National Institute of Advanced Industrial Science and Technology (AIST)
Registration Number H15PRO167
indent++;
IPRINT ("(StartSize %d) (EndSize %d) (DeltaFormat %d)",
table->StartSize, table->EndSize, table->DeltaFormat);
- IPRINT ("(DeltaValue");
- for (i = 0; i < table->EndSize - table->StartSize + 1; i++)
- printf (" %d", table->DeltaValue[i]);
- printf ("))");
+ if (table->DeltaValue)
+ {
+ IPRINT ("(DeltaValue");
+ for (i = 0; i < table->EndSize - table->StartSize + 1; i++)
+ printf (" %d", table->DeltaValue[i]);
+ printf (")");
+ }
+ printf (")");
}
\f
sub12->Groups[j].startGlyphID);
}
}
+ break;
+
+ case 14:
+ {
+ OTF_EncodingSubtable14 *sub14
+ = cmap->EncodingRecord[i].subtable.f.f14;
+ unsigned j,k;
+
+ IPRINT ("(VariationSelectorRecords %d)",sub14->nRecords);
+ for (j = 0; j < sub14->nRecords; j++)
+ {
+ OTF_VariationSelectorRecord *record = sub14->Records + j;
+ IPRINT ("(VariationSelectorRecord (varSelector #x%x)",
+ record->varSelector);
+ indent += 1;
+ IPRINT ("(defaultUVSOffset #x%x)",
+ record->defaultUVSOffset);
+ if (record->defaultUVSOffset)
+ {
+ IPRINT ("(defaultUVS");
+ indent += 1;
+ for (k = 0 ; k < record->numUnicodeValueRanges; k++)
+ {
+ OTF_UnicodeValueRange *unicodeValueRange
+ = &record->unicodeValueRanges[k];
+ IPRINT("(startUnicodeValue #x%x) (additionalCount %d)",
+ unicodeValueRange->startUnicodeValue,
+ unicodeValueRange->additionalCount);
+ }
+ printf (")");
+ indent -= 1;
+ }
+ IPRINT ("(nonDefaultUVSOffset #x%x)",
+ record->nonDefaultUVSOffset);
+ if (record->nonDefaultUVSOffset)
+ {
+ IPRINT ("(NonDefaultUVS");
+ indent += 1;
+ for (k=0; k < record->numUVSMappings; k++)
+ {
+ OTF_UVSMapping *uvsMapping
+ = &record->uvsMappings[k];
+ IPRINT("(unicodeValue #x%x) (glyphID %d)",
+ uvsMapping->unicodeValue,
+ uvsMapping->glyphID);
+ }
+ printf (")");
+ indent -= 1;
+ }
+ printf (")");
+ indent -= 1;
+ }
+ }
}
indent -= 2;