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