summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/drivers/Cairo/Fl_Cairo_Graphics_Driver.cxx26
-rw-r--r--src/drivers/Wayland/fl_wayland_platform_init.cxx23
-rw-r--r--src/drivers/X11/fl_X11_platform_init.cxx98
-rw-r--r--src/drivers/Xlib/Fl_Xlib_Graphics_Driver_font_x.cxx23
-rw-r--r--src/drivers/Xlib/Fl_Xlib_Graphics_Driver_font_xft.cxx70
5 files changed, 125 insertions, 115 deletions
diff --git a/src/drivers/Cairo/Fl_Cairo_Graphics_Driver.cxx b/src/drivers/Cairo/Fl_Cairo_Graphics_Driver.cxx
index 12e7e2311..6c306e111 100644
--- a/src/drivers/Cairo/Fl_Cairo_Graphics_Driver.cxx
+++ b/src/drivers/Cairo/Fl_Cairo_Graphics_Driver.cxx
@@ -911,37 +911,15 @@ int Fl_Cairo_Graphics_Driver::descent() {
}
-static Fl_Fontdesc built_in_table[] = { // Pango font names
- {"Sans"},
- {"Sans Bold"},
- {"Sans Italic"},
- {"Sans Bold Italic"},
- {"Monospace"},
- {"Monospace Bold"},
- {"Monospace Italic"},
- {"Monospace Bold Italic"},
- {"Serif"},
- {"Serif Bold"},
- {"Serif Italic"},
- {"Serif Bold Italic"},
- {"Standard Symbols PS"}, // FL_SYMBOL
- {"Monospace"}, // FL_SCREEN
- {"Monospace Bold"}, // FL_SCREEN_BOLD
- {"D050000L"}, // FL_ZAPF_DINGBATS
-};
+extern Fl_Fontdesc *fl_fonts;
-#if FLTK_USE_WAYLAND
- FL_EXPORT Fl_Fontdesc *fl_fonts = built_in_table;
-#else
- extern Fl_Fontdesc *fl_fonts;
-#endif
void Fl_Cairo_Graphics_Driver::init_built_in_fonts() {
static int i = 0;
if (!i) {
while (i < FL_FREE_FONT) {
i++;
- Fl::set_font((Fl_Font)i-1, built_in_table[i-1].name);
+ Fl::set_font((Fl_Font)i-1, fl_fonts[i-1].name);
}
}
}
diff --git a/src/drivers/Wayland/fl_wayland_platform_init.cxx b/src/drivers/Wayland/fl_wayland_platform_init.cxx
index e6aebd174..4500a0f45 100644
--- a/src/drivers/Wayland/fl_wayland_platform_init.cxx
+++ b/src/drivers/Wayland/fl_wayland_platform_init.cxx
@@ -29,6 +29,29 @@ Fl_Copy_Surface_Driver *Fl_Copy_Surface_Driver::newCopySurfaceDriver(int w, int
}
+static Fl_Fontdesc built_in_table[] = { // Pango font names
+ {"Sans"},
+ {"Sans Bold"},
+ {"Sans Italic"},
+ {"Sans Bold Italic"},
+ {"Monospace"},
+ {"Monospace Bold"},
+ {"Monospace Italic"},
+ {"Monospace Bold Italic"},
+ {"Serif"},
+ {"Serif Bold"},
+ {"Serif Italic"},
+ {"Serif Bold Italic"},
+ {"Standard Symbols PS"}, // FL_SYMBOL
+ {"Monospace"}, // FL_SCREEN
+ {"Monospace Bold"}, // FL_SCREEN_BOLD
+ {"D050000L"}, // FL_ZAPF_DINGBATS
+};
+
+
+FL_EXPORT Fl_Fontdesc *fl_fonts = built_in_table;
+
+
Fl_Graphics_Driver *Fl_Graphics_Driver::newMainGraphicsDriver()
{
fl_graphics_driver = new Fl_Wayland_Graphics_Driver();
diff --git a/src/drivers/X11/fl_X11_platform_init.cxx b/src/drivers/X11/fl_X11_platform_init.cxx
index 6c528a7cb..3bcf21370 100644
--- a/src/drivers/X11/fl_X11_platform_init.cxx
+++ b/src/drivers/X11/fl_X11_platform_init.cxx
@@ -14,13 +14,14 @@
// https://www.fltk.org/bugs.php
//
-
+#include <FL/platform.H>
#include "../Xlib/Fl_Xlib_Copy_Surface_Driver.H"
#include "../Xlib/Fl_Xlib_Graphics_Driver.H"
#include "Fl_X11_Screen_Driver.H"
#include "Fl_X11_System_Driver.H"
#include "Fl_X11_Window_Driver.H"
#include "../Xlib/Fl_Xlib_Image_Surface_Driver.H"
+#include "../Xlib/Fl_Font.H"
Fl_Copy_Surface_Driver *Fl_Copy_Surface_Driver::newCopySurfaceDriver(int w, int h)
@@ -29,6 +30,101 @@ Fl_Copy_Surface_Driver *Fl_Copy_Surface_Driver::newCopySurfaceDriver(int w, int
}
+#if !USE_XFT
+
+// WARNING: if you add to this table, you must redefine FL_FREE_FONT
+// in Enumerations.H & recompile!!
+static Fl_Xlib_Fontdesc built_in_table[] = {
+{"-*-helvetica-medium-r-normal--*"},
+{"-*-helvetica-bold-r-normal--*"},
+{"-*-helvetica-medium-o-normal--*"},
+{"-*-helvetica-bold-o-normal--*"},
+{"-*-courier-medium-r-normal--*"},
+{"-*-courier-bold-r-normal--*"},
+{"-*-courier-medium-o-normal--*"},
+{"-*-courier-bold-o-normal--*"},
+{"-*-times-medium-r-normal--*"},
+{"-*-times-bold-r-normal--*"},
+{"-*-times-medium-i-normal--*"},
+{"-*-times-bold-i-normal--*"},
+{"-*-symbol-*"},
+{"-*-lucidatypewriter-medium-r-normal-sans-*"},
+{"-*-lucidatypewriter-bold-r-normal-sans-*"},
+{"-*-*zapf dingbats-*"}
+};
+
+#else // USE_XFT
+
+#if ! USE_PANGO
+
+// The predefined fonts that FLTK has:
+static Fl_Fontdesc built_in_table[] = {
+#if 1
+ {" sans"},
+ {"Bsans"},
+ {"Isans"},
+ {"Psans"},
+ {" mono"},
+ {"Bmono"},
+ {"Imono"},
+ {"Pmono"},
+ {" serif"},
+ {"Bserif"},
+ {"Iserif"},
+ {"Pserif"},
+ {" symbol"},
+ {" screen"},
+ {"Bscreen"},
+ {" zapf dingbats"},
+#else
+ {" helvetica"},
+ {"Bhelvetica"},
+ {"Ihelvetica"},
+ {"Phelvetica"},
+ {" courier"},
+ {"Bcourier"},
+ {"Icourier"},
+ {"Pcourier"},
+ {" times"},
+ {"Btimes"},
+ {"Itimes"},
+ {"Ptimes"},
+ {" symbol"},
+ {" lucidatypewriter"},
+ {"Blucidatypewriter"},
+ {" zapf dingbats"},
+#endif
+};
+
+#else
+
+// The predefined fonts that FLTK has with Pango:
+static Fl_Fontdesc built_in_table[] = {
+ {"Sans"},
+ {"Sans Bold"},
+ {"Sans Italic"},
+ {"Sans Bold Italic"},
+ {"Monospace"},
+ {"Monospace Bold"},
+ {"Monospace Italic"},
+ {"Monospace Bold Italic"},
+ {"Serif"},
+ {"Serif Bold"},
+ {"Serif Italic"},
+ {"Serif Bold Italic"},
+ {"Sans"},
+ {"Monospace"},
+ {"Monospace Bold"},
+ {"Sans"},
+};
+
+#endif // USE_PANGO
+
+#endif // USE_XFT
+
+FL_EXPORT Fl_Fontdesc* fl_fonts = (Fl_Fontdesc*)built_in_table;
+
+
Fl_Graphics_Driver *Fl_Graphics_Driver::newMainGraphicsDriver()
{
return new Fl_Xlib_Graphics_Driver();
diff --git a/src/drivers/Xlib/Fl_Xlib_Graphics_Driver_font_x.cxx b/src/drivers/Xlib/Fl_Xlib_Graphics_Driver_font_x.cxx
index 30e31b2b1..da2d2b303 100644
--- a/src/drivers/Xlib/Fl_Xlib_Graphics_Driver_font_x.cxx
+++ b/src/drivers/Xlib/Fl_Xlib_Graphics_Driver_font_x.cxx
@@ -387,28 +387,7 @@ Fl_Xlib_Font_Descriptor::~Fl_Xlib_Font_Descriptor() {
////////////////////////////////////////////////////////////////
-// WARNING: if you add to this table, you must redefine FL_FREE_FONT
-// in Enumerations.H & recompile!!
-static Fl_Xlib_Fontdesc built_in_table[] = {
-{"-*-helvetica-medium-r-normal--*"},
-{"-*-helvetica-bold-r-normal--*"},
-{"-*-helvetica-medium-o-normal--*"},
-{"-*-helvetica-bold-o-normal--*"},
-{"-*-courier-medium-r-normal--*"},
-{"-*-courier-bold-r-normal--*"},
-{"-*-courier-medium-o-normal--*"},
-{"-*-courier-bold-o-normal--*"},
-{"-*-times-medium-r-normal--*"},
-{"-*-times-bold-r-normal--*"},
-{"-*-times-medium-i-normal--*"},
-{"-*-times-bold-i-normal--*"},
-{"-*-symbol-*"},
-{"-*-lucidatypewriter-medium-r-normal-sans-*"},
-{"-*-lucidatypewriter-bold-r-normal-sans-*"},
-{"-*-*zapf dingbats-*"}
-};
-
-Fl_Fontdesc* fl_fonts = (Fl_Fontdesc*)built_in_table;
+extern Fl_Fontdesc* fl_fonts;
#define MAXSIZE 32767
diff --git a/src/drivers/Xlib/Fl_Xlib_Graphics_Driver_font_xft.cxx b/src/drivers/Xlib/Fl_Xlib_Graphics_Driver_font_xft.cxx
index 5e27c71bc..c438dd5d5 100644
--- a/src/drivers/Xlib/Fl_Xlib_Graphics_Driver_font_xft.cxx
+++ b/src/drivers/Xlib/Fl_Xlib_Graphics_Driver_font_xft.cxx
@@ -43,73 +43,7 @@ static void fl_xft_font(Fl_Xlib_Graphics_Driver *driver, Fl_Font fnum, Fl_Fontsi
XftDraw* Fl_Xlib_Graphics_Driver::draw_ = 0;
Window Fl_Xlib_Graphics_Driver::draw_window = (Window)0;
-
-#if ! USE_PANGO
-
-// The predefined fonts that FLTK has:
-static Fl_Fontdesc built_in_table[] = {
-#if 1
- {" sans"},
- {"Bsans"},
- {"Isans"},
- {"Psans"},
- {" mono"},
- {"Bmono"},
- {"Imono"},
- {"Pmono"},
- {" serif"},
- {"Bserif"},
- {"Iserif"},
- {"Pserif"},
- {" symbol"},
- {" screen"},
- {"Bscreen"},
- {" zapf dingbats"},
-#else
- {" helvetica"},
- {"Bhelvetica"},
- {"Ihelvetica"},
- {"Phelvetica"},
- {" courier"},
- {"Bcourier"},
- {"Icourier"},
- {"Pcourier"},
- {" times"},
- {"Btimes"},
- {"Itimes"},
- {"Ptimes"},
- {" symbol"},
- {" lucidatypewriter"},
- {"Blucidatypewriter"},
- {" zapf dingbats"},
-#endif
-};
-
-#else
-
-// The predefined fonts that FLTK has with Pango:
-static Fl_Fontdesc built_in_table[] = {
- {"Sans"},
- {"Sans Bold"},
- {"Sans Italic"},
- {"Sans Bold Italic"},
- {"Monospace"},
- {"Monospace Bold"},
- {"Monospace Italic"},
- {"Monospace Bold Italic"},
- {"Serif"},
- {"Serif Bold"},
- {"Serif Italic"},
- {"Serif Bold Italic"},
- {"Sans"},
- {"Monospace"},
- {"Monospace Bold"},
- {"Sans"},
-};
-
-#endif // USE_PANGO
-
-Fl_Fontdesc* fl_fonts = built_in_table;
+extern Fl_Fontdesc* fl_fonts;
Fl_Fontsize Fl_Xlib_Graphics_Driver::size_unscaled() {
return (Fl_Fontsize)(size_);
@@ -1441,7 +1375,7 @@ void Fl_Xlib_Graphics_Driver::init_built_in_fonts() {
if (!i) {
while (i < FL_FREE_FONT) {
i++;
- Fl::set_font((Fl_Font)i-1, built_in_table[i-1].name);
+ Fl::set_font((Fl_Font)i-1, fl_fonts[i-1].name);
}
}
}