wxNativeFontInfo changes
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@8949 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
		@@ -18,7 +18,6 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
#include "wx/window.h"
 | 
					#include "wx/window.h"
 | 
				
			||||||
#include "wx/font.h"
 | 
					#include "wx/font.h"
 | 
				
			||||||
#include "wx/fontutil.h"
 | 
					 | 
				
			||||||
#include "wx/colour.h"
 | 
					#include "wx/colour.h"
 | 
				
			||||||
#include "wx/gdicmn.h"
 | 
					#include "wx/gdicmn.h"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1697,9 +1697,16 @@ typedef enum {
 | 
				
			|||||||
    wxPRINT_MODE_PRINTER = 3    // Send to printer
 | 
					    wxPRINT_MODE_PRINTER = 3    // Send to printer
 | 
				
			||||||
} wxPrintMode;
 | 
					} wxPrintMode;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// ---------------------------------------------------------------------------
 | 
					// ----------------------------------------------------------------------------
 | 
				
			||||||
// Macro to specify "All Files" on different platforms
 | 
					// miscellaneous
 | 
				
			||||||
// ---------------------------------------------------------------------------
 | 
					// ----------------------------------------------------------------------------
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// define this macro if font handling is done using the X font names
 | 
				
			||||||
 | 
					#if defined(__WXGTK__) || defined(__X__)
 | 
				
			||||||
 | 
					    #define _WX_X_FONTLIKE
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// macro to specify "All Files" on different platforms
 | 
				
			||||||
#if defined(__WXMSW__)
 | 
					#if defined(__WXMSW__)
 | 
				
			||||||
#   define wxALL_FILES_PATTERN   "*.*"
 | 
					#   define wxALL_FILES_PATTERN   "*.*"
 | 
				
			||||||
#   define wxALL_FILES           gettext_noop("All files (*.*)|*.*")
 | 
					#   define wxALL_FILES           gettext_noop("All files (*.*)|*.*")
 | 
				
			||||||
