wxCharBuffer(const wxCStrData& cstr);
 };
 
-#if wxUSE_WCHAR_T
 WXDLLIMPEXP_TEMPLATE_INSTANCE_BASE( wxScopedCharTypeBuffer<wchar_t> )
 WXDLLIMPEXP_TEMPLATE_INSTANCE_BASE( wxCharTypeBuffer<wchar_t> )
 
 
     wxWCharBuffer(const wxCStrData& cstr);
 };
-#endif // wxUSE_WCHAR_T
 
 // wxCharTypeBuffer<T> implicitly convertible to T*
 template <typename T>
 
     #endif
 #endif
 
-#if wxUSE_WCHAR_T
-    #ifdef HAVE_WCHAR_H
-        /* the current (as of Nov 2002) version of cygwin has a bug in its */
-        /* wchar.h -- there is no extern "C" around the declarations in it */
-        /* and this results in linking errors later; also, at least on some */
-        /* Cygwin versions, wchar.h requires sys/types.h */
-        #ifdef __CYGWIN__
-            #include <sys/types.h>
-            #ifdef __cplusplus
-                extern "C" {
-            #endif
-        #endif /* Cygwin */
-
-        #include <wchar.h>
-
-        #if defined(__CYGWIN__) && defined(__cplusplus)
-            }
-        #endif /* Cygwin and C++ */
-
-    #elif defined(HAVE_WCSTR_H)
-        /* old compilers have relevant declarations here */
-        #include <wcstr.h>
-    #elif defined(__FreeBSD__) || defined(__DARWIN__) || defined(__EMX__)
-        /* include stdlib.h for wchar_t */
-        #include <stdlib.h>
-    #endif /* HAVE_WCHAR_H */
-
-    #ifdef HAVE_WIDEC_H
-        #include <widec.h>
-    #endif
-#endif /* wxUSE_WCHAR_T */
+#ifdef HAVE_WCHAR_H
+    /* the current (as of Nov 2002) version of cygwin has a bug in its */
+    /* wchar.h -- there is no extern "C" around the declarations in it */
+    /* and this results in linking errors later; also, at least on some */
+    /* Cygwin versions, wchar.h requires sys/types.h */
+    #ifdef __CYGWIN__
+        #include <sys/types.h>
+        #ifdef __cplusplus
+            extern "C" {
+        #endif
+    #endif /* Cygwin */
+
+    #include <wchar.h>
+
+    #if defined(__CYGWIN__) && defined(__cplusplus)
+        }
+    #endif /* Cygwin and C++ */
+
+#elif defined(HAVE_WCSTR_H)
+    /* old compilers have relevant declarations here */
+    #include <wcstr.h>
+#elif defined(__FreeBSD__) || defined(__DARWIN__) || defined(__EMX__)
+    /* include stdlib.h for wchar_t */
+    #include <stdlib.h>
+#endif /* HAVE_WCHAR_H */
+
+#ifdef HAVE_WIDEC_H
+    #include <widec.h>
+#endif
 
 /* -------------------------------------------------------------------------- */
 /* define wxHAVE_TCHAR_SUPPORT for the compilers which support the TCHAR type */
 
 #   endif
 #endif /* wxUSE_TEXTFILE */
 
-#if wxUSE_XML && !wxUSE_WCHAR_T
-#   ifdef wxABORT_ON_CONFIG_ERROR
-#       error "wxUSE_XML requires wxUSE_WCHAR_T"
-#   else
-#       undef wxUSE_XML
-#       define wxUSE_XML 0
-#   endif
-#endif /* wxUSE_XML */
-
 #if !wxUSE_DYNLIB_CLASS
 #   if wxUSE_DYNAMIC_LOADER
 #       ifdef wxABORT_ON_CONFIG_ERROR
 
   // template Read() would be used
   wxString Read(const wxString& key, const char* defVal) const
     { return Read(key, wxString(defVal)); }
