+
+/**
+ Standard font families: these are used mainly during wxFont creation to specify
+ the generic properties of the font without hardcoding in the sources a specific
+ face name.
+
+ wxFontFamily thus allows to group the font face names of fonts with similar
+ properties. Most wxWidgets ports use lists of fonts for each font family
+ inspired by the data taken from http://www.codestyle.org/css/font-family.
+*/
+enum wxFontFamily
+{
+ wxFONTFAMILY_DEFAULT = wxDEFAULT, //!< Chooses a default font.
+
+ wxFONTFAMILY_DECORATIVE = wxDECORATIVE, //!< A decorative font.
+ wxFONTFAMILY_ROMAN = wxROMAN, //!< A formal, serif font.
+ wxFONTFAMILY_SCRIPT = wxSCRIPT, //!< A handwriting font.
+ wxFONTFAMILY_SWISS = wxSWISS, //!< A sans-serif font.
+
+ /// A fixed pitch font. Note that wxFont currently does not make distinctions
+ /// between @c wxFONTFAMILY_MODERN and @c wxFONTFAMILY_TELETYPE.
+ wxFONTFAMILY_MODERN = wxMODERN,
+
+ /// A teletype (i.e. monospaced) font.
+ /// Monospace fonts have a fixed width like typewriters and often have strong angular
+ /// or block serifs. Monospace font faces are often used code samples and have a simple,
+ /// functional font style.
+ /// See also wxFont::IsFixedWidth() for an easy way to test for monospace property.
+ wxFONTFAMILY_TELETYPE = wxTELETYPE,
+
+ /// Returned by wxFont::GetFamily() when the face name of the font cannot
+ /// be classified into one of the previous wxFontFamily values.
+ wxFONTFAMILY_UNKNOWN = wxFONTFAMILY_MAX,
+
+ wxFONTFAMILY_MAX
+};
+
+/**
+ Font styles.
+*/
+enum wxFontStyle
+{
+ /// The font is drawn without slant.
+ wxFONTSTYLE_NORMAL = wxNORMAL,
+
+ /// The font is slanted in an italic style.
+ wxFONTSTYLE_ITALIC = wxITALIC,
+
+ /// The font is slanted, but in a roman style.
+ /// Note that under wxMSW this style is the same as @c wxFONTSTYLE_ITALIC.
+ wxFONTSTYLE_SLANT = wxSLANT,
+
+ wxFONTSTYLE_MAX
+};
+
+/**
+ Font weights.
+*/
+enum wxFontWeight
+{
+ wxFONTWEIGHT_NORMAL = wxNORMAL, //!< Normal font.
+ wxFONTWEIGHT_LIGHT = wxLIGHT, //!< Light font.
+ wxFONTWEIGHT_BOLD = wxBOLD, //!< Bold font.
+ wxFONTWEIGHT_MAX
+};
+
+/**
+ The font flag bits for the new font ctor accepting one combined flags word.
+*/
+enum wxFontFlag
+{
+ /// no special flags: font with default weight/slant/anti-aliasing
+ wxFONTFLAG_DEFAULT = 0,
+
+ /// slant flags (default: no slant)
+ wxFONTFLAG_ITALIC = 1 << 0,
+ wxFONTFLAG_SLANT = 1 << 1,
+
+ /// weight flags (default: medium)
+ wxFONTFLAG_LIGHT = 1 << 2,
+ wxFONTFLAG_BOLD = 1 << 3,
+
+ /// anti-aliasing flag: force on or off (default: the current system default)
+ wxFONTFLAG_ANTIALIASED = 1 << 4,
+ wxFONTFLAG_NOT_ANTIALIASED = 1 << 5,
+
+ /// underlined/strikethrough flags (default: no lines)
+ wxFONTFLAG_UNDERLINED = 1 << 6,
+ wxFONTFLAG_STRIKETHROUGH = 1 << 7,
+
+ /// the mask of all currently used flags
+ wxFONTFLAG_MASK = wxFONTFLAG_ITALIC |
+ wxFONTFLAG_SLANT |
+ wxFONTFLAG_LIGHT |
+ wxFONTFLAG_BOLD |
+ wxFONTFLAG_ANTIALIASED |
+ wxFONTFLAG_NOT_ANTIALIASED |
+ wxFONTFLAG_UNDERLINED |
+ wxFONTFLAG_STRIKETHROUGH
+};
+
+
+
+/**
+ Font encodings.
+
+ See wxFont::SetEncoding().
+*/
+enum wxFontEncoding
+{
+ /// Default system encoding.
+ wxFONTENCODING_SYSTEM = -1, // system default
+
+ /// Default application encoding.
+ wxFONTENCODING_DEFAULT, // current default encoding
+
+ // ISO8859 standard defines a number of single-byte charsets
+ wxFONTENCODING_ISO8859_1, //!< West European (Latin1)
+ wxFONTENCODING_ISO8859_2, //!< Central and East European (Latin2)
+ wxFONTENCODING_ISO8859_3, //!< Esperanto (Latin3)
+ wxFONTENCODING_ISO8859_4, //!< Baltic (old) (Latin4)
+ wxFONTENCODING_ISO8859_5, //!< Cyrillic
+ wxFONTENCODING_ISO8859_6, //!< Arabic
+ wxFONTENCODING_ISO8859_7, //!< Greek
+ wxFONTENCODING_ISO8859_8, //!< Hebrew
+ wxFONTENCODING_ISO8859_9, //!< Turkish (Latin5)
+ wxFONTENCODING_ISO8859_10, //!< Variation of Latin4 (Latin6)
+ wxFONTENCODING_ISO8859_11, //!< Thai
+ wxFONTENCODING_ISO8859_12, //!< doesn't exist currently, but put it
+ //!< here anyhow to make all ISO8859
+ //!< consecutive numbers
+ wxFONTENCODING_ISO8859_13, //!< Baltic (Latin7)
+ wxFONTENCODING_ISO8859_14, //!< Latin8
+ wxFONTENCODING_ISO8859_15, //!< Latin9 (a.k.a. Latin0, includes euro)
+ wxFONTENCODING_ISO8859_MAX,
+
+ // Cyrillic charset soup (see http://czyborra.com/charsets/cyrillic.html)
+ wxFONTENCODING_KOI8, //!< KOI8 Russian
+ wxFONTENCODING_KOI8_U, //!< KOI8 Ukrainian
+ wxFONTENCODING_ALTERNATIVE, //!< same as MS-DOS CP866
+ wxFONTENCODING_BULGARIAN, //!< used under Linux in Bulgaria
+
+ // what would we do without Microsoft? They have their own encodings
+ // for DOS
+ wxFONTENCODING_CP437, //!< original MS-DOS codepage
+ wxFONTENCODING_CP850, //!< CP437 merged with Latin1
+ wxFONTENCODING_CP852, //!< CP437 merged with Latin2
+ wxFONTENCODING_CP855, //!< another cyrillic encoding
+ wxFONTENCODING_CP866, //!< and another one
+ // and for Windows
+ wxFONTENCODING_CP874, //!< WinThai
+ wxFONTENCODING_CP932, //!< Japanese (shift-JIS)
+ wxFONTENCODING_CP936, //!< Chinese simplified (GB)
+ wxFONTENCODING_CP949, //!< Korean (Hangul charset)
+ wxFONTENCODING_CP950, //!< Chinese (traditional - Big5)
+ wxFONTENCODING_CP1250, //!< WinLatin2
+ wxFONTENCODING_CP1251, //!< WinCyrillic
+ wxFONTENCODING_CP1252, //!< WinLatin1
+ wxFONTENCODING_CP1253, //!< WinGreek (8859-7)
+ wxFONTENCODING_CP1254, //!< WinTurkish
+ wxFONTENCODING_CP1255, //!< WinHebrew
+ wxFONTENCODING_CP1256, //!< WinArabic
+ wxFONTENCODING_CP1257, //!< WinBaltic (same as Latin 7)
+ wxFONTENCODING_CP12_MAX,
+
+ wxFONTENCODING_UTF7, //!< UTF-7 Unicode encoding
+ wxFONTENCODING_UTF8, //!< UTF-8 Unicode encoding
+ wxFONTENCODING_EUC_JP, //!< Extended Unix Codepage for Japanese
+ wxFONTENCODING_UTF16BE, //!< UTF-16 Big Endian Unicode encoding
+ wxFONTENCODING_UTF16LE, //!< UTF-16 Little Endian Unicode encoding
+ wxFONTENCODING_UTF32BE, //!< UTF-32 Big Endian Unicode encoding
+ wxFONTENCODING_UTF32LE, // UTF-32 Little Endian Unicode encoding
+
+ wxFONTENCODING_MACROMAN, //!< the standard mac encodings
+ wxFONTENCODING_MACJAPANESE,
+ wxFONTENCODING_MACCHINESETRAD,
+ wxFONTENCODING_MACKOREAN,
+ wxFONTENCODING_MACARABIC,
+ wxFONTENCODING_MACHEBREW,
+ wxFONTENCODING_MACGREEK,
+ wxFONTENCODING_MACCYRILLIC,
+ wxFONTENCODING_MACDEVANAGARI,
+ wxFONTENCODING_MACGURMUKHI,
+ wxFONTENCODING_MACGUJARATI,
+ wxFONTENCODING_MACORIYA,
+ wxFONTENCODING_MACBENGALI,
+ wxFONTENCODING_MACTAMIL,
+ wxFONTENCODING_MACTELUGU,
+ wxFONTENCODING_MACKANNADA,
+ wxFONTENCODING_MACMALAJALAM,
+ wxFONTENCODING_MACSINHALESE,
+ wxFONTENCODING_MACBURMESE,
+ wxFONTENCODING_MACKHMER,
+ wxFONTENCODING_MACTHAI,
+ wxFONTENCODING_MACLAOTIAN,
+ wxFONTENCODING_MACGEORGIAN,
+ wxFONTENCODING_MACARMENIAN,
+ wxFONTENCODING_MACCHINESESIMP,
+ wxFONTENCODING_MACTIBETAN,
+ wxFONTENCODING_MACMONGOLIAN,
+ wxFONTENCODING_MACETHIOPIC,
+ wxFONTENCODING_MACCENTRALEUR,
+ wxFONTENCODING_MACVIATNAMESE,
+ wxFONTENCODING_MACARABICEXT,
+ wxFONTENCODING_MACSYMBOL,
+ wxFONTENCODING_MACDINGBATS,
+ wxFONTENCODING_MACTURKISH,
+ wxFONTENCODING_MACCROATIAN,
+ wxFONTENCODING_MACICELANDIC,
+ wxFONTENCODING_MACROMANIAN,
+ wxFONTENCODING_MACCELTIC,
+ wxFONTENCODING_MACGAELIC,
+ wxFONTENCODING_MACKEYBOARD,
+
+ // more CJK encodings (for historical reasons some are already declared
+ // above)
+ wxFONTENCODING_ISO2022_JP, //!< ISO-2022-JP JIS encoding
+
+ wxFONTENCODING_MAX, //!< highest enumerated encoding value
+
+ wxFONTENCODING_MACMIN = wxFONTENCODING_MACROMAN ,
+ wxFONTENCODING_MACMAX = wxFONTENCODING_MACKEYBOARD ,
+
+ // aliases for endian-dependent UTF encodings
+ wxFONTENCODING_UTF16, //!< native UTF-16
+ wxFONTENCODING_UTF32, //!< native UTF-32
+
+ /// Alias for the native Unicode encoding on this platform
+ /// (this is used by wxEncodingConverter and wxUTFFile only for now)
+ wxFONTENCODING_UNICODE,
+
+ wxFONTENCODING_GB2312 = wxFONTENCODING_CP936, //!< Simplified Chinese
+ wxFONTENCODING_BIG5 = wxFONTENCODING_CP950, //!< Traditional Chinese
+ wxFONTENCODING_SHIFT_JIS = wxFONTENCODING_CP932, //!< Shift JIS
+ wxFONTENCODING_EUC_KR = wxFONTENCODING_CP949 //!< Korean
+};
+
+
+