GfxFont.h (xpdf-4.03) | : | GfxFont.h (xpdf-4.04) | ||
---|---|---|---|---|
skipping to change at line 138 | skipping to change at line 138 | |||
#define fontItalic (1 << 6) | #define fontItalic (1 << 6) | |||
#define fontBold (1 << 18) | #define fontBold (1 << 18) | |||
class GfxFont { | class GfxFont { | |||
public: | public: | |||
// Build a GfxFont object. | // Build a GfxFont object. | |||
static GfxFont *makeFont(XRef *xref, const char *tagA, | static GfxFont *makeFont(XRef *xref, const char *tagA, | |||
Ref idA, Dict *fontDict); | Ref idA, Dict *fontDict); | |||
// Create a simple default font, to substitute for an undefined font | ||||
// object. | ||||
static GfxFont *makeDefaultFont(XRef *xref); | ||||
GfxFont(const char *tagA, Ref idA, GString *nameA, | GfxFont(const char *tagA, Ref idA, GString *nameA, | |||
GfxFontType typeA, Ref embFontIDA); | GfxFontType typeA, Ref embFontIDA); | |||
virtual ~GfxFont(); | virtual ~GfxFont(); | |||
GBool isOk() { return ok; } | GBool isOk() { return ok; } | |||
// Get font tag. | // Get font tag. | |||
GString *getTag() { return tag; } | GString *getTag() { return tag; } | |||
skipping to change at line 360 | skipping to change at line 364 | |||
// Returns true if this font uses the Identity-H encoding (cmap), | // Returns true if this font uses the Identity-H encoding (cmap), | |||
// and the Adobe-Identity character collection, and does not have a | // and the Adobe-Identity character collection, and does not have a | |||
// CIDToGIDMap. When this is true for a CID TrueType font, Adobe | // CIDToGIDMap. When this is true for a CID TrueType font, Adobe | |||
// appears to treat char codes as raw GIDs. | // appears to treat char codes as raw GIDs. | |||
GBool usesIdentityEncoding() { return identityEnc; } | GBool usesIdentityEncoding() { return identityEnc; } | |||
virtual GBool problematicForUnicode(); | virtual GBool problematicForUnicode(); | |||
private: | private: | |||
void readTrueTypeUnicodeMapping(XRef *xref); | ||||
void getHorizontalMetrics(CID cid, double *w); | void getHorizontalMetrics(CID cid, double *w); | |||
void getVerticalMetrics(CID cid, double *h, | void getVerticalMetrics(CID cid, double *h, | |||
double *vx, double *vy); | double *vx, double *vy); | |||
GString *collection; // collection name | GString *collection; // collection name | |||
CMap *cMap; // char code --> CID | CMap *cMap; // char code --> CID | |||
CharCodeToUnicode *ctu; // CID/char code --> Unicode | CharCodeToUnicode *ctu; // CID/char code --> Unicode | |||
GBool ctuUsesCharCode; // true: ctu maps char code to Unicode; | GBool ctuUsesCharCode; // true: ctu maps char code to Unicode; | |||
// false: ctu maps CID to Unicode | // false: ctu maps CID to Unicode | |||
GfxFontCIDWidths widths; // character widths | GfxFontCIDWidths widths; // character widths | |||
skipping to change at line 401 | skipping to change at line 406 | |||
// Get the specified font. | // Get the specified font. | |||
GfxFont *lookup(char *tag); | GfxFont *lookup(char *tag); | |||
GfxFont *lookupByRef(Ref ref); | GfxFont *lookupByRef(Ref ref); | |||
// Iterative access. | // Iterative access. | |||
int getNumFonts(); | int getNumFonts(); | |||
GfxFont *getFont(int i); | GfxFont *getFont(int i); | |||
private: | private: | |||
int hashFontObject(Object *obj); | friend class GfxFont; | |||
void hashFontObject1(Object *obj, FNVHash *h); | ||||
static int hashFontObject(Object *obj); | ||||
static void hashFontObject1(Object *obj, FNVHash *h); | ||||
GHash *fonts; // hash table of fonts -- this may | GHash *fonts; // hash table of fonts -- this may | |||
// include duplicates, i.e., when | // include duplicates, i.e., when | |||
// two tags map to the same font | // two tags map to the same font | |||
GList *uniqueFonts; // list of all unique font objects (no dups) | GList *uniqueFonts; // list of all unique font objects (no dups) | |||
}; | }; | |||
#endif | #endif | |||
End of changes. 3 change blocks. | ||||
2 lines changed or deleted | 9 lines changed or added |