]> git.saurik.com Git - wxWidgets.git/blame - src/html/m_meta.cpp
another file I added on the wxUniv branch and forgot to merge
[wxWidgets.git] / src / html / m_meta.cpp
CommitLineData
fa146dd7
VS
1/////////////////////////////////////////////////////////////////////////////
2// Name: m_meta.cpp
3// Purpose: wxHtml module for parsing <meta> tag
4// Author: Vaclav Slavik
5// RCS-ID: $Id$
6// Copyright: (c) 2000 Vaclav Slavik
7// Licence: wxWindows Licence
8/////////////////////////////////////////////////////////////////////////////
9
10#ifdef __GNUG__
11#pragma implementation
12#endif
13
14#include "wx/wxprec.h"
15
16
17#include "wx/defs.h"
f6bcfd97 18#if wxUSE_HTML && wxUSE_STREAMS
fa146dd7
VS
19
20#ifdef __BORDLANDC__
21#pragma hdrstop
22#endif
23
24#ifndef WXPRECOMP
25#include "wx/wx.h"
26#endif
27
28#include "wx/fontmap.h"
29#include "wx/html/forcelnk.h"
30#include "wx/html/m_templ.h"
31#include "wx/html/htmlcell.h"
32
33FORCE_LINK_ME(m_meta)
34
35
36
37
38TAG_HANDLER_BEGIN(META, "META")
39
40 TAG_HANDLER_PROC(tag)
41 {
42 if (tag.HasParam(_T("HTTP-EQUIV")) &&
43 tag.GetParam(_T("HTTP-EQUIV")) == _T("Content-Type") &&
44 tag.HasParam(_T("CONTENT")))
45 {
46 wxString content = tag.GetParam(_T("CONTENT"));
47 if (content.Left(19) == _T("text/html; charset="))
48 {
49 wxFontEncoding enc =
4f9297b0 50 wxTheFontMapper->CharsetToEncoding(content.Mid(19));
fa146dd7 51 if (enc == wxFONTENCODING_SYSTEM) return FALSE;
4f9297b0 52 if (enc == m_WParser->GetInputEncoding()) return FALSE;
fa146dd7 53
4f9297b0
VS
54 m_WParser->SetInputEncoding(enc);
55 m_WParser->GetContainer()->InsertCell(
56 new wxHtmlFontCell(m_WParser->CreateCurrentFont()));
fa146dd7
VS
57 }
58 }
59 return FALSE;
60 }
61
62TAG_HANDLER_END(META)
63
64
65TAGS_MODULE_BEGIN(MetaTag)
66
67 TAGS_MODULE_ADD(META)
68
69TAGS_MODULE_END(MetaTag)
70
71#endif