Remove redundant data structure from font metrics.

This commit is contained in:
Ian Pilcher 2001-07-22 23:05:51 +00:00 committed by Alexandre Julliard
parent 3f46d3d6a4
commit a9eae850d4
38 changed files with 41 additions and 559 deletions

View File

@ -231,54 +231,6 @@ static BOOL PSDRV_AFMGetCharMetrics(AFM *afm, FILE *fp)
return TRUE;
}
/*******************************************************************************
* BuildEncoding
*
* Builds a custom encoding vector if necessary. Leaves vector in the same
* order as the afm->Metrics array; see SortFontMetrics().
*
*/
static BOOL BuildEncoding(AFM *afm)
{
UNICODEVECTOR *uv;
UNICODEGLYPH *ug;
int i;
if (strcmp(afm->EncodingScheme, "FontSpecific") != 0)
{
afm->Encoding = &PSDRV_AdobeGlyphList;
return TRUE;
}
uv = HeapAlloc(PSDRV_Heap, 0, sizeof(UNICODEVECTOR) +
afm->NumofMetrics * sizeof(UNICODEGLYPH));
if (uv == NULL)
return FALSE;
afm->Encoding = uv;
ug = (UNICODEGLYPH *)(uv + 1);
uv->glyphs = ug;
uv->size = afm->NumofMetrics;
for (i = 0; i < afm->NumofMetrics; ++i)
{
ug[i].name = afm->Metrics[i].N;
if (afm->Metrics[i].C < 0) /* unencoded glyph */
{
WARN("Glyph '%s' in font '%s' has no encoding\n", ug[i].name->sz,
afm->FullName);
ug[i].UV = -1;
}
else
{
ug[i].UV = afm->Metrics[i].C | 0xf000; /* private use area? */
}
}
return TRUE;
}
/***********************************************************
*
@ -500,12 +452,6 @@ static AFM *PSDRV_AFMParse(char const *file)
if(afm->Weight == 0)
afm->Weight = FW_NORMAL;
if (BuildEncoding(afm) == FALSE)
{
FreeAFM(afm);
return NULL;
}
return afm;
}
@ -698,11 +644,6 @@ static int UnicodeGlyphByNameIndex(const UNICODEGLYPH *a, const UNICODEGLYPH *b)
return a->name->index - b->name->index;
}
static int UnicodeGlyphByUV(const UNICODEGLYPH *a, const UNICODEGLYPH *b)
{
return a->UV - b->UV;
}
static int AFMMetricsByUV(const AFMMETRICS *a, const AFMMETRICS *b)
{
return a->UV - b->UV;
@ -722,7 +663,7 @@ static BOOL SortFontMetrics()
AFM *afm = afmle->afm; /* should always be valid */
INT i;
if (afm->Encoding == &PSDRV_AdobeGlyphList)
if (strcmp(afm->EncodingScheme, "FontSpecific") != 0)
{
if (aglCopy == NULL) /* do this once, if necessary */
{
@ -761,22 +702,10 @@ static BOOL SortFontMetrics()
}
}
}
else /* FontSpecific encoding or TrueType font */
else /* FontSpecific encoding */
{
for (i = 0; i < afm->NumofMetrics; ++i)
afm->Metrics[i].UV = afm->Encoding->glyphs[i].UV;
/* typecast avoids compiler warning */
qsort((void *)(afm->Encoding->glyphs), afm->Encoding->size,
sizeof(UNICODEGLYPH),
(compar_callback_fn)UnicodeGlyphByUV);
for (i = 0; i < afm->Encoding->size; ++i)
if (afm->Encoding->glyphs[i].UV >= 0)
break;
afm->Encoding->size -= i; /* Ignore unencoded glyphs */
afm->Encoding->glyphs += i; /* from now on */
afm->Metrics[i].UV = afm->Metrics[i].C;
}
qsort(afm->Metrics, afm->NumofMetrics, sizeof(AFMMETRICS),
@ -786,7 +715,7 @@ static BOOL SortFontMetrics()
if (afm->Metrics[i].UV >= 0)
break;
afm->NumofMetrics -= i; /* Ignore unencoded glyphs here too */
afm->NumofMetrics -= i; /* Ignore unencoded glyphs */
afm->Metrics += i;
afmle = afmle->next;

View File

@ -1014,6 +1014,5 @@ AFM PSDRV_AvantGarde_Book =
0 /* CharWidths[255] */
},
228, /* NumofMetrics */
met_AvantGarde_Book, /* Metrics */
&PSDRV_AdobeGlyphList /* Encoding */
met_AvantGarde_Book /* Metrics */
};

View File

@ -1014,6 +1014,5 @@ AFM PSDRV_AvantGarde_BookOblique =
0 /* CharWidths[255] */
},
228, /* NumofMetrics */
met_AvantGarde_BookOblique, /* Metrics */
&PSDRV_AdobeGlyphList /* Encoding */
met_AvantGarde_BookOblique /* Metrics */
};

View File

@ -1014,6 +1014,5 @@ AFM PSDRV_AvantGarde_Demi =
0 /* CharWidths[255] */
},
228, /* NumofMetrics */
met_AvantGarde_Demi, /* Metrics */
&PSDRV_AdobeGlyphList /* Encoding */
met_AvantGarde_Demi /* Metrics */
};

View File

@ -1015,5 +1015,4 @@ AFM PSDRV_AvantGarde_DemiOblique =
},
228, /* NumofMetrics */
met_AvantGarde_DemiOblique, /* Metrics */
&PSDRV_AdobeGlyphList /* Encoding */
};

View File

@ -1013,6 +1013,5 @@ AFM PSDRV_Bookman_Demi =
620, 940, 660, 0, 0, 0, 0 /* CharWidths[249] - CharWidths[255] */
},
228, /* NumofMetrics */
met_Bookman_Demi, /* Metrics */
&PSDRV_AdobeGlyphList /* Encoding */
met_Bookman_Demi /* Metrics */
};

View File

@ -1014,6 +1014,5 @@ AFM PSDRV_Bookman_DemiItalic =
0 /* CharWidths[255] */
},
228, /* NumofMetrics */
met_Bookman_DemiItalic, /* Metrics */
&PSDRV_AdobeGlyphList /* Encoding */
met_Bookman_DemiItalic /* Metrics */
};

View File

@ -1013,6 +1013,5 @@ AFM PSDRV_Bookman_Light =
560, 900, 660, 0, 0, 0, 0 /* CharWidths[249] - CharWidths[255] */
},
228, /* NumofMetrics */
met_Bookman_Light, /* Metrics */
&PSDRV_AdobeGlyphList /* Encoding */
met_Bookman_Light /* Metrics */
};

View File

@ -1013,6 +1013,5 @@ AFM PSDRV_Bookman_LightItalic =
540, 900, 620, 0, 0, 0, 0 /* CharWidths[249] - CharWidths[255] */
},
228, /* NumofMetrics */
met_Bookman_LightItalic, /* Metrics */
&PSDRV_AdobeGlyphList /* Encoding */
met_Bookman_LightItalic /* Metrics */
};

View File