@@ -1707,6 +1714,7 @@ typedef enum {
 | 
				
			|||||||
#   define wxALL_FILES_PATTERN   "*"
 | 
					#   define wxALL_FILES_PATTERN   "*"
 | 
				
			||||||
#   define wxALL_FILES           gettext_noop("All files (*)|*")
 | 
					#   define wxALL_FILES           gettext_noop("All files (*)|*")
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// ---------------------------------------------------------------------------
 | 
					// ---------------------------------------------------------------------------
 | 
				
			||||||
// macros that enable wxWindows apps to be compiled in absence of the
 | 
					// macros that enable wxWindows apps to be compiled in absence of the
 | 
				
			||||||
// sytem headers, although some platform specific types are used in the
 | 
					// sytem headers, although some platform specific types are used in the
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -67,50 +67,19 @@ enum wxFontWeight
 | 
				
			|||||||
    wxFONTWEIGHT_MAX
 | 
					    wxFONTWEIGHT_MAX
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// ----------------------------------------------------------------------------
 | 
					 | 
				
			||||||
// wxNativeFontInfo is platform-specific font representation
 | 
					 | 
				
			||||||
// ----------------------------------------------------------------------------
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
// this struct should be considered as opaque font description only used by
 | 
					 | 
				
			||||||
// the native functions, the user code can only get the objects of this type
 | 
					 | 
				
			||||||
// from somewhere and pass it somewhere else (possibly save them somewhere
 | 
					 | 
				
			||||||
// using ToString() and restore them using FromString())
 | 
					 | 
				
			||||||
struct WXDLLEXPORT wxNativeFontInfo
 | 
					 | 
				
			||||||
{
 | 
					 | 
				
			||||||
#if defined(__WXGTK__)
 | 
					 | 
				
			||||||
    wxString     xFontName;
 | 
					 | 
				
			||||||
#else // other platforms
 | 
					 | 
				
			||||||
    //
 | 
					 | 
				
			||||||
    //  This is a generic implementation that should work on all ports
 | 
					 | 
				
			||||||
    //  without specific support by the port.
 | 
					 | 
				
			||||||
    //
 | 
					 | 
				
			||||||
    int           pointSize;
 | 
					 | 
				
			||||||
    int           family;
 | 
					 | 
				
			||||||
    int           style;
 | 
					 | 
				
			||||||
    int           weight;
 | 
					 | 
				
			||||||
    bool          underlined;
 | 
					 | 
				
			||||||
    wxString      faceName;
 | 
					 | 
				
			||||||
    wxFontEncoding encoding;
 | 
					 | 
				
			||||||
#endif // platforms
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    // it is important to be able to serialize wxNativeFontInfo objects to be
 | 
					 | 
				
			||||||
    // able to store them (in config file, for example)
 | 
					 | 
				
			||||||
    bool FromString(const wxString& s);
 | 
					 | 
				
			||||||
    wxString ToString() const;
 | 
					 | 
				
			||||||
};
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
WXDLLEXPORT_DATA(extern wxNativeFontInfo) wxNullNativeFontInfo;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
// ----------------------------------------------------------------------------
 | 
					// ----------------------------------------------------------------------------
 | 
				
			||||||
// wxFontBase represents a font object
 | 
					// wxFontBase represents a font object
 | 
				
			||||||
// ----------------------------------------------------------------------------
 | 
					// ----------------------------------------------------------------------------
 | 
				
			||||||
 | 
					
 | 
				
			||||||
class WXDLLEXPORT wxFontRefData;
 | 
					class WXDLLEXPORT wxFontRefData;
 | 
				
			||||||
 | 
					class WXDLLEXPORT wxNativeFontInfo;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
class WXDLLEXPORT wxFontBase : public wxGDIObject
 | 
					class WXDLLEXPORT wxFontBase : public wxGDIObject
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
public:
 | 
					public:
 | 
				
			||||||
    // creator function
 | 
					    // creator function
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    // from the font components
 | 
				
			||||||
    static wxFont *New(
 | 
					    static wxFont *New(
 | 
				
			||||||
        int pointSize,              // size of the font in points
 | 
					        int pointSize,              // size of the font in points
 | 
				
			||||||
        int family,                 // see wxFontFamily enum
 | 
					        int family,                 // see wxFontFamily enum
 | 
				
			||||||
@@ -119,7 +88,12 @@ public:
 | 
				
			|||||||
        bool underlined = FALSE,    // not underlined by default
 | 
					        bool underlined = FALSE,    // not underlined by default
 | 
				
			||||||
        const wxString& face = wxEmptyString,              // facename
 | 
					        const wxString& face = wxEmptyString,              // facename
 | 
				
			||||||
        wxFontEncoding encoding = wxFONTENCODING_DEFAULT); // ISO8859-X, ...
 | 
					        wxFontEncoding encoding = wxFONTENCODING_DEFAULT); // ISO8859-X, ...
 | 
				
			||||||
    static wxFont *New(const wxNativeFontInfo& info);
 | 
					
 | 
				
			||||||
 | 
					    // from the (opaque) native font description object
 | 
				
			||||||
 | 
					    static wxFont *New(const wxNativeFontInfo& nativeFontDesc);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    // from the string representation of wxNativeFontInfo
 | 
				
			||||||
 | 
					    static wxFont *New(const wxString& strNativeFontDesc);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    // was the font successfully created?
 | 
					    // was the font successfully created?
 | 
				
			||||||
    bool Ok() const { return m_refData != NULL; }
 | 
					    bool Ok() const { return m_refData != NULL; }
 | 
				
			||||||
@@ -136,7 +110,8 @@ public:
 | 
				
			|||||||
    virtual bool GetUnderlined() const = 0;
 | 
					    virtual bool GetUnderlined() const = 0;
 | 
				
			||||||
    virtual wxString GetFaceName() const = 0;
 | 
					    virtual wxString GetFaceName() const = 0;
 | 
				
			||||||
    virtual wxFontEncoding GetEncoding() const = 0;
 | 
					    virtual wxFontEncoding GetEncoding() const = 0;
 | 
				
			||||||
    virtual wxNativeFontInfo GetNativeFontInfo() const;
 | 
					    virtual wxNativeFontInfo *GetNativeFontInfo() const;
 | 
				
			||||||
 | 
					    wxString GetNativeFontInfoDesc() const;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    // change the font characteristics
 | 
					    // change the font characteristics
 | 
				
			||||||
    virtual void SetPointSize( int pointSize ) = 0;
 | 
					    virtual void SetPointSize( int pointSize ) = 0;
 | 
				
			||||||
@@ -148,6 +123,8 @@ public:
 | 
				
			|||||||
    virtual void SetEncoding(wxFontEncoding encoding) = 0;
 | 
					    virtual void SetEncoding(wxFontEncoding encoding) = 0;
 | 
				
			||||||
    virtual void SetNativeFontInfo(const wxNativeFontInfo& info);
 | 
					    virtual void SetNativeFontInfo(const wxNativeFontInfo& info);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    // VZ: there is no void SetNativeFontInfo(const wxString& info), needed?
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    // translate the fonts into human-readable string (i.e. GetStyleString()
 | 
					    // translate the fonts into human-readable string (i.e. GetStyleString()
 | 
				
			||||||
    // will return "wxITALIC" for an italic font, ...)
 | 
					    // will return "wxITALIC" for an italic font, ...)
 | 
				
			||||||
    wxString GetFamilyString() const;
 | 
					    wxString GetFamilyString() const;
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -12,6 +12,8 @@
 | 
				
			|||||||
#ifndef _WX_FONTENC_H_
 | 
					#ifndef _WX_FONTENC_H_
 | 
				
			||||||
#define _WX_FONTENC_H_
 | 
					#define _WX_FONTENC_H_
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#include "wx/string.h"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// font encodings
 | 
					// font encodings
 | 
				
			||||||
enum wxFontEncoding
 | 
					enum wxFontEncoding
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
@@ -68,4 +70,44 @@ enum wxFontEncoding
 | 
				
			|||||||
    wxFONTENCODING_MAX
 | 
					    wxFONTENCODING_MAX
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// ----------------------------------------------------------------------------
 | 
				
			||||||
 | 
					// types
 | 
				
			||||||
 | 
					// ----------------------------------------------------------------------------
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// This private structure specifies all the parameters needed to create a font
 | 
				
			||||||
 | 
					// with the given encoding on this platform.
 | 
				
			||||||
 | 
					//
 | 
				
			||||||
 | 
					// Under X, it contains the last 2 elements of the font specifications
 | 
				
			||||||
 | 
					// (registry and encoding).
 | 
				
			||||||
 | 
					//
 | 
				
			||||||
 | 
					// Under Windows, it contains a number which is one of predefined CHARSET_XXX
 | 
				
			||||||
 | 
					// values.
 | 
				
			||||||
 | 
					//
 | 
				
			||||||
 | 
					// Under all platforms it also contains a facename string which should be
 | 
				
			||||||
 | 
					// used, if not empty, to create fonts in this encoding (this is the only way
 | 
				
			||||||
 | 
					// to create a font of non-standard encoding (like KOI8) under Windows - the
 | 
				
			||||||
 | 
					// facename specifies the encoding then)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					struct WXDLLEXPORT wxNativeEncodingInfo
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					    wxString facename;          // may be empty meaning "any"
 | 
				
			||||||
 | 
					    wxFontEncoding encoding;    // so that we know what this struct represents
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#if defined(__WXMSW__) || defined(__WXPM__) || defined(__WXMAC__)
 | 
				
			||||||
 | 
					    wxNativeEncodingInfo() { charset = 0; /* ANSI_CHARSET */ }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    int      charset;
 | 
				
			||||||
 | 
					#elif defined(_WX_X_FONTLIKE)
 | 
				
			||||||
 | 
					    wxString xregistry,
 | 
				
			||||||
 | 
					             xencoding;
 | 
				
			||||||
 | 
					#else
 | 
				
			||||||
 | 
					    #error "Unsupported toolkit"
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    // this struct is saved in config by wxFontMapper, so it should know to
 | 
				
			||||||
 | 
					    // serialise itself (implemented in platform-specific code)
 | 
				
			||||||
 | 
					    bool FromString(const wxString& s);
 | 
				
			||||||
 | 
					    wxString ToString() const;
 | 
				
			||||||
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#endif // _WX_FONTENC_H_
 | 
					#endif // _WX_FONTENC_H_
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -21,9 +21,6 @@
 | 
				
			|||||||
// ----------------------------------------------------------------------------
 | 
					// ----------------------------------------------------------------------------
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#include "wx/fontenc.h"         // for wxFontEncoding
 | 
					#include "wx/fontenc.h"         // for wxFontEncoding
 | 
				
			||||||
#if wxUSE_GUI
 | 
					 | 
				
			||||||
    #include "wx/fontutil.h"    // for wxNativeEncodingInfo
 | 
					 | 
				
			||||||
#endif // wxUSE_GUI
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
#if wxUSE_CONFIG
 | 
					#if wxUSE_CONFIG
 | 
				
			||||||
    class WXDLLEXPORT wxConfigBase;
 | 
					    class WXDLLEXPORT wxConfigBase;
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -26,47 +26,35 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
#include "wx/font.h"        // for wxFont and wxFontEncoding
 | 
					#include "wx/font.h"        // for wxFont and wxFontEncoding
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// for our purposes here, GDK and X are identical
 | 
					 | 
				
			||||||
#if defined(__WXGTK__) || defined(__X__)
 | 
					 | 
				
			||||||
    #define _WX_X_FONTLIKE
 | 
					 | 
				
			||||||
#endif
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
// ----------------------------------------------------------------------------
 | 
					// ----------------------------------------------------------------------------
 | 
				
			||||||
// types
 | 
					// types
 | 
				
			||||||
// ----------------------------------------------------------------------------
 | 
					// ----------------------------------------------------------------------------
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// This private structure specifies all the parameters needed to create a font
 | 
					// wxNativeFontInfo is platform-specific font representation: this struct
 | 
				
			||||||
// with the given encoding on this platform.
 | 
					// should be considered as opaque font description only used by the native
 | 
				
			||||||
//
 | 
					// functions, the user code can only get the objects of this type from
 | 
				
			||||||
// Under X, it contains the last 2 elements of the font specifications
 | 
					// somewhere and pass it somewhere else (possibly save them somewhere using
 | 
				
			||||||
// (registry and encoding).
 | 
					// ToString() and restore them using FromString())
 | 
				
			||||||
//
 | 
					struct WXDLLEXPORT wxNativeFontInfo
 | 
				
			||||||
// Under Windows, it contains a number which is one of predefined CHARSET_XXX
 | 
					 | 
				
			||||||
// values.
 | 
					 | 
				
			||||||
//
 | 
					 | 
				
			||||||
// Under all platforms it also contains a facename string which should be
 | 
					 | 
				
			||||||
// used, if not empty, to create fonts in this encoding (this is the only way
 | 
					 | 
				
			||||||
// to create a font of non-standard encoding (like KOI8) under Windows - the
 | 
					 | 
				
			||||||
// facename specifies the encoding then)
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
struct WXDLLEXPORT wxNativeEncodingInfo
 | 
					 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
    wxString facename;          // may be empty meaning "any"
 | 
					#if defined(__WXGTK__)
 | 
				
			||||||
    wxFontEncoding encoding;    // so that we know what this struct represents
 | 
					    wxString     xFontName;
 | 
				
			||||||
 | 
					#else // other platforms
 | 
				
			||||||
 | 
					    //
 | 
				
			||||||
 | 
					    //  This is a generic implementation that should work on all ports
 | 
				
			||||||
 | 
					    //  without specific support by the port.
 | 
				
			||||||
 | 
					    //
 | 
				
			||||||
 | 
					    int           pointSize;
 | 
				
			||||||
 | 
					    int           family;
 | 
				
			||||||
 | 
					    int           style;
 | 
				
			||||||
 | 
					    int           weight;
 | 
				
			||||||
 | 
					    bool          underlined;
 | 
				
			||||||
 | 
					    wxString      faceName;
 | 
				
			||||||
 | 
					    wxFontEncoding encoding;
 | 
				
			||||||
 | 
					#endif // platforms
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#if defined(__WXMSW__) || defined(__WXPM__) || defined(__WXMAC__)
 | 
					    // it is important to be able to serialize wxNativeFontInfo objects to be
 | 
				
			||||||
    wxNativeEncodingInfo() { charset = 0; /* ANSI_CHARSET */ }
 | 
					    // able to store them (in config file, for example)
 | 
				
			||||||
 | 
					 | 
				
			||||||
    int      charset;
 | 
					 | 
				
			||||||
#elif defined(_WX_X_FONTLIKE)
 | 
					 | 
				
			||||||
    wxString xregistry,
 | 
					 | 
				
			||||||
             xencoding;
 | 
					 | 
				
			||||||
#else
 | 
					 | 
				
			||||||
    #error "Unsupported toolkit"
 | 
					 | 
				
			||||||
#endif
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    // this struct is saved in config by wxFontMapper, so it should know to
 | 
					 | 
				
			||||||
    // serialise itself (implemented in platform-specific code)
 | 
					 | 
				
			||||||
    bool FromString(const wxString& s);
 | 
					    bool FromString(const wxString& s);
 | 
				
			||||||
    wxString ToString() const;
 | 
					    wxString ToString() const;
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -36,11 +36,15 @@ public:
 | 
				
			|||||||
    // ctors and such
 | 
					    // ctors and such
 | 
				
			||||||
    wxFont() { Init(); }
 | 
					    wxFont() { Init(); }
 | 
				
			||||||
    wxFont(const wxFont& font) { Init(); Ref(font); }
 | 
					    wxFont(const wxFont& font) { Init(); Ref(font); }
 | 
				
			||||||
    wxFont(const wxString& fontname, const wxFontData& fontdata) { Create(fontname, fontdata); }
 | 
					    wxFont(const wxString& fontname,
 | 
				
			||||||
    wxFont(const wxNativeFontInfo& info);
 | 
					           wxFontEncoding fontenc = wxFONTENCODING_DEFAULT)
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					        Init();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    // assignment
 | 
					        Create(fontname, fontenc);
 | 
				
			||||||
    wxFont& operator=(const wxFont& font);
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    wxFont(const wxNativeFontInfo& info);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    wxFont(int size,
 | 
					    wxFont(int size,
 | 
				
			||||||
           int family,
 | 
					           int family,
 | 
				
			||||||
@@ -61,13 +65,18 @@ public:
 | 
				
			|||||||
                int weight,
 | 
					                int weight,
 | 
				
			||||||
                bool underlined = FALSE,
 | 
					                bool underlined = FALSE,
 | 
				
			||||||
                const wxString& face = wxEmptyString,
 | 
					                const wxString& face = wxEmptyString,
 | 
				
			||||||
                wxFontEncoding encoding = wxFONTENCODING_DEFAULT,
 | 
					                wxFontEncoding encoding = wxFONTENCODING_DEFAULT);
 | 
				
			||||||
                const wxNativeFontInfo& info = wxNullNativeFontInfo);
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
    bool Create(const wxString& fontname, const wxFontData& fontdata);
 | 
					    // wxGTK-specific
 | 
				
			||||||
 | 
					    bool Create(const wxString& fontname,
 | 
				
			||||||
 | 
					                wxFontEncoding fontenc = wxFONTENCODING_DEFAULT);
 | 
				
			||||||
 | 
					    bool Create(const wxNativeFontInfo& fontinfo);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    ~wxFont();
 | 
					    ~wxFont();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    // assignment
 | 
				
			||||||
 | 
					    wxFont& operator=(const wxFont& font);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    // implement base class pure virtuals
 | 
					    // implement base class pure virtuals
 | 
				
			||||||
    virtual int GetPointSize() const;
 | 
					    virtual int GetPointSize() const;
 | 
				
			||||||
    virtual int GetFamily() const;
 | 
					    virtual int GetFamily() const;
 | 
				
			||||||
@@ -76,7 +85,7 @@ public:
 | 
				
			|||||||
    virtual wxString GetFaceName() const;
 | 
					    virtual wxString GetFaceName() const;
 | 
				
			||||||
    virtual bool GetUnderlined() const;
 | 
					    virtual bool GetUnderlined() const;
 | 
				
			||||||
    virtual wxFontEncoding GetEncoding() const;
 | 
					    virtual wxFontEncoding GetEncoding() const;
 | 
				
			||||||
    virtual wxNativeFontInfo GetNativeFontInfo() const;
 | 
					    virtual wxNativeFontInfo *GetNativeFontInfo() const;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    virtual void SetPointSize( int pointSize );
 | 
					    virtual void SetPointSize( int pointSize );
 | 
				
			||||||
    virtual void SetFamily( int family );
 | 
					    virtual void SetFamily( int family );
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -36,11 +36,15 @@ public:
 | 
				
			|||||||
    // ctors and such
 | 
					    // ctors and such
 | 
				
			||||||
    wxFont() { Init(); }
 | 
					    wxFont() { Init(); }
 | 
				
			||||||
    wxFont(const wxFont& font) { Init(); Ref(font); }
 | 
					    wxFont(const wxFont& font) { Init(); Ref(font); }
 | 
				
			||||||
    wxFont(const wxString& fontname, const wxFontData& fontdata) { Create(fontname, fontdata); }
 | 
					    wxFont(const wxString& fontname,
 | 
				
			||||||
    wxFont(const wxNativeFontInfo& info);
 | 
					           wxFontEncoding fontenc = wxFONTENCODING_DEFAULT)
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					        Init();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    // assignment
 | 
					        Create(fontname, fontenc);
 | 
				
			||||||
    wxFont& operator=(const wxFont& font);
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    wxFont(const wxNativeFontInfo& info);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    wxFont(int size,
 | 
					    wxFont(int size,
 | 
				
			||||||
           int family,
 | 
					           int family,
 | 
				
			||||||
@@ -61,13 +65,18 @@ public:
 | 
				
			|||||||
                int weight,
 | 
					                int weight,
 | 
				
			||||||
                bool underlined = FALSE,
 | 
					                bool underlined = FALSE,
 | 
				
			||||||
                const wxString& face = wxEmptyString,
 | 
					                const wxString& face = wxEmptyString,
 | 
				
			||||||
                wxFontEncoding encoding = wxFONTENCODING_DEFAULT,
 | 
					                wxFontEncoding encoding = wxFONTENCODING_DEFAULT);
 | 
				
			||||||
                const wxNativeFontInfo& info = wxNullNativeFontInfo);
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
    bool Create(const wxString& fontname, const wxFontData& fontdata);
 | 
					    // wxGTK-specific
 | 
				
			||||||
 | 
					    bool Create(const wxString& fontname,
 | 
				
			||||||
 | 
					                wxFontEncoding fontenc = wxFONTENCODING_DEFAULT);
 | 
				
			||||||
 | 
					    bool Create(const wxNativeFontInfo& fontinfo);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    ~wxFont();
 | 
					    ~wxFont();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    // assignment
 | 
				
			||||||
 | 
					    wxFont& operator=(const wxFont& font);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    // implement base class pure virtuals
 | 
					    // implement base class pure virtuals
 | 
				
			||||||
    virtual int GetPointSize() const;
 | 
					    virtual int GetPointSize() const;
 | 
				
			||||||
    virtual int GetFamily() const;
 | 
					    virtual int GetFamily() const;
 | 
				
			||||||
@@ -76,7 +85,7 @@ public:
 | 
				
			|||||||
    virtual wxString GetFaceName() const;
 | 
					    virtual wxString GetFaceName() const;
 | 
				
			||||||
    virtual bool GetUnderlined() const;
 | 
					    virtual bool GetUnderlined() const;
 | 
				
			||||||
    virtual wxFontEncoding GetEncoding() const;
 | 
					    virtual wxFontEncoding GetEncoding() const;
 | 
				
			||||||
    virtual wxNativeFontInfo GetNativeFontInfo() const;
 | 
					    virtual wxNativeFontInfo *GetNativeFontInfo() const;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    virtual void SetPointSize( int pointSize );
 | 
					    virtual void SetPointSize( int pointSize );
 | 
				
			||||||
    virtual void SetFamily( int family );
 | 
					    virtual void SetFamily( int family );
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -415,22 +415,20 @@ void MyFrame::OnEnumerateFamiliesForEncoding(wxCommandEvent& WXUNUSED(event))
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
void MyFrame::OnCheckNativeToFromString(wxCommandEvent& WXUNUSED(event))
 | 
					void MyFrame::OnCheckNativeToFromString(wxCommandEvent& WXUNUSED(event))
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
    wxString fontInfo = m_canvas->GetTextFont().GetNativeFontInfo().ToString();
 | 
					    wxString fontInfo = m_canvas->GetTextFont().GetNativeFontInfoDesc();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    if(fontInfo.IsEmpty())
 | 
					    if ( fontInfo.IsEmpty() )
 | 
				
			||||||
        wxMessageBox("Native font info string is empty!", "Font demo",
 | 
					    {
 | 
				
			||||||
                     wxOK);
 | 
					        wxLogError("Native font info string is empty!");
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
    else
 | 
					    else
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
        wxNativeFontInfo info;
 | 
					        wxFont *font = wxFont::New(fontInfo);
 | 
				
			||||||
        info.FromString(fontInfo);
 | 
					        if ( fontInfo != font->GetNativeFontInfoDesc() )
 | 
				
			||||||
        wxFont font(info);
 | 
					            wxLogError("wxNativeFontInfo ToString()/FromString() broken!");
 | 
				
			||||||
        if(fontInfo == font.GetNativeFontInfo().ToString())
 | 
					 | 
				
			||||||
            wxMessageBox("wxNativeFontInfo ToString()/FromString() works!",
 | 
					 | 
				
			||||||
                         "Font demo", wxOK);
 | 
					 | 
				
			||||||
        else
 | 
					        else
 | 
				
			||||||
            wxMessageBox("wxNativeFontInfo ToString()/FromString() doesn't work!",
 | 
					            wxLogError("wxNativeFontInfo works: %s", fontInfo.c_str());
 | 
				
			||||||
                         "Font demo", wxOK);
 | 
					        delete font;
 | 
				
			||||||
     }
 | 
					     }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -678,10 +676,11 @@ void MyCanvas::OnPaint( wxPaintEvent &WXUNUSED(event) )
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    dc.DrawText(fontInfo, 5, 5);
 | 
					    dc.DrawText(fontInfo, 5, 5);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    if(m_font.Ok())
 | 
					    if ( m_font.Ok() )
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
      dc.SetFont(wxFont(m_font.GetNativeFontInfo()));
 | 
					        wxString fontDesc = m_font.GetNativeFontInfoDesc();
 | 
				
			||||||
      fontInfo.Printf("Native font info: %s", m_font.GetNativeFontInfo().ToString().GetData());
 | 
					        dc.SetFont(wxFont(fontDesc));
 | 
				
			||||||
 | 
					        fontInfo.Printf("Native font info: %s", fontDesc.c_str());
 | 
				
			||||||
        dc.DrawText(fontInfo, 5, 5 + dc.GetCharHeight());
 | 
					        dc.DrawText(fontInfo, 5, 5 + dc.GetCharHeight());
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -30,6 +30,7 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
#ifndef WX_PRECOMP
 | 
					#ifndef WX_PRECOMP
 | 
				
			||||||
    #include "wx/font.h"
 | 
					    #include "wx/font.h"
 | 
				
			||||||
 | 
					    #include "wx/fontutil.h"
 | 
				
			||||||