-#if wxUSE_WCHAR_T
   wxString Read(const wxString& key, const wchar_t* defVal) const
     { return Read(key, wxString(defVal)); }
-#endif
 
   long ReadLong(const wxString& key, long defVal) const
     { long l; (void)Read(key, &l, defVal); return l; }
     { return Write(key, wxString(value)); }
   bool Write(const wxString& key, const unsigned char *value)
     { return Write(key, wxString(value)); }
-#if wxUSE_WCHAR_T
   bool Write(const wxString& key, const wchar_t *value)
     { return Write(key, wxString(value)); }
-#endif
 
 
   // we also have to provide specializations for other types which we want to
 
 #include "wx/strconv.h"
 #include "wx/fontenc.h"
 
-#if wxUSE_WCHAR_T
-
 // ----------------------------------------------------------------------------
 // wxConvAuto: uses BOM to automatically detect input encoding
 // ----------------------------------------------------------------------------
     wxDECLARE_NO_ASSIGN_CLASS(wxConvAuto);
 };
 
-#endif // wxUSE_WCHAR_T
-
 #endif // _WX_CONVAUTO_H_
 
 
         #if defined(__MACH__) && !defined(SIZEOF_WCHAR_T)
             #define SIZEOF_WCHAR_T 4
         #endif
-        #if wxUSE_WCHAR_T && !defined(SIZEOF_WCHAR_T)
+        #if !defined(SIZEOF_WCHAR_T)
             /*  also assume that sizeof(wchar_t) == 2 (under Unix the most */
             /*  common case is 4 but there configure would have defined */
             /*  SIZEOF_WCHAR_T for us) */
                                     Wchar_tMustBeExactly2Bytes);
 
             #define SIZEOF_WCHAR_T 2
-        #endif /*  wxUSE_WCHAR_T */
+        #endif /*  !defined(SIZEOF_WCHAR_T) */
     #endif
 #endif /*  Win/!Win */
 
+#ifndef SIZEOF_WCHAR_T
+    #error "SIZEOF_WCHAR_T must be defined, but isn't"
+#endif
+
 /* also define C99-like sized MIN/MAX constants */
 #define wxINT8_MIN CHAR_MIN
 #define wxINT8_MAX CHAR_MAX
 
 /* Define wxChar16 and wxChar32                                              */
 
-#if wxUSE_WCHAR_T && (!defined(SIZEOF_WCHAR_T) || (SIZEOF_WCHAR_T == 2))
+#if SIZEOF_WCHAR_T == 2
     #define wxWCHAR_T_IS_WXCHAR16
     typedef wchar_t wxChar16;
 #else
     typedef wxUint16 wxChar16;
 #endif
 
-#if wxUSE_WCHAR_T && defined(SIZEOF_WCHAR_T) && (SIZEOF_WCHAR_T == 4)
+#if SIZEOF_WCHAR_T == 4
     #define wxWCHAR_T_IS_WXCHAR32
     typedef wchar_t wxChar32;
 #else
 
             virtual ~wxEncodingConverter() { if (m_Table) delete[] m_Table; }
 
             // Initialize conversion. Both output or input encoding may
-            // be wxFONTENCODING_UNICODE, but only if wxUSE_WCHAR_T is set to 1.
+            // be wxFONTENCODING_UNICODE.
             //
             // All subsequent calls to Convert() will interpret it's argument
             // as a string in input_enc encoding and will output string in
             bool Convert(char* str) const { return Convert(str, str); }
             wxString Convert(const wxString& input) const;
 
-#if wxUSE_WCHAR_T
             bool Convert(const char* input, wchar_t* output) const;
             bool Convert(const wchar_t* input, char* output) const;
             bool Convert(const wchar_t* input, wchar_t* output) const;
             bool Convert(wchar_t* str) const { return Convert(str, str); }
-#endif
+
             // Return equivalent(s) for given font that are used
             // under given platform. wxPLATFORM_CURRENT means the plaform
             // this binary was compiled for
             }
 
     private:
