]> asedeno.scripts.mit.edu Git - PuTTY.git/blobdiff - unix/gtkfont.h
Merge branch 'pre-0.64'
[PuTTY.git] / unix / gtkfont.h
index 72f1f6bf6a56dc43864f7534f168680bac3288e5..1ed202bfc134c91d1af829f88ddefff704f31829 100644 (file)
@@ -28,6 +28,14 @@ typedef struct unifont {
      * Font dimensions needed by clients.
      */
     int width, height, ascent, descent;
+
+    /*
+     * Indicates whether this font is capable of handling all glyphs
+     * (Pango fonts can do this because Pango automatically supplies
+     * missing glyphs from other fonts), or whether it would like a
+     * fallback font to cope with missing glyphs.
+     */
+    int want_fallback;
 } unifont;
 
 unifont *unifont_create(GtkWidget *widget, const char *name,
@@ -38,6 +46,18 @@ void unifont_draw_text(GdkDrawable *target, GdkGC *gc, unifont *font,
                       int x, int y, const wchar_t *string, int len,
                       int wide, int bold, int cellwidth);
 
+/*
+ * This function behaves exactly like the low-level unifont_create,
+ * except that as well as the requested font it also allocates (if
+ * necessary) a fallback font for filling in replacement glyphs.
+ *
+ * Return value is usable with unifont_destroy and unifont_draw_text
+ * as if it were an ordinary unifont.
+ */
+unifont *multifont_create(GtkWidget *widget, const char *name,
+                          int wide, int bold,
+                          int shadowoffset, int shadowalways);
+
 /*
  * Unified font selector dialog. I can't be bothered to do a
  * proper GTK subclassing today, so this will just be an ordinary