]> www.fi.muni.cz Git - evince.git/blobdiff - pdf/xpdf/GlobalParams.h
Enanche the find interface to be really able to do multi page find.
[evince.git] / pdf / xpdf / GlobalParams.h
index 472beed9902fddf13916c047fd821daac9bab4b7..b09925677510e8cf5ead42d1354b92ccb93a750d 100644 (file)
@@ -16,6 +16,7 @@
 #endif
 
 #include <stdio.h>
 #endif
 
 #include <stdio.h>
+#include <fontconfig/fontconfig.h>
 #include "gtypes.h"
 #include "CharTypes.h"
 
 #include "gtypes.h"
 #include "CharTypes.h"
 
@@ -43,7 +44,6 @@ extern GlobalParams *globalParams;
 //------------------------------------------------------------------------
 
 enum DisplayFontParamKind {
 //------------------------------------------------------------------------
 
 enum DisplayFontParamKind {
-  displayFontX,
   displayFontT1,
   displayFontTT
 };
   displayFontT1,
   displayFontTT
 };
@@ -56,10 +56,6 @@ public:
                                //   generic CID fonts
   DisplayFontParamKind kind;
   union {
                                //   generic CID fonts
   DisplayFontParamKind kind;
   union {
-    struct {
-      GString *xlfd;
-      GString *encoding;
-    } x;
     struct {
       GString *fileName;
     } t1;
     struct {
       GString *fileName;
     } t1;
@@ -69,18 +65,9 @@ public:
   };
 
   DisplayFontParam(GString *nameA, DisplayFontParamKind kindA);
   };
 
   DisplayFontParam(GString *nameA, DisplayFontParamKind kindA);
-  DisplayFontParam(char *nameA, char *xlfdA, char *encodingA);
   ~DisplayFontParam();
 };
 
   ~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 {
 //------------------------------------------------------------------------
 
 class PSFontParam {
@@ -129,6 +116,9 @@ public:
 
   ~GlobalParams();
 
 
   ~GlobalParams();
 
+  void setupBaseFonts(char *dir);
+  void setupBaseFontsFc(FcConfig *fcConfig);
+
   //----- accessors
 
   CharCode getMacRomanCharCode(char *charName);
   //----- accessors
 
   CharCode getMacRomanCharCode(char *charName);
@@ -143,7 +133,12 @@ public:
   GString *getPSFile();
   int getPSPaperWidth();
   int getPSPaperHeight();
   GString *getPSFile();
   int getPSPaperWidth();
   int getPSPaperHeight();
+  void getPSImageableArea(int *llx, int *lly, int *urx, int *ury);
   GBool getPSDuplex();
   GBool getPSDuplex();
+  GBool getPSCrop();
+  GBool getPSExpandSmaller();
+  GBool getPSShrinkLarger();
+  GBool getPSCenter();
   PSLevel getPSLevel();
   PSFontParam *getPSFont(GString *fontName);
   PSFontParam *getPSFont16(GString *fontName, GString *collection, int wMode);
   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();
   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();
   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);
   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 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);
   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);
   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);
   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);
                        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,
   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 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);
   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);
   UnicodeMap *getUnicodeMap2(GString *encodingName);
-  GBool setFontRastControl(FontRastControl *val, char *s);
 
   //----- static tables
 
 
   //----- 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
   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
   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
   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)?
   GString *urlCommand;         // command executed for URL links
   GString *movieCommand;       // command executed for movie annotations
   GBool mapNumericCharNames;   // map numeric char names (from font subsets)?