#endif // WX_PRECOMP
 | 
					#endif // WX_PRECOMP
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#include "wx/tokenzr.h"
 | 
					#include "wx/tokenzr.h"
 | 
				
			||||||
@@ -62,22 +63,32 @@ wxFont *wxFontBase::New(const wxNativeFontInfo& info)
 | 
				
			|||||||
    return new wxFont(info);
 | 
					    return new wxFont(info);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
wxNativeFontInfo wxFontBase::GetNativeFontInfo() const
 | 
					/* static */
 | 
				
			||||||
 | 
					wxFont *wxFontBase::New(const wxString& strNativeFontDesc)
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					    wxNativeFontInfo fontInfo;
 | 
				
			||||||
 | 
					    if ( !fontInfo.FromString(strNativeFontDesc) )
 | 
				
			||||||
 | 
					        return (wxFont *)NULL;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    return New(fontInfo);
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					wxNativeFontInfo *wxFontBase::GetNativeFontInfo() const
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
#if !defined(__WXGTK__)
 | 
					#if !defined(__WXGTK__)
 | 
				
			||||||
    wxNativeFontInfo fontInfo;
 | 
					    wxNativeFontInfo *fontInfo = new wxNativeFontInfo;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    fontInfo.pointSize = GetPointSize();
 | 
					    fontInfo->pointSize = GetPointSize();
 | 
				
			||||||
    fontInfo.family = GetFamily();
 | 
					    fontInfo->family = GetFamily();
 | 
				
			||||||
    fontInfo.style = GetStyle();
 | 
					    fontInfo->style = GetStyle();
 | 
				
			||||||
    fontInfo.weight = GetWeight();
 | 
					    fontInfo->weight = GetWeight();
 | 
				
			||||||
    fontInfo.underlined = GetUnderlined();
 | 
					    fontInfo->underlined = GetUnderlined();
 | 
				
			||||||
    fontInfo.faceName = GetFaceName();
 | 
					    fontInfo->faceName = GetFaceName();
 | 
				
			||||||
    fontInfo.encoding = GetEncoding();
 | 
					    fontInfo->encoding = GetEncoding();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    return fontInfo;
 | 
					    return fontInfo;
 | 
				
			||||||