@ -1073,6 +1073,5 @@ AFM PSDRV_Courier =
600, 0, 0, 0, 0 /* CharWidths[251] - CharWidths[255] */
},
243, /* NumofMetrics */
met_Courier, /* Metrics */
&PSDRV_AdobeGlyphList /* Encoding */
met_Courier /* Metrics */
};

View File

@ -1073,6 +1073,5 @@ AFM PSDRV_Courier_Bold =
600, 0, 0, 0, 0 /* CharWidths[251] - CharWidths[255] */
},
243, /* NumofMetrics */
met_Courier_Bold, /* Metrics */
&PSDRV_AdobeGlyphList /* Encoding */
met_Courier_Bold /* Metrics */
};

View File

@ -1073,6 +1073,5 @@ AFM PSDRV_Courier_BoldOblique =
600, 0, 0, 0, 0 /* CharWidths[251] - CharWidths[255] */
},
243, /* NumofMetrics */
met_Courier_BoldOblique, /* Metrics */
&PSDRV_AdobeGlyphList /* Encoding */
met_Courier_BoldOblique /* Metrics */
};

View File

@ -1073,6 +1073,5 @@ AFM PSDRV_Courier_Oblique =
600, 0, 0, 0, 0 /* CharWidths[251] - CharWidths[255] */
},
243, /* NumofMetrics */
met_Courier_Oblique, /* Metrics */
&PSDRV_AdobeGlyphList /* Encoding */
met_Courier_Oblique /* Metrics */
};

View File

@ -1013,6 +1013,5 @@ AFM PSDRV_Helvetica =
611, 944, 611, 0, 0, 0, 0 /* CharWidths[249] - CharWidths[255] */
},
228, /* NumofMetrics */
met_Helvetica, /* Metrics */
&PSDRV_AdobeGlyphList /* Encoding */
met_Helvetica /* Metrics */
};

View File

@ -1013,6 +1013,5 @@ AFM PSDRV_Helvetica_Bold =
611, 944, 611, 0, 0, 0, 0 /* CharWidths[249] - CharWidths[255] */
},
228, /* NumofMetrics */
met_Helvetica_Bold, /* Metrics */
&PSDRV_AdobeGlyphList /* Encoding */
met_Helvetica_Bold /* Metrics */
};

View File

@ -1013,6 +1013,5 @@ AFM PSDRV_Helvetica_BoldOblique =
611, 944, 611, 0, 0, 0, 0 /* CharWidths[249] - CharWidths[255] */
},
228, /* NumofMetrics */
met_Helvetica_BoldOblique, /* Metrics */
&PSDRV_AdobeGlyphList /* Encoding */
met_Helvetica_BoldOblique /* Metrics */
};

View File

@ -1013,6 +1013,5 @@ AFM PSDRV_Helvetica_Narrow =
501, 0, 0, 0, 0 /* CharWidths[251] - CharWidths[255] */
},
228, /* NumofMetrics */
met_Helvetica_Narrow, /* Metrics */
&PSDRV_AdobeGlyphList /* Encoding */
met_Helvetica_Narrow /* Metrics */
};

View File

@ -1013,6 +1013,5 @@ AFM PSDRV_Helvetica_Narrow_Bold =
501, 0, 0, 0, 0 /* CharWidths[251] - CharWidths[255] */
},
228, /* NumofMetrics */
met_Helvetica_Narrow_Bold, /* Metrics */
&PSDRV_AdobeGlyphList /* Encoding */
met_Helvetica_Narrow_Bold /* Metrics */
};

View File

@ -1013,6 +1013,5 @@ AFM PSDRV_Helvetica_Narrow_BoldOblique =
501, 0, 0, 0, 0 /* CharWidths[251] - CharWidths[255] */
},
228, /* NumofMetrics */
met_Helvetica_Narrow_BoldOblique, /* Metrics */
&PSDRV_AdobeGlyphList /* Encoding */
met_Helvetica_Narrow_BoldOblique /* Metrics */
};

View File

@ -1013,6 +1013,5 @@ AFM PSDRV_Helvetica_Narrow_Oblique =
501, 0, 0, 0, 0 /* CharWidths[251] - CharWidths[255] */
},
228, /* NumofMetrics */
met_Helvetica_Narrow_Oblique, /* Metrics */
&PSDRV_AdobeGlyphList /* Encoding */
met_Helvetica_Narrow_Oblique /* Metrics */
};

View File

@ -1013,6 +1013,5 @@ AFM PSDRV_Helvetica_Oblique =
611, 944, 611, 0, 0, 0, 0 /* CharWidths[249] - CharWidths[255] */
},
228, /* NumofMetrics */
met_Helvetica_Oblique, /* Metrics */
&PSDRV_AdobeGlyphList /* Encoding */
met_Helvetica_Oblique /* Metrics */
};

View File

@ -1013,6 +1013,5 @@ AFM PSDRV_NewCenturySchlbk_Bold =
611, 907, 611, 0, 0, 0, 0 /* CharWidths[249] - CharWidths[255] */
},
228, /* NumofMetrics */
met_NewCenturySchlbk_Bold, /* Metrics */
&PSDRV_AdobeGlyphList /* Encoding */
met_NewCenturySchlbk_Bold /* Metrics */
};

View File

@ -1013,6 +1013,5 @@ AFM PSDRV_NewCenturySchlbk_BoldItalic =
574, 852, 574, 0, 0, 0, 0 /* CharWidths[249] - CharWidths[255] */
},
228, /* NumofMetrics */
met_NewCenturySchlbk_BoldItalic, /* Metrics */
&PSDRV_AdobeGlyphList /* Encoding */
met_NewCenturySchlbk_BoldItalic /* Metrics */
};

View File

@ -1013,6 +1013,5 @@ AFM PSDRV_NewCenturySchlbk_Italic =
500, 778, 556, 0, 0, 0, 0 /* CharWidths[249] - CharWidths[255] */
},
228, /* NumofMetrics */
met_NewCenturySchlbk_Italic, /* Metrics */
&PSDRV_AdobeGlyphList /* Encoding */
met_NewCenturySchlbk_Italic /* Metrics */
};

View File

@ -1013,6 +1013,5 @@ AFM PSDRV_NewCenturySchlbk_Roman =
500, 833, 574, 0, 0, 0, 0 /* CharWidths[249] - CharWidths[255] */
},
228, /* NumofMetrics */
met_NewCenturySchlbk_Roman, /* Metrics */
&PSDRV_AdobeGlyphList /* Encoding */
met_NewCenturySchlbk_Roman /* Metrics */
};

View File

@ -1013,6 +1013,5 @@ AFM PSDRV_Palatino_Bold =
556, 833, 611, 0, 0, 0, 0 /* CharWidths[249] - CharWidths[255] */
},
228, /* NumofMetrics */
met_Palatino_Bold, /* Metrics */
&PSDRV_AdobeGlyphList /* Encoding */
met_Palatino_Bold /* Metrics */
};

View File

