+ // (this flag is used for text output)
+};
+
+#if HAVE_T1LIB_H
+//------------------------------------------------------------------------
+// XOutputT1Font
+//------------------------------------------------------------------------
+
+class XOutputT1Font: public XOutputFont {
+public:
+
+ XOutputT1Font(GfxFont *gfxFont, GString *pdfBaseFont,
+ double m11, double m12, double m21, double m22,
+ double size, double ntm11, double ntm12,
+ double ntm21, double ntm22,
+ Display *display, XOutputFontCache *cache);
+
+ virtual ~XOutputT1Font();
+
+ // Was font created successfully?
+ virtual GBool isOk();
+
+ // Update <gc> with this font.
+ virtual void updateGC(GC gc);
+
+ // Draw character <c> at <x>,<y>.
+ virtual void drawChar(GfxState *state, Pixmap pixmap, GC gc,
+ double x, double y, int c);
+
+private:
+
+ float size; // font size
+ int t1ID; // t1lib font ID
+ GBool t1libAA; // true for anti-aliased fonts
+};
+#endif
+
+//------------------------------------------------------------------------
+// XOutputServerFont
+//------------------------------------------------------------------------
+
+class XOutputServerFont: public XOutputFont {
+public:
+
+ XOutputServerFont(GfxFont *gfxFont, char *fontNameFmt,
+ FontEncoding *encoding,
+ double m11, double m12, double m21, double m22,
+ double size, double ntm11, double ntm12,
+ double ntm21, double ntm22,
+ Display *display, XOutputFontCache *cache);
+
+ virtual ~XOutputServerFont();
+
+ // Was font created successfully?
+ virtual GBool isOk();
+
+ // Update <gc> with this font.
+ virtual void updateGC(GC gc);
+
+ // Draw character <c> at <x>,<y>.
+ virtual void drawChar(GfxState *state, Pixmap pixmap, GC gc,
+ double x, double y, int c);
+
+private:
+
+ XFontStruct *xFont; // the X font
+ Gushort map[256]; // forward map (PDF code -> font code)
+ Guchar revMap[256]; // reverese map (font code -> PDF code)