void hdmxDump(IntX level, LongN start) { IntX i; DL(1, (OUTPUTBUFF, "### [hdmx->] (%08lx)\n", start)); DLu(2, "version =", hdmx->version); DLu(2, "nRecords =", hdmx->nRecords); DLU(2, "recordSize=", hdmx->recordSize); for (i = 0; i < hdmx->nRecords; i++) { IntX j; DeviceRecord *rec = &hdmx->record[i]; DL(2, (OUTPUTBUFF, "--- device record[%d]\n", i)); DLu(2, "pixelsPerEm=", (Card16)rec->pixelsPerEm); DLu(2, "maxWidth =", (Card16)rec->maxWidth); DL(3, (OUTPUTBUFF, "--- widths[index]=value\n")); for (j = 0; j < nGlyphs; j++) DL(3, (OUTPUTBUFF, "[%d]=%u ", j, rec->widths[j])); DL(3, (OUTPUTBUFF, "\n")); } }
void CID_Dump(IntX level, LongN start) { DL(1, (OUTPUTBUFF, "### [CID ] (%08lx)\n", start)); DLV(2, "Version =", CID_->Version); DLx(2, "Flags =", CID_->Flags); DLu(2, "CIDCount =", CID_->CIDCount); DLX(2, "TotalLength =", CID_->TotalLength); DLX(2, "AsciiLength =", CID_->AsciiLength); DLX(2, "BinaryLength=", CID_->BinaryLength); DLu(2, "FDCount =", CID_->FDCount); }
static void dump2_0(Format2_0 *format, IntX level) { IntX i; Byte8 *name = (Byte8 *)format->names; DL(2, (OUTPUTBUFF, "--- format 2.0\n")); DLu(2, "numberGlyphs=", format->numberGlyphs); DL(2, (OUTPUTBUFF, "--- glyphNameIndex[glyphId]=value\n")); for (i = 0; i < format->numberGlyphs; i++) { IntX ix = format->glyphNameIndex[i]; if ((ix < 0) || (ix > 32767)) { Byte8 gni[32]; sprintf(gni, "glyphNameIndex[%d]", i); warning(SPOT_MSG_BADINDEX, TAG_ARG(post_), ix, gni); } DL(2, (OUTPUTBUFF, "[%d]=%hu ", i, (Card16)ix)); } DL(2, (OUTPUTBUFF, "\n")); if (nNames > 0) { DL(2, (OUTPUTBUFF, "--- names[index]={len,<name>}\n")); for (i = 0; i < nNames; i++) { IntX length = *name++; DL(2, (OUTPUTBUFF, "[%d]={%u,<%.*s>} ", i, length, length, name)); name += length; } DL(2, (OUTPUTBUFF, "\n")); } }
/* Dump format 1 encoding table */ static void dumpFormat1(Format1 *format, IntX level) { IntX i; DLu(2, "format=", format->format); DLu(2, "count =", format->count); DL(3, (OUTPUTBUFF, "--- glyphId[index]=glyphId\n")); for (i = 0; i < format->count; i++) DL(3, (OUTPUTBUFF, "[%d]=%hu ", i, format->glyphId[i])); DL(3, (OUTPUTBUFF, "\n")); DL(3, (OUTPUTBUFF, "--- code[index]=code\n")); for (i = 0; i < format->count; i++) DL(3, (OUTPUTBUFF, "[%d]=%d ", i, format->code[i])); DL(3, (OUTPUTBUFF, "\n")); }
void BBOXDump(IntX level, LongN start) { IntX i; IntX j; DL(1, (OUTPUTBUFF, "### [BBOX] (%08lx)\n", start)); DLV(2, "version =", BBOX->version); DLu(2, "flags =", BBOX->flags); DLu(2, "nGlyphs =", BBOX->nGlyphs); DLu(2, "nMasters=", BBOX->nMasters); if (BBOX->nMasters == 1) { DL(3, (OUTPUTBUFF, "--- bbox[glyphId]={left,bottom,right,top}\n")); for (i = 0; i < BBOX->nGlyphs; i++) { BBox *bbox = &BBOX->bbox[i]; DL(3, (OUTPUTBUFF, "[%d]={%hd,%hd,%hd,%hd} ", i, bbox->left[0], bbox->bottom[0], bbox->right[0], bbox->top[0])); } DL(3, (OUTPUTBUFF, "\n")); } else { DL(3, (OUTPUTBUFF, "--- bbox[glyphId]={{left+},{bottom+},{right+},{top+}}\n")); for (i = 0; i < BBOX->nGlyphs; i++) { BBox *bbox = &BBOX->bbox[i]; DL(3, (OUTPUTBUFF, "[%d]={{", i)); for (j = 0; j < BBOX->nMasters; j++) DL(3, (OUTPUTBUFF, "%hd%s", bbox->left[j], j == BBOX->nMasters - 1 ? "},{" : ",")); for (j = 0; j < BBOX->nMasters; j++) DL(3, (OUTPUTBUFF, "%hd%s", bbox->bottom[j], j == BBOX->nMasters - 1 ? "},{" : ",")); for (j = 0; j < BBOX->nMasters; j++) DL(3, (OUTPUTBUFF, "%hd%s", bbox->right[j], j == BBOX->nMasters - 1 ? "},{" : ",")); for (j = 0; j < BBOX->nMasters; j++) DL(3, (OUTPUTBUFF, "%hd%s", bbox->top[j], j == BBOX->nMasters - 1 ? "}} " : ",")); } DL(3, (OUTPUTBUFF, "\n")); } }
/* Dump format 2 encoding table */ static void dumpFormat2(Format2 *format, IntX level) { IntX i; DLu(2, "format=", format->format); DL(3, (OUTPUTBUFF, "--- glyphId[index]=glyphId\n")); for (i = 0; i < 256; i++) DL(3, (OUTPUTBUFF, "[%d]=%hu ", i, format->glyphId[i])); DL(3, (OUTPUTBUFF, "\n")); }
void MMVRDump(IntX level, LongN start) { IntX i; DL(1, (OUTPUTBUFF, "### [MMVR] (%08lx)\n", start)); DLV(2, "Version =", MMVR->Version); DLx(2, "Flags =", MMVR->Flags); DLu(2, "AxisCount=", MMVR->AxisCount); for (i = 0; i < MMVR->AxisCount; i++) { Axis *axis = &MMVR->axis[i]; DL(2, (OUTPUTBUFF, "--- axis[%d]\n", i)); DLT(2, "Tag =", axis->Tag); DLu(2, "Default=", axis->Default); DLu(2, "Scale =", axis->Scale); } }
static void dump2_5(Format2_5 *format, IntX level) { IntX i; DL(2, (OUTPUTBUFF, "--- format 2.5\n")); DLu(2, "numberGlyphs=", format->numberGlyphs); DL(2, (OUTPUTBUFF, "--- offset[glyphId]=value\n")); for (i = 0; i < format->numberGlyphs; i++) DL(2, (OUTPUTBUFF, "[%d]=%u ", i, format->offset[i])); DL(2, (OUTPUTBUFF, "\n")); }
void WDTHDump(IntX level, LongN start) { IntX i; IntX j; IntX k; IntX iWidth; IntX nElements = WDTH->nRanges + 1; DL(1, (OUTPUTBUFF, "### [WDTH] (%08lx)\n", start)); DLV(2, "version =", WDTH->version); DLu(2, "flags =", WDTH->flags); DLu(2, "nMasters=", WDTH->nMasters); DLu(2, "nRanges =", WDTH->nRanges); DL(3, (OUTPUTBUFF, "--- firstGlyph[index]=glyphId\n")); for (i = 0; i < nElements; i++) DL(3, (OUTPUTBUFF, "[%d]=%hu ", i, WDTH->firstGlyph[i])); DL(3, (OUTPUTBUFF, "\n")); DL(3, (OUTPUTBUFF, "--- offset[index]=offset\n")); if (WDTH->flags & LONG_OFFSETS) for (i = 0; i < nElements; i++) DL(3, (OUTPUTBUFF, "[%d]=%08lx ", i, ((Card32 *)WDTH->offset)[i])); else for (i = 0; i < nElements; i++) DL(3, (OUTPUTBUFF, "[%d]=%04hx ", i, ((Card16 *)WDTH->offset)[i])); DL(3, (OUTPUTBUFF, "\n")); iWidth = 0; if (WDTH->nMasters == 1) { DL(3, (OUTPUTBUFF, "--- width[offset]=value\n")); if (WDTH->flags & LONG_OFFSETS) { Card32 *offset = WDTH->offset; for (i = 0; i < WDTH->nRanges; i++) { IntX span = (offset[i + 1] - offset[i]) / sizeof(uFWord); for (j = 0; j < span; j++) DL(3, (OUTPUTBUFF, "[%08lx]=%hu ", offset[i] + j * sizeof(uFWord), WDTH->width[iWidth++])); } } else { Card16 *offset = WDTH->offset; for (i = 0; i < WDTH->nRanges; i++) { IntX span = (offset[i + 1] - offset[i]) / sizeof(uFWord); for (j = 0; j < span; j++) DL(3, (OUTPUTBUFF, "[%04lx]=%hu ", offset[i] + j * sizeof(uFWord), WDTH->width[iWidth++])); } } } else { DL(3, (OUTPUTBUFF, "--- width[offset]={value+}\n")); if (WDTH->flags & LONG_OFFSETS) { Card32 *offset = WDTH->offset; for (i = 0; i < WDTH->nRanges; i++) { IntX span = (offset[i + 1] - offset[i]) / sizeof(uFWord); for (j = 0; j < span; j++) { DL(3, (OUTPUTBUFF, "[%08lx]={", offset[i] + j * sizeof(uFWord))); for (k = 0; k < WDTH->nMasters; k++) DL(3, (OUTPUTBUFF, "%hu%s", WDTH->width[iWidth++], k == WDTH->nMasters - 1 ? "} " : ",")); } } } else { Card16 *offset = WDTH->offset; for (i = 0; i < WDTH->nRanges; i++) { IntX span = (offset[i + 1] - offset[i]) / sizeof(uFWord); for (j = 0; j < span; j++) { DL(3, (OUTPUTBUFF, "[%04lx]={", offset[i] + j * sizeof(uFWord))); for (k = 0; k < WDTH->nMasters; k++) DL(3, (OUTPUTBUFF, "%hu%s", WDTH->width[iWidth++], k == WDTH->nMasters - 1 ? "} " : ",")); } } } } DL(3, (OUTPUTBUFF, "\n")); }
/* Dump format 0 encoding table */ static void dumpFormat0(Format0 *format, IntX level) { DLu(2, "format=", format->format); }
void MMFXDump(IntX level, LongN start) { IntX i, pos; Int16 tmp; Card8 *ptr; Card16 nMasters; DL(1, (OUTPUTBUFF, "### [MMFX] (%08lx)\n", start)); DLV(2, "Version =", MMFX->version); DLu(2, "nMetrics =", MMFX->nMetrics); DLu(2, "offSize =", MMFX->offSize); DL(2, (OUTPUTBUFF, "--- offset[index]=offset\n")); if (MMFX->offSize == 2) { for (i = 0; i < MMFX->nMetrics; i++) { tmp = (Int16)MMFX->offset[i]; DL(2, (OUTPUTBUFF, "[%d]=%04hx ", i, tmp) ); } DL(2, (OUTPUTBUFF, "\n")); } else { for (i = 0; i < MMFX->nMetrics; i++) DL(2, (OUTPUTBUFF, "[%d]=%08lx ", i, MMFX->offset[i]) ); DL(2, (OUTPUTBUFF, "\n")); } DL(2, (OUTPUTBUFF, "\n")); CFF_GetNMasters(&nMasters, MMFX_); DL(2, (OUTPUTBUFF, "--- cstring[index]=<charstring ops>\n")); for (i = 0; i < MMFX->nMetrics; i++) { pos = MMFX->offset[i] - minoffset; ptr = &(MMFX->cstrs[pos]); if (i < 8) switch (i) { case 0: DL(2, (OUTPUTBUFF, "[0=Zero] = <") ); break; case 1: DL(2, (OUTPUTBUFF, "[1=Ascender] = <") ); break; case 2: DL(2, (OUTPUTBUFF, "[2=Descender] = <") ); break; case 3: DL(2, (OUTPUTBUFF, "[3=LineGap] = <") ); break; case 4: DL(2, (OUTPUTBUFF, "[4=AdvanceWidthMax]= <") ); break; case 5: DL(2, (OUTPUTBUFF, "[5=AvgCharWidth] = <") ); break; case 6: DL(2, (OUTPUTBUFF, "[6=xHeight] = <") ); break; case 7: DL(2, (OUTPUTBUFF, "[7=CapHeight] = <") ); break; } else { DL(2, (OUTPUTBUFF, "[%d]= <", i) ); } dump_csDump(MAX_INT32, ptr, nMasters); DL(2, (OUTPUTBUFF, ">\n")); } DL(2, (OUTPUTBUFF, "\n")); }