@ -1013,6 +1013,5 @@ AFM PSDRV_Palatino_BoldItalic =
556, 778, 556, 0, 0, 0, 0 /* CharWidths[249] - CharWidths[255] */
},
228, /* NumofMetrics */
met_Palatino_BoldItalic, /* Metrics */
&PSDRV_AdobeGlyphList /* Encoding */
met_Palatino_BoldItalic /* Metrics */
};

View File

@ -1013,6 +1013,5 @@ AFM PSDRV_Palatino_Italic =
444, 669, 500, 0, 0, 0, 0 /* CharWidths[249] - CharWidths[255] */
},
228, /* NumofMetrics */
met_Palatino_Italic, /* Metrics */
&PSDRV_AdobeGlyphList /* Encoding */
met_Palatino_Italic /* Metrics */
};

View File

@ -1013,6 +1013,5 @@ AFM PSDRV_Palatino_Roman =
556, 827, 556, 0, 0, 0, 0 /* CharWidths[249] - CharWidths[255] */
},
228, /* NumofMetrics */
met_Palatino_Roman, /* Metrics */
&PSDRV_AdobeGlyphList /* Encoding */
met_Palatino_Roman /* Metrics */
};

View File

@ -19,205 +19,6 @@
#include "psdrv.h"
/*
* FontSpecific encoding vector
*/
static const UNICODEGLYPH ug_Symbol[188] =
{
{ 0xf020, PSDRV_AGLGlyphNames + 1169 }, /* space */
{ 0xf021, PSDRV_AGLGlyphNames + 907 }, /* exclam */
{ 0xf022, PSDRV_AGLGlyphNames + 1224 }, /* universal */
{ 0xf023, PSDRV_AGLGlyphNames + 1043 }, /* numbersign */
{ 0xf024, PSDRV_AGLGlyphNames + 912 }, /* existential */
{ 0xf025, PSDRV_AGLGlyphNames + 1094 }, /* percent */
{ 0xf026, PSDRV_AGLGlyphNames + 755 }, /* ampersand */
{ 0xf027, PSDRV_AGLGlyphNames + 1175 }, /* suchthat */
{ 0xf028, PSDRV_AGLGlyphNames + 1081 }, /* parenleft */
{ 0xf029, PSDRV_AGLGlyphNames + 1087 }, /* parenright */
{ 0xf02a, PSDRV_AGLGlyphNames + 783 }, /* asteriskmath */
{ 0xf02b, PSDRV_AGLGlyphNames + 1105 }, /* plus */
{ 0xf02c, PSDRV_AGLGlyphNames + 835 }, /* comma */
{ 0xf02d, PSDRV_AGLGlyphNames + 1020 }, /* minus */
{ 0xf02e, PSDRV_AGLGlyphNames + 1095 }, /* period */
{ 0xf02f, PSDRV_AGLGlyphNames + 1167 }, /* slash */
{ 0xf030, PSDRV_AGLGlyphNames + 1253 }, /* zero */
{ 0xf031, PSDRV_AGLGlyphNames + 1060 }, /* one */
{ 0xf032, PSDRV_AGLGlyphNames + 1206 }, /* two */
{ 0xf033, PSDRV_AGLGlyphNames + 1188 }, /* three */
{ 0xf034, PSDRV_AGLGlyphNames + 930 }, /* four */
{ 0xf035, PSDRV_AGLGlyphNames + 922 }, /* five */
{ 0xf036, PSDRV_AGLGlyphNames + 1163 }, /* six */
{ 0xf037, PSDRV_AGLGlyphNames + 1154 }, /* seven */
{ 0xf038, PSDRV_AGLGlyphNames + 886 }, /* eight */
{ 0xf039, PSDRV_AGLGlyphNames + 1032 }, /* nine */
{ 0xf03a, PSDRV_AGLGlyphNames + 833 }, /* colon */
{ 0xf03b, PSDRV_AGLGlyphNames + 1153 }, /* semicolon */
{ 0xf03c, PSDRV_AGLGlyphNames + 1003 }, /* less */
{ 0xf03d, PSDRV_AGLGlyphNames + 900 }, /* equal */
{ 0xf03e, PSDRV_AGLGlyphNames + 948 }, /* greater */
{ 0xf03f, PSDRV_AGLGlyphNames + 1114 }, /* question */
{ 0xf040, PSDRV_AGLGlyphNames + 839 }, /* congruent */
{ 0xf041, PSDRV_AGLGlyphNames + 15 }, /* Alpha */
{ 0xf042, PSDRV_AGLGlyphNames + 26 }, /* Beta */
{ 0xf043, PSDRV_AGLGlyphNames + 39 }, /* Chi */
{ 0xf044, PSDRV_AGLGlyphNames + 45 }, /* Delta */
{ 0xf045, PSDRV_AGLGlyphNames + 67 }, /* Epsilon */
{ 0xf046, PSDRV_AGLGlyphNames + 175 }, /* Phi */
{ 0xf047, PSDRV_AGLGlyphNames + 78 }, /* Gamma */
{ 0xf048, PSDRV_AGLGlyphNames + 70 }, /* Eta */
{ 0xf049, PSDRV_AGLGlyphNames + 113 }, /* Iota */
{ 0xf04a, PSDRV_AGLGlyphNames + 1186 }, /* theta1 */
{ 0xf04b, PSDRV_AGLGlyphNames + 122 }, /* Kappa */
{ 0xf04c, PSDRV_AGLGlyphNames + 128 }, /* Lambda */
{ 0xf04d, PSDRV_AGLGlyphNames + 139 }, /* Mu */
{ 0xf04e, PSDRV_AGLGlyphNames + 147 }, /* Nu */
{ 0xf04f, PSDRV_AGLGlyphNames + 166 }, /* Omicron */
{ 0xf050, PSDRV_AGLGlyphNames + 176 }, /* Pi */
{ 0xf051, PSDRV_AGLGlyphNames + 243 }, /* Theta */
{ 0xf052, PSDRV_AGLGlyphNames + 186 }, /* Rho */
{ 0xf053, PSDRV_AGLGlyphNames + 236 }, /* Sigma */
{ 0xf054, PSDRV_AGLGlyphNames + 239 }, /* Tau */
{ 0xf055, PSDRV_AGLGlyphNames + 262 }, /* Upsilon */
{ 0xf056, PSDRV_AGLGlyphNames + 1161 }, /* sigma1 */
{ 0xf057, PSDRV_AGLGlyphNames + 164 }, /* Omega */
{ 0xf058, PSDRV_AGLGlyphNames + 278 }, /* Xi */
{ 0xf059, PSDRV_AGLGlyphNames + 177 }, /* Psi */
{ 0xf05a, PSDRV_AGLGlyphNames + 293 }, /* Zeta */
{ 0xf05b, PSDRV_AGLGlyphNames + 801 }, /* bracketleft */
{ 0xf05c, PSDRV_AGLGlyphNames + 1184 }, /* therefore */
{ 0xf05d, PSDRV_AGLGlyphNames + 805 }, /* bracketright */
{ 0xf05e, PSDRV_AGLGlyphNames + 1099 }, /* perpendicular */
{ 0xf05f, PSDRV_AGLGlyphNames + 1221 }, /* underscore */
{ 0xf060, PSDRV_AGLGlyphNames + 1130 }, /* radicalex */
{ 0xf061, PSDRV_AGLGlyphNames + 752 }, /* alpha */
{ 0xf062, PSDRV_AGLGlyphNames + 790 }, /* beta */
{ 0xf063, PSDRV_AGLGlyphNames + 827 }, /* chi */
{ 0xf064, PSDRV_AGLGlyphNames + 857 }, /* delta */
{ 0xf065, PSDRV_AGLGlyphNames + 898 }, /* epsilon */
{ 0xf066, PSDRV_AGLGlyphNames + 1102 }, /* phi */
{ 0xf067, PSDRV_AGLGlyphNames + 937 }, /* gamma */
{ 0xf068, PSDRV_AGLGlyphNames + 904 }, /* eta */
{ 0xf069, PSDRV_AGLGlyphNames + 983 }, /* iota */
{ 0xf06a, PSDRV_AGLGlyphNames + 1103 }, /* phi1 */
{ 0xf06b, PSDRV_AGLGlyphNames + 992 }, /* kappa */
{ 0xf06c, PSDRV_AGLGlyphNames + 997 }, /* lambda */
{ 0xf06d, PSDRV_AGLGlyphNames + 1023 }, /* mu */
{ 0xf06e, PSDRV_AGLGlyphNames + 1042 }, /* nu */
{ 0xf06f, PSDRV_AGLGlyphNames + 1058 }, /* omicron */
{ 0xf070, PSDRV_AGLGlyphNames + 1104 }, /* pi */
{ 0xf071, PSDRV_AGLGlyphNames + 1185 }, /* theta */
{ 0xf072, PSDRV_AGLGlyphNames + 1140 }, /* rho */
{ 0xf073, PSDRV_AGLGlyphNames + 1160 }, /* sigma */
{ 0xf074, PSDRV_AGLGlyphNames + 1180 }, /* tau */
{ 0xf075, PSDRV_AGLGlyphNames + 1228 }, /* upsilon */
{ 0xf076, PSDRV_AGLGlyphNames + 1056 }, /* omega1 */
{ 0xf077, PSDRV_AGLGlyphNames + 1055 }, /* omega */
{ 0xf078, PSDRV_AGLGlyphNames + 1242 }, /* xi */
{ 0xf079, PSDRV_AGLGlyphNames + 1112 }, /* psi */
{ 0xf07a, PSDRV_AGLGlyphNames + 1257 }, /* zeta */
{ 0xf07b, PSDRV_AGLGlyphNames + 793 }, /* braceleft */
{ 0xf07c, PSDRV_AGLGlyphNames + 789 }, /* bar */
{ 0xf07d, PSDRV_AGLGlyphNames + 797 }, /* braceright */
{ 0xf07e, PSDRV_AGLGlyphNames + 1162 }, /* similar */
{ 0xf0a1, PSDRV_AGLGlyphNames + 263 }, /* Upsilon1 */
{ 0xf0a2, PSDRV_AGLGlyphNames + 1021 }, /* minute */
{ 0xf0a3, PSDRV_AGLGlyphNames + 1004 }, /* lessequal */
{ 0xf0a4, PSDRV_AGLGlyphNames + 934 }, /* fraction */
{ 0xf0a5, PSDRV_AGLGlyphNames + 973 }, /* infinity */
{ 0xf0a6, PSDRV_AGLGlyphNames + 928 }, /* florin */
{ 0xf0a7, PSDRV_AGLGlyphNames + 832 }, /* club */
{ 0xf0a8, PSDRV_AGLGlyphNames + 858 }, /* diamond */
{ 0xf0a9, PSDRV_AGLGlyphNames + 957 }, /* heart */
{ 0xf0aa, PSDRV_AGLGlyphNames + 1170 }, /* spade */
{ 0xf0ab, PSDRV_AGLGlyphNames + 766 }, /* arrowboth */
{ 0xf0ac, PSDRV_AGLGlyphNames + 774 }, /* arrowleft */
{ 0xf0ad, PSDRV_AGLGlyphNames + 776 }, /* arrowup */
{ 0xf0ae, PSDRV_AGLGlyphNames + 775 }, /* arrowright */
{ 0xf0af, PSDRV_AGLGlyphNames + 772 }, /* arrowdown */
{ 0xf0b0, PSDRV_AGLGlyphNames + 856 }, /* degree */
{ 0xf0b1, PSDRV_AGLGlyphNames + 1106 }, /* plusminus */
{ 0xf0b2, PSDRV_AGLGlyphNames + 1151 }, /* second */
{ 0xf0b3, PSDRV_AGLGlyphNames + 949 }, /* greaterequal */
{ 0xf0b4, PSDRV_AGLGlyphNames + 1024 }, /* multiply */
{ 0xf0b5, PSDRV_AGLGlyphNames + 1111 }, /* proportional */
{ 0xf0b6, PSDRV_AGLGlyphNames + 1093 }, /* partialdiff */
{ 0xf0b7, PSDRV_AGLGlyphNames + 812 }, /* bullet */
{ 0xf0b8, PSDRV_AGLGlyphNames + 863 }, /* divide */
{ 0xf0b9, PSDRV_AGLGlyphNames + 1038 }, /* notequal */
{ 0xf0ba, PSDRV_AGLGlyphNames + 901 }, /* equivalence */
{ 0xf0bb, PSDRV_AGLGlyphNames + 763 }, /* approxequal */
{ 0xf0bc, PSDRV_AGLGlyphNames + 891 }, /* ellipsis */
{ 0xf0bd, PSDRV_AGLGlyphNames + 779 }, /* arrowvertex */
{ 0xf0be, PSDRV_AGLGlyphNames + 773 }, /* arrowhorizex */
{ 0xf0bf, PSDRV_AGLGlyphNames + 816 }, /* carriagereturn */
{ 0xf0c0, PSDRV_AGLGlyphNames + 751 }, /* aleph */
{ 0xf0c1, PSDRV_AGLGlyphNames + 108 }, /* Ifraktur */
{ 0xf0c2, PSDRV_AGLGlyphNames + 185 }, /* Rfraktur */
{ 0xf0c3, PSDRV_AGLGlyphNames + 1239 }, /* weierstrass */
{ 0xf0c4, PSDRV_AGLGlyphNames + 829 }, /* circlemultiply */
{ 0xf0c5, PSDRV_AGLGlyphNames + 830 }, /* circleplus */
{ 0xf0c6, PSDRV_AGLGlyphNames + 894 }, /* emptyset */
{ 0xf0c7, PSDRV_AGLGlyphNames + 978 }, /* intersection */
{ 0xf0c8, PSDRV_AGLGlyphNames + 1223 }, /* union */
{ 0xf0c9, PSDRV_AGLGlyphNames + 1110 }, /* propersuperset */
{ 0xf0ca, PSDRV_AGLGlyphNames + 1134 }, /* reflexsuperset */
{ 0xf0cb, PSDRV_AGLGlyphNames + 1039 }, /* notsubset */
{ 0xf0cc, PSDRV_AGLGlyphNames + 1109 }, /* propersubset */
{ 0xf0cd, PSDRV_AGLGlyphNames + 1133 }, /* reflexsubset */
{ 0xf0ce, PSDRV_AGLGlyphNames + 890 }, /* element */
{ 0xf0cf, PSDRV_AGLGlyphNames + 1037 }, /* notelement */
{ 0xf0d0, PSDRV_AGLGlyphNames + 757 }, /* angle */
{ 0xf0d1, PSDRV_AGLGlyphNames + 944 }, /* gradient */
{ 0xf0d2, PSDRV_AGLGlyphNames + 1137 }, /* registerserif */
{ 0xf0d3, PSDRV_AGLGlyphNames + 842 }, /* copyrightserif */
{ 0xf0d4, PSDRV_AGLGlyphNames + 1200 }, /* trademarkserif */
{ 0xf0d5, PSDRV_AGLGlyphNames + 1108 }, /* product */
{ 0xf0d6, PSDRV_AGLGlyphNames + 1129 }, /* radical */
{ 0xf0d7, PSDRV_AGLGlyphNames + 875 }, /* dotmath */
{ 0xf0d8, PSDRV_AGLGlyphNames + 1009 }, /* logicalnot */
{ 0xf0d9, PSDRV_AGLGlyphNames + 1008 }, /* logicaland */
{ 0xf0da, PSDRV_AGLGlyphNames + 1010 }, /* logicalor */
{ 0xf0db, PSDRV_AGLGlyphNames + 767 }, /* arrowdblboth */
{ 0xf0dc, PSDRV_AGLGlyphNames + 769 }, /* arrowdblleft */
{ 0xf0dd, PSDRV_AGLGlyphNames + 771 }, /* arrowdblup */
{ 0xf0de, PSDRV_AGLGlyphNames + 770 }, /* arrowdblright */
{ 0xf0df, PSDRV_AGLGlyphNames + 768 }, /* arrowdbldown */
{ 0xf0e0, PSDRV_AGLGlyphNames + 1012 }, /* lozenge */
{ 0xf0e1, PSDRV_AGLGlyphNames + 758 }, /* angleleft */
{ 0xf0e2, PSDRV_AGLGlyphNames + 1136 }, /* registersans */
{ 0xf0e3, PSDRV_AGLGlyphNames + 841 }, /* copyrightsans */
{ 0xf0e4, PSDRV_AGLGlyphNames + 1199 }, /* trademarksans */
{ 0xf0e5, PSDRV_AGLGlyphNames + 1176 }, /* summation */
{ 0xf0e6, PSDRV_AGLGlyphNames + 1086 }, /* parenlefttp */
{ 0xf0e7, PSDRV_AGLGlyphNames + 1083 }, /* parenleftex */
{ 0xf0e8, PSDRV_AGLGlyphNames + 1082 }, /* parenleftbt */
{ 0xf0e9, PSDRV_AGLGlyphNames + 804 }, /* bracketlefttp */
{ 0xf0ea, PSDRV_AGLGlyphNames + 803 }, /* bracketleftex */
{ 0xf0eb, PSDRV_AGLGlyphNames + 802 }, /* bracketleftbt */
{ 0xf0ec, PSDRV_AGLGlyphNames + 796 }, /* bracelefttp */
{ 0xf0ed, PSDRV_AGLGlyphNames + 795 }, /* braceleftmid */
{ 0xf0ee, PSDRV_AGLGlyphNames + 794 }, /* braceleftbt */
{ 0xf0ef, PSDRV_AGLGlyphNames + 792 }, /* braceex */
{ 0xf0f1, PSDRV_AGLGlyphNames + 759 }, /* angleright */
{ 0xf0f2, PSDRV_AGLGlyphNames + 974 }, /* integral */
{ 0xf0f3, PSDRV_AGLGlyphNames + 977 }, /* integraltp */
{ 0xf0f4, PSDRV_AGLGlyphNames + 976 }, /* integralex */
{ 0xf0f5, PSDRV_AGLGlyphNames + 975 }, /* integralbt */
{ 0xf0f6, PSDRV_AGLGlyphNames + 1092 }, /* parenrighttp */
{ 0xf0f7, PSDRV_AGLGlyphNames + 1089 }, /* parenrightex */
{ 0xf0f8, PSDRV_AGLGlyphNames + 1088 }, /* parenrightbt */
{ 0xf0f9, PSDRV_AGLGlyphNames + 808 }, /* bracketrighttp */
{ 0xf0fa, PSDRV_AGLGlyphNames + 807 }, /* bracketrightex */
{ 0xf0fb, PSDRV_AGLGlyphNames + 806 }, /* bracketrightbt */
{ 0xf0fc, PSDRV_AGLGlyphNames + 800 }, /* bracerighttp */
{ 0xf0fd, PSDRV_AGLGlyphNames + 799 }, /* bracerightmid */
{ 0xf0fe, PSDRV_AGLGlyphNames + 798 } /* bracerightbt */
};
static UNICODEVECTOR enc_Symbol = { 188, ug_Symbol };
/*
* Glyph metrics
*/
@ -1054,6 +855,5 @@ AFM PSDRV_Symbol =
494, 494, 0 /* CharWidths[253] - CharWidths[255] */
},
188, /* NumofMetrics */
met_Symbol, /* Metrics */
&enc_Symbol /* Encoding */
met_Symbol /* Metrics */
};

