X-Git-Url: https://www.fi.muni.cz/~kas/git//home/kas/public_html/git/?a=blobdiff_plain;f=pdf%2Fxpdf%2FGfxFont.h;h=ddd88be3e55fb3ff1cbfa008074fb74e59ef61f4;hb=ad63666daeeda50acc7630132d61fe044634fddd;hp=23371b3fb8838af981d8cee0b200ffddad7494e4;hpb=d57c02ebc09bfd1a0cac44140ec7a80dbe43877e;p=evince.git diff --git a/pdf/xpdf/GfxFont.h b/pdf/xpdf/GfxFont.h index 23371b3f..ddd88be3 100644 --- a/pdf/xpdf/GfxFont.h +++ b/pdf/xpdf/GfxFont.h @@ -23,6 +23,7 @@ class Dict; class CMap; class CharCodeToUnicode; +class TrueTypeFontFile; struct GfxFontCIDWidths; //------------------------------------------------------------------------ @@ -104,6 +105,10 @@ public: // Get base font name. GString *getName() { return name; } + // Get the original font name (ignornig any munging that might have + // been done to map to a canonical Base-14 font name). + GString *getOrigName() { return origName; } + // Get font type. GfxFontType getType() { return type; } virtual GBool isCIDFont() { return gFalse; } @@ -158,12 +163,14 @@ public: protected: void readFontDescriptor(XRef *xref, Dict *fontDict); - CharCodeToUnicode *readToUnicodeCMap(Dict *fontDict, int nBits); + CharCodeToUnicode *readToUnicodeCMap(Dict *fontDict, int nBits, + CharCodeToUnicode *ctu); void findExtFontFile(); GString *tag; // PDF font tag Ref id; // reference (used as unique ID) GString *name; // font name + GString *origName; // original font name GfxFontType type; // type of font int flags; // font descriptor flags GString *embFontName; // name of embedded font @@ -205,9 +212,16 @@ public: // Returns true if the PDF font specified an encoding. GBool getHasEncoding() { return hasEncoding; } - // Get width of a character or string. + // Returns true if the PDF font specified MacRomanEncoding. + GBool getUsesMacRomanEnc() { return usesMacRomanEnc; } + + // Get width of a character. double getWidth(Guchar c) { return widths[c]; } + // Return a char code-to-GID mapping for the provided font file. + // (This is only useful for TrueType fonts.) + Gushort *getCodeToGIDMap(TrueTypeFontFile *ff); + // Return the Type 3 CharProc dictionary, or NULL if none. Dict *getCharProcs(); @@ -224,6 +238,7 @@ private: // the string is malloc'ed CharCodeToUnicode *ctu; // char code --> Unicode GBool hasEncoding; + GBool usesMacRomanEnc; double widths[256]; // character widths Object charProcs; // Type 3 CharProcs dictionary Object resources; // Type 3 Resources dictionary @@ -279,7 +294,7 @@ class GfxFontDict { public: // Build the font dictionary, given the PDF font dictionary. - GfxFontDict(XRef *xref, Dict *fontDict); + GfxFontDict(XRef *xref, Ref *fontDictRef, Dict *fontDict); // Destructor. ~GfxFontDict();