-
-#if wxUSE_WCHAR_T
             wchar_t *m_Table;
-#else
-            char *m_Table;
-#endif
             bool m_UnicodeInput, m_UnicodeOutput;
             bool m_JustCopy;
 
 
     virtual ~wxHtmlEntitiesParser();
 
     // Sets encoding of output string.
-    // Has no effect if wxUSE_WCHAR_T==0 or wxUSE_UNICODE==1
+    // Has no effect if wxUSE_UNICODE==1
+#if wxUSE_UNICODE
+    void SetEncoding(wxFontEncoding WXUNUSED(encoding)) {}
+#else
     void SetEncoding(wxFontEncoding encoding);
+#endif
 
     // Parses entities in input and replaces them with respective characters
     // (with respect to output encoding)
 #endif
 
 protected:
-#if wxUSE_WCHAR_T && !wxUSE_UNICODE
+#if !wxUSE_UNICODE
     wxMBConv *m_conv;
     wxFontEncoding m_encoding;
 #endif
 
         m_ptr.charName = str;
         m_flags = IsCharPtr;
     }
-#if wxUSE_WCHAR_T
     wxPGPropArgCls( const wchar_t* str )
     {
         m_ptr.wcharName = str;
         m_flags = IsWCharPtr;
     }
-#endif
     /** This constructor is required for NULL. */
     wxPGPropArgCls( int )
     {
     {
         wxPGProperty* property;
         const char* charName;
-#if wxUSE_WCHAR_T
         const wchar_t* wcharName;
-#endif
         const wxString* stringName;
     } m_ptr;
     unsigned char m_flags;
         wxVariant v(value);
         SetPropVal( id, v );
     }
-#if wxUSE_WCHAR_T
     void SetPropertyValue( wxPGPropArg id, const wchar_t* value )
     {
         SetPropertyValueString( id, wxString(value) );
     }