#else
 | 
					#else
 | 
				
			||||||
    return wxNullNativeFontInfo;
 | 
					    return (wxNativeFontInfo *)NULL;
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -94,6 +105,19 @@ void wxFontBase::SetNativeFontInfo(const wxNativeFontInfo& info)
 | 
				
			|||||||
#endif
 | 
					#endif
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					wxString wxFontBase::GetNativeFontInfoDesc() const
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					    wxString fontDesc;
 | 
				
			||||||
 | 
					    wxNativeFontInfo *fontInfo = GetNativeFontInfo();
 | 
				
			||||||
 | 
					    if ( fontInfo )
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					        fontDesc = fontInfo->ToString();
 | 
				
			||||||
 | 
					        delete fontInfo;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    return fontDesc;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
wxFont& wxFont::operator=(const wxFont& font)
 | 
					wxFont& wxFont::operator=(const wxFont& font)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
    if ( this != &font )
 | 
					    if ( this != &font )
 | 
				
			||||||
@@ -213,7 +237,7 @@ wxString wxNativeFontInfo::ToString() const
 | 
				
			|||||||
{
 | 
					{
 | 
				
			||||||
    wxString s;
 | 
					    wxString s;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    s.Printf("%d;%d;%d;%d;%d;%s;%d",
 | 
					    s.Printf(_T("%d;%d;%d;%d;%d;%s;%d"),
 | 
				
			||||||
             pointSize,
 | 
					             pointSize,
 | 
				
			||||||
             family,
 | 
					             family,
 | 
				
			||||||
             style,
 | 
					             style,
 | 
				
			||||||
@@ -225,5 +249,5 @@ wxString wxNativeFontInfo::ToString() const
 | 
				
			|||||||
    return s;
 | 
					    return s;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#endif
 | 
					#endif // generic wxNativeFontInfo implementation
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -32,6 +32,7 @@
 | 
				
			|||||||
    #include "wx/app.h"
 | 
					    #include "wx/app.h"
 | 
				
			||||||
    #include "wx/log.h"
 | 
					    #include "wx/log.h"
 | 
				
			||||||
    #include "wx/intl.h"
 | 
					    #include "wx/intl.h"
 | 
				
			||||||
 | 
					    #include "wx/fontutil.h"
 | 
				
			||||||
#endif // PCH
 | 
					#endif // PCH
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#include "wx/fontmap.h"
 | 
					#include "wx/fontmap.h"
 | 
				
			||||||
@@ -685,7 +686,7 @@ bool wxFontMapper::GetAltForEncoding(wxFontEncoding encoding,
 | 
				
			|||||||
                wxFont font = retData.GetChosenFont();
 | 
					                wxFont font = retData.GetChosenFont();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                *info = retData.EncodingInfo();
 | 
					                *info = retData.EncodingInfo();
 | 
				
			||||||
                info -> encoding = retData.GetEncoding();
 | 
					                info->encoding = retData.GetEncoding();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#if wxUSE_CONFIG
 | 
					#if wxUSE_CONFIG
 | 
				
			||||||
                // remember this in the config
 | 
					                // remember this in the config
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -126,7 +126,6 @@ wxBrush    wxNullBrush;
 | 
				
			|||||||
wxFont     wxNullFont;
 | 
					wxFont     wxNullFont;
 | 
				
			||||||
wxColour   wxNullColour;
 | 
					wxColour   wxNullColour;
 | 
				
			||||||
wxPalette  wxNullPalette;
 | 
					wxPalette  wxNullPalette;
 | 
				
			||||||
wxNativeFontInfo wxNullNativeFontInfo;
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* Default window names */
 | 
					/* Default window names */
 | 
				
			||||||
const wxChar *wxControlNameStr = wxT("control");
 | 
					const wxChar *wxControlNameStr = wxT("control");
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -47,8 +47,7 @@ public:
 | 
				
			|||||||
                  int weight = wxDEFAULT,
 | 
					                  int weight = wxDEFAULT,
 | 
				
			||||||
                  bool underlined = FALSE,
 | 
					                  bool underlined = FALSE,
 | 
				
			||||||
                  const wxString& faceName = wxEmptyString,
 | 
					                  const wxString& faceName = wxEmptyString,
 | 
				
			||||||
                  wxFontEncoding encoding = wxFONTENCODING_DEFAULT,
 | 
					                  wxFontEncoding encoding = wxFONTENCODING_DEFAULT);
 | 
				
			||||||
                  const wxNativeFontInfo& info = wxNullNativeFontInfo);
 | 
					 | 
				
			||||||
    wxFontRefData( const wxFontRefData& data );
 | 
					    wxFontRefData( const wxFontRefData& data );
 | 
				
			||||||
    virtual ~wxFontRefData();
 | 
					    virtual ~wxFontRefData();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -60,8 +59,7 @@ protected:
 | 
				
			|||||||
              int weight,
 | 
					              int weight,
 | 
				
			||||||
              bool underlined,
 | 
					              bool underlined,
 | 
				
			||||||
              const wxString& faceName,
 | 
					              const wxString& faceName,
 | 
				
			||||||
              wxFontEncoding encoding,
 | 
					              wxFontEncoding encoding);
 | 
				
			||||||
              const wxNativeFontInfo& info);
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
private:
 | 
					private:
 | 
				
			||||||
    wxList          m_scaled_xfonts;
 | 
					    wxList          m_scaled_xfonts;
 | 
				
			||||||
@@ -72,6 +70,7 @@ private:
 | 
				
			|||||||
    bool            m_underlined;
 | 
					    bool            m_underlined;
 | 
				
			||||||
    wxString        m_faceName;
 | 
					    wxString        m_faceName;
 | 
				
			||||||
    wxFontEncoding  m_encoding;
 | 
					    wxFontEncoding  m_encoding;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    wxNativeFontInfo m_nativeFontInfo;
 | 
					    wxNativeFontInfo m_nativeFontInfo;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    friend class wxFont;
 | 
					    friend class wxFont;
 | 
				
			||||||
@@ -91,8 +90,7 @@ void wxFontRefData::Init(int pointSize,
 | 
				
			|||||||
                         int weight,
 | 
					                         int weight,
 | 
				
			||||||
                         bool underlined,
 | 
					                         bool underlined,
 | 
				
			||||||
                         const wxString& faceName,
 | 
					                         const wxString& faceName,
 | 
				
			||||||
                         wxFontEncoding encoding,
 | 
					                         wxFontEncoding encoding)
 | 
				
			||||||
                         const wxNativeFontInfo& info = wxNullNativeFontInfo)
 | 
					 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
    if (family == wxDEFAULT)
 | 
					    if (family == wxDEFAULT)
 | 
				
			||||||
        m_family = wxSWISS;
 | 
					        m_family = wxSWISS;
 | 
				
			||||||
