Пример #1
0
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"));
		}
	}
Пример #2
0
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);
}
Пример #3
0
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"));
		}
	}
Пример #4
0
/* 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"));
}
Пример #5
0
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"));
    }
}
Пример #6
0
/* 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"));
}
Пример #7
0
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);
		}
	}
Пример #8
0
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"));
	}
Пример #9
0
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"));
	}
Пример #10
0
/* Dump format 0 encoding table */
static void dumpFormat0(Format0 *format, IntX level) {
    DLu(2, "format=", format->format);
}
Пример #11
0
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"));
}