-#endif
     void SetPropertyValue( wxPGPropArg id, const char* value )
     {
         SetPropertyValueString( id, wxString(value) );
 
 #include <stdlib.h>
 #endif // ! __WXPALMOS5__
 
-#if wxUSE_WCHAR_T
-
 class WXDLLIMPEXP_FWD_BASE wxString;
 
 // the error value returned by wxMBConv methods
     #define wxFNSTRINGCAST WXSTRINGCAST
 #endif
 
-#else // !wxUSE_WCHAR_T
-
-// ----------------------------------------------------------------------------
-// stand-ins in absence of wchar_t
-// ----------------------------------------------------------------------------
-
-class WXDLLIMPEXP_BASE wxMBConv
-{
-public:
-    const char* cMB2WX(const char *psz) const { return psz; }
-    const char* cWX2MB(const char *psz) const { return psz; }
-};
-
-#define wxConvFile wxConvLocal
-
-extern WXDLLIMPEXP_DATA_BASE(wxMBConv) wxConvLibc,
-                                       wxConvLocal,
-                                       wxConvISO8859_1,
-                                       wxConvUTF8;
-extern WXDLLIMPEXP_DATA_BASE(wxMBConv *) wxConvCurrent;
-
-#define wxFNCONV(name) name
-#define wxFNSTRINGCAST WXSTRINGCAST
-
-#endif
-  // wxUSE_WCHAR_T
-
 // ----------------------------------------------------------------------------
 // macros for the most common conversions
 // ----------------------------------------------------------------------------
 
 
 /* multibyte to wide char conversion functions and macros */
 
-#if wxUSE_WCHAR_T
-    /* multibyte<->widechar conversion */
-    WXDLLIMPEXP_BASE size_t wxMB2WC(wchar_t *buf, const char *psz, size_t n);
-    WXDLLIMPEXP_BASE size_t wxWC2MB(char *buf, const wchar_t *psz, size_t n);
-
-    #if wxUSE_UNICODE
-        #define wxMB2WX wxMB2WC
-        #define wxWX2MB wxWC2MB
-        #define wxWC2WX wxStrncpy
-        #define wxWX2WC wxStrncpy
-    #else
-        #define wxMB2WX wxStrncpy
-        #define wxWX2MB wxStrncpy
-        #define wxWC2WX wxWC2MB
-        #define wxWX2WC wxMB2WC
-    #endif
-#else /* !wxUSE_UNICODE */
-    /* No wxUSE_WCHAR_T: we have to do something (JACS) */
-    #define wxMB2WC wxStrncpy
-    #define wxWC2MB wxStrncpy
+/* multibyte<->widechar conversion */
+WXDLLIMPEXP_BASE size_t wxMB2WC(wchar_t *buf, const char *psz, size_t n);
+WXDLLIMPEXP_BASE size_t wxWC2MB(char *buf, const wchar_t *psz, size_t n);
+
+#if wxUSE_UNICODE
+    #define wxMB2WX wxMB2WC
+    #define wxWX2MB wxWC2MB
+    #define wxWC2WX wxStrncpy
+    #define wxWX2WC wxStrncpy
+#else
     #define wxMB2WX wxStrncpy
     #define wxWX2MB wxStrncpy
     #define wxWC2WX wxWC2MB
 
     @class wxEncodingConverter
 
     This class is capable of converting strings between two 8-bit encodings/charsets.
-    It can also convert from/to Unicode (but only if you compiled wxWidgets
-    with @c wxUSE_WCHAR_T set to 1).
+    It can also convert from/to Unicode.
 
     Only a limited subset of encodings is supported by wxEncodingConverter:
     @c wxFONTENCODING_ISO8859_1..15, @c wxFONTENCODING_CP1250..1257 and
         considered a lossless operation.
 
         @note You must call Init() before using this method!
-
-        @note wchar_t versions of the method are not available if wxWidgets was
-              compiled with @c wxUSE_WCHAR_T set to 0.
     */
     bool Convert(const char* input, char* output) const;
     bool Convert(const wchar_t* input, wchar_t* output) const;
 
     ADD_WX_LIB_CONF_GROUP(wxT("Unicode Support"))
     ADD_WX_LIB_CONF( wxUSE_UNICODE )
     ADD_WX_LIB_CONF( wxUSE_UNICODE_MSLU )
-    ADD_WX_LIB_CONF( wxUSE_WCHAR_T )
 
     ADD_WX_LIB_CONF_GROUP(wxT("Global Features"))
     ADD_WX_LIB_CONF( wxUSE_EXCEPTIONS )
 
     #pragma hdrstop
 #endif
 
-#if wxUSE_WCHAR_T
-
 #ifndef WX_PRECOMP
     #include "wx/wx.h"
 #endif //WX_PRECOMP
 
     return m_conv->FromWChar(dst, dstLen, src, srcLen);
 }
-
-#endif // wxUSE_WCHAR_T
 
     #include "unictabl.inc"
 #endif
 
-#if wxUSE_WCHAR_T
-    typedef wchar_t tchar;
-#else
-    typedef char tchar;
-#endif
-
 #ifdef __WXMAC__
     #include "wx/osx/core/cfstring.h"
     #include <CoreFoundation/CFStringEncodingExt.h>
 
     if (m_Table) {delete[] m_Table; m_Table = NULL;}
 