@@ -118,24 +116,22 @@ void wxFontRefData::Init(int pointSize,
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    m_underlined = underlined;
 | 
					    m_underlined = underlined;
 | 
				
			||||||
    m_encoding = encoding;
 | 
					    m_encoding = encoding;
 | 
				
			||||||
    m_nativeFontInfo = info;
 | 
					 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
wxFontRefData::wxFontRefData( const wxFontRefData& data )
 | 
					wxFontRefData::wxFontRefData( const wxFontRefData& data )
 | 
				
			||||||
    : m_scaled_xfonts(wxKEY_INTEGER)
 | 
					    : m_scaled_xfonts(wxKEY_INTEGER)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
    Init(data.m_pointSize, data.m_family, data.m_style, data.m_weight,
 | 
					    Init(data.m_pointSize, data.m_family, data.m_style, data.m_weight,
 | 
				
			||||||
        data.m_underlined, data.m_faceName, data.m_encoding,
 | 
					         data.m_underlined, data.m_faceName, data.m_encoding);
 | 
				
			||||||
        data.m_nativeFontInfo );
 | 
					 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
wxFontRefData::wxFontRefData(int size, int family, int style,
 | 
					wxFontRefData::wxFontRefData(int size, int family, int style,
 | 
				
			||||||
    int weight, bool underlined, const wxString& faceName, wxFontEncoding encoding,
 | 
					                             int weight, bool underlined,
 | 
				
			||||||
    const wxNativeFontInfo& info = wxNullNativeFontInfo)
 | 
					                             const wxString& faceName,
 | 
				
			||||||
 | 
					                             wxFontEncoding encoding)
 | 
				
			||||||
    : m_scaled_xfonts(wxKEY_INTEGER)
 | 
					    : m_scaled_xfonts(wxKEY_INTEGER)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
    Init(size, family, style, weight,
 | 
					    Init(size, family, style, weight, underlined, faceName, encoding);
 | 
				
			||||||
        underlined, faceName, encoding, info);
 | 
					 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
wxFontRefData::~wxFontRefData()
 | 
					wxFontRefData::~wxFontRefData()
 | 
				
			||||||
@@ -179,7 +175,14 @@ void wxFont::Init()
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
wxFont::wxFont(const wxNativeFontInfo& info)
 | 
					wxFont::wxFont(const wxNativeFontInfo& info)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
    Create(info.xFontName, wxFontData());
 | 
					    Init();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    Create(info.ToString());
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					bool wxFont::Create(const wxNativeFontInfo& info)
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					    return Create(info.xFontName);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
bool wxFont::Create( int pointSize,
 | 
					bool wxFont::Create( int pointSize,
 | 
				
			||||||
@@ -188,20 +191,19 @@ bool wxFont::Create( int pointSize,
 | 
				
			|||||||
                     int weight,
 | 
					                     int weight,
 | 
				
			||||||
                     bool underlined,
 | 
					                     bool underlined,
 | 
				
			||||||
                     const wxString& face,
 | 
					                     const wxString& face,
 | 
				
			||||||
                     wxFontEncoding encoding,
 | 
					                     wxFontEncoding encoding)
 | 
				
			||||||
                     const wxNativeFontInfo& info )
 | 
					 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
    m_refData = new wxFontRefData(pointSize, family, style, weight,
 | 
					    m_refData = new wxFontRefData(pointSize, family, style, weight,
 | 
				
			||||||
                                  underlined, face, encoding, info);
 | 
					                                  underlined, face, encoding);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    return TRUE;
 | 
					    return TRUE;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
bool wxFont::Create(const wxString& fontname, const wxFontData& fontdata)
 | 
					bool wxFont::Create(const wxString& fontname, wxFontEncoding enc)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
    Init();
 | 
					    Init();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    if(!fontname)
 | 
					    if( !fontname )
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
         *this = wxSystemSettings::GetSystemFont( wxSYS_DEFAULT_GUI_FONT);
 | 
					         *this = wxSystemSettings::GetSystemFont( wxSYS_DEFAULT_GUI_FONT);
 | 
				
			||||||
         return TRUE;
 | 
					         return TRUE;
 | 
				
			||||||
@@ -267,7 +269,7 @@ bool wxFont::Create(const wxString& fontname, const wxFontData& fontdata)
 | 
				
			|||||||
    tn.GetNextToken();                           // avg width
 | 
					    tn.GetNextToken();                           // avg width
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    // deal with font encoding
 | 
					    // deal with font encoding
 | 
				
			||||||
    M_FONTDATA->m_encoding = fontdata.GetEncoding();
 | 
					    M_FONTDATA->m_encoding = enc;
 | 
				
			||||||
    if ( M_FONTDATA->m_encoding == wxFONTENCODING_SYSTEM )
 | 
					    if ( M_FONTDATA->m_encoding == wxFONTENCODING_SYSTEM )
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
        wxString registry = tn.GetNextToken().MakeUpper(),
 | 
					        wxString registry = tn.GetNextToken().MakeUpper(),
 | 
				
			||||||
@@ -376,13 +378,14 @@ wxFontEncoding wxFont::GetEncoding() const
 | 
				
			|||||||
    return M_FONTDATA->m_encoding;
 | 
					    return M_FONTDATA->m_encoding;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
wxNativeFontInfo wxFont::GetNativeFontInfo() const
 | 
					wxNativeFontInfo *wxFont::GetNativeFontInfo() const
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
    wxCHECK_MSG( Ok(), wxNullNativeFontInfo, wxT("invalid font") );
 | 
					    wxCHECK_MSG( Ok(), (wxNativeFontInfo *)NULL, wxT("invalid font") );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    if(M_FONTDATA->m_nativeFontInfo.xFontName.IsEmpty())
 | 
					    if(M_FONTDATA->m_nativeFontInfo.xFontName.IsEmpty())
 | 
				
			||||||
        GetInternalFont();
 | 
					        GetInternalFont();
 | 
				
			||||||
    return M_FONTDATA->m_nativeFontInfo;
 | 
					
 | 
				
			||||||
 | 
					    return new wxNativeFontInfo(M_FONTDATA->m_nativeFontInfo);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -11,6 +11,7 @@
 | 
				
			|||||||
#pragma implementation "fontdlg.h"
 | 
					#pragma implementation "fontdlg.h"
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#include "wx/fontutil.h"
 | 
				
			||||||
#include "wx/fontdlg.h"
 | 
					#include "wx/fontdlg.h"
 | 
				
			||||||
#include "wx/utils.h"
 | 
					#include "wx/utils.h"
 | 
				
			||||||
#include "wx/intl.h"
 | 
					#include "wx/intl.h"
 | 
				
			||||||
@@ -64,7 +65,8 @@ void gtk_fontdialog_ok_callback( GtkWidget *WXUNUSED(widget), wxFontDialog *dial
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    if (!gfont)
 | 
					    if (!gfont)
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
        wxMessageBox(_("Please choose a valid font."), _("Error"), wxOK);
 | 
					        wxMessageBox(_("Please choose a valid font."), _("Error"),
 | 
				
			||||||
 | 
					                     wxOK | wxICON_ERROR);
 | 
				
			||||||
        return;
 | 
					        return;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -101,13 +103,12 @@ void gtk_fontdialog_ok_callback( GtkWidget *WXUNUSED(widget), wxFontDialog *dial
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    // we ignore the facename here - should be enough to choose an arbitrary
 | 
					    // we ignore the facename here - should be enough to choose an arbitrary
 | 
				
			||||||
    // one if the registry/encoding are specified
 | 
					    // one if the registry/encoding are specified
 | 
				
			||||||
    //  dialog->m_fontData.EncodingInfo().facename = xfamily;
 | 
					 | 
				
			||||||
    fontdata.EncodingInfo().xregistry = xregistry;
 | 
					    fontdata.EncodingInfo().xregistry = xregistry;
 | 
				
			||||||
    fontdata.EncodingInfo().xencoding = xencoding;
 | 
					    fontdata.EncodingInfo().xencoding = xencoding;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    // pass fontdata to wxFont ctor so that it can get the encoding from there
 | 
					    // pass fontdata to wxFont ctor so that it can get the encoding from there
 | 
				
			||||||
    // if it is already known (otherwise it will try to deduce it itself)
 | 
					    // if it is already known (otherwise it will try to deduce it itself)
 | 
				
			||||||
    dialog->m_fontData.SetChosenFont( wxFont(fontname, fontdata) );
 | 
					    dialog->m_fontData.SetChosenFont(wxFont(fontname, fontdata.GetEncoding()));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    g_free( fontname );
 | 
					    g_free( fontname );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -178,11 +179,21 @@ wxFontDialog::wxFontDialog( wxWindow *parent, wxFontData *fontdata )
 | 
				
			|||||||
    wxFont font = m_fontData.GetInitialFont();
 | 
					    wxFont font = m_fontData.GetInitialFont();
 | 
				
			||||||
    if( font.Ok() )
 | 
					    if( font.Ok() )
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
        wxNativeFontInfo info = font.GetNativeFontInfo();
 | 
					        wxNativeFontInfo *info = font.GetNativeFontInfo();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        if( info.xFontName.IsEmpty() )
 | 
					        if ( info )
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					            const wxString& fontname = info->xFontName;
 | 
				
			||||||
 | 
					            if ( !fontname )
 | 
				
			||||||
                font.GetInternalFont();
 | 
					                font.GetInternalFont();
 | 
				
			||||||
        gtk_font_selection_dialog_set_font_name(sel, wxConvCurrent->cWX2MB(info.xFontName.GetData()));
 | 
					            gtk_font_selection_dialog_set_font_name(sel,
 | 
				
			||||||
 | 
					                                                    wxConvCurrent->cWX2MB(fontname));
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        else
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					            // this is not supposed to happen!
 | 
				
			||||||
 | 
					            wxFAIL_MSG(_T("font is ok but no native font info?"));
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -126,7 +126,6 @@ wxBrush    wxNullBrush;
 | 
				
			|||||||
wxFont     wxNullFont;
 | 
					wxFont     wxNullFont;
 | 
				
			||||||
wxColour   wxNullColour;
 | 
					wxColour   wxNullColour;
 | 
				
			||||||
wxPalette  wxNullPalette;
 | 
					wxPalette  wxNullPalette;
 | 
				
			||||||
wxNativeFontInfo wxNullNativeFontInfo;
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* Default window names */
 | 
					/* Default window names */
 | 
				
			||||||
const wxChar *wxControlNameStr = wxT("control");
 | 
					const wxChar *wxControlNameStr = wxT("control");
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -47,8 +47,7 @@ public:
 | 
				
			|||||||
                  int weight = wxDEFAULT,
 | 
					                  int weight = wxDEFAULT,
 | 
				
			||||||
                  bool underlined = FALSE,
 | 
					                  bool underlined = FALSE,
 | 
				
			||||||
                  const wxString& faceName = wxEmptyString,
 | 
					                  const wxString& faceName = wxEmptyString,
 | 
				
			||||||
                  wxFontEncoding encoding = wxFONTENCODING_DEFAULT,
 | 
					                  wxFontEncoding encoding = wxFONTENCODING_DEFAULT);
 | 
				
			||||||
                  const wxNativeFontInfo& info = wxNullNativeFontInfo);
 | 
					 | 
				
			||||||
    wxFontRefData( const wxFontRefData& data );
 | 
					    wxFontRefData( const wxFontRefData& data );
 | 
				
			||||||
    virtual ~wxFontRefData();
 | 
					    virtual ~wxFontRefData();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -60,8 +59,7 @@ protected:
 | 
				
			|||||||
              int weight,
 | 
					              int weight,
 | 
				
			||||||
              bool underlined,
 | 
					              bool underlined,
 | 
				
			||||||
              const wxString& faceName,
 | 
					              const wxString& faceName,
 | 
				
			||||||
              wxFontEncoding encoding,
 | 
					              wxFontEncoding encoding);
 | 
				
			||||||
              const wxNativeFontInfo& info);
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
private:
 | 
					private:
 | 
				
			||||||
    wxList          m_scaled_xfonts;
 | 
					    wxList          m_scaled_xfonts;
 | 
				
			||||||
