X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/314260fbd07ecebb43c60d147e1f4580a7159e42..80a24267cbc17d85e278e1f10cdfdaea12199639:/src/html/m_pre.cpp diff --git a/src/html/m_pre.cpp b/src/html/m_pre.cpp index 98d6d8581f..df51c4246a 100644 --- a/src/html/m_pre.cpp +++ b/src/html/m_pre.cpp @@ -1,5 +1,5 @@ ///////////////////////////////////////////////////////////////////////////// -// Name: mod_pre.cpp +// Name: m_pre.cpp // Purpose: wxHtml module for
 ... 
tag (code citation) // Author: Vaclav Slavik // RCS-ID: $Id$ @@ -11,16 +11,16 @@ #pragma implementation #endif -#include +#include "wx/wxprec.h" #include "wx/defs.h" -#if wxUSE_HTML +#if wxUSE_HTML && wxUSE_STREAMS #ifdef __BORDLANDC__ #pragma hdrstop #endif #ifndef WXPRECOMP -#include +#include "wx/wx.h" #endif @@ -28,9 +28,10 @@ #include "wx/html/m_templ.h" #include "wx/html/htmlcell.h" -#include +#include "wx/tokenzr.h" +#include "wx/encconv.h" -FORCE_LINK_ME(mod_pre) +FORCE_LINK_ME(m_pre) //----------------------------------------------------------------------------- @@ -70,13 +71,14 @@ wxHtmlPRECell::wxHtmlPRECell(const wxString& s, wxDC& dc) : wxHtmlCell() while (tokenizer.HasMoreTokens()) { if (i % 10 == 0) m_Text = (wxString**) realloc(m_Text, sizeof(wxString*) * (i + 10)); tmp = tokenizer.NextToken(); - tmp.Replace(" ", " ", TRUE); - tmp.Replace(""", "\"", TRUE); - tmp.Replace("<", "<", TRUE); - tmp.Replace(">", ">", TRUE); - tmp.Replace("&", "&", TRUE); - tmp.Replace("\t", " ", TRUE); - tmp.Replace("\r", "", TRUE); + tmp.Replace(wxT("©"), wxT("(c)"), TRUE); + tmp.Replace(wxT(" "), wxT(" "), TRUE); + tmp.Replace(wxT("""), wxT("\""), TRUE); + tmp.Replace(wxT("<"), wxT("<"), TRUE); + tmp.Replace(wxT(">"), wxT(">"), TRUE); + tmp.Replace(wxT("&"), wxT("&"), TRUE); + tmp.Replace(wxT("\t"), wxT(" "), TRUE); + tmp.Replace(wxT("\r"), wxT(""), TRUE); m_Text[i++] = new wxString(tmp); dc.GetTextExtent(tmp, &x, &z, &z); @@ -132,13 +134,20 @@ TAG_HANDLER_BEGIN(PRE, "PRE") m_WParser -> SetFontBold(FALSE); m_WParser -> SetFontItalic(FALSE); m_WParser -> SetFontFixed(TRUE); - m_WParser -> SetFontSize(0); + m_WParser -> SetFontSize(3); c -> InsertCell(new wxHtmlFontCell(m_WParser -> CreateCurrentFont())); { wxString cit; - cit = m_WParser -> GetSource() -> Mid(tag.GetBeginPos(), tag.GetEndPos1() - tag.GetBeginPos()); - c -> InsertCell(new wxHtmlPRECell(cit, *(m_WParser -> GetDC()))); + wxEncodingConverter *encconv = m_WParser -> GetEncodingConverter(); + cit = m_WParser -> GetSource() -> Mid(tag.GetBeginPos(), + tag.GetEndPos1() - tag.GetBeginPos()); + if (encconv) + c -> InsertCell(new wxHtmlPRECell(encconv -> Convert(cit), + *(m_WParser -> GetDC()))); + else + c -> InsertCell(new wxHtmlPRECell(cit, + *(m_WParser -> GetDC()))); } m_WParser -> SetFontUnderlined(underlined);