-#if !wxUSE_WCHAR_T
-    if (input_enc == wxFONTENCODING_UNICODE || output_enc == wxFONTENCODING_UNICODE) return false;
-#endif
-
     if (input_enc == output_enc) {m_JustCopy = true; return true;}
 
     m_UnicodeOutput = (output_enc == wxFONTENCODING_UNICODE);
     {
         if ((out_tbl = GetEncTable(output_enc)) == NULL) return false;
 
-        m_Table = new tchar[65536];
-        for (i = 0; i < 128; i++)  m_Table[i] = (tchar)i; // 7bit ASCII
-        for (i = 128; i < 65536; i++)  m_Table[i] = (tchar)0;
+        m_Table = new wchar_t[65536];
+        for (i = 0; i < 128; i++)  m_Table[i] = (wchar_t)i; // 7bit ASCII
+        for (i = 128; i < 65536; i++)  m_Table[i] = (wchar_t)0;
 
         if (method == wxCONVERT_SUBSTITUTE)
         {
             for (i = 0; i < encoding_unicode_fallback_count; i++)
-                m_Table[encoding_unicode_fallback[i].c] = (tchar) encoding_unicode_fallback[i].s;
+                m_Table[encoding_unicode_fallback[i].c] = (wchar_t) encoding_unicode_fallback[i].s;
         }
 
         for (i = 0; i < 128; i++)
-            m_Table[out_tbl[i]] = (tchar)(128 + i);
+            m_Table[out_tbl[i]] = (wchar_t)(128 + i);
 
         m_UnicodeInput = true;
     }
 
         m_UnicodeInput = false;
 
-        m_Table = new tchar[256];
-        for (i = 0; i < 128; i++)  m_Table[i] = (tchar)i; // 7bit ASCII
+        m_Table = new wchar_t[256];
+        for (i = 0; i < 128; i++)  m_Table[i] = (wchar_t)i; // 7bit ASCII
 
         if (output_enc == wxFONTENCODING_UNICODE)
         {
-            for (i = 0; i < 128; i++)  m_Table[128 + i] = (tchar)in_tbl[i];
+            for (i = 0; i < 128; i++)  m_Table[128 + i] = (wchar_t)in_tbl[i];
             return true;
         }
         else // output !Unicode
                     item = (CharsetItem*) bsearch(&key, encoding_unicode_fallback,
                                 encoding_unicode_fallback_count, sizeof(CharsetItem), CompareCharsetItems);
                 if (item)
-                    m_Table[128 + i] = (tchar)item -> c;
+                    m_Table[128 + i] = (wchar_t)item -> c;
                 else
-#if wxUSE_WCHAR_T
                     m_Table[128 + i] = (wchar_t)(128 + i);
-#else
-                    m_Table[128 + i] = (char)(128 + i);
-#endif
             }
 
             delete[] rev;
 }
 
 
-#define REPLACEMENT_CHAR  ((tchar)'?')
+#define REPLACEMENT_CHAR  (L'?')
 