@@ -72,6 +70,7 @@ private:
 | 
				
			|||||||
    bool            m_underlined;
 | 
					    bool            m_underlined;
 | 
				
			||||||
    wxString        m_faceName;
 | 
					    wxString        m_faceName;
 | 
				
			||||||
    wxFontEncoding  m_encoding;
 | 
					    wxFontEncoding  m_encoding;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    wxNativeFontInfo m_nativeFontInfo;
 | 
					    wxNativeFontInfo m_nativeFontInfo;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    friend class wxFont;
 | 
					    friend class wxFont;
 | 
				
			||||||
@@ -91,8 +90,7 @@ void wxFontRefData::Init(int pointSize,
 | 
				
			|||||||
                         int weight,
 | 
					                         int weight,
 | 
				
			||||||
                         bool underlined,
 | 
					                         bool underlined,
 | 
				
			||||||
                         const wxString& faceName,
 | 
					                         const wxString& faceName,
 | 
				
			||||||
                         wxFontEncoding encoding,
 | 
					                         wxFontEncoding encoding)
 | 
				
			||||||
                         const wxNativeFontInfo& info = wxNullNativeFontInfo)
 | 
					 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
    if (family == wxDEFAULT)
 | 
					    if (family == wxDEFAULT)
 | 
				
			||||||
        m_family = wxSWISS;
 | 
					        m_family = wxSWISS;
 | 
				
			||||||
