From 081d8d96db3bfe4dc490a6244b17184366846738 Mon Sep 17 00:00:00 2001
From: Paul Cornett <paulcor@bullseye.com>
Date: Fri, 7 Jan 2011 05:26:57 +0000
Subject: [PATCH] Move wxColourData and wxFontData into separate files. This
 eliminates a linking dependency that would drag in the printing code for any
 program that used wxColourDialog or wxFontDialog (which is currently all of
 them, due to more link dependencies...)

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66615 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
---
 Makefile.in                      |  42 ++++++++++
 build/bakefiles/files.bkl        |   4 +
 build/msw/makefile.bcc           |  56 +++++++++++++
 build/msw/makefile.gcc           |  56 +++++++++++++
 build/msw/makefile.vc            |  56 +++++++++++++
 build/msw/makefile.wat           |  56 +++++++++++++
 build/msw/wx_core.dsp            |  16 ++++
 build/msw/wx_vc7_core.vcproj     |  12 +++
 build/msw/wx_vc8_core.vcproj     |  16 ++++
 build/msw/wx_vc9_core.vcproj     |  16 ++++
 include/wx/cmndata.h             | 139 +------------------------------
 include/wx/colordlg.h            |   6 +-
 include/wx/colourdata.h          |  52 ++++++++++++
 include/wx/dc.h                  |   2 +-
 include/wx/font.h                |   3 -
 include/wx/fontdata.h            |  71 ++++++++++++++++
 include/wx/fontdlg.h             |   2 +-
 include/wx/generic/clrpickerg.h  |   2 +-
 include/wx/generic/colrdlgg.h    |   8 +-
 include/wx/generic/fontdlgg.h    |   3 -
 include/wx/generic/fontpickerg.h |   2 +-
 include/wx/gtk/colordlg.h        |   1 -
 include/wx/gtk1/colordlg.h       |   1 -
 include/wx/msw/colordlg.h        |   2 -
 include/wx/os2/fontdlg.h         |   1 -
 include/wx/osx/colordlg.h        |   2 -
 include/wx/osx/fontdlg.h         |   1 -
 include/wx/palmos/colordlg.h     |   1 -
 include/wx/wx.h                  |   1 -
 samples/propgrid/sampleprops.cpp |   4 +-
 src/common/cmndata.cpp           | 133 +----------------------------
 src/common/colourdata.cpp        | 108 ++++++++++++++++++++++++
 src/common/fontdata.cpp          |  69 +++++++++++++++
 src/common/fontmap.cpp           |   6 ++
 src/generic/colrdlgg.cpp         |   1 +
 src/generic/dirctrlg.cpp         |   1 -
 src/generic/fontdlgg.cpp         |   1 -
 src/generic/graphicc.cpp         |   3 +
 src/gtk/font.cpp                 |   1 -
 src/gtk/settings.cpp             |   1 -
 src/gtk1/font.cpp                |   1 -
 src/gtk1/settings.cpp            |   1 -
 src/msw/colordlg.cpp             |   2 -
 src/msw/font.cpp                 |   5 +-
 src/msw/fontdlg.cpp              |   1 -
 src/msw/fontenum.cpp             |   8 +-
 src/msw/fontutil.cpp             |   9 +-
 src/os2/dirdlg.cpp               |   1 -
 src/os2/fontdlg.cpp              |   1 -
 src/osx/carbon/dirdlg.cpp        |   1 -
 src/palmos/colordlg.cpp          |   1 -
 src/palmos/fontdlg.cpp           |   1 -
 52 files changed, 668 insertions(+), 322 deletions(-)
 create mode 100644 include/wx/colourdata.h
 create mode 100644 include/wx/fontdata.h
 create mode 100644 src/common/colourdata.cpp
 create mode 100644 src/common/fontdata.cpp

diff --git a/Makefile.in b/Makefile.in
index e258d4dce2..e10f0d209f 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -3943,6 +3943,7 @@ COND_USE_GUI_1_ALL_GUI_HEADERS =  \
 	wx/cmdproc.h \
 	wx/colordlg.h \
 	wx/colour.h \
+	wx/colourdata.h \
 	wx/cshelp.h \
 	wx/dataobj.h \
 	wx/dcmirror.h \
@@ -3963,6 +3964,7 @@ COND_USE_GUI_1_ALL_GUI_HEADERS =  \
 	wx/fontpicker.h \
 	wx/fmappriv.h \
 	wx/font.h \
+	wx/fontdata.h \
 	wx/fontdlg.h \
 	wx/fontenum.h \
 	wx/fontutil.h \
@@ -4480,6 +4482,7 @@ COND_USE_GUI_1_WXUNIV_0___CORE_SRC_OBJECTS =  \
 	monodll_clipcmn.o \
 	monodll_clrpickercmn.o \
 	monodll_colourcmn.o \
+	monodll_colourdata.o \
 	monodll_combocmn.o \
 	monodll_cmdproc.o \
 	monodll_cmndata.o \
@@ -4507,6 +4510,7 @@ COND_USE_GUI_1_WXUNIV_0___CORE_SRC_OBJECTS =  \
 	monodll_fontpickercmn.o \
 	monodll_fldlgcmn.o \
 	monodll_fontcmn.o \
+	monodll_fontdata.o \
 	monodll_graphicc.o \
 	monodll_fontenumcmn.o \
 	monodll_fontmap.o \
@@ -4691,6 +4695,7 @@ COND_USE_GUI_1_WXUNIV_1___CORE_SRC_OBJECTS =  \
 	monodll_clipcmn.o \
 	monodll_clrpickercmn.o \
 	monodll_colourcmn.o \
+	monodll_colourdata.o \
 	monodll_combocmn.o \
 	monodll_cmdproc.o \
 	monodll_cmndata.o \
@@ -4718,6 +4723,7 @@ COND_USE_GUI_1_WXUNIV_1___CORE_SRC_OBJECTS =  \
 	monodll_fontpickercmn.o \
 	monodll_fldlgcmn.o \
 	monodll_fontcmn.o \
+	monodll_fontdata.o \
 	monodll_graphicc.o \
 	monodll_fontenumcmn.o \
 	monodll_fontmap.o \
@@ -6386,6 +6392,7 @@ COND_USE_GUI_1_WXUNIV_0___CORE_SRC_OBJECTS_1 =  \
 	monolib_clipcmn.o \
 	monolib_clrpickercmn.o \
 	monolib_colourcmn.o \
+	monolib_colourdata.o \
 	monolib_combocmn.o \
 	monolib_cmdproc.o \
 	monolib_cmndata.o \
@@ -6413,6 +6420,7 @@ COND_USE_GUI_1_WXUNIV_0___CORE_SRC_OBJECTS_1 =  \
 	monolib_fontpickercmn.o \
 	monolib_fldlgcmn.o \
 	monolib_fontcmn.o \
+	monolib_fontdata.o \
 	monolib_graphicc.o \
 	monolib_fontenumcmn.o \
 	monolib_fontmap.o \
@@ -6597,6 +6605,7 @@ COND_USE_GUI_1_WXUNIV_1___CORE_SRC_OBJECTS_1 =  \
 	monolib_clipcmn.o \
 	monolib_clrpickercmn.o \
 	monolib_colourcmn.o \
+	monolib_colourdata.o \
 	monolib_combocmn.o \
 	monolib_cmdproc.o \
 	monolib_cmndata.o \
@@ -6624,6 +6633,7 @@ COND_USE_GUI_1_WXUNIV_1___CORE_SRC_OBJECTS_1 =  \
 	monolib_fontpickercmn.o \
 	monolib_fldlgcmn.o \
 	monolib_fontcmn.o \
+	monolib_fontdata.o \
 	monolib_graphicc.o \
 	monolib_fontenumcmn.o \
 	monolib_fontmap.o \
@@ -8476,6 +8486,7 @@ COND_USE_GUI_1_WXUNIV_0___CORE_SRC_OBJECTS_2 =  \
 	coredll_clipcmn.o \
 	coredll_clrpickercmn.o \
 	coredll_colourcmn.o \
+	coredll_colourdata.o \
 	coredll_combocmn.o \
 	coredll_cmdproc.o \
 	coredll_cmndata.o \
@@ -8503,6 +8514,7 @@ COND_USE_GUI_1_WXUNIV_0___CORE_SRC_OBJECTS_2 =  \
 	coredll_fontpickercmn.o \
 	coredll_fldlgcmn.o \
 	coredll_fontcmn.o \
+	coredll_fontdata.o \
 	coredll_graphicc.o \
 	coredll_fontenumcmn.o \
 	coredll_fontmap.o \
@@ -8687,6 +8699,7 @@ COND_USE_GUI_1_WXUNIV_1___CORE_SRC_OBJECTS_2 =  \
 	coredll_clipcmn.o \
 	coredll_clrpickercmn.o \
 	coredll_colourcmn.o \
+	coredll_colourdata.o \
 	coredll_combocmn.o \
 	coredll_cmdproc.o \
 	coredll_cmndata.o \
@@ -8714,6 +8727,7 @@ COND_USE_GUI_1_WXUNIV_1___CORE_SRC_OBJECTS_2 =  \
 	coredll_fontpickercmn.o \
 	coredll_fldlgcmn.o \
 	coredll_fontcmn.o \
+	coredll_fontdata.o \
 	coredll_graphicc.o \
 	coredll_fontenumcmn.o \
 	coredll_fontmap.o \
@@ -10044,6 +10058,7 @@ COND_USE_GUI_1_WXUNIV_0___CORE_SRC_OBJECTS_3 =  \
 	corelib_clipcmn.o \
 	corelib_clrpickercmn.o \
 	corelib_colourcmn.o \
+	corelib_colourdata.o \
 	corelib_combocmn.o \
 	corelib_cmdproc.o \
 	corelib_cmndata.o \
@@ -10071,6 +10086,7 @@ COND_USE_GUI_1_WXUNIV_0___CORE_SRC_OBJECTS_3 =  \
 	corelib_fontpickercmn.o \
 	corelib_fldlgcmn.o \
 	corelib_fontcmn.o \
+	corelib_fontdata.o \
 	corelib_graphicc.o \
 	corelib_fontenumcmn.o \
 	corelib_fontmap.o \
@@ -10255,6 +10271,7 @@ COND_USE_GUI_1_WXUNIV_1___CORE_SRC_OBJECTS_3 =  \
 	corelib_clipcmn.o \
 	corelib_clrpickercmn.o \
 	corelib_colourcmn.o \
+	corelib_colourdata.o \
 	corelib_combocmn.o \
 	corelib_cmdproc.o \
 	corelib_cmndata.o \
@@ -10282,6 +10299,7 @@ COND_USE_GUI_1_WXUNIV_1___CORE_SRC_OBJECTS_3 =  \
 	corelib_fontpickercmn.o \
 	corelib_fldlgcmn.o \
 	corelib_fontcmn.o \
+	corelib_fontdata.o \
 	corelib_graphicc.o \
 	corelib_fontenumcmn.o \
 	corelib_fontmap.o \