-inline tchar GetTableValue(const tchar *table, tchar value, bool& repl)
+inline wchar_t GetTableValue(const wchar_t *table, wchar_t value, bool& repl)
 {
-    tchar r = table[value];
+    wchar_t r = table[value];
     if (r == 0 && value != 0)
     {
         r = REPLACEMENT_CHAR;
 }
 
 
-#if wxUSE_WCHAR_T
-
 bool wxEncodingConverter::Convert(const char* input, wchar_t* output) const
 {
     wxASSERT_MSG(m_UnicodeOutput, wxT("You cannot convert to 8-bit if output is const wchar_t*!"));
     return !replaced;
 }
 
-#endif // wxUSE_WCHAR_T
-
 
 wxString wxEncodingConverter::Convert(const wxString& input) const
 {
 
 #include "wx/filename.h"
 #include "wx/tokenzr.h"
 #include "wx/fontmap.h"
-#include "wx/encconv.h"
 #include "wx/scopedptr.h"
 #include "wx/apptrait.h"
 #include "wx/stdpaths.h"
     }
 #endif // wxUSE_UNICODE/wxUSE_FONTMAP
 
-#if wxUSE_WCHAR_T
     // conversion to use to convert catalog strings to the GUI encoding
     wxMBConv *inputConv,
             *inputConvPtr = NULL; // same as inputConv but safely deleteable
                             ? NULL
                             : new wxCSConv(msgIdCharset);
 
-#elif wxUSE_FONTMAP
-    wxASSERT_MSG( msgIdCharset.empty(),
-                wxS("non-ASCII msgid languages only supported if wxUSE_WCHAR_T=1") );
-
-    wxEncodingConverter converter;
-    if ( convertEncoding )
-    {
-        wxFontEncoding targetEnc = wxFONTENCODING_SYSTEM;
-        wxFontEncoding enc = wxFontMapperBase::Get()->CharsetToEncoding(m_charset, false);
-        if ( enc == wxFONTENCODING_SYSTEM )
-        {
-            convertEncoding = false; // unknown encoding
-        }
-        else
-        {
-            targetEnc = wxLocale::GetSystemEncoding();
-            if (targetEnc == wxFONTENCODING_SYSTEM)
-            {
-                wxFontEncodingArray a = wxEncodingConverter::GetPlatformEquivalents(enc);
-                if (a[0] == enc)
-                    // no conversion needed, locale uses native encoding
-                    convertEncoding = false;
-                if (a.GetCount() == 0)
-                    // we don't know common equiv. under this platform
-                    convertEncoding = false;
-                targetEnc = a[0];
-            }
-        }
-
-        if ( convertEncoding )
-        {
-            converter.Init(enc, targetEnc);
-        }
-    }
-#endif // wxUSE_WCHAR_T/!wxUSE_WCHAR_T
-    (void)convertEncoding; // get rid of warnings about unused parameter
-
     for (size_t32 i = 0; i < m_numStrings; i++)
     {
         const char *data = StringAtOfs(m_pOrigTable, i);
 #if wxUSE_UNICODE
         msgid = wxString(data, *inputConv);
 #else // ASCII
-        #if wxUSE_WCHAR_T
-            if ( inputConv && sourceConv )
-                msgid = wxString(inputConv->cMB2WC(data), *sourceConv);
-            else
-        #endif
-                msgid = data;
+        if ( inputConv && sourceConv )
+            msgid = wxString(inputConv->cMB2WC(data), *sourceConv);
+        else
+            msgid = data;
 #endif // wxUSE_UNICODE
 
         data = StringAtOfs(m_pTransTable, i);
             wxString msgstr;
 #if wxUSE_UNICODE
             msgstr = wxString(str, *inputConv);
-#elif wxUSE_WCHAR_T
+#else
             if ( inputConv )
                 msgstr = wxString(inputConv->cMB2WC(str), *wxConvUI);
             else
                 msgstr = str;
-#else // !wxUSE_WCHAR_T
-        #if wxUSE_FONTMAP
-            if ( bConvertEncoding )
-                msgstr = wxString(converter.Convert(str));
-            else
-        #endif
-                msgstr = str;
-#endif // wxUSE_WCHAR_T/!wxUSE_WCHAR_T
+#endif // wxUSE_UNICODE/!wxUSE_UNICODE
 
             if ( !msgstr.empty() )
             {
         }
     }
 
-#if wxUSE_WCHAR_T
     delete sourceConv;
     delete inputConvPtr;
-#endif // wxUSE_WCHAR_T
 
     return true;
 }
 
 
 #include "wx/strconv.h"
 
-#if wxUSE_WCHAR_T
-
 #ifndef __WXWINCE__
 #include <errno.h>
 #endif
 #else // !__DARWIN__
                                     wxGet_wxConvLibcPtr();
 #endif // __DARWIN__/!__DARWIN__
-
-#else // !wxUSE_WCHAR_T
-
-// FIXME-UTF8: remove this, wxUSE_WCHAR_T is required now
-// stand-ins in absence of wchar_t
-WXDLLIMPEXP_DATA_BASE(wxMBConv) wxConvLibc,
-                                wxConvISO8859_1,
-                                wxConvLocal,
-                                wxConvUTF8;
-
-#endif // wxUSE_WCHAR_T/!wxUSE_WCHAR_T
 
     #include <xlocale.h>
 #endif
 
-#if wxUSE_WCHAR_T
 WXDLLIMPEXP_BASE size_t wxMB2WC(wchar_t *buf, const char *psz, size_t n)
 {
   // assume that we have mbsrtowcs() too if we have wcsrtombs()
   return wxWcstombs(NULL, pwz, 0);
 #endif
 }
