// Created: 21.06.2003 (extracted from common/fontmap.cpp)
// RCS-ID: $Id$
// Copyright: (c) 1999-2003 Vadim Zeitlin <vadim@wxwindows.org>
-// License: wxWidgets license
+// License: wxWindows license
///////////////////////////////////////////////////////////////////////////////
// ============================================================================
wxFONTENCODING_ISO8859_15,
wxFONTENCODING_KOI8,
wxFONTENCODING_KOI8_U,
+ wxFONTENCODING_CP874,
wxFONTENCODING_CP932,
wxFONTENCODING_CP936,
wxFONTENCODING_CP949,
wxTRANSLATE( "Western European with Euro (ISO-8859-15)" ),
wxTRANSLATE( "KOI8-R" ),
wxTRANSLATE( "KOI8-U" ),
+ wxTRANSLATE( "Windows Thai (CP 874)" ),
wxTRANSLATE( "Windows Japanese (CP 932)" ),
wxTRANSLATE( "Windows Chinese Simplified (CP 936)" ),
wxTRANSLATE( "Windows Korean (CP 949)" ),
wxT( "iso-8859-15" ),
wxT( "koi8-r" ),
wxT( "koi8-u" ),
+ wxT( "windows-874" ),
wxT( "windows-932" ),
wxT( "windows-936" ),
wxT( "windows-949" ),
{
public:
wxFontMapperModule() : wxModule() { }
- virtual bool OnInit() { return TRUE; }
- virtual void OnExit() { delete wxFontMapper::Set(NULL); }
+ virtual bool OnInit() { return true; }
+ virtual void OnExit() { delete (wxFontMapperBase*)wxFontMapperBase::Set(NULL); }
DECLARE_DYNAMIC_CLASS(wxFontMapperModule)
};
{
#if wxUSE_CONFIG && wxUSE_FILECONFIG
m_config = NULL;
- m_configIsDummy = FALSE;
+ m_configIsDummy = false;
#endif // wxUSE_CONFIG
}
#endif // wxUSE_CONFIG
}
+bool wxFontMapperBase::IsWxFontMapper()
+{ return false; }
+
/* static */
-wxFontMapper *wxFontMapperBase::Get()
+wxFontMapperBase *wxFontMapperBase::Get()
{
if ( !sm_instance )
{
}
}
- return sm_instance;
+ return (wxFontMapperBase*)sm_instance;
}
/* static */
if ( !m_config )
{
// try the default
- m_config = wxConfig::Get(FALSE /*don't create on demand*/ );
+ m_config = wxConfig::Get(false /*don't create on demand*/ );
if ( !m_config )
{
// but will allow us to remember the results of the questions at
// least during this run
m_config = new wxMemoryConfig;
- m_configIsDummy = TRUE;
+ m_configIsDummy = true;
// VS: we can't call wxConfig::Set(m_config) here because that would
// disable automatic wxConfig instance creation if this code was
// called before wxApp::OnInit (this happens in wxGTK -- it sets
}
}
- if ( m_configIsDummy && wxConfig::Get(FALSE) != NULL )
+ if ( m_configIsDummy && wxConfig::Get(false) != NULL )
{
// VS: in case we created dummy m_config (see above), we want to switch back
// to the real one as soon as one becomes available.
delete m_config;
- m_config = wxConfig::Get(FALSE);
- m_configIsDummy = FALSE;
+ m_config = wxConfig::Get(false);
+ m_configIsDummy = false;
// FIXME: ideally, we should add keys from dummy config to the real one now,
// but it is a low-priority task because typical wxWin application
// either doesn't use wxConfig at all or creates wxConfig object in
{
wxConfigBase *config = GetConfig();
if ( !config )
- return FALSE;
+ return false;
*pathOld = config->GetPath();
config->SetPath(path);
- return TRUE;
+ return true;
}
void wxFontMapperBase::RestorePath(const wxString& pathOld)
config->SetPath(FONTMAPPER_CHARSET_ALIAS_PATH);
wxString alias = config->Read(charset);
- if ( !!alias )
+ if ( !alias.IsEmpty() )
{
// yes, we do - use it instead
cs = alias;
{
encoding = wxFONTENCODING_EUC_JP;
}
+ else if ( cs == wxT("EUC-KR") ||
+ cs == wxT("EUC_KR") )
+ {
+ encoding = wxFONTENCODING_CP949;
+ }
else if ( cs == wxT("KOI8-R") ||
cs == wxT("KOI8-RU") )
{
const wxChar *p = cs.c_str() + 3;
if ( *p == wxT('-') )
p++;
-
+
// printf( "iso %s\n", (const char*) cs.ToAscii() );
unsigned int value;
if ( wxSscanf(p, wxT("8859-%u"), &value) == 1 )
{
// printf( "value %d\n", (int)value );
-
+
// make it 0 based and check that it is strictly positive in
// the process (no such thing as iso8859-0 encoding)
if ( (value-- > 0) &&
else if ( cs.Left(4) == wxT("8859") )
{
const wxChar *p = cs.c_str();
-
+
unsigned int value;
if ( wxSscanf(p, wxT("8859-%u"), &value) == 1 )
{
// printf( "value %d\n", (int)value );
-
+
// make it 0 based and check that it is strictly positive in
// the process (no such thing as iso8859-0 encoding)
if ( (value-- > 0) &&
switch ( value )
{
+ case 874:
+ encoding = wxFONTENCODING_CP874;
+ break;
+
case 932:
encoding = wxFONTENCODING_CP932;
break;