@@ -19728,6 +19746,9 @@ monodll_sound_sdl.o: $(srcdir)/src/unix/sound_sdl.cpp $(MONODLL_ODEP)
 @COND_USE_GUI_1@monodll_colourcmn.o: $(srcdir)/src/common/colourcmn.cpp $(MONODLL_ODEP)
 @COND_USE_GUI_1@	$(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/common/colourcmn.cpp
 
+@COND_USE_GUI_1@monodll_colourdata.o: $(srcdir)/src/common/colourdata.cpp $(MONODLL_ODEP)
+@COND_USE_GUI_1@	$(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/common/colourdata.cpp
+
 @COND_USE_GUI_1@monodll_combocmn.o: $(srcdir)/src/common/combocmn.cpp $(MONODLL_ODEP)
 @COND_USE_GUI_1@	$(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/common/combocmn.cpp
 
@@ -19809,6 +19830,9 @@ monodll_sound_sdl.o: $(srcdir)/src/unix/sound_sdl.cpp $(MONODLL_ODEP)
 @COND_USE_GUI_1@monodll_fontcmn.o: $(srcdir)/src/common/fontcmn.cpp $(MONODLL_ODEP)
 @COND_USE_GUI_1@	$(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/common/fontcmn.cpp
 
+@COND_USE_GUI_1@monodll_fontdata.o: $(srcdir)/src/common/fontdata.cpp $(MONODLL_ODEP)
+@COND_USE_GUI_1@	$(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/common/fontdata.cpp
+
 @COND_USE_GUI_1@monodll_graphicc.o: $(srcdir)/src/generic/graphicc.cpp $(MONODLL_ODEP)
 @COND_USE_GUI_1@	$(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/generic/graphicc.cpp
 
@@ -24999,6 +25023,9 @@ monolib_sound_sdl.o: $(srcdir)/src/unix/sound_sdl.cpp $(MONOLIB_ODEP)
 @COND_USE_GUI_1@monolib_colourcmn.o: $(srcdir)/src/common/colourcmn.cpp $(MONOLIB_ODEP)
 @COND_USE_GUI_1@	$(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/common/colourcmn.cpp
 
+@COND_USE_GUI_1@monolib_colourdata.o: $(srcdir)/src/common/colourdata.cpp $(MONOLIB_ODEP)
+@COND_USE_GUI_1@	$(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/common/colourdata.cpp
+
 @COND_USE_GUI_1@monolib_combocmn.o: $(srcdir)/src/common/combocmn.cpp $(MONOLIB_ODEP)
 @COND_USE_GUI_1@	$(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/common/combocmn.cpp
 
@@ -25080,6 +25107,9 @@ monolib_sound_sdl.o: $(srcdir)/src/unix/sound_sdl.cpp $(MONOLIB_ODEP)
 @COND_USE_GUI_1@monolib_fontcmn.o: $(srcdir)/src/common/fontcmn.cpp $(MONOLIB_ODEP)
 @COND_USE_GUI_1@	$(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/common/fontcmn.cpp
 
+@COND_USE_GUI_1@monolib_fontdata.o: $(srcdir)/src/common/fontdata.cpp $(MONOLIB_ODEP)
+@COND_USE_GUI_1@	$(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/common/fontdata.cpp
+
 @COND_USE_GUI_1@monolib_graphicc.o: $(srcdir)/src/generic/graphicc.cpp $(MONOLIB_ODEP)
 @COND_USE_GUI_1@	$(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/generic/graphicc.cpp
 
@@ -30447,6 +30477,9 @@ coredll_win32.o: $(srcdir)/src/univ/themes/win32.cpp $(COREDLL_ODEP)
 @COND_USE_GUI_1@coredll_colourcmn.o: $(srcdir)/src/common/colourcmn.cpp $(COREDLL_ODEP)
 @COND_USE_GUI_1@	$(CXXC) -c -o $@ $(COREDLL_CXXFLAGS) $(srcdir)/src/common/colourcmn.cpp
 
+@COND_USE_GUI_1@coredll_colourdata.o: $(srcdir)/src/common/colourdata.cpp $(COREDLL_ODEP)
+@COND_USE_GUI_1@	$(CXXC) -c -o $@ $(COREDLL_CXXFLAGS) $(srcdir)/src/common/colourdata.cpp
+
 @COND_USE_GUI_1@coredll_combocmn.o: $(srcdir)/src/common/combocmn.cpp $(COREDLL_ODEP)
 @COND_USE_GUI_1@	$(CXXC) -c -o $@ $(COREDLL_CXXFLAGS) $(srcdir)/src/common/combocmn.cpp
 
@@ -30528,6 +30561,9 @@ coredll_win32.o: $(srcdir)/src/univ/themes/win32.cpp $(COREDLL_ODEP)
 @COND_USE_GUI_1@coredll_fontcmn.o: $(srcdir)/src/common/fontcmn.cpp $(COREDLL_ODEP)
 @COND_USE_GUI_1@	$(CXXC) -c -o $@ $(COREDLL_CXXFLAGS) $(srcdir)/src/common/fontcmn.cpp
 
+@COND_USE_GUI_1@coredll_fontdata.o: $(srcdir)/src/common/fontdata.cpp $(COREDLL_ODEP)
+@COND_USE_GUI_1@	$(CXXC) -c -o $@ $(COREDLL_CXXFLAGS) $(srcdir)/src/common/fontdata.cpp
+
 @COND_USE_GUI_1@coredll_graphicc.o: $(srcdir)/src/generic/graphicc.cpp $(COREDLL_ODEP)
 @COND_USE_GUI_1@	$(CXXC) -c -o $@ $(COREDLL_CXXFLAGS) $(srcdir)/src/generic/graphicc.cpp
 
@@ -34404,6 +34440,9 @@ corelib_win32.o: $(srcdir)/src/univ/themes/win32.cpp $(CORELIB_ODEP)
 @COND_USE_GUI_1@corelib_colourcmn.o: $(srcdir)/src/common/colourcmn.cpp $(CORELIB_ODEP)
 @COND_USE_GUI_1@	$(CXXC) -c -o $@ $(CORELIB_CXXFLAGS) $(srcdir)/src/common/colourcmn.cpp
 
+@COND_USE_GUI_1@corelib_colourdata.o: $(srcdir)/src/common/colourdata.cpp $(CORELIB_ODEP)
+@COND_USE_GUI_1@	$(CXXC) -c -o $@ $(CORELIB_CXXFLAGS) $(srcdir)/src/common/colourdata.cpp
+
 @COND_USE_GUI_1@corelib_combocmn.o: $(srcdir)/src/common/combocmn.cpp $(CORELIB_ODEP)
 @COND_USE_GUI_1@	$(CXXC) -c -o $@ $(CORELIB_CXXFLAGS) $(srcdir)/src/common/combocmn.cpp
 
@@ -34485,6 +34524,9 @@ corelib_win32.o: $(srcdir)/src/univ/themes/win32.cpp $(CORELIB_ODEP)
 @COND_USE_GUI_1@corelib_fontcmn.o: $(srcdir)/src/common/fontcmn.cpp $(CORELIB_ODEP)
 @COND_USE_GUI_1@	$(CXXC) -c -o $@ $(CORELIB_CXXFLAGS) $(srcdir)/src/common/fontcmn.cpp
 
+@COND_USE_GUI_1@corelib_fontdata.o: $(srcdir)/src/common/fontdata.cpp $(CORELIB_ODEP)
+@COND_USE_GUI_1@	$(CXXC) -c -o $@ $(CORELIB_CXXFLAGS) $(srcdir)/src/common/fontdata.cpp
+
 @COND_USE_GUI_1@corelib_graphicc.o: $(srcdir)/src/generic/graphicc.cpp $(CORELIB_ODEP)
 @COND_USE_GUI_1@	$(CXXC) -c -o $@ $(CORELIB_CXXFLAGS) $(srcdir)/src/generic/graphicc.cpp
 
diff --git a/build/bakefiles/files.bkl b/build/bakefiles/files.bkl
index bf87ba2299..218ea210a8 100644
--- a/build/bakefiles/files.bkl
+++ b/build/bakefiles/files.bkl
@@ -663,6 +663,7 @@ IMPORTANT: please read docs/tech/tn0016.txt before modifying this file!
     src/common/clipcmn.cpp
     src/common/clrpickercmn.cpp
     src/common/colourcmn.cpp
+    src/common/colourdata.cpp
     src/common/combocmn.cpp
     src/common/cmdproc.cpp
     src/common/cmndata.cpp
@@ -690,6 +691,7 @@ IMPORTANT: please read docs/tech/tn0016.txt before modifying this file!
     src/common/fontpickercmn.cpp
     src/common/fldlgcmn.cpp
     src/common/fontcmn.cpp
+    src/common/fontdata.cpp
     src/generic/graphicc.cpp
     src/common/fontenumcmn.cpp
     src/common/fontmap.cpp
@@ -924,6 +926,7 @@ IMPORTANT: please read docs/tech/tn0016.txt before modifying this file!
     wx/cmdproc.h
     wx/colordlg.h
     wx/colour.h
+    wx/colourdata.h
     wx/cshelp.h
     wx/dataobj.h
     wx/dcmirror.h
@@ -944,6 +947,7 @@ IMPORTANT: please read docs/tech/tn0016.txt before modifying this file!
     wx/fontpicker.h
     wx/fmappriv.h
     wx/font.h
+    wx/fontdata.h
     wx/fontdlg.h
     wx/fontenum.h
     wx/fontutil.h
diff --git a/build/msw/makefile.bcc b/build/msw/makefile.bcc
index 2488e1d74b..cc59e31472 100644
--- a/build/msw/makefile.bcc
+++ b/build/msw/makefile.bcc
@@ -1801,6 +1801,7 @@ ____CORE_SRC_FILENAMES_OBJECTS =  \
 	$(OBJS)\monodll_clipcmn.obj \
 	$(OBJS)\monodll_clrpickercmn.obj \
 	$(OBJS)\monodll_colourcmn.obj \
+	$(OBJS)\monodll_colourdata.obj \
 	$(OBJS)\monodll_combocmn.obj \
 	$(OBJS)\monodll_cmdproc.obj \
 	$(OBJS)\monodll_cmndata.obj \
@@ -1828,6 +1829,7 @@ ____CORE_SRC_FILENAMES_OBJECTS =  \
 	$(OBJS)\monodll_fontpickercmn.obj \
 	$(OBJS)\monodll_fldlgcmn.obj \
 	$(OBJS)\monodll_fontcmn.obj \
+	$(OBJS)\monodll_fontdata.obj \
 	$(OBJS)\monodll_graphicc.obj \
 	$(OBJS)\monodll_fontenumcmn.obj \
 	$(OBJS)\monodll_fontmap.obj \
@@ -2060,6 +2062,7 @@ ____CORE_SRC_FILENAMES_OBJECTS =  \
 	$(OBJS)\monodll_clipcmn.obj \
 	$(OBJS)\monodll_clrpickercmn.obj \
 	$(OBJS)\monodll_colourcmn.obj \
+	$(OBJS)\monodll_colourdata.obj \
 	$(OBJS)\monodll_combocmn.obj \
 	$(OBJS)\monodll_cmdproc.obj \
 	$(OBJS)\monodll_cmndata.obj \
@@ -2087,6 +2090,7 @@ ____CORE_SRC_FILENAMES_OBJECTS =  \
 	$(OBJS)\monodll_fontpickercmn.obj \
 	$(OBJS)\monodll_fldlgcmn.obj \
 	$(OBJS)\monodll_fontcmn.obj \
+	$(OBJS)\monodll_fontdata.obj \
 	$(OBJS)\monodll_graphicc.obj \
 	$(OBJS)\monodll_fontenumcmn.obj \
 	$(OBJS)\monodll_fontmap.obj \
@@ -2551,6 +2555,7 @@ ____CORE_SRC_FILENAMES_1_OBJECTS =  \
 	$(OBJS)\monolib_clipcmn.obj \
 	$(OBJS)\monolib_clrpickercmn.obj \
 	$(OBJS)\monolib_colourcmn.obj \
+	$(OBJS)\monolib_colourdata.obj \
 	$(OBJS)\monolib_combocmn.obj \
 	$(OBJS)\monolib_cmdproc.obj \
 	$(OBJS)\monolib_cmndata.obj \
@@ -2578,6 +2583,7 @@ ____CORE_SRC_FILENAMES_1_OBJECTS =  \
 	$(OBJS)\monolib_fontpickercmn.obj \
 	$(OBJS)\monolib_fldlgcmn.obj \
 	$(OBJS)\monolib_fontcmn.obj \
+	$(OBJS)\monolib_fontdata.obj \
 	$(OBJS)\monolib_graphicc.obj \
 	$(OBJS)\monolib_fontenumcmn.obj \
 	$(OBJS)\monolib_fontmap.obj \
@@ -2810,6 +2816,7 @@ ____CORE_SRC_FILENAMES_1_OBJECTS =  \
 	$(OBJS)\monolib_clipcmn.obj \
 	$(OBJS)\monolib_clrpickercmn.obj \
 	$(OBJS)\monolib_colourcmn.obj \
+	$(OBJS)\monolib_colourdata.obj \
 	$(OBJS)\monolib_combocmn.obj \
 	$(OBJS)\monolib_cmdproc.obj \
 	$(OBJS)\monolib_cmndata.obj \
@@ -2837,6 +2844,7 @@ ____CORE_SRC_FILENAMES_1_OBJECTS =  \
 	$(OBJS)\monolib_fontpickercmn.obj \
 	$(OBJS)\monolib_fldlgcmn.obj \
 	$(OBJS)\monolib_fontcmn.obj \
+	$(OBJS)\monolib_fontdata.obj \
 	$(OBJS)\monolib_graphicc.obj \
 	$(OBJS)\monolib_fontenumcmn.obj \
 	$(OBJS)\monolib_fontmap.obj \
@@ -3189,6 +3197,7 @@ ____CORE_SRC_FILENAMES_2_OBJECTS =  \
 	$(OBJS)\coredll_clipcmn.obj \
 	$(OBJS)\coredll_clrpickercmn.obj \
 	$(OBJS)\coredll_colourcmn.obj \
+	$(OBJS)\coredll_colourdata.obj \
 	$(OBJS)\coredll_combocmn.obj \
 	$(OBJS)\coredll_cmdproc.obj \
 	$(OBJS)\coredll_cmndata.obj \
@@ -3216,6 +3225,7 @@ ____CORE_SRC_FILENAMES_2_OBJECTS =  \
 	$(OBJS)\coredll_fontpickercmn.obj \
 	$(OBJS)\coredll_fldlgcmn.obj \
 	$(OBJS)\coredll_fontcmn.obj \
+	$(OBJS)\coredll_fontdata.obj \
 	$(OBJS)\coredll_graphicc.obj \
 	$(OBJS)\coredll_fontenumcmn.obj \
 	$(OBJS)\coredll_fontmap.obj \
@@ -3448,6 +3458,7 @@ ____CORE_SRC_FILENAMES_2_OBJECTS =  \
 	$(OBJS)\coredll_clipcmn.obj \
 	$(OBJS)\coredll_clrpickercmn.obj \
 	$(OBJS)\coredll_colourcmn.obj \
+	$(OBJS)\coredll_colourdata.obj \
 	$(OBJS)\coredll_combocmn.obj \
 	$(OBJS)\coredll_cmdproc.obj \
 	$(OBJS)\coredll_cmndata.obj \
@@ -3475,6 +3486,7 @@ ____CORE_SRC_FILENAMES_2_OBJECTS =  \
 	$(OBJS)\coredll_fontpickercmn.obj \
 	$(OBJS)\coredll_fldlgcmn.obj \
 	$(OBJS)\coredll_fontcmn.obj \
+	$(OBJS)\coredll_fontdata.obj \
 	$(OBJS)\coredll_graphicc.obj \
 	$(OBJS)\coredll_fontenumcmn.obj \
 	$(OBJS)\coredll_fontmap.obj \
@@ -3716,6 +3728,7 @@ ____CORE_SRC_FILENAMES_3_OBJECTS =  \
 	$(OBJS)\corelib_clipcmn.obj \
 	$(OBJS)\corelib_clrpickercmn.obj \
 	$(OBJS)\corelib_colourcmn.obj \
+	$(OBJS)\corelib_colourdata.obj \
 	$(OBJS)\corelib_combocmn.obj \
 	$(OBJS)\corelib_cmdproc.obj \
 	$(OBJS)\corelib_cmndata.obj \
@@ -3743,6 +3756,7 @@ ____CORE_SRC_FILENAMES_3_OBJECTS =  \
 	$(OBJS)\corelib_fontpickercmn.obj \
 	$(OBJS)\corelib_fldlgcmn.obj \
 	$(OBJS)\corelib_fontcmn.obj \
+	$(OBJS)\corelib_fontdata.obj \
 	$(OBJS)\corelib_graphicc.obj \
 	$(OBJS)\corelib_fontenumcmn.obj \
 	$(OBJS)\corelib_fontmap.obj \
@@ -3975,6 +3989,7 @@ ____CORE_SRC_FILENAMES_3_OBJECTS =  \
 	$(OBJS)\corelib_clipcmn.obj \
 	$(OBJS)\corelib_clrpickercmn.obj \
 	$(OBJS)\corelib_colourcmn.obj \
+	$(OBJS)\corelib_colourdata.obj \
 	$(OBJS)\corelib_combocmn.obj \
 	$(OBJS)\corelib_cmdproc.obj \
 	$(OBJS)\corelib_cmndata.obj \
@@ -4002,6 +4017,7 @@ ____CORE_SRC_FILENAMES_3_OBJECTS =  \
 	$(OBJS)\corelib_fontpickercmn.obj \
 	$(OBJS)\corelib_fldlgcmn.obj \
 	$(OBJS)\corelib_fontcmn.obj \
+	$(OBJS)\corelib_fontdata.obj \
 	$(OBJS)\corelib_graphicc.obj \
 	$(OBJS)\corelib_fontenumcmn.obj \
 	$(OBJS)\corelib_fontmap.obj \
@@ -7292,6 +7308,11 @@ $(OBJS)\monodll_colourcmn.obj: ..\..\src\common\colourcmn.cpp
 	$(CXX) -q -c -P -o$@ $(MONODLL_CXXFLAGS) ..\..\src\common\colourcmn.cpp
 !endif
 
+!if "$(USE_GUI)" == "1"
+$(OBJS)\monodll_colourdata.obj: ..\..\src\common\colourdata.cpp
+	$(CXX) -q -c -P -o$@ $(MONODLL_CXXFLAGS) ..\..\src\common\colourdata.cpp
+!endif
+
 !if "$(USE_GUI)" == "1"
 $(OBJS)\monodll_combocmn.obj: ..\..\src\common\combocmn.cpp
 	$(CXX) -q -c -P -o$@ $(MONODLL_CXXFLAGS) ..\..\src\common\combocmn.cpp
@@ -7427,6 +7448,11 @@ $(OBJS)\monodll_fontcmn.obj: ..\..\src\common\fontcmn.cpp
 	$(CXX) -q -c -P -o$@ $(MONODLL_CXXFLAGS) ..\..\src\common\fontcmn.cpp
 !endif
 
+!if "$(USE_GUI)" == "1"
+$(OBJS)\monodll_fontdata.obj: ..\..\src\common\fontdata.cpp
+	$(CXX) -q -c -P -o$@ $(MONODLL_CXXFLAGS) ..\..\src\common\fontdata.cpp
+!endif
+
 !if "$(USE_GUI)" == "1"
 $(OBJS)\monodll_graphicc.obj: ..\..\src\generic\graphicc.cpp
 	$(CXX) -q -c -P -o$@ $(MONODLL_CXXFLAGS) ..\..\src\generic\graphicc.cpp
@@ -9604,6 +9630,11 @@ $(OBJS)\monolib_colourcmn.obj: ..\..\src\common\colourcmn.cpp
 	$(CXX) -q -c -P -o$@ $(MONOLIB_CXXFLAGS) ..\..\src\common\colourcmn.cpp
 !endif
 
+!if "$(USE_GUI)" == "1"
+$(OBJS)\monolib_colourdata.obj: ..\..\src\common\colourdata.cpp
+	$(CXX) -q -c -P -o$@ $(MONOLIB_CXXFLAGS) ..\..\src\common\colourdata.cpp
+!endif
+
 !if "$(USE_GUI)" == "1"
 $(OBJS)\monolib_combocmn.obj: ..\..\src\common\combocmn.cpp
 	$(CXX) -q -c -P -o$@ $(MONOLIB_CXXFLAGS) ..\..\src\common\combocmn.cpp
@@ -9739,6 +9770,11 @@ $(OBJS)\monolib_fontcmn.obj: ..\..\src\common\fontcmn.cpp
 	$(CXX) -q -c -P -o$@ $(MONOLIB_CXXFLAGS) ..\..\src\common\fontcmn.cpp
 !endif
 
+!if "$(USE_GUI)" == "1"
+$(OBJS)\monolib_fontdata.obj: ..\..\src\common\fontdata.cpp
+	$(CXX) -q -c -P -o$@ $(MONOLIB_CXXFLAGS) ..\..\src\common\fontdata.cpp
+!endif
+
 !if "$(USE_GUI)" == "1"
 $(OBJS)\monolib_graphicc.obj: ..\..\src\generic\graphicc.cpp
 	$(CXX) -q -c -P -o$@ $(MONOLIB_CXXFLAGS) ..\..\src\generic\graphicc.cpp
@@ -11907,6 +11943,11 @@ $(OBJS)\coredll_colourcmn.obj: ..\..\src\common\colourcmn.cpp
 	$(CXX) -q -c -P -o$@ $(COREDLL_CXXFLAGS) ..\..\src\common\colourcmn.cpp
 !endif
 
+!if "$(USE_GUI)" == "1"
+$(OBJS)\coredll_colourdata.obj: ..\..\src\common\colourdata.cpp
+	$(CXX) -q -c -P -o$@ $(COREDLL_CXXFLAGS) ..\..\src\common\colourdata.cpp
+!endif
+
 !if "$(USE_GUI)" == "1"
 $(OBJS)\coredll_combocmn.obj: ..\..\src\common\combocmn.cpp
 	$(CXX) -q -c -P -o$@ $(COREDLL_CXXFLAGS) ..\..\src\common\combocmn.cpp
@@ -12042,6 +12083,11 @@ $(OBJS)\coredll_fontcmn.obj: ..\..\src\common\fontcmn.cpp
 	$(CXX) -q -c -P -o$@ $(COREDLL_CXXFLAGS) ..\..\src\common\fontcmn.cpp
 !endif
 
+!if "$(USE_GUI)" == "1"
+$(OBJS)\coredll_fontdata.obj: ..\..\src\common\fontdata.cpp
+	$(CXX) -q -c -P -o$@ $(COREDLL_CXXFLAGS) ..\..\src\common\fontdata.cpp
+!endif
+
 !if "$(USE_GUI)" == "1"
 $(OBJS)\coredll_graphicc.obj: ..\..\src\generic\graphicc.cpp
 	$(CXX) -q -c -P -o$@ $(COREDLL_CXXFLAGS) ..\..\src\generic\graphicc.cpp
@@ -13277,6 +13323,11 @@ $(OBJS)\corelib_colourcmn.obj: ..\..\src\common\colourcmn.cpp
 	$(CXX) -q -c -P -o$@ $(CORELIB_CXXFLAGS) ..\..\src\common\colourcmn.cpp
 !endif
 
+!if "$(USE_GUI)" == "1"
+$(OBJS)\corelib_colourdata.obj: ..\..\src\common\colourdata.cpp
+	$(CXX) -q -c -P -o$@ $(CORELIB_CXXFLAGS) ..\..\src\common\colourdata.cpp
+!endif
+
 !if "$(USE_GUI)" == "1"
 $(OBJS)\corelib_combocmn.obj: ..\..\src\common\combocmn.cpp
 	$(CXX) -q -c -P -o$@ $(CORELIB_CXXFLAGS) ..\..\src\common\combocmn.cpp
@@ -13412,6 +13463,11 @@ $(OBJS)\corelib_fontcmn.obj: ..\..\src\common\fontcmn.cpp
 	$(CXX) -q -c -P -o$@ $(CORELIB_CXXFLAGS) ..\..\src\common\fontcmn.cpp
 !endif
 
+!if "$(USE_GUI)" == "1"
+$(OBJS)\corelib_fontdata.obj: ..\..\src\common\fontdata.cpp
+	$(CXX) -q -c -P -o$@ $(CORELIB_CXXFLAGS) ..\..\src\common\fontdata.cpp
+!endif
+
 !if "$(USE_GUI)" == "1"
 $(OBJS)\corelib_graphicc.obj: ..\..\src\generic\graphicc.cpp
 	$(CXX) -q -c -P -o$@ $(CORELIB_CXXFLAGS) ..\..\src\generic\graphicc.cpp
diff --git a/build/msw/makefile.gcc b/build/msw/makefile.gcc
index 64303ed08c..fda53b140a 100644
--- a/build/msw/makefile.gcc
+++ b/build/msw/makefile.gcc
@@ -1812,6 +1812,7 @@ ____CORE_SRC_FILENAMES_OBJECTS =  \
 	$(OBJS)\monodll_clipcmn.o \
 	$(OBJS)\monodll_clrpickercmn.o \
 	$(OBJS)\monodll_colourcmn.o \
+	$(OBJS)\monodll_colourdata.o \
 	$(OBJS)\monodll_combocmn.o \
 	$(OBJS)\monodll_cmdproc.o \
 	$(OBJS)\monodll_cmndata.o \
@@ -1839,6 +1840,7 @@ ____CORE_SRC_FILENAMES_OBJECTS =  \
 	$(OBJS)\monodll_fontpickercmn.o \
 	$(OBJS)\monodll_fldlgcmn.o \
 	$(OBJS)\monodll_fontcmn.o \
+	$(OBJS)\monodll_fontdata.o \
 	$(OBJS)\monodll_graphicc.o \
 	$(OBJS)\monodll_fontenumcmn.o \
 	$(OBJS)\monodll_fontmap.o \
@@ -2073,6 +2075,7 @@ ____CORE_SRC_FILENAMES_OBJECTS =  \
 	$(OBJS)\monodll_clipcmn.o \
 	$(OBJS)\monodll_clrpickercmn.o \
 	$(OBJS)\monodll_colourcmn.o \
+	$(OBJS)\monodll_colourdata.o \
 	$(OBJS)\monodll_combocmn.o \
 	$(OBJS)\monodll_cmdproc.o \
 	$(OBJS)\monodll_cmndata.o \
@@ -2100,6 +2103,7 @@ ____CORE_SRC_FILENAMES_OBJECTS =  \
 	$(OBJS)\monodll_fontpickercmn.o \
 	$(OBJS)\monodll_fldlgcmn.o \
 	$(OBJS)\monodll_fontcmn.o \
+	$(OBJS)\monodll_fontdata.o \
 	$(OBJS)\monodll_graphicc.o \
 	$(OBJS)\monodll_fontenumcmn.o \
 	$(OBJS)\monodll_fontmap.o \
@@ -2568,6 +2572,7 @@ ____CORE_SRC_FILENAMES_1_OBJECTS =  \
 	$(OBJS)\monolib_clipcmn.o \
 	$(OBJS)\monolib_clrpickercmn.o \
 	$(OBJS)\monolib_colourcmn.o \
+	$(OBJS)\monolib_colourdata.o \
 	$(OBJS)\monolib_combocmn.o \
 	$(OBJS)\monolib_cmdproc.o \
 	$(OBJS)\monolib_cmndata.o \
@@ -2595,6 +2600,7 @@ ____CORE_SRC_FILENAMES_1_OBJECTS =  \
 	$(OBJS)\monolib_fontpickercmn.o \
 	$(OBJS)\monolib_fldlgcmn.o \
 	$(OBJS)\monolib_fontcmn.o \
+	$(OBJS)\monolib_fontdata.o \
 	$(OBJS)\monolib_graphicc.o \
 	$(OBJS)\monolib_fontenumcmn.o \
 	$(OBJS)\monolib_fontmap.o \
@@ -2829,6 +2835,7 @@ ____CORE_SRC_FILENAMES_1_OBJECTS =  \
 	$(OBJS)\monolib_clipcmn.o \
 	$(OBJS)\monolib_clrpickercmn.o \
 	$(OBJS)\monolib_colourcmn.o \
+	$(OBJS)\monolib_colourdata.o \
 	$(OBJS)\monolib_combocmn.o \
 	$(OBJS)\monolib_cmdproc.o \
 	$(OBJS)\monolib_cmndata.o \
@@ -2856,6 +2863,7 @@ ____CORE_SRC_FILENAMES_1_OBJECTS =  \
 	$(OBJS)\monolib_fontpickercmn.o \
 	$(OBJS)\monolib_fldlgcmn.o \
 	$(OBJS)\monolib_fontcmn.o \
+	$(OBJS)\monolib_fontdata.o \
 	$(OBJS)\monolib_graphicc.o \
 	$(OBJS)\monolib_fontenumcmn.o \
 	$(OBJS)\monolib_fontmap.o \
@@ -3222,6 +3230,7 @@ ____CORE_SRC_FILENAMES_2_OBJECTS =  \
 	$(OBJS)\coredll_clipcmn.o \
 	$(OBJS)\coredll_clrpickercmn.o \
 	$(OBJS)\coredll_colourcmn.o \
+	$(OBJS)\coredll_colourdata.o \
 	$(OBJS)\coredll_combocmn.o \
 	$(OBJS)\coredll_cmdproc.o \
 	$(OBJS)\coredll_cmndata.o \
@@ -3249,6 +3258,7 @@ ____CORE_SRC_FILENAMES_2_OBJECTS =  \
 	$(OBJS)\coredll_fontpickercmn.o \
 	$(OBJS)\coredll_fldlgcmn.o \
 	$(OBJS)\coredll_fontcmn.o \
+	$(OBJS)\coredll_fontdata.o \
 	$(OBJS)\coredll_graphicc.o \
 	$(OBJS)\coredll_fontenumcmn.o \
 	$(OBJS)\coredll_fontmap.o \
@@ -3483,6 +3493,7 @@ ____CORE_SRC_FILENAMES_2_OBJECTS =  \
 	$(OBJS)\coredll_clipcmn.o \
 	$(OBJS)\coredll_clrpickercmn.o \
 	$(OBJS)\coredll_colourcmn.o \
+	$(OBJS)\coredll_colourdata.o \
 	$(OBJS)\coredll_combocmn.o \
 	$(OBJS)\coredll_cmdproc.o \
 	$(OBJS)\coredll_cmndata.o \
@@ -3510,6 +3521,7 @@ ____CORE_SRC_FILENAMES_2_OBJECTS =  \
 	$(OBJS)\coredll_fontpickercmn.o \
 	$(OBJS)\coredll_fldlgcmn.o \
 	$(OBJS)\coredll_fontcmn.o \
+	$(OBJS)\coredll_fontdata.o \
 	$(OBJS)\coredll_graphicc.o \
 	$(OBJS)\coredll_fontenumcmn.o \
 	$(OBJS)\coredll_fontmap.o \
@@ -3757,6 +3769,7 @@ ____CORE_SRC_FILENAMES_3_OBJECTS =  \
 	$(OBJS)\corelib_clipcmn.o \
 	$(OBJS)\corelib_clrpickercmn.o \
 	$(OBJS)\corelib_colourcmn.o \
+	$(OBJS)\corelib_colourdata.o \
 	$(OBJS)\corelib_combocmn.o \
 	$(OBJS)\corelib_cmdproc.o \
 	$(OBJS)\corelib_cmndata.o \
@@ -3784,6 +3797,7 @@ ____CORE_SRC_FILENAMES_3_OBJECTS =  \
 	$(OBJS)\corelib_fontpickercmn.o \
 	$(OBJS)\corelib_fldlgcmn.o \
 	$(OBJS)\corelib_fontcmn.o \
+	$(OBJS)\corelib_fontdata.o \
 	$(OBJS)\corelib_graphicc.o \
 	$(OBJS)\corelib_fontenumcmn.o \
 	$(OBJS)\corelib_fontmap.o \
@@ -4018,6 +4032,7 @@ ____CORE_SRC_FILENAMES_3_OBJECTS =  \
 	$(OBJS)\corelib_clipcmn.o \
 	$(OBJS)\corelib_clrpickercmn.o \
 	$(OBJS)\corelib_colourcmn.o \
+	$(OBJS)\corelib_colourdata.o \
 	$(OBJS)\corelib_combocmn.o \
 	$(OBJS)\corelib_cmdproc.o \
 	$(OBJS)\corelib_cmndata.o \
@@ -4045,6 +4060,7 @@ ____CORE_SRC_FILENAMES_3_OBJECTS =  \
 	$(OBJS)\corelib_fontpickercmn.o \
 	$(OBJS)\corelib_fldlgcmn.o \
 	$(OBJS)\corelib_fontcmn.o \
+	$(OBJS)\corelib_fontdata.o \
 	$(OBJS)\corelib_graphicc.o \
 	$(OBJS)\corelib_fontenumcmn.o \
 	$(OBJS)\corelib_fontmap.o \
@@ -7442,6 +7458,11 @@ $(OBJS)\monodll_colourcmn.o: ../../src/common/colourcmn.cpp
 	$(CXX) -c -o $@ $(MONODLL_CXXFLAGS) $(CPPDEPS) $<
 endif
 
+ifeq ($(USE_GUI),1)
+$(OBJS)\monodll_colourdata.o: ../../src/common/colourdata.cpp
+	$(CXX) -c -o $@ $(MONODLL_CXXFLAGS) $(CPPDEPS) $<
+endif
+
 ifeq ($(USE_GUI),1)
 $(OBJS)\monodll_combocmn.o: ../../src/common/combocmn.cpp
 	$(CXX) -c -o $@ $(MONODLL_CXXFLAGS) $(CPPDEPS) $<
@@ -7577,6 +7598,11 @@ $(OBJS)\monodll_fontcmn.o: ../../src/common/fontcmn.cpp
 	$(CXX) -c -o $@ $(MONODLL_CXXFLAGS) $(CPPDEPS) $<
 endif
 
+ifeq ($(USE_GUI),1)
+$(OBJS)\monodll_fontdata.o: ../../src/common/fontdata.cpp
+	$(CXX) -c -o $@ $(MONODLL_CXXFLAGS) $(CPPDEPS) $<
+endif
+
 ifeq ($(USE_GUI),1)
 $(OBJS)\monodll_graphicc.o: ../../src/generic/graphicc.cpp
 	$(CXX) -c -o $@ $(MONODLL_CXXFLAGS) $(CPPDEPS) $<
@@ -9754,6 +9780,11 @@ $(OBJS)\monolib_colourcmn.o: ../../src/common/colourcmn.cpp
 	$(CXX) -c -o $@ $(MONOLIB_CXXFLAGS) $(CPPDEPS) $<
 endif
 
+ifeq ($(USE_GUI),1)
+$(OBJS)\monolib_colourdata.o: ../../src/common/colourdata.cpp
+	$(CXX) -c -o $@ $(MONOLIB_CXXFLAGS) $(CPPDEPS) $<
+endif
+
 ifeq ($(USE_GUI),1)
 $(OBJS)\monolib_combocmn.o: ../../src/common/combocmn.cpp
 	$(CXX) -c -o $@ $(MONOLIB_CXXFLAGS) $(CPPDEPS) $<
@@ -9889,6 +9920,11 @@ $(OBJS)\monolib_fontcmn.o: ../../src/common/fontcmn.cpp
 	$(CXX) -c -o $@ $(MONOLIB_CXXFLAGS) $(CPPDEPS) $<
 endif
 
+ifeq ($(USE_GUI),1)
+$(OBJS)\monolib_fontdata.o: ../../src/common/fontdata.cpp
+	$(CXX) -c -o $@ $(MONOLIB_CXXFLAGS) $(CPPDEPS) $<
+endif
+
 ifeq ($(USE_GUI),1)
 $(OBJS)\monolib_graphicc.o: ../../src/generic/graphicc.cpp
 	$(CXX) -c -o $@ $(MONOLIB_CXXFLAGS) $(CPPDEPS) $<
@@ -12057,6 +12093,11 @@ $(OBJS)\coredll_colourcmn.o: ../../src/common/colourcmn.cpp
 	$(CXX) -c -o $@ $(COREDLL_CXXFLAGS) $(CPPDEPS) $<
 endif
 
+ifeq ($(USE_GUI),1)
+$(OBJS)\coredll_colourdata.o: ../../src/common/colourdata.cpp
+	$(CXX) -c -o $@ $(COREDLL_CXXFLAGS) $(CPPDEPS) $<
+endif
+
 ifeq ($(USE_GUI),1)
 $(OBJS)\coredll_combocmn.o: ../../src/common/combocmn.cpp
 	$(CXX) -c -o $@ $(COREDLL_CXXFLAGS) $(CPPDEPS) $<
@@ -12192,6 +12233,11 @@ $(OBJS)\coredll_fontcmn.o: ../../src/common/fontcmn.cpp
 	$(CXX) -c -o $@ $(COREDLL_CXXFLAGS) $(CPPDEPS) $<
 endif
 
+ifeq ($(USE_GUI),1)
+$(OBJS)\coredll_fontdata.o: ../../src/common/fontdata.cpp
+	$(CXX) -c -o $@ $(COREDLL_CXXFLAGS) $(CPPDEPS) $<
+endif
+
 ifeq ($(USE_GUI),1)
 $(OBJS)\coredll_graphicc.o: ../../src/generic/graphicc.cpp
 	$(CXX) -c -o $@ $(COREDLL_CXXFLAGS) $(CPPDEPS) $<
@@ -13427,6 +13473,11 @@ $(OBJS)\corelib_colourcmn.o: ../../src/common/colourcmn.cpp
 	$(CXX) -c -o $@ $(CORELIB_CXXFLAGS) $(CPPDEPS) $<
 endif
 
+ifeq ($(USE_GUI),1)
+$(OBJS)\corelib_colourdata.o: ../../src/common/colourdata.cpp
+	$(CXX) -c -o $@ $(CORELIB_CXXFLAGS) $(CPPDEPS) $<
+endif
+
 ifeq ($(USE_GUI),1)
 $(OBJS)\corelib_combocmn.o: ../../src/common/combocmn.cpp
 	$(CXX) -c -o $@ $(CORELIB_CXXFLAGS) $(CPPDEPS) $<
@@ -13562,6 +13613,11 @@ $(OBJS)\corelib_fontcmn.o: ../../src/common/fontcmn.cpp
 	$(CXX) -c -o $@ $(CORELIB_CXXFLAGS) $(CPPDEPS) $<
 endif
 
+ifeq ($(USE_GUI),1)
+$(OBJS)\corelib_fontdata.o: ../../src/common/fontdata.cpp
+	$(CXX) -c -o $@ $(CORELIB_CXXFLAGS) $(CPPDEPS) $<
+endif
+
 ifeq ($(USE_GUI),1)
 $(OBJS)\corelib_graphicc.o: ../../src/generic/graphicc.cpp
 	$(CXX) -c -o $@ $(CORELIB_CXXFLAGS) $(CPPDEPS) $<
diff --git a/build/msw/makefile.vc b/build/msw/makefile.vc
index 1624e79e3d..c9b78c7298 100644
--- a/build/msw/makefile.vc
+++ b/build/msw/makefile.vc
@@ -2009,6 +2009,7 @@ ____CORE_SRC_FILENAMES_OBJECTS =  \
 	$(OBJS)\monodll_clipcmn.obj \
 	$(OBJS)\monodll_clrpickercmn.obj \
 	$(OBJS)\monodll_colourcmn.obj \
+	$(OBJS)\monodll_colourdata.obj \
 	$(OBJS)\monodll_combocmn.obj \
 	$(OBJS)\monodll_cmdproc.obj \
 	$(OBJS)\monodll_cmndata.obj \
@@ -2036,6 +2037,7 @@ ____CORE_SRC_FILENAMES_OBJECTS =  \
 	$(OBJS)\monodll_fontpickercmn.obj \
 	$(OBJS)\monodll_fldlgcmn.obj \
 	$(OBJS)\monodll_fontcmn.obj \
+	$(OBJS)\monodll_fontdata.obj \
 	$(OBJS)\monodll_graphicc.obj \
 	$(OBJS)\monodll_fontenumcmn.obj \
 	$(OBJS)\monodll_fontmap.obj \
@@ -2268,6 +2270,7 @@ ____CORE_SRC_FILENAMES_OBJECTS =  \
 	$(OBJS)\monodll_clipcmn.obj \
 	$(OBJS)\monodll_clrpickercmn.obj \
 	$(OBJS)\monodll_colourcmn.obj \
+	$(OBJS)\monodll_colourdata.obj \
 	$(OBJS)\monodll_combocmn.obj \
 	$(OBJS)\monodll_cmdproc.obj \
 	$(OBJS)\monodll_cmndata.obj \
@@ -2295,6 +2298,7 @@ ____CORE_SRC_FILENAMES_OBJECTS =  \
 	$(OBJS)\monodll_fontpickercmn.obj \
 	$(OBJS)\monodll_fldlgcmn.obj \
 	$(OBJS)\monodll_fontcmn.obj \
+	$(OBJS)\monodll_fontdata.obj \
 	$(OBJS)\monodll_graphicc.obj \
 	$(OBJS)\monodll_fontenumcmn.obj \
 	$(OBJS)\monodll_fontmap.obj \
@@ -2765,6 +2769,7 @@ ____CORE_SRC_FILENAMES_1_OBJECTS =  \
 	$(OBJS)\monolib_clipcmn.obj \
 	$(OBJS)\monolib_clrpickercmn.obj \
 	$(OBJS)\monolib_colourcmn.obj \
+	$(OBJS)\monolib_colourdata.obj \
 	$(OBJS)\monolib_combocmn.obj \
 	$(OBJS)\monolib_cmdproc.obj \
 	$(OBJS)\monolib_cmndata.obj \
@@ -2792,6 +2797,7 @@ ____CORE_SRC_FILENAMES_1_OBJECTS =  \
 	$(OBJS)\monolib_fontpickercmn.obj \
 	$(OBJS)\monolib_fldlgcmn.obj \
 	$(OBJS)\monolib_fontcmn.obj \
+	$(OBJS)\monolib_fontdata.obj \
 	$(OBJS)\monolib_graphicc.obj \
 	$(OBJS)\monolib_fontenumcmn.obj \
 	$(OBJS)\monolib_fontmap.obj \
@@ -3024,6 +3030,7 @@ ____CORE_SRC_FILENAMES_1_OBJECTS =  \
 	$(OBJS)\monolib_clipcmn.obj \
 	$(OBJS)\monolib_clrpickercmn.obj \
 	$(OBJS)\monolib_colourcmn.obj \
+	$(OBJS)\monolib_colourdata.obj \
 	$(OBJS)\monolib_combocmn.obj \
 	$(OBJS)\monolib_cmdproc.obj \
 	$(OBJS)\monolib_cmndata.obj \
@@ -3051,6 +3058,7 @@ ____CORE_SRC_FILENAMES_1_OBJECTS =  \
 	$(OBJS)\monolib_fontpickercmn.obj \
 	$(OBJS)\monolib_fldlgcmn.obj \
 	$(OBJS)\monolib_fontcmn.obj \
+	$(OBJS)\monolib_fontdata.obj \
 	$(OBJS)\monolib_graphicc.obj \
 	$(OBJS)\monolib_fontenumcmn.obj \
 	$(OBJS)\monolib_fontmap.obj \
@@ -3469,6 +3477,7 @@ ____CORE_SRC_FILENAMES_2_OBJECTS =  \
 	$(OBJS)\coredll_clipcmn.obj \
 	$(OBJS)\coredll_clrpickercmn.obj \
 	$(OBJS)\coredll_colourcmn.obj \
+	$(OBJS)\coredll_colourdata.obj \
 	$(OBJS)\coredll_combocmn.obj \
 	$(OBJS)\coredll_cmdproc.obj \
 	$(OBJS)\coredll_cmndata.obj \
@@ -3496,6 +3505,7 @@ ____CORE_SRC_FILENAMES_2_OBJECTS =  \
 	$(OBJS)\coredll_fontpickercmn.obj \
 	$(OBJS)\coredll_fldlgcmn.obj \
 	$(OBJS)\coredll_fontcmn.obj \
+	$(OBJS)\coredll_fontdata.obj \
 	$(OBJS)\coredll_graphicc.obj \
 	$(OBJS)\coredll_fontenumcmn.obj \
 	$(OBJS)\coredll_fontmap.obj \
@@ -3728,6 +3738,7 @@ ____CORE_SRC_FILENAMES_2_OBJECTS =  \
 	$(OBJS)\coredll_clipcmn.obj \
 	$(OBJS)\coredll_clrpickercmn.obj \
 	$(OBJS)\coredll_colourcmn.obj \
+	$(OBJS)\coredll_colourdata.obj \
 	$(OBJS)\coredll_combocmn.obj \
 	$(OBJS)\coredll_cmdproc.obj \
 	$(OBJS)\coredll_cmndata.obj \
@@ -3755,6 +3766,7 @@ ____CORE_SRC_FILENAMES_2_OBJECTS =  \
 	$(OBJS)\coredll_fontpickercmn.obj \
 	$(OBJS)\coredll_fldlgcmn.obj \
 	$(OBJS)\coredll_fontcmn.obj \
+	$(OBJS)\coredll_fontdata.obj \
 	$(OBJS)\coredll_graphicc.obj \
 	$(OBJS)\coredll_fontenumcmn.obj \
 	$(OBJS)\coredll_fontmap.obj \
@@ -4002,6 +4014,7 @@ ____CORE_SRC_FILENAMES_3_OBJECTS =  \
 	$(OBJS)\corelib_clipcmn.obj \
 	$(OBJS)\corelib_clrpickercmn.obj \
 	$(OBJS)\corelib_colourcmn.obj \
+	$(OBJS)\corelib_colourdata.obj \
 	$(OBJS)\corelib_combocmn.obj \
 	$(OBJS)\corelib_cmdproc.obj \
 	$(OBJS)\corelib_cmndata.obj \
@@ -4029,6 +4042,7 @@ ____CORE_SRC_FILENAMES_3_OBJECTS =  \
 	$(OBJS)\corelib_fontpickercmn.obj \
 	$(OBJS)\corelib_fldlgcmn.obj \
 	$(OBJS)\corelib_fontcmn.obj \
+	$(OBJS)\corelib_fontdata.obj \
 	$(OBJS)\corelib_graphicc.obj \
 	$(OBJS)\corelib_fontenumcmn.obj \
 	$(OBJS)\corelib_fontmap.obj \
@@ -4261,6 +4275,7 @@ ____CORE_SRC_FILENAMES_3_OBJECTS =  \
 	$(OBJS)\corelib_clipcmn.obj \
 	$(OBJS)\corelib_clrpickercmn.obj \
 	$(OBJS)\corelib_colourcmn.obj \
+	$(OBJS)\corelib_colourdata.obj \
 	$(OBJS)\corelib_combocmn.obj \
 	$(OBJS)\corelib_cmdproc.obj \
 	$(OBJS)\corelib_cmndata.obj \
@@ -4288,6 +4303,7 @@ ____CORE_SRC_FILENAMES_3_OBJECTS =  \
 	$(OBJS)\corelib_fontpickercmn.obj \
 	$(OBJS)\corelib_fldlgcmn.obj \
 	$(OBJS)\corelib_fontcmn.obj \
+	$(OBJS)\corelib_fontdata.obj \
 	$(OBJS)\corelib_graphicc.obj \
 	$(OBJS)\corelib_fontenumcmn.obj \
 	$(OBJS)\corelib_fontmap.obj \
@@ -7872,6 +7888,11 @@ $(OBJS)\monodll_colourcmn.obj: ..\..\src\common\colourcmn.cpp
 	$(CXX) /c /nologo /TP /Fo$@ $(MONODLL_CXXFLAGS) ..\..\src\common\colourcmn.cpp
 !endif
 
+!if "$(USE_GUI)" == "1"
+$(OBJS)\monodll_colourdata.obj: ..\..\src\common\colourdata.cpp
+	$(CXX) /c /nologo /TP /Fo$@ $(MONODLL_CXXFLAGS) ..\..\src\common\colourdata.cpp
+!endif
+
 !if "$(USE_GUI)" == "1"
 $(OBJS)\monodll_combocmn.obj: ..\..\src\common\combocmn.cpp
 	$(CXX) /c /nologo /TP /Fo$@ $(MONODLL_CXXFLAGS) ..\..\src\common\combocmn.cpp
@@ -8007,6 +8028,11 @@ $(OBJS)\monodll_fontcmn.obj: ..\..\src\common\fontcmn.cpp
 	$(CXX) /c /nologo /TP /Fo$@ $(MONODLL_CXXFLAGS) ..\..\src\common\fontcmn.cpp
 !endif
 
+!if "$(USE_GUI)" == "1"
+$(OBJS)\monodll_fontdata.obj: ..\..\src\common\fontdata.cpp
+	$(CXX) /c /nologo /TP /Fo$@ $(MONODLL_CXXFLAGS) ..\..\src\common\fontdata.cpp
+!endif
+
 !if "$(USE_GUI)" == "1"
 $(OBJS)\monodll_graphicc.obj: ..\..\src\generic\graphicc.cpp
 	$(CXX) /c /nologo /TP /Fo$@ $(MONODLL_CXXFLAGS) ..\..\src\generic\graphicc.cpp
@@ -10184,6 +10210,11 @@ $(OBJS)\monolib_colourcmn.obj: ..\..\src\common\colourcmn.cpp
 	$(CXX) /c /nologo /TP /Fo$@ $(MONOLIB_CXXFLAGS) ..\..\src\common\colourcmn.cpp
 !endif
 
+!if "$(USE_GUI)" == "1"
+$(OBJS)\monolib_colourdata.obj: ..\..\src\common\colourdata.cpp
+	$(CXX) /c /nologo /TP /Fo$@ $(MONOLIB_CXXFLAGS) ..\..\src\common\colourdata.cpp
+!endif
+
 !if "$(USE_GUI)" == "1"
 $(OBJS)\monolib_combocmn.obj: ..\..\src\common\combocmn.cpp
 	$(CXX) /c /nologo /TP /Fo$@ $(MONOLIB_CXXFLAGS) ..\..\src\common\combocmn.cpp
@@ -10319,6 +10350,11 @@ $(OBJS)\monolib_fontcmn.obj: ..\..\src\common\fontcmn.cpp
 	$(CXX) /c /nologo /TP /Fo$@ $(MONOLIB_CXXFLAGS) ..\..\src\common\fontcmn.cpp
 !endif
 
+!if "$(USE_GUI)" == "1"
+$(OBJS)\monolib_fontdata.obj: ..\..\src\common\fontdata.cpp
+	$(CXX) /c /nologo /TP /Fo$@ $(MONOLIB_CXXFLAGS) ..\..\src\common\fontdata.cpp
+!endif
+
 !if "$(USE_GUI)" == "1"
 $(OBJS)\monolib_graphicc.obj: ..\..\src\generic\graphicc.cpp
 	$(CXX) /c /nologo /TP /Fo$@ $(MONOLIB_CXXFLAGS) ..\..\src\generic\graphicc.cpp
@@ -12487,6 +12523,11 @@ $(OBJS)\coredll_colourcmn.obj: ..\..\src\common\colourcmn.cpp
 	$(CXX) /c /nologo /TP /Fo$@ $(COREDLL_CXXFLAGS) ..\..\src\common\colourcmn.cpp
 !endif
 
+!if "$(USE_GUI)" == "1"
+$(OBJS)\coredll_colourdata.obj: ..\..\src\common\colourdata.cpp
+	$(CXX) /c /nologo /TP /Fo$@ $(COREDLL_CXXFLAGS) ..\..\src\common\colourdata.cpp
+!endif
+
 !if "$(USE_GUI)" == "1"
 $(OBJS)\coredll_combocmn.obj: ..\..\src\common\combocmn.cpp
 	$(CXX) /c /nologo /TP /Fo$@ $(COREDLL_CXXFLAGS) ..\..\src\common\combocmn.cpp
@@ -12622,6 +12663,11 @@ $(OBJS)\coredll_fontcmn.obj: ..\..\src\common\fontcmn.cpp
 	$(CXX) /c /nologo /TP /Fo$@ $(COREDLL_CXXFLAGS) ..\..\src\common\fontcmn.cpp
 !endif
 
+!if "$(USE_GUI)" == "1"
+$(OBJS)\coredll_fontdata.obj: ..\..\src\common\fontdata.cpp
+	$(CXX) /c /nologo /TP /Fo$@ $(COREDLL_CXXFLAGS) ..\..\src\common\fontdata.cpp
+!endif
+
 !if "$(USE_GUI)" == "1"
 $(OBJS)\coredll_graphicc.obj: ..\..\src\generic\graphicc.cpp
 	$(CXX) /c /nologo /TP /Fo$@ $(COREDLL_CXXFLAGS) ..\..\src\generic\graphicc.cpp
@@ -13857,6 +13903,11 @@ $(OBJS)\corelib_colourcmn.obj: ..\..\src\common\colourcmn.cpp
 	$(CXX) /c /nologo /TP /Fo$@ $(CORELIB_CXXFLAGS) ..\..\src\common\colourcmn.cpp
 !endif
 
+!if "$(USE_GUI)" == "1"
+$(OBJS)\corelib_colourdata.obj: ..\..\src\common\colourdata.cpp
+	$(CXX) /c /nologo /TP /Fo$@ $(CORELIB_CXXFLAGS) ..\..\src\common\colourdata.cpp
+!endif
+
 !if "$(USE_GUI)" == "1"
 $(OBJS)\corelib_combocmn.obj: ..\..\src\common\combocmn.cpp
 	$(CXX) /c /nologo /TP /Fo$@ $(CORELIB_CXXFLAGS) ..\..\src\common\combocmn.cpp
@@ -13992,6 +14043,11 @@ $(OBJS)\corelib_fontcmn.obj: ..\..\src\common\fontcmn.cpp
 	$(CXX) /c /nologo /TP /Fo$@ $(CORELIB_CXXFLAGS) ..\..\src\common\fontcmn.cpp
 !endif
 
+!if "$(USE_GUI)" == "1"
+$(OBJS)\corelib_fontdata.obj: ..\..\src\common\fontdata.cpp
+	$(CXX) /c /nologo /TP /Fo$@ $(CORELIB_CXXFLAGS) ..\..\src\common\fontdata.cpp
+!endif
+
 !if "$(USE_GUI)" == "1"
 $(OBJS)\corelib_graphicc.obj: ..\..\src\generic\graphicc.cpp
 	$(CXX) /c /nologo /TP /Fo$@ $(CORELIB_CXXFLAGS) ..\..\src\generic\graphicc.cpp
diff --git a/build/msw/makefile.wat b/build/msw/makefile.wat
index ac192250a6..e90fcfeb58 100644
--- a/build/msw/makefile.wat
+++ b/build/msw/makefile.wat
@@ -367,6 +367,7 @@ ____CORE_SRC_FILENAMES_OBJECTS =  &
 	$(OBJS)\monodll_clipcmn.obj &
 	$(OBJS)\monodll_clrpickercmn.obj &
 	$(OBJS)\monodll_colourcmn.obj &
+	$(OBJS)\monodll_colourdata.obj &
 	$(OBJS)\monodll_combocmn.obj &
 	$(OBJS)\monodll_cmdproc.obj &
 	$(OBJS)\monodll_cmndata.obj &
@@ -394,6 +395,7 @@ ____CORE_SRC_FILENAMES_OBJECTS =  &
 	$(OBJS)\monodll_fontpickercmn.obj &
 	$(OBJS)\monodll_fldlgcmn.obj &
 	$(OBJS)\monodll_fontcmn.obj &
+	$(OBJS)\monodll_fontdata.obj &
 	$(OBJS)\monodll_graphicc.obj &
 	$(OBJS)\monodll_fontenumcmn.obj &
 	$(OBJS)\monodll_fontmap.obj &
@@ -628,6 +630,7 @@ ____CORE_SRC_FILENAMES_OBJECTS =  &
 	$(OBJS)\monodll_clipcmn.obj &
 	$(OBJS)\monodll_clrpickercmn.obj &
 	$(OBJS)\monodll_colourcmn.obj &
+	$(OBJS)\monodll_colourdata.obj &
 	$(OBJS)\monodll_combocmn.obj &
 	$(OBJS)\monodll_cmdproc.obj &
 	$(OBJS)\monodll_cmndata.obj &
@@ -655,6 +658,7 @@ ____CORE_SRC_FILENAMES_OBJECTS =  &
 	$(OBJS)\monodll_fontpickercmn.obj &
 	$(OBJS)\monodll_fldlgcmn.obj &
 	$(OBJS)\monodll_fontcmn.obj &
+	$(OBJS)\monodll_fontdata.obj &
 	$(OBJS)\monodll_graphicc.obj &
 	$(OBJS)\monodll_fontenumcmn.obj &
 	$(OBJS)\monodll_fontmap.obj &
@@ -1128,6 +1132,7 @@ ____CORE_SRC_FILENAMES_1_OBJECTS =  &
 	$(OBJS)\monolib_clipcmn.obj &
 	$(OBJS)\monolib_clrpickercmn.obj &
 	$(OBJS)\monolib_colourcmn.obj &
+	$(OBJS)\monolib_colourdata.obj &
 	$(OBJS)\monolib_combocmn.obj &
 	$(OBJS)\monolib_cmdproc.obj &
 	$(OBJS)\monolib_cmndata.obj &
@@ -1155,6 +1160,7 @@ ____CORE_SRC_FILENAMES_1_OBJECTS =  &
 	$(OBJS)\monolib_fontpickercmn.obj &
 	$(OBJS)\monolib_fldlgcmn.obj &
 	$(OBJS)\monolib_fontcmn.obj &
+	$(OBJS)\monolib_fontdata.obj &
 	$(OBJS)\monolib_graphicc.obj &
 	$(OBJS)\monolib_fontenumcmn.obj &
 	$(OBJS)\monolib_fontmap.obj &
@@ -1389,6 +1395,7 @@ ____CORE_SRC_FILENAMES_1_OBJECTS =  &
 	$(OBJS)\monolib_clipcmn.obj &
 	$(OBJS)\monolib_clrpickercmn.obj &
 	$(OBJS)\monolib_colourcmn.obj &
+	$(OBJS)\monolib_colourdata.obj &
 	$(OBJS)\monolib_combocmn.obj &
 	$(OBJS)\monolib_cmdproc.obj &
 	$(OBJS)\monolib_cmndata.obj &
@@ -1416,6 +1423,7 @@ ____CORE_SRC_FILENAMES_1_OBJECTS =  &
 	$(OBJS)\monolib_fontpickercmn.obj &
 	$(OBJS)\monolib_fldlgcmn.obj &
 	$(OBJS)\monolib_fontcmn.obj &
+	$(OBJS)\monolib_fontdata.obj &
 	$(OBJS)\monolib_graphicc.obj &
 	$(OBJS)\monolib_fontenumcmn.obj &
 	$(OBJS)\monolib_fontmap.obj &
@@ -1793,6 +1801,7 @@ ____CORE_SRC_FILENAMES_2_OBJECTS =  &
 	$(OBJS)\coredll_clipcmn.obj &
 	$(OBJS)\coredll_clrpickercmn.obj &
 	$(OBJS)\coredll_colourcmn.obj &
+	$(OBJS)\coredll_colourdata.obj &
 	$(OBJS)\coredll_combocmn.obj &
 	$(OBJS)\coredll_cmdproc.obj &
 	$(OBJS)\coredll_cmndata.obj &
@@ -1820,6 +1829,7 @@ ____CORE_SRC_FILENAMES_2_OBJECTS =  &
 	$(OBJS)\coredll_fontpickercmn.obj &
 	$(OBJS)\coredll_fldlgcmn.obj &
 	$(OBJS)\coredll_fontcmn.obj &
+	$(OBJS)\coredll_fontdata.obj &
 	$(OBJS)\coredll_graphicc.obj &
 	$(OBJS)\coredll_fontenumcmn.obj &
 	$(OBJS)\coredll_fontmap.obj &
@@ -2054,6 +2064,7 @@ ____CORE_SRC_FILENAMES_2_OBJECTS =  &
 	$(OBJS)\coredll_clipcmn.obj &
 	$(OBJS)\coredll_clrpickercmn.obj &
 	$(OBJS)\coredll_colourcmn.obj &
+	$(OBJS)\coredll_colourdata.obj &
 	$(OBJS)\coredll_combocmn.obj &
 	$(OBJS)\coredll_cmdproc.obj &
 	$(OBJS)\coredll_cmndata.obj &
@@ -2081,6 +2092,7 @@ ____CORE_SRC_FILENAMES_2_OBJECTS =  &
 	$(OBJS)\coredll_fontpickercmn.obj &
 	$(OBJS)\coredll_fldlgcmn.obj &
 	$(OBJS)\coredll_fontcmn.obj &
+	$(OBJS)\coredll_fontdata.obj &
 	$(OBJS)\coredll_graphicc.obj &
 	$(OBJS)\coredll_fontenumcmn.obj &
 	$(OBJS)\coredll_fontmap.obj &
@@ -2330,6 +2342,7 @@ ____CORE_SRC_FILENAMES_3_OBJECTS =  &
 	$(OBJS)\corelib_clipcmn.obj &
 	$(OBJS)\corelib_clrpickercmn.obj &
 	$(OBJS)\corelib_colourcmn.obj &
+	$(OBJS)\corelib_colourdata.obj &
 	$(OBJS)\corelib_combocmn.obj &
 	$(OBJS)\corelib_cmdproc.obj &
 	$(OBJS)\corelib_cmndata.obj &
@@ -2357,6 +2370,7 @@ ____CORE_SRC_FILENAMES_3_OBJECTS =  &
 	$(OBJS)\corelib_fontpickercmn.obj &
 	$(OBJS)\corelib_fldlgcmn.obj &
 	$(OBJS)\corelib_fontcmn.obj &
+	$(OBJS)\corelib_fontdata.obj &
 	$(OBJS)\corelib_graphicc.obj &
 	$(OBJS)\corelib_fontenumcmn.obj &
 	$(OBJS)\corelib_fontmap.obj &
@@ -2591,6 +2605,7 @@ ____CORE_SRC_FILENAMES_3_OBJECTS =  &
 	$(OBJS)\corelib_clipcmn.obj &
 	$(OBJS)\corelib_clrpickercmn.obj &
 	$(OBJS)\corelib_colourcmn.obj &
+	$(OBJS)\corelib_colourdata.obj &
 	$(OBJS)\corelib_combocmn.obj &
 	$(OBJS)\corelib_cmdproc.obj &
 	$(OBJS)\corelib_cmndata.obj &
@@ -2618,6 +2633,7 @@ ____CORE_SRC_FILENAMES_3_OBJECTS =  &
 	$(OBJS)\corelib_fontpickercmn.obj &
 	$(OBJS)\corelib_fldlgcmn.obj &
 	$(OBJS)\corelib_fontcmn.obj &
+	$(OBJS)\corelib_fontdata.obj &
 	$(OBJS)\corelib_graphicc.obj &
 	$(OBJS)\corelib_fontenumcmn.obj &
 	$(OBJS)\corelib_fontmap.obj &
@@ -7701,6 +7717,11 @@ $(OBJS)\monodll_colourcmn.obj :  .AUTODEPEND ..\..\src\common\colourcmn.cpp
 	$(CXX) -bt=nt -zq -fo=$^@ $(MONODLL_CXXFLAGS) $<
 !endif
 
+!ifeq USE_GUI 1
+$(OBJS)\monodll_colourdata.obj :  .AUTODEPEND ..\..\src\common\colourdata.cpp
+	$(CXX) -bt=nt -zq -fo=$^@ $(MONODLL_CXXFLAGS) $<
+!endif
+
 !ifeq USE_GUI 1
 $(OBJS)\monodll_combocmn.obj :  .AUTODEPEND ..\..\src\common\combocmn.cpp
 	$(CXX) -bt=nt -zq -fo=$^@ $(MONODLL_CXXFLAGS) $<
@@ -7836,6 +7857,11 @@ $(OBJS)\monodll_fontcmn.obj :  .AUTODEPEND ..\..\src\common\fontcmn.cpp
 	$(CXX) -bt=nt -zq -fo=$^@ $(MONODLL_CXXFLAGS) $<
 !endif
 
+!ifeq USE_GUI 1
+$(OBJS)\monodll_fontdata.obj :  .AUTODEPEND ..\..\src\common\fontdata.cpp
+	$(CXX) -bt=nt -zq -fo=$^@ $(MONODLL_CXXFLAGS) $<
+!endif
+
 !ifeq USE_GUI 1
 $(OBJS)\monodll_graphicc.obj :  .AUTODEPEND ..\..\src\generic\graphicc.cpp
 	$(CXX) -bt=nt -zq -fo=$^@ $(MONODLL_CXXFLAGS) $<
@@ -10013,6 +10039,11 @@ $(OBJS)\monolib_colourcmn.obj :  .AUTODEPEND ..\..\src\common\colourcmn.cpp
 	$(CXX) -bt=nt -zq -fo=$^@ $(MONOLIB_CXXFLAGS) $<
 !endif
 
+!ifeq USE_GUI 1
+$(OBJS)\monolib_colourdata.obj :  .AUTODEPEND ..\..\src\common\colourdata.cpp
+	$(CXX) -bt=nt -zq -fo=$^@ $(MONOLIB_CXXFLAGS) $<
+!endif
+
 !ifeq USE_GUI 1
 $(OBJS)\monolib_combocmn.obj :  .AUTODEPEND ..\..\src\common\combocmn.cpp
 	$(CXX) -bt=nt -zq -fo=$^@ $(MONOLIB_CXXFLAGS) $<
@@ -10148,6 +10179,11 @@ $(OBJS)\monolib_fontcmn.obj :  .AUTODEPEND ..\..\src\common\fontcmn.cpp
 	$(CXX) -bt=nt -zq -fo=$^@ $(MONOLIB_CXXFLAGS) $<
 !endif
 
+!ifeq USE_GUI 1
+$(OBJS)\monolib_fontdata.obj :  .AUTODEPEND ..\..\src\common\fontdata.cpp
+	$(CXX) -bt=nt -zq -fo=$^@ $(MONOLIB_CXXFLAGS) $<
+!endif
+
 !ifeq USE_GUI 1
 $(OBJS)\monolib_graphicc.obj :  .AUTODEPEND ..\..\src\generic\graphicc.cpp
 	$(CXX) -bt=nt -zq -fo=$^@ $(MONOLIB_CXXFLAGS) $<
@@ -12316,6 +12352,11 @@ $(OBJS)\coredll_colourcmn.obj :  .AUTODEPEND ..\..\src\common\colourcmn.cpp
 	$(CXX) -bt=nt -zq -fo=$^@ $(COREDLL_CXXFLAGS) $<
 !endif
 
+!ifeq USE_GUI 1
+$(OBJS)\coredll_colourdata.obj :  .AUTODEPEND ..\..\src\common\colourdata.cpp
+	$(CXX) -bt=nt -zq -fo=$^@ $(COREDLL_CXXFLAGS) $<
+!endif
+
 !ifeq USE_GUI 1
 $(OBJS)\coredll_combocmn.obj :  .AUTODEPEND ..\..\src\common\combocmn.cpp
 	$(CXX) -bt=nt -zq -fo=$^@ $(COREDLL_CXXFLAGS) $<
@@ -12451,6 +12492,11 @@ $(OBJS)\coredll_fontcmn.obj :  .AUTODEPEND ..\..\src\common\fontcmn.cpp
 	$(CXX) -bt=nt -zq -fo=$^@ $(COREDLL_CXXFLAGS) $<
 !endif
 
+!ifeq USE_GUI 1
+$(OBJS)\coredll_fontdata.obj :  .AUTODEPEND ..\..\src\common\fontdata.cpp
+	$(CXX) -bt=nt -zq -fo=$^@ $(COREDLL_CXXFLAGS) $<
+!endif
+
 !ifeq USE_GUI 1
 $(OBJS)\coredll_graphicc.obj :  .AUTODEPEND ..\..\src\generic\graphicc.cpp
 	$(CXX) -bt=nt -zq -fo=$^@ $(COREDLL_CXXFLAGS) $<
@@ -13686,6 +13732,11 @@ $(OBJS)\corelib_colourcmn.obj :  .AUTODEPEND ..\..\src\common\colourcmn.cpp
 	$(CXX) -bt=nt -zq -fo=$^@ $(CORELIB_CXXFLAGS) $<
 !endif
 
+!ifeq USE_GUI 1
+$(OBJS)\corelib_colourdata.obj :  .AUTODEPEND ..\..\src\common\colourdata.cpp
+	$(CXX) -bt=nt -zq -fo=$^@ $(CORELIB_CXXFLAGS) $<
+!endif
+
 !ifeq USE_GUI 1
 $(OBJS)\corelib_combocmn.obj :  .AUTODEPEND ..\..\src\common\combocmn.cpp
 	$(CXX) -bt=nt -zq -fo=$^@ $(CORELIB_CXXFLAGS) $<
@@ -13821,6 +13872,11 @@ $(OBJS)\corelib_fontcmn.obj :  .AUTODEPEND ..\..\src\common\fontcmn.cpp
 	$(CXX) -bt=nt -zq -fo=$^@ $(CORELIB_CXXFLAGS) $<
 !endif
 
+!ifeq USE_GUI 1
+$(OBJS)\corelib_fontdata.obj :  .AUTODEPEND ..\..\src\common\fontdata.cpp
+	$(CXX) -bt=nt -zq -fo=$^@ $(CORELIB_CXXFLAGS) $<
+!endif
+
 !ifeq USE_GUI 1
 $(OBJS)\corelib_graphicc.obj :  .AUTODEPEND ..\..\src\generic\graphicc.cpp
 	$(CXX) -bt=nt -zq -fo=$^@ $(CORELIB_CXXFLAGS) $<
diff --git a/build/msw/wx_core.dsp b/build/msw/wx_core.dsp
index 8d8d98e562..e784b748ea 100644
--- a/build/msw/wx_core.dsp
+++ b/build/msw/wx_core.dsp
@@ -324,6 +324,10 @@ SOURCE=..\..\src\common\colourcmn.cpp
 # End Source File
 # Begin Source File
 
+SOURCE=..\..\src\common\colourdata.cpp
+# End Source File
+# Begin Source File
+
 SOURCE=..\..\src\common\combocmn.cpp
 # End Source File
 # Begin Source File
@@ -430,6 +434,10 @@ SOURCE=..\..\src\common\fontcmn.cpp
 # End Source File
 # Begin Source File
 
+SOURCE=..\..\src\common\fontdata.cpp
+# End Source File
+# Begin Source File
+
 SOURCE=..\..\src\common\fontenumcmn.cpp
 # End Source File
 # Begin Source File
@@ -5997,6 +6005,10 @@ SOURCE=..\..\include\wx\colour.h
 # End Source File
 # Begin Source File
 
+SOURCE=..\..\include\wx\colourdata.h
+# End Source File
+# Begin Source File
+
 SOURCE=..\..\include\wx\combo.h
 # End Source File
 # Begin Source File
@@ -6193,6 +6205,10 @@ SOURCE=..\..\include\wx\font.h
 # End Source File
 # Begin Source File
 
+SOURCE=..\..\include\wx\fontdata.h
+# End Source File
+# Begin Source File
+
 SOURCE=..\..\include\wx\fontdlg.h
 # End Source File
 # Begin Source File
diff --git a/build/msw/wx_vc7_core.vcproj b/build/msw/wx_vc7_core.vcproj
index 6f73605f16..dc6d9b5ff6 100644
--- a/build/msw/wx_vc7_core.vcproj
+++ b/build/msw/wx_vc7_core.vcproj
@@ -588,6 +588,9 @@
 			<File
 				RelativePath="..\..\src\common\colourcmn.cpp">
 			</File>
+			<File
+				RelativePath="..\..\src\common\colourdata.cpp">
+			</File>
 			<File
 				RelativePath="..\..\src\common\combocmn.cpp">
 			</File>
@@ -714,6 +717,9 @@
 			<File
 				RelativePath="..\..\src\common\fontcmn.cpp">
 			</File>
+			<File
+				RelativePath="..\..\src\common\fontdata.cpp">
+			</File>
 			<File
 				RelativePath="..\..\src\common\fontenumcmn.cpp">
 			</File>
@@ -5092,6 +5098,9 @@
 			<File
 				RelativePath="..\..\include\wx\colour.h">
 			</File>
+			<File
+				RelativePath="..\..\include\wx\colourdata.h">
+			</File>
 			<File
 				RelativePath="..\..\include\wx\combo.h">
 			</File>
@@ -5239,6 +5248,9 @@
 			<File
 				RelativePath="..\..\include\wx\font.h">
 			</File>
+			<File
+				RelativePath="..\..\include\wx\fontdata.h">
+			</File>
 			<File
 				RelativePath="..\..\include\wx\fontdlg.h">
 			</File>
diff --git a/build/msw/wx_vc8_core.vcproj b/build/msw/wx_vc8_core.vcproj
index 74138c5e0f..5a922dcc46 100644
--- a/build/msw/wx_vc8_core.vcproj
+++ b/build/msw/wx_vc8_core.vcproj
@@ -818,6 +818,10 @@
 				RelativePath="..\..\src\common\colourcmn.cpp"
 				>
 			</File>
+			<File
+				RelativePath="..\..\src\common\colourdata.cpp"
+				>
+			</File>
 			<File
 				RelativePath="..\..\src\common\combocmn.cpp"
 				>
@@ -986,6 +990,10 @@
 				RelativePath="..\..\src\common\fontcmn.cpp"
 				>
 			</File>
+			<File
+				RelativePath="..\..\src\common\fontdata.cpp"
+				>
+			</File>
 			<File
 				RelativePath="..\..\src\common\fontenumcmn.cpp"
 				>
@@ -6807,6 +6815,10 @@
 				RelativePath="..\..\include\wx\colour.h"
 				>
 			</File>
+			<File
+				RelativePath="..\..\include\wx\colourdata.h"
+				>
+			</File>
 			<File
 				RelativePath="..\..\include\wx\combo.h"
 				>
@@ -7003,6 +7015,10 @@
 				RelativePath="..\..\include\wx\font.h"
 				>
 			</File>
+			<File
+				RelativePath="..\..\include\wx\fontdata.h"
+				>
+			</File>
 			<File
 				RelativePath="..\..\include\wx\fontdlg.h"
 				>
diff --git a/build/msw/wx_vc9_core.vcproj b/build/msw/wx_vc9_core.vcproj
index 379154fd58..af4b06be9a 100644
--- a/build/msw/wx_vc9_core.vcproj
+++ b/build/msw/wx_vc9_core.vcproj
@@ -814,6 +814,10 @@
 				RelativePath="..\..\src\common\colourcmn.cpp"
 				>
 			</File>
+			<File
+				RelativePath="..\..\src\common\colourdata.cpp"
+				>
+			</File>
 			<File
 				RelativePath="..\..\src\common\combocmn.cpp"
 				>
@@ -982,6 +986,10 @@
 				RelativePath="..\..\src\common\fontcmn.cpp"
 				>
 			</File>
+			<File
+				RelativePath="..\..\src\common\fontdata.cpp"
+				>
+			</File>
 			<File
 				RelativePath="..\..\src\common\fontenumcmn.cpp"
 				>
@@ -6803,6 +6811,10 @@
 				RelativePath="..\..\include\wx\colour.h"
 				>
 			</File>
+			<File
+				RelativePath="..\..\include\wx\colourdata.h"
+				>
+			</File>
 			<File
 				RelativePath="..\..\include\wx\combo.h"
 				>
@@ -6999,6 +7011,10 @@
 				RelativePath="..\..\include\wx\font.h"
 				>
 			</File>
+			<File
+				RelativePath="..\..\include\wx\fontdata.h"
+				>
+			</File>
 			<File
 				RelativePath="..\..\include\wx\fontdlg.h"
 				>
diff --git a/include/wx/cmndata.h b/include/wx/cmndata.h
index b37b38fa0b..8ac018ce65 100644
--- a/include/wx/cmndata.h
+++ b/include/wx/cmndata.h
@@ -12,149 +12,18 @@
 #ifndef _WX_CMNDATA_H_BASE_
 #define _WX_CMNDATA_H_BASE_
 
-#include "wx/window.h"
-#include "wx/font.h"
-#include "wx/encinfo.h"
-#include "wx/colour.h"
+#include "wx/defs.h"
+
+#if wxUSE_PRINTING_ARCHITECTURE
+
 #include "wx/gdicmn.h"
 
 #if wxUSE_STREAMS
 #include "wx/stream.h"
 #endif
 
-
 class WXDLLIMPEXP_FWD_CORE wxPrintNativeDataBase;
 
-
-class WXDLLIMPEXP_CORE wxColourData : public wxObject
-{
-public:
-    // number of custom colours we store
-    enum
-    {
-        NUM_CUSTOM = 16
-    };
-
-    wxColourData();
-    wxColourData(const wxColourData& data);
-    wxColourData& operator=(const wxColourData& data);
-    virtual ~wxColourData();
-
-    void SetChooseFull(bool flag) { m_chooseFull = flag; }
-    bool GetChooseFull() const { return m_chooseFull; }
-    void SetColour(const wxColour& colour) { m_dataColour = colour; }
-    const wxColour& GetColour() const { return m_dataColour; }
-    wxColour& GetColour() { return m_dataColour; }
-
-    // SetCustomColour() modifies colours in an internal array of NUM_CUSTOM
-    // custom colours;
-    void SetCustomColour(int i, const wxColour& colour);
-    wxColour GetCustomColour(int i) const;
-
-    // Serialize the object to a string and restore it from it
-    wxString ToString() const;
-    bool FromString(const wxString& str);
-
-
-    // public for backwards compatibility only: don't use directly
-public:
-    wxColour        m_dataColour;
-    wxColour        m_custColours[NUM_CUSTOM];
-    bool            m_chooseFull;
-
-private:
-    DECLARE_DYNAMIC_CLASS(wxColourData)
-};
-
-class WXDLLIMPEXP_CORE wxFontData : public wxObject
-{
-public:
-    wxFontData();
-    virtual ~wxFontData();
-
-    wxFontData(const wxFontData& data)
-        : wxObject(),
-          m_fontColour(data.m_fontColour),
-          m_showHelp(data.m_showHelp),
-          m_allowSymbols(data.m_allowSymbols),
-          m_enableEffects(data.m_enableEffects),
-          m_initialFont(data.m_initialFont),
-          m_chosenFont(data.m_chosenFont),
-          m_minSize(data.m_minSize),
-          m_maxSize(data.m_maxSize),
-          m_encoding(data.m_encoding),
-          m_encodingInfo(data.m_encodingInfo)
-    {
-    }
-
-    wxFontData& operator=(const wxFontData& data)
-    {
-        if (&data != this)
-        {
-            wxObject::operator=(data);
-            m_fontColour     = data.m_fontColour;
-            m_showHelp       = data.m_showHelp;
-            m_allowSymbols   = data.m_allowSymbols;
-            m_enableEffects  = data.m_enableEffects;
-            m_initialFont    = data.m_initialFont;
-            m_chosenFont     = data.m_chosenFont;
-            m_minSize        = data.m_minSize;
-            m_maxSize        = data.m_maxSize;
-            m_encoding       = data.m_encoding;
-            m_encodingInfo   = data.m_encodingInfo;
-        }
-        return *this;
-    }
-
-    void SetAllowSymbols(bool flag) { m_allowSymbols = flag; }
-    bool GetAllowSymbols() const { return m_allowSymbols; }
-
-    void SetColour(const wxColour& colour) { m_fontColour = colour; }
-    const wxColour& GetColour() const { return m_fontColour; }
-
-    void SetShowHelp(bool flag) { m_showHelp = flag; }
-    bool GetShowHelp() const { return m_showHelp; }
-
-    void EnableEffects(bool flag) { m_enableEffects = flag; }
-    bool GetEnableEffects() const { return m_enableEffects; }
-
-    void SetInitialFont(const wxFont& font) { m_initialFont = font; }
-    wxFont GetInitialFont() const { return m_initialFont; }
-
-    void SetChosenFont(const wxFont& font) { m_chosenFont = font; }
-    wxFont GetChosenFont() const { return m_chosenFont; }
-
-    void SetRange(int minRange, int maxRange) { m_minSize = minRange; m_maxSize = maxRange; }
-
-    // encoding info is split into 2 parts: the logical wxWin encoding
-    // (wxFontEncoding) and a structure containing the native parameters for
-    // it (wxNativeEncodingInfo)
-    wxFontEncoding GetEncoding() const { return m_encoding; }
-    void SetEncoding(wxFontEncoding encoding) { m_encoding = encoding; }
-
-    wxNativeEncodingInfo& EncodingInfo() { return m_encodingInfo; }
-
-
-    // public for backwards compatibility only: don't use directly
-public:
-    wxColour        m_fontColour;
-    bool            m_showHelp;
-    bool            m_allowSymbols;
-    bool            m_enableEffects;
-    wxFont          m_initialFont;
-    wxFont          m_chosenFont;
-    int             m_minSize;
-    int             m_maxSize;
-
-private:
-    wxFontEncoding       m_encoding;
-    wxNativeEncodingInfo m_encodingInfo;
-
-private:
-    DECLARE_DYNAMIC_CLASS(wxFontData)
-};
-
-#if wxUSE_PRINTING_ARCHITECTURE
 /*
  * wxPrintData
  * Encapsulates printer information (not printer dialog information)
diff --git a/include/wx/colordlg.h b/include/wx/colordlg.h
index 2015970c47..efd30ad4a7 100644
--- a/include/wx/colordlg.h
+++ b/include/wx/colordlg.h
@@ -1,5 +1,5 @@
 /////////////////////////////////////////////////////////////////////////////
-// Name:        wx/colrdlgg.h
+// Name:        wx/colordlg.h
 // Purpose:     wxColourDialog
 // Author:      Vadim Zeitiln
 // Modified by:
@@ -16,6 +16,8 @@
 
 #if wxUSE_COLOURDLG
 
+#include "wx/colourdata.h"
+
 #if defined(__WXMSW__) && !defined(__WXUNIVERSAL__)
     #include "wx/msw/colordlg.h"
 #elif defined(__WXMAC__) && !defined(__WXUNIVERSAL__)
@@ -30,8 +32,6 @@
     #define wxColourDialog wxGenericColourDialog
 #endif
 
-class WXDLLIMPEXP_FWD_CORE wxColourData;
-
 // get the colour from user and return it
 WXDLLIMPEXP_CORE wxColour wxGetColourFromUser(wxWindow *parent = NULL,
                                               const wxColour& colInit = wxNullColour,
diff --git a/include/wx/colourdata.h b/include/wx/colourdata.h
new file mode 100644
index 0000000000..b599ae3495
--- /dev/null
+++ b/include/wx/colourdata.h
@@ -0,0 +1,52 @@
+/////////////////////////////////////////////////////////////////////////////
+// Name:        wx/colourdata.h
+// Author:      Julian Smart
+// RCS-ID:      $Id$
+// Copyright:   (c) Julian Smart
+// Licence:     wxWindows licence
+/////////////////////////////////////////////////////////////////////////////
+
+#ifndef _WX_COLOURDATA_H_
+#define _WX_COLOURDATA_H_
+
+#include "wx/colour.h"
+
+class WXDLLIMPEXP_CORE wxColourData : public wxObject
+{
+public:
+    // number of custom colours we store
+    enum
+    {
+        NUM_CUSTOM = 16
+    };
+
+    wxColourData();
+    wxColourData(const wxColourData& data);
+    wxColourData& operator=(const wxColourData& data);
+    virtual ~wxColourData();
+
+    void SetChooseFull(bool flag) { m_chooseFull = flag; }
+    bool GetChooseFull() const { return m_chooseFull; }
+    void SetColour(const wxColour& colour) { m_dataColour = colour; }
+    const wxColour& GetColour() const { return m_dataColour; }
+    wxColour& GetColour() { return m_dataColour; }
+
+    // SetCustomColour() modifies colours in an internal array of NUM_CUSTOM
+    // custom colours;
+    void SetCustomColour(int i, const wxColour& colour);
+    wxColour GetCustomColour(int i) const;
+
+    // Serialize the object to a string and restore it from it
+    wxString ToString() const;
+    bool FromString(const wxString& str);
+
+
+    // public for backwards compatibility only: don't use directly
+    wxColour        m_dataColour;
+    wxColour        m_custColours[NUM_CUSTOM];
+    bool            m_chooseFull;
+
+    DECLARE_DYNAMIC_CLASS(wxColourData)
+};
+
+#endif // _WX_COLOURDATA_H_
diff --git a/include/wx/dc.h b/include/wx/dc.h
index 82f4848adf..aa6b39e260 100644
--- a/include/wx/dc.h
+++ b/include/wx/dc.h
@@ -29,7 +29,7 @@
 #include "wx/dynarray.h"
 #include "wx/math.h"
 #include "wx/image.h"
-#include "wx/cmndata.h"
+#include "wx/region.h"
 
 #define wxUSE_NEW_DC 1
 
diff --git a/include/wx/font.h b/include/wx/font.h
index 7ebc53d325..35d696a457 100644
--- a/include/wx/font.h
+++ b/include/wx/font.h
@@ -25,10 +25,7 @@
 // forward declarations
 // ----------------------------------------------------------------------------
 
-class WXDLLIMPEXP_FWD_CORE wxFontData;
-class WXDLLIMPEXP_FWD_CORE wxFontBase;
 class WXDLLIMPEXP_FWD_CORE wxFont;
-class WXDLLIMPEXP_FWD_CORE wxSize;
 
 // ----------------------------------------------------------------------------
 // font constants
diff --git a/include/wx/fontdata.h b/include/wx/fontdata.h
new file mode 100644
index 0000000000..4b1235438a
--- /dev/null
+++ b/include/wx/fontdata.h
@@ -0,0 +1,71 @@
+/////////////////////////////////////////////////////////////////////////////
+// Name:        wx/fontdata.h
+// Author:      Julian Smart
+// RCS-ID:      $Id$
+// Copyright:   (c) Julian Smart
+// Licence:     wxWindows licence
+/////////////////////////////////////////////////////////////////////////////
+
+#ifndef _WX_FONTDATA_H_
+#define _WX_FONTDATA_H_
+
+#include "wx/font.h"
+#include "wx/colour.h"
+#include "wx/encinfo.h"
+
+class WXDLLIMPEXP_CORE wxFontData : public wxObject
+{
+public:
+    wxFontData();
+    virtual ~wxFontData();
+
+    wxFontData(const wxFontData& data);
+    wxFontData& operator=(const wxFontData& data);
+
+    void SetAllowSymbols(bool flag) { m_allowSymbols = flag; }
+    bool GetAllowSymbols() const { return m_allowSymbols; }
+
+    void SetColour(const wxColour& colour) { m_fontColour = colour; }
+    const wxColour& GetColour() const { return m_fontColour; }
+
+    void SetShowHelp(bool flag) { m_showHelp = flag; }
+    bool GetShowHelp() const { return m_showHelp; }
+
+    void EnableEffects(bool flag) { m_enableEffects = flag; }
+    bool GetEnableEffects() const { return m_enableEffects; }
+
+    void SetInitialFont(const wxFont& font) { m_initialFont = font; }
+    wxFont GetInitialFont() const { return m_initialFont; }
+
+    void SetChosenFont(const wxFont& font) { m_chosenFont = font; }
+    wxFont GetChosenFont() const { return m_chosenFont; }
+
+    void SetRange(int minRange, int maxRange) { m_minSize = minRange; m_maxSize = maxRange; }
+
+    // encoding info is split into 2 parts: the logical wxWin encoding
+    // (wxFontEncoding) and a structure containing the native parameters for
+    // it (wxNativeEncodingInfo)
+    wxFontEncoding GetEncoding() const { return m_encoding; }
+    void SetEncoding(wxFontEncoding encoding) { m_encoding = encoding; }
+
+    wxNativeEncodingInfo& EncodingInfo() { return m_encodingInfo; }
+
+
+    // public for backwards compatibility only: don't use directly
+    wxColour        m_fontColour;
+    bool            m_showHelp;
+    bool            m_allowSymbols;
+    bool            m_enableEffects;
+    wxFont          m_initialFont;
+    wxFont          m_chosenFont;
+    int             m_minSize;
+    int             m_maxSize;
+
+private:
+    wxFontEncoding       m_encoding;
+    wxNativeEncodingInfo m_encodingInfo;
+
+    DECLARE_DYNAMIC_CLASS(wxFontData)
+};
+
+#endif // _WX_FONTDATA_H_
diff --git a/include/wx/fontdlg.h b/include/wx/fontdlg.h
index 831d92409b..2c2e4d13c1 100644
--- a/include/wx/fontdlg.h
+++ b/include/wx/fontdlg.h
@@ -17,7 +17,7 @@
 #if wxUSE_FONTDLG
 
 #include "wx/dialog.h"          // the base class
-#include "wx/cmndata.h"         // wxFontData
+#include "wx/fontdata.h"
 
 // ----------------------------------------------------------------------------
 // wxFontDialog interface
diff --git a/include/wx/generic/clrpickerg.h b/include/wx/generic/clrpickerg.h
index ba70b2087c..50988f1924 100644
--- a/include/wx/generic/clrpickerg.h
+++ b/include/wx/generic/clrpickerg.h
@@ -14,7 +14,7 @@
 
 #include "wx/button.h"
 #include "wx/bmpbuttn.h"
-#include "wx/cmndata.h"
+#include "wx/colourdata.h"
 
 //-----------------------------------------------------------------------------
 // wxGenericColourButton: a button which brings up a wxColourDialog
diff --git a/include/wx/generic/colrdlgg.h b/include/wx/generic/colrdlgg.h
index e1b9e4268f..d792b7aac1 100644
--- a/include/wx/generic/colrdlgg.h
+++ b/include/wx/generic/colrdlgg.h
@@ -9,13 +9,11 @@
 // Licence:     wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 
-#ifndef __COLORDLGH_G__
-#define __COLORDLGH_G__
+#ifndef _WX_COLORDLGG_H_
+#define _WX_COLORDLGG_H_
 
-#include "wx/defs.h"
 #include "wx/gdicmn.h"
 #include "wx/dialog.h"
-#include "wx/cmndata.h"
 
 #define wxID_ADD_CUSTOM     3000
 
@@ -116,4 +114,4 @@ protected:
     DECLARE_DYNAMIC_CLASS(wxGenericColourDialog)
 };
 
-#endif
+#endif // _WX_COLORDLGG_H_
diff --git a/include/wx/generic/fontdlgg.h b/include/wx/generic/fontdlgg.h
index 892d840008..4c9cd6e8b1 100644
--- a/include/wx/generic/fontdlgg.h
+++ b/include/wx/generic/fontdlgg.h
@@ -12,11 +12,8 @@
 #ifndef _WX_GENERIC_FONTDLGG_H
 #define _WX_GENERIC_FONTDLGG_H
 
-#include "wx/defs.h"
 #include "wx/gdicmn.h"
 #include "wx/font.h"
-#include "wx/dialog.h"
-#include "wx/cmndata.h"
 
 #ifdef __WXWINCE__
 #define USE_SPINCTRL_FOR_POINT_SIZE 1
diff --git a/include/wx/generic/fontpickerg.h b/include/wx/generic/fontpickerg.h
index 369c46677e..03558c6f95 100644
--- a/include/wx/generic/fontpickerg.h
+++ b/include/wx/generic/fontpickerg.h
@@ -13,7 +13,7 @@
 #define _WX_FONTPICKER_H_
 
 #include "wx/button.h"
-#include "wx/cmndata.h"
+#include "wx/fontdata.h"
 
 //-----------------------------------------------------------------------------
 // wxGenericFontButton: a button which brings up a wxFontDialog
diff --git a/include/wx/gtk/colordlg.h b/include/wx/gtk/colordlg.h
index 0b78f691b3..624bbdcbdb 100644
--- a/include/wx/gtk/colordlg.h
+++ b/include/wx/gtk/colordlg.h
@@ -13,7 +13,6 @@
 #define _WX_GTK_COLORDLG_H_
 
 #include "wx/dialog.h"
-#include "wx/cmndata.h"
 
 class WXDLLIMPEXP_CORE wxColourDialog : public wxDialog
 {
diff --git a/include/wx/gtk1/colordlg.h b/include/wx/gtk1/colordlg.h
index ed07836ef2..d686d0cec9 100644
--- a/include/wx/gtk1/colordlg.h
+++ b/include/wx/gtk1/colordlg.h
@@ -15,7 +15,6 @@
 #include "wx/defs.h"
 #include "wx/gdicmn.h"
 #include "wx/dialog.h"
-#include "wx/cmndata.h"
 
 
 class WXDLLIMPEXP_CORE wxColourDialog : public wxDialog
diff --git a/include/wx/msw/colordlg.h b/include/wx/msw/colordlg.h
index 91ac90090d..f0e369136c 100644
--- a/include/wx/msw/colordlg.h
+++ b/include/wx/msw/colordlg.h
@@ -12,9 +12,7 @@
 #ifndef _WX_COLORDLG_H_
 #define _WX_COLORDLG_H_
 
-#include "wx/defs.h"
 #include "wx/dialog.h"
-#include "wx/cmndata.h"
 
 // ----------------------------------------------------------------------------
 // wxColourDialog: dialog for choosing a colours
diff --git a/include/wx/os2/fontdlg.h b/include/wx/os2/fontdlg.h
index fadd23e1cb..485bdbf864 100644
--- a/include/wx/os2/fontdlg.h
+++ b/include/wx/os2/fontdlg.h
@@ -14,7 +14,6 @@
 #define _WX_FONTDLG_H_
 
 #include "wx/dialog.h"
-#include "wx/cmndata.h"
 
 /*
  * Font dialog
diff --git a/include/wx/osx/colordlg.h b/include/wx/osx/colordlg.h
index f4ff9c5d80..54085932cd 100644
--- a/include/wx/osx/colordlg.h
+++ b/include/wx/osx/colordlg.h
@@ -13,9 +13,7 @@
 #ifndef _WX_COLORDLG_H_
 #define _WX_COLORDLG_H_
 
-#include "wx/defs.h"
 #include "wx/dialog.h"
-#include "wx/cmndata.h"
 
 /*
  * Platform-specific colour dialog implementation
diff --git a/include/wx/osx/fontdlg.h b/include/wx/osx/fontdlg.h
index f57bb32b99..90ec73f54f 100644
--- a/include/wx/osx/fontdlg.h
+++ b/include/wx/osx/fontdlg.h
@@ -13,7 +13,6 @@
 #define _WX_FONTDLG_H_
 
 #include "wx/dialog.h"
-#include "wx/cmndata.h"
 
 /*
  * Font dialog
diff --git a/include/wx/palmos/colordlg.h b/include/wx/palmos/colordlg.h
index e6e35236b8..0f59c2d60c 100644
--- a/include/wx/palmos/colordlg.h
+++ b/include/wx/palmos/colordlg.h
@@ -14,7 +14,6 @@
 
 #include "wx/defs.h"
 #include "wx/dialog.h"
-#include "wx/cmndata.h"
 
 // ----------------------------------------------------------------------------
 // wxColourDialog: dialog for choosing a colours
diff --git a/include/wx/wx.h b/include/wx/wx.h
index 5abb78f5a3..396d8f595d 100644
--- a/include/wx/wx.h
+++ b/include/wx/wx.h
@@ -64,7 +64,6 @@
 #include "wx/dialog.h"
 #include "wx/settings.h"
 #include "wx/msgdlg.h"
-#include "wx/cmndata.h"
 #include "wx/dataobj.h"
 
 #include "wx/control.h"
diff --git a/samples/propgrid/sampleprops.cpp b/samples/propgrid/sampleprops.cpp
index d5e7c8189d..c807e9c974 100644
--- a/samples/propgrid/sampleprops.cpp
+++ b/samples/propgrid/sampleprops.cpp
@@ -22,6 +22,8 @@
     #include "wx/wx.h"
 #endif
 
+#include "wx/fontdlg.h"
+
 // -----------------------------------------------------------------------
 
 
@@ -46,8 +48,6 @@ bool operator == (const wxFontData&, const wxFontData&)
 // Custom version of wxFontProperty that also holds colour in the value.
 // Original version by Vladimir Vainer.
 
-#include <wx/fontdlg.h>
-
 IMPLEMENT_VARIANT_OBJECT_SHALLOWCMP(wxFontData)
 
 WX_PG_IMPLEMENT_PROPERTY_CLASS(wxFontDataProperty,wxFontProperty,
diff --git a/src/common/cmndata.cpp b/src/common/cmndata.cpp
index 26a9a6785a..e3138fe06b 100644
--- a/src/common/cmndata.cpp
+++ b/src/common/cmndata.cpp
@@ -24,6 +24,8 @@
     #pragma hdrstop
 #endif
 
+#if wxUSE_PRINTING_ARCHITECTURE
+
 #include "wx/cmndata.h"
 
 #ifndef WX_PRECOMP
@@ -38,16 +40,8 @@
     #include "wx/gdicmn.h"
 #endif
 
-#include "wx/tokenzr.h"
 #include "wx/prntbase.h"
 #include "wx/printdlg.h"
-
-#if wxUSE_FONTDLG
-    #include "wx/fontdlg.h"
-#endif // wxUSE_FONTDLG
-
-#if wxUSE_PRINTING_ARCHITECTURE
-
 #include "wx/paper.h"
 
 
@@ -55,133 +49,10 @@ IMPLEMENT_DYNAMIC_CLASS(wxPrintData, wxObject)
 IMPLEMENT_DYNAMIC_CLASS(wxPrintDialogData, wxObject)
 IMPLEMENT_DYNAMIC_CLASS(wxPageSetupDialogData, wxObject)
 
-#endif // wxUSE_PRINTING_ARCHITECTURE
-
-IMPLEMENT_DYNAMIC_CLASS(wxFontData, wxObject)
-IMPLEMENT_DYNAMIC_CLASS(wxColourData, wxObject)
-
 // ============================================================================
 // implementation
 // ============================================================================
 
-// ----------------------------------------------------------------------------
-// wxColourData
-// ----------------------------------------------------------------------------
-
-wxColourData::wxColourData()
-{
-    m_chooseFull = false;
-    m_dataColour.Set(0,0,0);
-    // m_custColours are wxNullColours initially
-}
-
-wxColourData::wxColourData(const wxColourData& data)
-            : wxObject()
-{
-    (*this) = data;
-}
-
-wxColourData::~wxColourData()
-{
-}
-
-void wxColourData::SetCustomColour(int i, const wxColour& colour)
-{
-    wxCHECK_RET( i >= 0 && i < NUM_CUSTOM, wxT("custom colour index out of range") );
-
-    m_custColours[i] = colour;
-}
-
-wxColour wxColourData::GetCustomColour(int i) const
-{
-    wxCHECK_MSG( i >= 0 && i < NUM_CUSTOM, wxColour(0,0,0),
-                 wxT("custom colour index out of range") );
-
-    return m_custColours[i];
-}
-
-wxColourData& wxColourData::operator=(const wxColourData& data)
-{
-    for ( int i = 0; i < NUM_CUSTOM; i++)
-        m_custColours[i] = data.m_custColours[i];
-
-    m_dataColour = data.m_dataColour;
-    m_chooseFull = data.m_chooseFull;
-
-    return *this;
-}
-
-// ----------------------------------------------------------------------------
-// [de]serialization
-// ----------------------------------------------------------------------------
-
-// separator used between different fields
-static const char wxCOL_DATA_SEP = ',';
-
-wxString wxColourData::ToString() const
-{
-    wxString str(m_chooseFull ? '1' : '0');
-
-    for ( int i = 0; i < NUM_CUSTOM; i++ )
-    {
-        str += wxCOL_DATA_SEP;
-
-        const wxColour& clr = m_custColours[i];
-        if ( clr.IsOk() )
-            str += clr.GetAsString(wxC2S_HTML_SYNTAX);
-    }
-
-    return str;
-}
-
-bool wxColourData::FromString(const wxString& str)
-{
-    wxStringTokenizer tokenizer(str, wxCOL_DATA_SEP);
-    wxString token = tokenizer.GetNextToken();
-    m_chooseFull = token == '1';
-    bool success = m_chooseFull || token == '0';
-    for (int i = 0; success && i < NUM_CUSTOM; i++)
-    {
-        token = tokenizer.GetNextToken();
-        if (token.empty())
-            m_custColours[i] = wxNullColour;
-        else
-            success = m_custColours[i].Set(token);
-    }
-    return success;
-}
-
-// ----------------------------------------------------------------------------
-// Font data
-// ----------------------------------------------------------------------------
-
-wxFontData::wxFontData()
-{
-    // Intialize colour to black.
-    m_fontColour = wxNullColour;
-
-    m_showHelp = false;
-    m_allowSymbols = true;
-    m_enableEffects = true;
-    m_minSize = 0;
-    m_maxSize = 0;
-
-    m_encoding = wxFONTENCODING_SYSTEM;
-}
-
-wxFontData::~wxFontData()
-{
-}
-
-#if wxUSE_FONTDLG
-
-wxFontDialogBase::~wxFontDialogBase()
-{
-}
-
-#endif // wxUSE_FONTDLG
-
-#if wxUSE_PRINTING_ARCHITECTURE
 // ----------------------------------------------------------------------------
 // Print data
 // ----------------------------------------------------------------------------
diff --git a/src/common/colourdata.cpp b/src/common/colourdata.cpp
new file mode 100644
index 0000000000..af37a90b80
--- /dev/null
+++ b/src/common/colourdata.cpp
@@ -0,0 +1,108 @@
+/////////////////////////////////////////////////////////////////////////////
+// Name:        src/common/colourdata.cpp
+// Author:      Julian Smart
+// RCS-ID:      $Id$
+// Copyright:   (c) Julian Smart
+// Licence:     wxWindows licence
+/////////////////////////////////////////////////////////////////////////////
+
+#include "wx/wxprec.h"
+
+#ifdef __BORLANDC__
+    #pragma hdrstop
+#endif
+
+#if wxUSE_COLOURDLG || wxUSE_COLOURPICKERCTRL
+
+#include "wx/colourdata.h"
+#include "wx/tokenzr.h"
+
+// ----------------------------------------------------------------------------
+// wxColourData
+// ----------------------------------------------------------------------------
+
+IMPLEMENT_DYNAMIC_CLASS(wxColourData, wxObject)
+
+wxColourData::wxColourData()
+{
+    m_chooseFull = false;
+    m_dataColour.Set(0,0,0);
+    // m_custColours are wxNullColours initially
+}
+
+wxColourData::wxColourData(const wxColourData& data)
+            : wxObject()
+{
+    (*this) = data;
+}
+
+wxColourData::~wxColourData()
+{
+}
+
+void wxColourData::SetCustomColour(int i, const wxColour& colour)
+{
+    wxCHECK_RET( i >= 0 && i < NUM_CUSTOM, wxT("custom colour index out of range") );
+
+    m_custColours[i] = colour;
+}
+
+wxColour wxColourData::GetCustomColour(int i) const
+{
+    wxCHECK_MSG( i >= 0 && i < NUM_CUSTOM, wxColour(0,0,0),
+                 wxT("custom colour index out of range") );
+
+    return m_custColours[i];
+}
+
+wxColourData& wxColourData::operator=(const wxColourData& data)
+{
+    for ( int i = 0; i < NUM_CUSTOM; i++)
+        m_custColours[i] = data.m_custColours[i];
+
+    m_dataColour = data.m_dataColour;
+    m_chooseFull = data.m_chooseFull;
+
+    return *this;
+}
+
+// ----------------------------------------------------------------------------
+// [de]serialization
+// ----------------------------------------------------------------------------
+
+// separator used between different fields
+static const char wxCOL_DATA_SEP = ',';
+
+wxString wxColourData::ToString() const
+{
+    wxString str(m_chooseFull ? '1' : '0');
+
+    for ( int i = 0; i < NUM_CUSTOM; i++ )
+    {
+        str += wxCOL_DATA_SEP;
+
+        const wxColour& clr = m_custColours[i];
+        if ( clr.IsOk() )
+            str += clr.GetAsString(wxC2S_HTML_SYNTAX);
+    }
+
+    return str;
+}
+
+bool wxColourData::FromString(const wxString& str)
+{
+    wxStringTokenizer tokenizer(str, wxCOL_DATA_SEP);
+    wxString token = tokenizer.GetNextToken();
+    m_chooseFull = token == '1';
+    bool success = m_chooseFull || token == '0';
+    for (int i = 0; success && i < NUM_CUSTOM; i++)
+    {
+        token = tokenizer.GetNextToken();
+        if (token.empty())
+            m_custColours[i] = wxColour();
+        else
+            success = m_custColours[i].Set(token);
+    }
+    return success;
+}
+#endif // wxUSE_COLOURDLG || wxUSE_COLOURPICKERCTRL
diff --git a/src/common/fontdata.cpp b/src/common/fontdata.cpp
new file mode 100644
index 0000000000..05bd16f524
--- /dev/null
+++ b/src/common/fontdata.cpp
@@ -0,0 +1,69 @@
+/////////////////////////////////////////////////////////////////////////////
+// Name:        src/common/fontdata.cpp
+// Author:      Julian Smart
+// RCS-ID:      $Id$
+// Copyright:   (c) Julian Smart
+// Licence:     wxWindows licence
+/////////////////////////////////////////////////////////////////////////////
+
+#include "wx/wxprec.h"
+
+#ifdef __BORLANDC__
+    #pragma hdrstop
+#endif
+
+#if wxUSE_FONTDLG || wxUSE_FONTPICKERCTRL
+
+#include "wx/fontdata.h"
+
+IMPLEMENT_DYNAMIC_CLASS(wxFontData, wxObject)
+
+wxFontData::wxFontData()
+{
+    m_showHelp = false;
+    m_allowSymbols = true;
+    m_enableEffects = true;
+    m_minSize = 0;
+    m_maxSize = 0;
+
+    m_encoding = wxFONTENCODING_SYSTEM;
+}
+
+wxFontData::~wxFontData()
+{
+}
+
+wxFontData::wxFontData(const wxFontData& data)
+    : wxObject(),
+      m_fontColour(data.m_fontColour),
+      m_showHelp(data.m_showHelp),
+      m_allowSymbols(data.m_allowSymbols),
+      m_enableEffects(data.m_enableEffects),
+      m_initialFont(data.m_initialFont),
+      m_chosenFont(data.m_chosenFont),
+      m_minSize(data.m_minSize),
+      m_maxSize(data.m_maxSize),
+      m_encoding(data.m_encoding),
+      m_encodingInfo(data.m_encodingInfo)
+{
+}
+
+wxFontData& wxFontData::operator=(const wxFontData& data)
+{
+    if (&data != this)
+    {
+        wxObject::operator=(data);
+        m_fontColour     = data.m_fontColour;
+        m_showHelp       = data.m_showHelp;
+        m_allowSymbols   = data.m_allowSymbols;
+        m_enableEffects  = data.m_enableEffects;
+        m_initialFont    = data.m_initialFont;
+        m_chosenFont     = data.m_chosenFont;
+        m_minSize        = data.m_minSize;
+        m_maxSize        = data.m_maxSize;
+        m_encoding       = data.m_encoding;
+        m_encodingInfo   = data.m_encodingInfo;
+    }
+    return *this;
+}
+#endif // wxUSE_FONTDLG || wxUSE_FONTPICKERCTRL
diff --git a/src/common/fontmap.cpp b/src/common/fontmap.cpp
index 4f969fa5d4..fc7975c5f2 100644
--- a/src/common/fontmap.cpp
+++ b/src/common/fontmap.cpp
@@ -518,4 +518,10 @@ bool wxFontMapper::IsEncodingAvailable(wxFontEncoding encoding,
     return wxTestFontEncoding(info);
 }
 
+#if wxUSE_FONTDLG
+wxFontDialogBase::~wxFontDialogBase()
+{
+}
+#endif
+
 #endif // wxUSE_FONTMAP
diff --git a/src/generic/colrdlgg.cpp b/src/generic/colrdlgg.cpp
index 83f9bc0049..c1d81ee82f 100644
--- a/src/generic/colrdlgg.cpp
+++ b/src/generic/colrdlgg.cpp
@@ -35,6 +35,7 @@
     #include "wx/statline.h"
 #endif
 
+#include "wx/colourdata.h"
 #include "wx/generic/colrdlgg.h"
 
 IMPLEMENT_DYNAMIC_CLASS(wxGenericColourDialog, wxDialog)
diff --git a/src/generic/dirctrlg.cpp b/src/generic/dirctrlg.cpp
index fae330fa03..24073aeeae 100644
--- a/src/generic/dirctrlg.cpp
+++ b/src/generic/dirctrlg.cpp
@@ -29,7 +29,6 @@
     #include "wx/icon.h"
     #include "wx/settings.h"
     #include "wx/msgdlg.h"
-    #include "wx/cmndata.h"
     #include "wx/choice.h"
     #include "wx/textctrl.h"
     #include "wx/layout.h"
diff --git a/src/generic/fontdlgg.cpp b/src/generic/fontdlgg.cpp
index b0cc8c996a..be55ed2c08 100644
--- a/src/generic/fontdlgg.cpp
+++ b/src/generic/fontdlgg.cpp
@@ -32,7 +32,6 @@
     #include "wx/checkbox.h"
     #include "wx/intl.h"
     #include "wx/settings.h"
-    #include "wx/cmndata.h"
     #include "wx/sizer.h"
 #endif
 
diff --git a/src/generic/graphicc.cpp b/src/generic/graphicc.cpp
index d2150dfae9..482befad69 100644
--- a/src/generic/graphicc.cpp
+++ b/src/generic/graphicc.cpp
@@ -29,6 +29,9 @@
     #include "wx/dcclient.h"
     #include "wx/dcmemory.h"
     #include "wx/dcprint.h"
+    #ifdef __WXGTK__
+        #include "wx/window.h"
+    #endif
 #endif
 
 #include "wx/private/graphics.h"
diff --git a/src/gtk/font.cpp b/src/gtk/font.cpp
index adeb1354f7..17556c002f 100644
--- a/src/gtk/font.cpp
+++ b/src/gtk/font.cpp
@@ -24,7 +24,6 @@
     #include "wx/log.h"
     #include "wx/utils.h"
     #include "wx/settings.h"
-    #include "wx/cmndata.h"
     #include "wx/gdicmn.h"
 #endif
 
diff --git a/src/gtk/settings.cpp b/src/gtk/settings.cpp
index 35f0649a37..20e413249f 100644
--- a/src/gtk/settings.cpp
+++ b/src/gtk/settings.cpp
@@ -14,7 +14,6 @@
 #include "wx/settings.h"
 
 #ifndef WX_PRECOMP
-    #include "wx/cmndata.h"
     #include "wx/toplevel.h"
 #endif
 
diff --git a/src/gtk1/font.cpp b/src/gtk1/font.cpp
index 2d97fcd52f..32c68402d6 100644
--- a/src/gtk1/font.cpp
+++ b/src/gtk1/font.cpp
@@ -23,7 +23,6 @@
 #ifndef WX_PRECOMP
     #include "wx/log.h"
     #include "wx/settings.h"
-    #include "wx/cmndata.h"
     #include "wx/gdicmn.h"
 #endif
 
diff --git a/src/gtk1/settings.cpp b/src/gtk1/settings.cpp
index 00222f1de6..e8da9443c1 100644
--- a/src/gtk1/settings.cpp
+++ b/src/gtk1/settings.cpp
@@ -14,7 +14,6 @@
 #include "wx/settings.h"
 
 #ifndef WX_PRECOMP
-    #include "wx/cmndata.h"
     #include "wx/toplevel.h"
 #endif
 
diff --git a/src/msw/colordlg.cpp b/src/msw/colordlg.cpp
index 0b8d20706f..788f0fae7c 100644
--- a/src/msw/colordlg.cpp
+++ b/src/msw/colordlg.cpp
@@ -34,8 +34,6 @@
     #include "wx/colour.h"
     #include "wx/gdicmn.h"
     #include "wx/utils.h"
-    #include "wx/dialog.h"
-    #include "wx/cmndata.h"
     #include "wx/math.h"
 #endif
 
diff --git a/src/msw/font.cpp b/src/msw/font.cpp
index 0acbf1aae6..7678c1aa9c 100644
--- a/src/msw/font.cpp
+++ b/src/msw/font.cpp
@@ -31,11 +31,10 @@
     #include "wx/utils.h"
     #include "wx/app.h"
     #include "wx/log.h"
-    #include "wx/encinfo.h"
+    #include "wx/msw/private.h"
 #endif // WX_PRECOMP
 
-#include "wx/msw/private.h"
-
+#include "wx/encinfo.h"
 #include "wx/fontutil.h"
 #include "wx/fontmap.h"
 
diff --git a/src/msw/fontdlg.cpp b/src/msw/fontdlg.cpp
index 86156c2f37..bc0ecc8a38 100644
--- a/src/msw/fontdlg.cpp
+++ b/src/msw/fontdlg.cpp
@@ -33,7 +33,6 @@
     #include "wx/utils.h"
     #include "wx/dialog.h"
     #include "wx/log.h"
-    #include "wx/cmndata.h"
     #include "wx/math.h"
 #endif
 
diff --git a/src/msw/fontenum.cpp b/src/msw/fontenum.cpp
index 27c2832868..f540cf64be 100644
--- a/src/msw/fontenum.cpp
+++ b/src/msw/fontenum.cpp
@@ -26,17 +26,17 @@
 
 #if wxUSE_FONTENUM
 
+#include "wx/fontenum.h"
+
 #ifndef WX_PRECOMP
     #include "wx/gdicmn.h"
     #include "wx/font.h"
-    #include "wx/encinfo.h"
     #include "wx/dynarray.h"
+    #include "wx/msw/private.h"
 #endif
 
-#include "wx/msw/private.h"
-
+#include "wx/encinfo.h"
 #include "wx/fontutil.h"
-#include "wx/fontenum.h"
 #include "wx/fontmap.h"
 
 // ----------------------------------------------------------------------------
diff --git a/src/msw/fontutil.cpp b/src/msw/fontutil.cpp
index 5bacd8241e..e05c50de4d 100644
--- a/src/msw/fontutil.cpp
+++ b/src/msw/fontutil.cpp
@@ -24,19 +24,18 @@
     #pragma hdrstop
 #endif
 
+#include "wx/fontutil.h"
+
 #ifndef WX_PRECOMP
     #include "wx/string.h"
     #include "wx/log.h"
     #include "wx/intl.h"
-    #include "wx/encinfo.h"
     #include "wx/wxcrtvararg.h"
+    #include "wx/msw/private.h"
 #endif //WX_PRECOMP
 
-#include "wx/msw/private.h"
-
-#include "wx/fontutil.h"
+#include "wx/encinfo.h"
 #include "wx/fontmap.h"
-
 #include "wx/tokenzr.h"
 
 // for MSVC5 and old w32api
diff --git a/src/os2/dirdlg.cpp b/src/os2/dirdlg.cpp
index f833230fef..000c8f61c1 100644
--- a/src/os2/dirdlg.cpp
+++ b/src/os2/dirdlg.cpp
@@ -18,7 +18,6 @@
     #include <stdio.h>
     #include "wx/utils.h"
     #include "wx/dialog.h"
-    #include "wx/cmndata.h"
 #endif
 
 #include "wx/os2/private.h"
diff --git a/src/os2/fontdlg.cpp b/src/os2/fontdlg.cpp
index 1024e1b98e..676695ac3c 100644
--- a/src/os2/fontdlg.cpp
+++ b/src/os2/fontdlg.cpp
@@ -20,7 +20,6 @@
     #include "wx/utils.h"
     #include "wx/dialog.h"
     #include "wx/math.h"
-    #include "wx/cmndata.h"
 #endif
 
 #include "wx/fontutil.h"
diff --git a/src/osx/carbon/dirdlg.cpp b/src/osx/carbon/dirdlg.cpp
index c8a97726f1..1d3c058597 100644
--- a/src/osx/carbon/dirdlg.cpp
+++ b/src/osx/carbon/dirdlg.cpp
@@ -18,7 +18,6 @@
 #ifndef WX_PRECOMP
     #include "wx/utils.h"
     #include "wx/dialog.h"
-    #include "wx/cmndata.h"
 #endif // WX_PRECOMP
 
 #include "wx/filename.h"
diff --git a/src/palmos/colordlg.cpp b/src/palmos/colordlg.cpp
index 5c27e3d23a..8de8b5746b 100644
--- a/src/palmos/colordlg.cpp
+++ b/src/palmos/colordlg.cpp
@@ -30,7 +30,6 @@
 
 #ifndef WX_PRECOMP
     #include "wx/intl.h"
-    #include "wx/cmndata.h"
 #endif
 
 #include <UIColor.h>
diff --git a/src/palmos/fontdlg.cpp b/src/palmos/fontdlg.cpp
index b65a2831fa..f66d42892e 100644
--- a/src/palmos/fontdlg.cpp
+++ b/src/palmos/fontdlg.cpp
@@ -33,7 +33,6 @@
     #include "wx/dialog.h"
     #include "wx/math.h"
     #include "wx/log.h"
-    #include "wx/cmndata.h"
 #endif
 
 #include "wx/palmos/private.h"
-- 
2.47.2