-#endif // wxUSE_WCHAR_T
 
 char* wxSetlocale(int category, const char *locale)
 {
 }
 #endif // wxUSE_UNICODE
 
-#if wxUSE_WCHAR_T
 
 // ----------------------------------------------------------------------------
 // ctype.h stuff (currently unused)
 }
 #endif // !wxCRT_StrftimeW
 
-#endif // wxUSE_WCHAR_T
-
 #ifdef wxLongLong_t
 template<typename T>
 static wxULongLong_t
 #endif // wxLongLong_t
 
 // ----------------------------------------------------------------------------
-// functions which we may need even if !wxUSE_WCHAR_T
+// strtok() functions
 // ----------------------------------------------------------------------------
 
 template<typename T>
 
                 return key_symbol;
             else
             {
-#if wxUSE_WCHAR_T
                 wchar_t chr = key_symbol;
                 wxCharBuffer buf(wxConvUI->cWC2MB(&chr, 1, NULL));
                 if ( buf )
                     return *buf; // may be 0 if failed
                 else
-#endif // wxUSE_WCHAR_T
                     return 0;
             }
 #endif
 
 
     gtk_set_locale();
 
-    // We should have the wxUSE_WCHAR_T test on the _outside_
     if (!wxOKlibc())
         wxConvCurrent = &wxConvLocal;
 
 
     // Now store the contents range
     bookr->SetContentsRange(cont_start, m_contents.size());
 
-#if wxUSE_WCHAR_T
     // MS HTML Help files [written by MS HTML Help Workshop] are broken
     // in that the data are iso-8859-1 (including HTML entities), but must
     // be interpreted as being in language's windows charset. Correct the
         }
         #undef CORRECT_STR
     }
-#else
-    wxUnusedVar(IndexOld);
-    wxUnusedVar(ContentsOld);
-    wxASSERT_MSG(encoding == wxFONTENCODING_SYSTEM, wxT("Help files need charset conversion, but wxUSE_WCHAR_T is 0"));
-#endif // wxUSE_WCHAR_T/!wxUSE_WCHAR_T
 
     m_bookRecords.Add(bookr);
     if (!m_index.empty())
 
 IMPLEMENT_DYNAMIC_CLASS(wxHtmlEntitiesParser,wxObject)
 
 wxHtmlEntitiesParser::wxHtmlEntitiesParser()
-#if wxUSE_WCHAR_T && !wxUSE_UNICODE
+#if !wxUSE_UNICODE
     : m_conv(NULL), m_encoding(wxFONTENCODING_SYSTEM)
 #endif
 {
 
 wxHtmlEntitiesParser::~wxHtmlEntitiesParser()
 {
-#if wxUSE_WCHAR_T && !wxUSE_UNICODE
+#if !wxUSE_UNICODE
     delete m_conv;
 #endif
 }
 
+#if !wxUSE_UNICODE
 void wxHtmlEntitiesParser::SetEncoding(wxFontEncoding encoding)
 {
-#if wxUSE_WCHAR_T && !wxUSE_UNICODE
     if (encoding == m_encoding)
         return;
 
         m_conv = NULL;
     else
         m_conv = new wxCSConv(wxFontMapper::GetEncodingName(m_encoding));
-#else
-    (void) encoding;
-#endif
 }
+#endif // !wxUSE_UNICODE
 
 wxString wxHtmlEntitiesParser::Parse(const wxString& input) const
 {
 #if !wxUSE_UNICODE
 wxChar wxHtmlEntitiesParser::GetCharForCode(unsigned code) const
 {
-#if wxUSE_WCHAR_T
     char buf[2];
     wchar_t wbuf[2];
     wbuf[0] = (wchar_t)code;
     if (conv->WC2MB(buf, wbuf, 2) == (size_t)-1)
         return '?';
     return buf[0];
-#else
-    return (code < 256) ? (wxChar)code : '?';
-#endif
 }
 #endif
 
 
         if (winIface)
         {
             wxString title(tag.GetBeginIter(), tag.GetEndIter1());
-#if !wxUSE_UNICODE && wxUSE_WCHAR_T
+#if !wxUSE_UNICODE
             const wxFontEncoding enc = m_WParser->GetInputEncoding();
             if ( enc != wxFONTENCODING_DEFAULT )
             {
 
         wxLogLastError(wxT("EM_STREAMIN"));
     }
 
-#if !wxUSE_WCHAR_T
-    free(wchBuf);
-#endif // !wxUSE_WCHAR_T
-
     return true;
 }
 
 
     const int len = GetWindowTextLength(GetHwnd());
 
-#if wxUSE_WCHAR_T
     wxWCharBuffer wchBuf(len);
     wchar_t *wpc = wchBuf.data();
-#else
-    wchar_t *wchBuf = (wchar_t *)malloc((len + 1)*sizeof(wchar_t));
-    wchar_t *wpc = wchBuf;
-#endif
 
     wxStreamOutData data;
     data.wpc = wpc;
         }
     }
 