@@ -118,24 +116,22 @@ void wxFontRefData::Init(int pointSize,
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    m_underlined = underlined;
 | 
					    m_underlined = underlined;
 | 
				
			||||||
    m_encoding = encoding;
 | 
					    m_encoding = encoding;
 | 
				
			||||||
    m_nativeFontInfo = info;
 | 
					 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
wxFontRefData::wxFontRefData( const wxFontRefData& data )
 | 
					wxFontRefData::wxFontRefData( const wxFontRefData& data )
 | 
				
			||||||
    : m_scaled_xfonts(wxKEY_INTEGER)
 | 
					    : m_scaled_xfonts(wxKEY_INTEGER)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
    Init(data.m_pointSize, data.m_family, data.m_style, data.m_weight,
 | 
					    Init(data.m_pointSize, data.m_family, data.m_style, data.m_weight,
 | 
				
			||||||
        data.m_underlined, data.m_faceName, data.m_encoding,
 | 
					         data.m_underlined, data.m_faceName, data.m_encoding);
 | 
				
			||||||
        data.m_nativeFontInfo );
 | 
					 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
wxFontRefData::wxFontRefData(int size, int family, int style,
 | 
					wxFontRefData::wxFontRefData(int size, int family, int style,
 | 
				
			||||||
    int weight, bool underlined, const wxString& faceName, wxFontEncoding encoding,
 | 
					                             int weight, bool underlined,
 | 
				
			||||||
    const wxNativeFontInfo& info = wxNullNativeFontInfo)
 | 
					                             const wxString& faceName,
 | 
				
			||||||
 | 
					                             wxFontEncoding encoding)
 | 
				
			||||||
    : m_scaled_xfonts(wxKEY_INTEGER)
 | 
					    : m_scaled_xfonts(wxKEY_INTEGER)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
    Init(size, family, style, weight,
 | 
					    Init(size, family, style, weight, underlined, faceName, encoding);
 | 
				
			||||||
        underlined, faceName, encoding, info);
 | 
					 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
wxFontRefData::~wxFontRefData()
 | 
					wxFontRefData::~wxFontRefData()
 | 
				
			||||||
@@ -179,7 +175,14 @@ void wxFont::Init()
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
wxFont::wxFont(const wxNativeFontInfo& info)
 | 
					wxFont::wxFont(const wxNativeFontInfo& info)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
    Create(info.xFontName, wxFontData());
 | 
					    Init();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    Create(info.ToString());
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					bool wxFont::Create(const wxNativeFontInfo& info)
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					    return Create(info.xFontName);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
bool wxFont::Create( int pointSize,
 | 
					bool wxFont::Create( int pointSize,
 | 
				
			||||||
@@ -188,20 +191,19 @@ bool wxFont::Create( int pointSize,
 | 
				
			|||||||
                     int weight,
 | 
					                     int weight,
 | 
				
			||||||
                     bool underlined,
 | 
					                     bool underlined,
 | 
				
			||||||
                     const wxString& face,
 | 
					                     const wxString& face,
 | 
				
			||||||
                     wxFontEncoding encoding,
 | 
					                     wxFontEncoding encoding)
 | 
				
			||||||
                     const wxNativeFontInfo& info )
 | 
					 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
    m_refData = new wxFontRefData(pointSize, family, style, weight,
 | 
					    m_refData = new wxFontRefData(pointSize, family, style, weight,
 | 
				
			||||||
                                  underlined, face, encoding, info);
 | 
					                                  underlined, face, encoding);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    return TRUE;
 | 
					    return TRUE;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
bool wxFont::Create(const wxString& fontname, const wxFontData& fontdata)
 | 
					bool wxFont::Create(const wxString& fontname, wxFontEncoding enc)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
    Init();
 | 
					    Init();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    if(!fontname)
 | 
					    if( !fontname )
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
         *this = wxSystemSettings::GetSystemFont( wxSYS_DEFAULT_GUI_FONT);
 | 
					         *this = wxSystemSettings::GetSystemFont( wxSYS_DEFAULT_GUI_FONT);
 | 
				
			||||||
         return TRUE;
 | 
					         return TRUE;
 | 
				
			||||||
@@ -267,7 +269,7 @@ bool wxFont::Create(const wxString& fontname, const wxFontData& fontdata)
 | 
				
			|||||||
    tn.GetNextToken();                           // avg width
 | 
					    tn.GetNextToken();                           // avg width
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    // deal with font encoding
 | 
					    // deal with font encoding
 | 
				
			||||||
    M_FONTDATA->m_encoding = fontdata.GetEncoding();
 | 
					    M_FONTDATA->m_encoding = enc;
 | 
				
			||||||
    if ( M_FONTDATA->m_encoding == wxFONTENCODING_SYSTEM )
 | 
					    if ( M_FONTDATA->m_encoding == wxFONTENCODING_SYSTEM )
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
        wxString registry = tn.GetNextToken().MakeUpper(),
 | 
					        wxString registry = tn.GetNextToken().MakeUpper(),
 | 
				
			||||||
@@ -376,13 +378,14 @@ wxFontEncoding wxFont::GetEncoding() const
 | 
				
			|||||||
    return M_FONTDATA->m_encoding;
 | 
					    return M_FONTDATA->m_encoding;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
wxNativeFontInfo wxFont::GetNativeFontInfo() const
 | 
					wxNativeFontInfo *wxFont::GetNativeFontInfo() const
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
    wxCHECK_MSG( Ok(), wxNullNativeFontInfo, wxT("invalid font") );
 | 
					    wxCHECK_MSG( Ok(), (wxNativeFontInfo *)NULL, wxT("invalid font") );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    if(M_FONTDATA->m_nativeFontInfo.xFontName.IsEmpty())
 | 
					    if(M_FONTDATA->m_nativeFontInfo.xFontName.IsEmpty())
 | 
				
			||||||
        GetInternalFont();
 | 
					        GetInternalFont();
 | 
				
			||||||
    return M_FONTDATA->m_nativeFontInfo;
 | 
					
 | 
				
			||||||
 | 
					    return new wxNativeFontInfo(M_FONTDATA->m_nativeFontInfo);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -11,6 +11,7 @@
 | 
				
			|||||||
#pragma implementation "fontdlg.h"
 | 
					#pragma implementation "fontdlg.h"
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#include "wx/fontutil.h"
 | 
				
			||||||
#include "wx/fontdlg.h"
 | 
					#include "wx/fontdlg.h"
 | 
				
			||||||
#include "wx/utils.h"
 | 
					#include "wx/utils.h"
 | 
				
			||||||
#include "wx/intl.h"
 | 
					#include "wx/intl.h"
 | 
				
			||||||
@@ -64,7 +65,8 @@ void gtk_fontdialog_ok_callback( GtkWidget *WXUNUSED(widget), wxFontDialog *dial
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    if (!gfont)
 | 
					    if (!gfont)
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
        wxMessageBox(_("Please choose a valid font."), _("Error"), wxOK);
 | 
					        wxMessageBox(_("Please choose a valid font."), _("Error"),
 | 
				
			||||||
 | 
					                     wxOK | wxICON_ERROR);
 | 
				
			||||||
        return;
 | 
					        return;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -101,13 +103,12 @@ void gtk_fontdialog_ok_callback( GtkWidget *WXUNUSED(widget), wxFontDialog *dial
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    // we ignore the facename here - should be enough to choose an arbitrary
 | 
					    // we ignore the facename here - should be enough to choose an arbitrary
 | 
				
			||||||
    // one if the registry/encoding are specified
 | 
					    // one if the registry/encoding are specified
 | 
				
			||||||
    //  dialog->m_fontData.EncodingInfo().facename = xfamily;
 | 
					 | 
				
			||||||
    fontdata.EncodingInfo().xregistry = xregistry;
 | 
					    fontdata.EncodingInfo().xregistry = xregistry;
 | 
				
			||||||
    fontdata.EncodingInfo().xencoding = xencoding;
 | 
					    fontdata.EncodingInfo().xencoding = xencoding;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    // pass fontdata to wxFont ctor so that it can get the encoding from there
 | 
					    // pass fontdata to wxFont ctor so that it can get the encoding from there
 | 
				
			||||||
    // if it is already known (otherwise it will try to deduce it itself)
 | 
					    // if it is already known (otherwise it will try to deduce it itself)
 | 
				
			||||||
    dialog->m_fontData.SetChosenFont( wxFont(fontname, fontdata) );
 | 
					    dialog->m_fontData.SetChosenFont(wxFont(fontname, fontdata.GetEncoding()));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    g_free( fontname );
 | 
					    g_free( fontname );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -178,11 +179,21 @@ wxFontDialog::wxFontDialog( wxWindow *parent, wxFontData *fontdata )
 | 
				
			|||||||
    wxFont font = m_fontData.GetInitialFont();
 | 
					    wxFont font = m_fontData.GetInitialFont();
 | 
				
			||||||
    if( font.Ok() )
 | 
					    if( font.Ok() )
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
        wxNativeFontInfo info = font.GetNativeFontInfo();
 | 
					        wxNativeFontInfo *info = font.GetNativeFontInfo();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        if( info.xFontName.IsEmpty() )
 | 
					        if ( info )
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					            const wxString& fontname = info->xFontName;
 | 
				
			||||||
 | 
					            if ( !fontname )
 | 
				
			||||||
                font.GetInternalFont();
 | 
					                font.GetInternalFont();
 | 
				
			||||||
        gtk_font_selection_dialog_set_font_name(sel, wxConvCurrent->cWX2MB(info.xFontName.GetData()));
 | 
					            gtk_font_selection_dialog_set_font_name(sel,
 | 
				
			||||||
 | 
					                                                    wxConvCurrent->cWX2MB(fontname));
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        else
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					            // this is not supposed to happen!
 | 
				
			||||||
 | 
					            wxFAIL_MSG(_T("font is ok but no native font info?"));
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user