X-Git-Url: https://www.fi.muni.cz/~kas/git//home/kas/public_html/git/?a=blobdiff_plain;ds=sidebyside;f=pdf%2Fxpdf%2FGlobalParams.h;h=b09925677510e8cf5ead42d1354b92ccb93a750d;hb=ae6a79781ff5126c19c84570277376f43158ec86;hp=472beed9902fddf13916c047fd821daac9bab4b7;hpb=ad63666daeeda50acc7630132d61fe044634fddd;p=evince.git diff --git a/pdf/xpdf/GlobalParams.h b/pdf/xpdf/GlobalParams.h index 472beed9..b0992567 100644 --- a/pdf/xpdf/GlobalParams.h +++ b/pdf/xpdf/GlobalParams.h @@ -16,6 +16,7 @@ #endif #include +#include #include "gtypes.h" #include "CharTypes.h" @@ -43,7 +44,6 @@ extern GlobalParams *globalParams; //------------------------------------------------------------------------ enum DisplayFontParamKind { - displayFontX, displayFontT1, displayFontTT }; @@ -56,10 +56,6 @@ public: // generic CID fonts DisplayFontParamKind kind; union { - struct { - GString *xlfd; - GString *encoding; - } x; struct { GString *fileName; } t1; @@ -69,18 +65,9 @@ public: }; DisplayFontParam(GString *nameA, DisplayFontParamKind kindA); - DisplayFontParam(char *nameA, char *xlfdA, char *encodingA); ~DisplayFontParam(); }; -// Font rasterizer control. -enum FontRastControl { - fontRastNone, // don't use this rasterizer - fontRastPlain, // use it, without anti-aliasing - fontRastAALow, // use it, with low-level anti-aliasing - fontRastAAHigh // use it, with high-level anti-aliasing -}; - //------------------------------------------------------------------------ class PSFontParam { @@ -129,6 +116,9 @@ public: ~GlobalParams(); + void setupBaseFonts(char *dir); + void setupBaseFontsFc(FcConfig *fcConfig); + //----- accessors CharCode getMacRomanCharCode(char *charName); @@ -143,7 +133,12 @@ public: GString *getPSFile(); int getPSPaperWidth(); int getPSPaperHeight(); + void getPSImageableArea(int *llx, int *lly, int *urx, int *ury); GBool getPSDuplex(); + GBool getPSCrop(); + GBool getPSExpandSmaller(); + GBool getPSShrinkLarger(); + GBool getPSCenter(); PSLevel getPSLevel(); PSFontParam *getPSFont(GString *fontName); PSFontParam *getPSFont16(GString *fontName, GString *collection, int wMode); @@ -159,8 +154,9 @@ public: GBool getTextKeepTinyChars(); GString *findFontFile(GString *fontName, char **exts); GString *getInitialZoom(); - FontRastControl getT1libControl(); - FontRastControl getFreeTypeControl(); + GBool getEnableT1lib(); + GBool getEnableFreeType(); + GBool getAntialias(); GString *getURLCommand() { return urlCommand; } GString *getMovieCommand() { return movieCommand; } GBool getMapNumericCharNames(); @@ -180,7 +176,12 @@ public: GBool setPSPaperSize(char *size); void setPSPaperWidth(int width); void setPSPaperHeight(int height); + void setPSImageableArea(int llx, int lly, int urx, int ury); void setPSDuplex(GBool duplex); + void setPSCrop(GBool crop); + void setPSExpandSmaller(GBool expand); + void setPSShrinkLarger(GBool shrink); + void setPSCenter(GBool center); void setPSLevel(PSLevel level); void setPSEmbedType1(GBool embed); void setPSEmbedTrueType(GBool embed); @@ -193,8 +194,9 @@ public: void setTextPageBreaks(GBool pageBreaks); void setTextKeepTinyChars(GBool keep); void setInitialZoom(char *s); - GBool setT1libControl(char *s); - GBool setFreeTypeControl(char *s); + GBool setEnableT1lib(char *s); + GBool setEnableFreeType(char *s); + GBool setAntialias(char *s); void setMapNumericCharNames(GBool map); void setPrintCommands(GBool printCommandsA); void setErrQuiet(GBool errQuietA); @@ -213,6 +215,7 @@ private: GString *fileName, int line); void parsePSFile(GList *tokens, GString *fileName, int line); void parsePSPaperSize(GList *tokens, GString *fileName, int line); + void parsePSImageableArea(GList *tokens, GString *fileName, int line); void parsePSLevel(GList *tokens, GString *fileName, int line); void parsePSFont(GList *tokens, GString *fileName, int line); void parsePSFont16(char *cmdName, GList *fontList, @@ -221,14 +224,12 @@ private: void parseTextEOL(GList *tokens, GString *fileName, int line); void parseFontDir(GList *tokens, GString *fileName, int line); void parseInitialZoom(GList *tokens, GString *fileName, int line); - void parseFontRastControl(char *cmdName, FontRastControl *val, - GList *tokens, GString *fileName, int line); void parseCommand(char *cmdName, GString **val, GList *tokens, GString *fileName, int line); void parseYesNo(char *cmdName, GBool *flag, GList *tokens, GString *fileName, int line); + GBool parseYesNo2(char *token, GBool *flag); UnicodeMap *getUnicodeMap2(GString *encodingName); - GBool setFontRastControl(FontRastControl *val, char *s); //----- static tables @@ -260,6 +261,14 @@ private: GString *psFile; // PostScript file or command (for xpdf) int psPaperWidth; // paper size, in PostScript points, for int psPaperHeight; // PostScript output + int psImageableLLX, // imageable area, in PostScript points, + psImageableLLY, // for PostScript output + psImageableURX, + psImageableURY; + GBool psCrop; // crop PS output to CropBox + GBool psExpandSmaller; // expand smaller pages to fill paper + GBool psShrinkLarger; // shrink larger pages to fit paper + GBool psCenter; // center pages on the paper GBool psDuplex; // enable duplexing in PostScript? PSLevel psLevel; // PostScript level to generate GHash *psFonts; // PostScript font info, indexed by PDF @@ -280,9 +289,9 @@ private: GBool textKeepTinyChars; // keep all characters in text output GList *fontDirs; // list of font dirs [GString] GString *initialZoom; // initial zoom level - FontRastControl t1libControl; // t1lib rasterization mode - FontRastControl // FreeType rasterization mode - freetypeControl; + GBool enableT1lib; // t1lib enable flag + GBool enableFreeType; // FreeType enable flag + GBool antialias; // anti-aliasing enable flag GString *urlCommand; // command executed for URL links GString *movieCommand; // command executed for movie annotations GBool mapNumericCharNames; // map numeric char names (from font subsets)?