-#if !wxUSE_WCHAR_T
-    free(wchBuf);
-#endif // !wxUSE_WCHAR_T
-
     return out;
 }
 
 
         return iface->GetPropertyByNameA(*m_ptr.stringName);
     else if ( m_flags & IsCharPtr )
         return iface->GetPropertyByNameA(m_ptr.charName);
-#if wxUSE_WCHAR_T
     else if ( m_flags & IsWCharPtr )
         return iface->GetPropertyByNameA(m_ptr.wcharName);
-#endif
 
     return NULL;
 }
 
 IMPLEMENT_DYNAMIC_CLASS(wx28HtmlEntitiesParser,wxObject)
 
 wx28HtmlEntitiesParser::wx28HtmlEntitiesParser()
-#if wxUSE_WCHAR_T && !wxUSE_UNICODE
+#if !wxUSE_UNICODE
     : m_conv(NULL), m_encoding(wxFONTENCODING_SYSTEM)
 #endif
 {
 
 wx28HtmlEntitiesParser::~wx28HtmlEntitiesParser()
 {
-#if wxUSE_WCHAR_T && !wxUSE_UNICODE
+#if !wxUSE_UNICODE
     delete m_conv;
 #endif
 }
 
 void wx28HtmlEntitiesParser::SetEncoding(wxFontEncoding encoding)
 {
-#if wxUSE_WCHAR_T && !wxUSE_UNICODE
+#if !wxUSE_UNICODE
     if (encoding == m_encoding)
         return;
 
 #if !wxUSE_UNICODE
 wxChar wx28HtmlEntitiesParser::GetCharForCode(unsigned code)
 {
-#if wxUSE_WCHAR_T
     char buf[2];
     wchar_t wbuf[2];
     wbuf[0] = (wchar_t)code;
     if (conv->WC2MB(buf, wbuf, 2) == (size_t)-1)
         return '?';
     return buf[0];
-#else
-    return (code < 256) ? (wxChar)code : '?';
-#endif
 }
 #endif
 
 
     virtual ~wx28HtmlEntitiesParser();
 
     // Sets encoding of output string.
-    // Has no effect if wxUSE_WCHAR_T==0 or wxUSE_UNICODE==1
+    // Has no effect if wxUSE_UNICODE==1
     void SetEncoding(wxFontEncoding encoding);
 
     // Parses entities in input and replaces them with respective characters
 #endif
 
 protected:
-#if wxUSE_WCHAR_T && !wxUSE_UNICODE
+#if !wxUSE_UNICODE
     wxMBConv *m_conv;
     wxFontEncoding m_encoding;
 #endif
 
     #pragma hdrstop
 #endif
 
-#if wxUSE_WCHAR_T
-
 #include "wx/convauto.h"
 
 #include "wx/mstream.h"
                    "\0\0\x03\xB2",
                    20, line1, line2);
 }
-
-#endif // wxUSE_WCHAR_T
-