1/////////////////////////////////////////////////////////////////////////////// 2// Name: msw/fontutil.cpp 3// Purpose: font-related helper functions for wxMSW 4// Author: Vadim Zeitlin 5// Modified by: 6// Created: 05.11.99 7// RCS-ID: $Id: fontutil.cpp 35650 2005-09-23 12:56:45Z MR $ 8// Copyright: (c) 1999 Vadim Zeitlin <zeitlin@dptmaths.ens-cachan.fr> 9// Licence: wxWindows licence 10/////////////////////////////////////////////////////////////////////////////// 11 12// ============================================================================ 13// declarations 14// ============================================================================ 15 16// ---------------------------------------------------------------------------- 17// headers 18// ---------------------------------------------------------------------------- 19 20// For compilers that support precompilation, includes "wx.h". 21#include "wx/wxprec.h" 22 23#ifdef __BORLANDC__ 24 #pragma hdrstop 25#endif 26 27#ifndef WX_PRECOMP 28 #include "wx/string.h" 29 #include "wx/log.h" 30 #include "wx/intl.h" 31#endif //WX_PRECOMP 32 33#include "wx/fontutil.h" 34#include "wx/fontmap.h" 35#include "wx/encinfo.h" 36 37#include "wx/tokenzr.h" 38 39// ============================================================================ 40// implementation 41// ============================================================================ 42 43// ---------------------------------------------------------------------------- 44// wxNativeEncodingInfo 45// ---------------------------------------------------------------------------- 46 47// convert to/from the string representation: format is 48// facename[;charset] 49 50bool wxNativeEncodingInfo::FromString(const wxString& s) 51{ 52 wxStringTokenizer tokenizer(s, _T(";")); 53 54 facename = tokenizer.GetNextToken(); 55 if ( !facename ) 56 return FALSE; 57 58 wxString tmp = tokenizer.GetNextToken(); 59 if ( !tmp ) 60 { 61 // default charset (don't use DEFAULT_CHARSET though because of subtle 62 // Windows 9x/NT differences in handling it) 63 charset = 0; 64 } 65 else 66 { 67 if ( wxSscanf(tmp, _T("%u"), &charset) != 1 ) 68 { 69 // should be a number! 70 return FALSE; 71 } 72 } 73 74 return TRUE; 75} 76 77wxString wxNativeEncodingInfo::ToString() const 78{ 79 wxString s(facename); 80 if ( charset != 0 ) 81 { 82 s << _T(';') << charset; 83 } 84 85 return s; 86} 87 88// ---------------------------------------------------------------------------- 89// helper functions 90// ---------------------------------------------------------------------------- 91 92bool wxGetNativeFontEncoding(wxFontEncoding encoding, 93 wxNativeEncodingInfo *info) 94{ 95 wxCHECK_MSG( info, FALSE, _T("bad pointer in wxGetNativeFontEncoding") ); 96 97 if ( encoding == wxFONTENCODING_DEFAULT ) 98 { 99 encoding = wxFont::GetDefaultEncoding(); 100 } 101 102 info->encoding = encoding ; 103 104 return TRUE; 105} 106 107bool wxTestFontEncoding(const wxNativeEncodingInfo& info) 108{ 109 // basically we should be able to support every encoding via the OS 110 return true ; 111} 112 113 114