View File

@ -1013,6 +1013,5 @@ AFM PSDRV_Times_Bold =
500, 722, 556, 0, 0, 0, 0 /* CharWidths[249] - CharWidths[255] */
},
228, /* NumofMetrics */
met_Times_Bold, /* Metrics */
&PSDRV_AdobeGlyphList /* Encoding */
met_Times_Bold /* Metrics */
};

View File

@ -1013,6 +1013,5 @@ AFM PSDRV_Times_BoldItalic =
500, 722, 500, 0, 0, 0, 0 /* CharWidths[249] - CharWidths[255] */
},
228, /* NumofMetrics */
met_Times_BoldItalic, /* Metrics */
&PSDRV_AdobeGlyphList /* Encoding */
met_Times_BoldItalic /* Metrics */
};

View File

@ -1013,6 +1013,5 @@ AFM PSDRV_Times_Italic =
500, 0, 0, 0, 0 /* CharWidths[251] - CharWidths[255] */
},
228, /* NumofMetrics */
met_Times_Italic, /* Metrics */
&PSDRV_AdobeGlyphList /* Encoding */
met_Times_Italic /* Metrics */
};

View File

@ -1013,6 +1013,5 @@ AFM PSDRV_Times_Roman =
500, 722, 500, 0, 0, 0, 0 /* CharWidths[249] - CharWidths[255] */
},
228, /* NumofMetrics */
met_Times_Roman, /* Metrics */
&PSDRV_AdobeGlyphList /* Encoding */
met_Times_Roman /* Metrics */
};

View File

@ -1013,6 +1013,5 @@ AFM PSDRV_ZapfChancery_MediumItalic =
440, 560, 420, 0, 0, 0, 0 /* CharWidths[249] - CharWidths[255] */
},
228, /* NumofMetrics */
met_ZapfChancery_MediumItalic, /* Metrics */
&PSDRV_AdobeGlyphList /* Encoding */
met_ZapfChancery_MediumItalic /* Metrics */
};

View File

@ -19,205 +19,6 @@
#include "psdrv.h"
/*
* FontSpecific encoding vector
*/
static const UNICODEGLYPH ug_ZapfDingbats[188] =
{
{ 0xf020, PSDRV_AGLGlyphNames + 1169 }, /* space */
{ 0xf021, PSDRV_AGLGlyphNames + 296 }, /* a1 */
{ 0xf022, PSDRV_AGLGlyphNames + 403 }, /* a2 */
{ 0xf023, PSDRV_AGLGlyphNames + 407 }, /* a202 */
{ 0xf024, PSDRV_AGLGlyphNames + 421 }, /* a3 */
{ 0xf025, PSDRV_AGLGlyphNames + 432 }, /* a4 */
{ 0xf026, PSDRV_AGLGlyphNames + 443 }, /* a5 */
{ 0xf027, PSDRV_AGLGlyphNames + 314 }, /* a119 */
{ 0xf028, PSDRV_AGLGlyphNames + 313 }, /* a118 */
{ 0xf029, PSDRV_AGLGlyphNames + 312 }, /* a117 */
{ 0xf02a, PSDRV_AGLGlyphNames + 308 }, /* a11 */
{ 0xf02b, PSDRV_AGLGlyphNames + 315 }, /* a12 */
{ 0xf02c, PSDRV_AGLGlyphNames + 326 }, /* a13 */
{ 0xf02d, PSDRV_AGLGlyphNames + 337 }, /* a14 */
{ 0xf02e, PSDRV_AGLGlyphNames + 348 }, /* a15 */
{ 0xf02f, PSDRV_AGLGlyphNames + 359 }, /* a16 */
{ 0xf030, PSDRV_AGLGlyphNames + 303 }, /* a105 */
{ 0xf031, PSDRV_AGLGlyphNames + 370 }, /* a17 */
{ 0xf032, PSDRV_AGLGlyphNames + 381 }, /* a18 */
{ 0xf033, PSDRV_AGLGlyphNames + 392 }, /* a19 */
{ 0xf034, PSDRV_AGLGlyphNames + 404 }, /* a20 */
{ 0xf035, PSDRV_AGLGlyphNames + 412 }, /* a21 */
{ 0xf036, PSDRV_AGLGlyphNames + 413 }, /* a22 */
{ 0xf037, PSDRV_AGLGlyphNames + 414 }, /* a23 */
{ 0xf038, PSDRV_AGLGlyphNames + 415 }, /* a24 */
{ 0xf039, PSDRV_AGLGlyphNames + 416 }, /* a25 */
{ 0xf03a, PSDRV_AGLGlyphNames + 417 }, /* a26 */
{ 0xf03b, PSDRV_AGLGlyphNames + 418 }, /* a27 */
{ 0xf03c, PSDRV_AGLGlyphNames + 419 }, /* a28 */
{ 0xf03d, PSDRV_AGLGlyphNames + 454 }, /* a6 */
{ 0xf03e, PSDRV_AGLGlyphNames + 465 }, /* a7 */
{ 0xf03f, PSDRV_AGLGlyphNames + 476 }, /* a8 */
{ 0xf040, PSDRV_AGLGlyphNames + 486 }, /* a9 */
{ 0xf041, PSDRV_AGLGlyphNames + 297 }, /* a10 */
{ 0xf042, PSDRV_AGLGlyphNames + 420 }, /* a29 */
{ 0xf043, PSDRV_AGLGlyphNames + 422 }, /* a30 */
{ 0xf044, PSDRV_AGLGlyphNames + 423 }, /* a31 */
{ 0xf045, PSDRV_AGLGlyphNames + 424 }, /* a32 */
{ 0xf046, PSDRV_AGLGlyphNames + 425 }, /* a33 */
{ 0xf047, PSDRV_AGLGlyphNames + 426 }, /* a34 */
{ 0xf048, PSDRV_AGLGlyphNames + 427 }, /* a35 */
{ 0xf049, PSDRV_AGLGlyphNames + 428 }, /* a36 */
{ 0xf04a, PSDRV_AGLGlyphNames + 429 }, /* a37 */
{ 0xf04b, PSDRV_AGLGlyphNames + 430 }, /* a38 */
{ 0xf04c, PSDRV_AGLGlyphNames + 431 }, /* a39 */
{ 0xf04d, PSDRV_AGLGlyphNames + 433 }, /* a40 */
{ 0xf04e, PSDRV_AGLGlyphNames + 434 }, /* a41 */
{ 0xf04f, PSDRV_AGLGlyphNames + 435 }, /* a42 */
{ 0xf050, PSDRV_AGLGlyphNames + 436 }, /* a43 */
{ 0xf051, PSDRV_AGLGlyphNames + 437 }, /* a44 */
{ 0xf052, PSDRV_AGLGlyphNames + 438 }, /* a45 */
{ 0xf053, PSDRV_AGLGlyphNames + 439 }, /* a46 */
{ 0xf054, PSDRV_AGLGlyphNames + 440 }, /* a47 */
{ 0xf055, PSDRV_AGLGlyphNames + 441 }, /* a48 */
{ 0xf056, PSDRV_AGLGlyphNames + 442 }, /* a49 */
{ 0xf057, PSDRV_AGLGlyphNames + 444 }, /* a50 */
{ 0xf058, PSDRV_AGLGlyphNames + 445 }, /* a51 */
{ 0xf059, PSDRV_AGLGlyphNames + 446 }, /* a52 */
{ 0xf05a, PSDRV_AGLGlyphNames + 447 }, /* a53 */
{ 0xf05b, PSDRV_AGLGlyphNames + 448 }, /* a54 */
{ 0xf05c, PSDRV_AGLGlyphNames + 449 }, /* a55 */
{ 0xf05d, PSDRV_AGLGlyphNames + 450 }, /* a56 */
{ 0xf05e, PSDRV_AGLGlyphNames + 451 }, /* a57 */
{ 0xf05f, PSDRV_AGLGlyphNames + 452 }, /* a58 */
{ 0xf060, PSDRV_AGLGlyphNames + 453 }, /* a59 */
{ 0xf061, PSDRV_AGLGlyphNames + 455 }, /* a60 */
{ 0xf062, PSDRV_AGLGlyphNames + 456 }, /* a61 */
{ 0xf063, PSDRV_AGLGlyphNames + 457 }, /* a62 */
{ 0xf064, PSDRV_AGLGlyphNames + 458 }, /* a63 */
{ 0xf065, PSDRV_AGLGlyphNames + 459 }, /* a64 */
{ 0xf066, PSDRV_AGLGlyphNames + 460 }, /* a65 */
{ 0xf067, PSDRV_AGLGlyphNames + 461 }, /* a66 */
{ 0xf068, PSDRV_AGLGlyphNames + 462 }, /* a67 */
{ 0xf069, PSDRV_AGLGlyphNames + 463 }, /* a68 */
{ 0xf06a, PSDRV_AGLGlyphNames + 464 }, /* a69 */
{ 0xf06b, PSDRV_AGLGlyphNames + 466 }, /* a70 */
{ 0xf06c, PSDRV_AGLGlyphNames + 467 }, /* a71 */
{ 0xf06d, PSDRV_AGLGlyphNames + 468 }, /* a72 */
{ 0xf06e, PSDRV_AGLGlyphNames + 469 }, /* a73 */
{ 0xf06f, PSDRV_AGLGlyphNames + 470 }, /* a74 */
{ 0xf070, PSDRV_AGLGlyphNames + 408 }, /* a203 */
{ 0xf071, PSDRV_AGLGlyphNames + 471 }, /* a75 */
{ 0xf072, PSDRV_AGLGlyphNames + 409 }, /* a204 */
{ 0xf073, PSDRV_AGLGlyphNames + 472 }, /* a76 */
{ 0xf074, PSDRV_AGLGlyphNames + 473 }, /* a77 */
{ 0xf075, PSDRV_AGLGlyphNames + 474 }, /* a78 */
{ 0xf076, PSDRV_AGLGlyphNames + 475 }, /* a79 */
{ 0xf077, PSDRV_AGLGlyphNames + 477 }, /* a81 */
{ 0xf078, PSDRV_AGLGlyphNames + 478 }, /* a82 */
{ 0xf079, PSDRV_AGLGlyphNames + 479 }, /* a83 */
{ 0xf07a, PSDRV_AGLGlyphNames + 480 }, /* a84 */
{ 0xf07b, PSDRV_AGLGlyphNames + 494 }, /* a97 */
{ 0xf07c, PSDRV_AGLGlyphNames + 495 }, /* a98 */
{ 0xf07d, PSDRV_AGLGlyphNames + 496 }, /* a99 */
{ 0xf07e, PSDRV_AGLGlyphNames + 298 }, /* a100 */
{ 0xf0a1, PSDRV_AGLGlyphNames + 299 }, /* a101 */
{ 0xf0a2, PSDRV_AGLGlyphNames + 300 }, /* a102 */
{ 0xf0a3, PSDRV_AGLGlyphNames + 301 }, /* a103 */
{ 0xf0a4, PSDRV_AGLGlyphNames + 302 }, /* a104 */
{ 0xf0a5, PSDRV_AGLGlyphNames + 304 }, /* a106 */
{ 0xf0a6, PSDRV_AGLGlyphNames + 305 }, /* a107 */
{ 0xf0a7, PSDRV_AGLGlyphNames + 306 }, /* a108 */
{ 0xf0a8, PSDRV_AGLGlyphNames + 311 }, /* a112 */
{ 0xf0a9, PSDRV_AGLGlyphNames + 310 }, /* a111 */
{ 0xf0aa, PSDRV_AGLGlyphNames + 309 }, /* a110 */
{ 0xf0ab, PSDRV_AGLGlyphNames + 307 }, /* a109 */
{ 0xf0ac, PSDRV_AGLGlyphNames + 316 }, /* a120 */
{ 0xf0ad, PSDRV_AGLGlyphNames + 317 }, /* a121 */
{ 0xf0ae, PSDRV_AGLGlyphNames + 318 }, /* a122 */
{ 0xf0af, PSDRV_AGLGlyphNames + 319 }, /* a123 */
{ 0xf0b0, PSDRV_AGLGlyphNames + 320 }, /* a124 */
{ 0xf0b1, PSDRV_AGLGlyphNames + 321 }, /* a125 */
{ 0xf0b2, PSDRV_AGLGlyphNames + 322 }, /* a126 */
{ 0xf0b3, PSDRV_AGLGlyphNames + 323 }, /* a127 */
{ 0xf0b4, PSDRV_AGLGlyphNames + 324 }, /* a128 */
{ 0xf0b5, PSDRV_AGLGlyphNames + 325 }, /* a129 */
{ 0xf0b6, PSDRV_AGLGlyphNames + 327 }, /* a130 */
{ 0xf0b7, PSDRV_AGLGlyphNames + 328 }, /* a131 */
{ 0xf0b8, PSDRV_AGLGlyphNames + 329 }, /* a132 */
{ 0xf0b9, PSDRV_AGLGlyphNames + 330 }, /* a133 */
{ 0xf0ba, PSDRV_AGLGlyphNames + 331 }, /* a134 */
{ 0xf0bb, PSDRV_AGLGlyphNames + 332 }, /* a135 */
{ 0xf0bc, PSDRV_AGLGlyphNames + 333 }, /* a136 */
{ 0xf0bd, PSDRV_AGLGlyphNames + 334 }, /* a137 */
{ 0xf0be, PSDRV_AGLGlyphNames + 335 }, /* a138 */
{ 0xf0bf, PSDRV_AGLGlyphNames + 336 }, /* a139 */
{ 0xf0c0, PSDRV_AGLGlyphNames + 338 }, /* a140 */
{ 0xf0c1, PSDRV_AGLGlyphNames + 339 }, /* a141 */
{ 0xf0c2, PSDRV_AGLGlyphNames + 340 }, /* a142 */
{ 0xf0c3, PSDRV_AGLGlyphNames + 341 }, /* a143 */
{ 0xf0c4, PSDRV_AGLGlyphNames + 342 }, /* a144 */
{ 0xf0c5, PSDRV_AGLGlyphNames + 343 }, /* a145 */
{ 0xf0c6, PSDRV_AGLGlyphNames + 344 }, /* a146 */
{ 0xf0c7, PSDRV_AGLGlyphNames + 345 }, /* a147 */
{ 0xf0c8, PSDRV_AGLGlyphNames + 346 }, /* a148 */
{ 0xf0c9, PSDRV_AGLGlyphNames + 347 }, /* a149 */
{ 0xf0ca, PSDRV_AGLGlyphNames + 349 }, /* a150 */
{ 0xf0cb, PSDRV_AGLGlyphNames + 350 }, /* a151 */
{ 0xf0cc, PSDRV_AGLGlyphNames + 351 }, /* a152 */
{ 0xf0cd, PSDRV_AGLGlyphNames + 352 }, /* a153 */
{ 0xf0ce, PSDRV_AGLGlyphNames + 353 }, /* a154 */
{ 0xf0cf, PSDRV_AGLGlyphNames + 354 }, /* a155 */
{ 0xf0d0, PSDRV_AGLGlyphNames + 355 }, /* a156 */
{ 0xf0d1, PSDRV_AGLGlyphNames + 356 }, /* a157 */
{ 0xf0d2, PSDRV_AGLGlyphNames + 357 }, /* a158 */
{ 0xf0d3, PSDRV_AGLGlyphNames + 358 }, /* a159 */
{ 0xf0d4, PSDRV_AGLGlyphNames + 360 }, /* a160 */
{ 0xf0d5, PSDRV_AGLGlyphNames + 361 }, /* a161 */
{ 0xf0d6, PSDRV_AGLGlyphNames + 363 }, /* a163 */
{ 0xf0d7, PSDRV_AGLGlyphNames + 364 }, /* a164 */
{ 0xf0d8, PSDRV_AGLGlyphNames + 399 }, /* a196 */
{ 0xf0d9, PSDRV_AGLGlyphNames + 365 }, /* a165 */
{ 0xf0da, PSDRV_AGLGlyphNames + 395 }, /* a192 */
{ 0xf0db, PSDRV_AGLGlyphNames + 366 }, /* a166 */
{ 0xf0dc, PSDRV_AGLGlyphNames + 367 }, /* a167 */
{ 0xf0dd, PSDRV_AGLGlyphNames + 368 }, /* a168 */
{ 0xf0de, PSDRV_AGLGlyphNames + 369 }, /* a169 */
{ 0xf0df, PSDRV_AGLGlyphNames + 371 }, /* a170 */
{ 0xf0e0, PSDRV_AGLGlyphNames + 372 }, /* a171 */
{ 0xf0e1, PSDRV_AGLGlyphNames + 373 }, /* a172 */
{ 0xf0e2, PSDRV_AGLGlyphNames + 374 }, /* a173 */
{ 0xf0e3, PSDRV_AGLGlyphNames + 362 }, /* a162 */
{ 0xf0e4, PSDRV_AGLGlyphNames + 375 }, /* a174 */
{ 0xf0e5, PSDRV_AGLGlyphNames + 376 }, /* a175 */
{ 0xf0e6, PSDRV_AGLGlyphNames + 377 }, /* a176 */
{ 0xf0e7, PSDRV_AGLGlyphNames + 378 }, /* a177 */
{ 0xf0e8, PSDRV_AGLGlyphNames + 379 }, /* a178 */
{ 0xf0e9, PSDRV_AGLGlyphNames + 380 }, /* a179 */
{ 0xf0ea, PSDRV_AGLGlyphNames + 396 }, /* a193 */
{ 0xf0eb, PSDRV_AGLGlyphNames + 382 }, /* a180 */
{ 0xf0ec, PSDRV_AGLGlyphNames + 402 }, /* a199 */
{ 0xf0ed, PSDRV_AGLGlyphNames + 383 }, /* a181 */
{ 0xf0ee, PSDRV_AGLGlyphNames + 405 }, /* a200 */
{ 0xf0ef, PSDRV_AGLGlyphNames + 384 }, /* a182 */
{ 0xf0f1, PSDRV_AGLGlyphNames + 406 }, /* a201 */
{ 0xf0f2, PSDRV_AGLGlyphNames + 385 }, /* a183 */
{ 0xf0f3, PSDRV_AGLGlyphNames + 386 }, /* a184 */
{ 0xf0f4, PSDRV_AGLGlyphNames + 400 }, /* a197 */
{ 0xf0f5, PSDRV_AGLGlyphNames + 387 }, /* a185 */
{ 0xf0f6, PSDRV_AGLGlyphNames + 397 }, /* a194 */
{ 0xf0f7, PSDRV_AGLGlyphNames + 401 }, /* a198 */
{ 0xf0f8, PSDRV_AGLGlyphNames + 388 }, /* a186 */
{ 0xf0f9, PSDRV_AGLGlyphNames + 398 }, /* a195 */
{ 0xf0fa, PSDRV_AGLGlyphNames + 389 }, /* a187 */
{ 0xf0fb, PSDRV_AGLGlyphNames + 390 }, /* a188 */
{ 0xf0fc, PSDRV_AGLGlyphNames + 391 }, /* a189 */
{ 0xf0fd, PSDRV_AGLGlyphNames + 393 }, /* a190 */
{ 0xf0fe, PSDRV_AGLGlyphNames + 394 } /* a191 */
};
static UNICODEVECTOR enc_ZapfDingbats = { 188, ug_ZapfDingbats };
/*
* Glyph metrics
*/
@ -1054,6 +855,5 @@ AFM PSDRV_ZapfDingbats =
918, 0 /* CharWidths[254] - CharWidths[255] */
},
188, /* NumofMetrics */
met_ZapfDingbats, /* Metrics */
&enc_ZapfDingbats /* Encoding */
met_ZapfDingbats /* Metrics */
};

View File

@ -85,7 +85,6 @@ typedef struct _tagAFM {
float CharWidths[256];
int NumofMetrics;
AFMMETRICS *Metrics;
UNICODEVECTOR *Encoding;
} AFM; /* CharWidths is a shortcut to the WX values of numbered glyphs */
/* Note no 'next' in AFM. Use AFMLISTENTRY as a container. This allow more than

View File

@ -267,8 +267,6 @@ static void FreeAFM(AFM *afm)
HeapFree(PSDRV_Heap, 0, afm->EncodingScheme);
if (afm->Metrics != NULL)
HeapFree(PSDRV_Heap, 0, afm->Metrics);
if (afm->Encoding != NULL)
HeapFree(PSDRV_Heap, 0, afm->Encoding);
HeapFree(PSDRV_Heap, 0, afm);
}
@ -339,14 +337,12 @@ static BOOL ReadMetricsTables(AFM *afm)
*
* Reads metrics for each glyph in a TrueType font. Since FreeAFM will try to
* free afm->Metrics and afm->Encoding if they are non-NULL, don't free them
* in the event of an error. (FreeAFM depends on the fact that afm->Encoding
* and its associated array of UNICODEGLYPHs are allocated as a single object.)
* in the event of an error.
*
*/
static BOOL ReadCharMetrics(AFM *afm)
{
FT_ULong charcode, index;
UNICODEGLYPH *glyphs;
/*
* There does not seem to be an easy way to get the number of characters
@ -361,15 +357,9 @@ static BOOL ReadCharMetrics(AFM *afm)
afm->NumofMetrics = index;
afm->Metrics = HeapAlloc(PSDRV_Heap, 0, index * sizeof(AFMMETRICS));
afm->Encoding = HeapAlloc(PSDRV_Heap, 0, sizeof(UNICODEVECTOR) +
index * sizeof(UNICODEGLYPH));
if (afm->Metrics == NULL || afm->Encoding == NULL)
if (afm->Metrics == NULL)
return FALSE;
glyphs = (UNICODEGLYPH *)(afm->Encoding + 1);
afm->Encoding->size = index;
afm->Encoding->glyphs = glyphs;
for (charcode = 0, index = 0; charcode <= 65536; ++charcode)
{
FT_UInt glyph_index = FT_Get_Char_Index(face, charcode);
@ -423,9 +413,6 @@ static BOOL ReadCharMetrics(AFM *afm)
afm->Metrics[index].B.llx, afm->Metrics[index].B.lly,
afm->Metrics[index].B.urx, afm->Metrics[index].B.ury);
glyphs[index].UV = charcode;
glyphs[index].name = afm->Metrics[index].N;
if (charcode == 0x0048) /* 'H' */
afm->CapHeight = PSUnits(bbox.yMax);
if (charcode == 0x0078) /* 'x' */
@ -535,7 +522,7 @@ static BOOL ReadTrueTypeFile(LPCSTR filename)
return FALSE;
}
if (afm->Encoding == NULL) /* last element to be set */
if (afm->Metrics == NULL) /* last element to be set */
{
FreeAFM(afm);
return TRUE;