--- src/pdfbarcode.cpp	Wed Sep 24 14:57:22 2008
+++ src/pdfbarcode.cpp	Thu Feb 26 14:47:03 2009
@@ -323,15 +323,15 @@
     _T("+X"), _T("+Y"), _T("+Z"), _T("%P"),
     _T("%Q"), _T("%R"), _T("%S"), _T("%T") };
 
   wxString codeExt = _T("");
   size_t i;
   for (i = 0 ; i < code.Length(); i++)
   {
-    codeExt += encode[code[i]];
+    codeExt += encode[wxChar (code[i])];
   }
   return codeExt;
 }
 
 void
 wxPdfBarCodeCreator::DrawCode39(const wxString& code, double x, double y, double w, double h)
 {
--- src/pdffont.cpp	Wed Sep 24 14:57:22 2008
+++ src/pdffont.cpp	Thu Feb 26 16:59:23 2009
@@ -574,17 +574,17 @@
 }
 
 void
 wxPdfFontTrueType::UpdateUsedChars(const wxString& s)
 {
 #if wxUSE_UNICODE
   wxMBConv* conv = GetEncodingConv();
-  int len = conv->WC2MB(NULL, s, 0);
+  int len = conv->WC2MB(NULL, s.wc_str (), 0);
   char* mbstr = new char[len+3];
-  len = conv->WC2MB(mbstr, s, len+3);
+  len = conv->WC2MB(mbstr, s.wc_str (), len+3);
 #else
   int len = s.Length();;
   char* mbstr = new char[len+1];
   strcpy(mbstr,s.c_str());
 #endif
   int i;
   for (i = 0; i < len; i++)
@@ -1050,15 +1050,15 @@
   size_t n = s.Length();
   size_t i;
   for (i = 0; i < n; i++)
   {
     charIter = (*m_gn).find(s[i]);
     if (charIter != (*m_gn).end())
     {
-      t.Append(charIter->second);
+      t.Append(wxChar (charIter->second));
     }
     else
     {
       t.Append(wxChar(0));
     }
   }
   return t;
--- src/pdfkernel.cpp	Wed Feb 18 10:59:17 2009
+++ src/pdfkernel.cpp	Thu Feb 26 14:46:12 2009
@@ -503,28 +503,28 @@
 #else
   const char* nbAsc = m_aliasNbPages.c_str();
 #endif
   int* fAsc = makeFail(nbAsc,lenAsc);
 
 #if wxUSE_UNICODE
   wxMBConvUTF16BE conv;
-  int lenUni = conv.WC2MB(NULL, m_aliasNbPages, 0);
+  int lenUni = conv.WC2MB(NULL, m_aliasNbPages.wc_str (), 0);
   char* nbUni = new char[lenUni+3];
-  lenUni = conv.WC2MB(nbUni, m_aliasNbPages, lenUni+3);
+  lenUni = conv.WC2MB(nbUni, m_aliasNbPages.wc_str (), lenUni+3);
   int* fUni = makeFail(nbUni,lenUni);
 #endif
 
   wxString pg = wxString::Format(_T("%d"),m_page);
   int lenPgAsc = pg.Length();
 #if wxUSE_UNICODE
   wxCharBuffer wpg(pg.ToAscii());
   const char* pgAsc = (const char*) wpg;
-  int lenPgUni = conv.WC2MB(NULL, pg, 0);
+  int lenPgUni = conv.WC2MB(NULL, pg.wc_str (), 0);
   char* pgUni = new char[lenPgUni+3];
-  lenPgUni = conv.WC2MB(pgUni, pg, lenPgUni+3);
+  lenPgUni = conv.WC2MB(pgUni, pg.wc_str (), lenPgUni+3);
 #else
   const char* pgAsc = pg.c_str();
 #endif
 
   int n;
   for (n = 1; n <= m_page; n++)
   {
@@ -1884,17 +1884,17 @@
 
 void
 wxPdfDocument::TextEscape(const wxString& s, bool newline)
 {
 #if wxUSE_UNICODE
   wxString t = m_currentFont->ConvertCID2GID(s);
   wxMBConv* conv = m_currentFont->GetEncodingConv();
-  int len = conv->WC2MB(NULL, t, 0);
+  int len = conv->WC2MB(NULL, t.wc_str (), 0);
   char* mbstr = new char[len+3];
-  len = conv->WC2MB(mbstr, t, len+3);
+  len = conv->WC2MB(mbstr, t.wc_str (), len+3);
 #else
   int len = s.Length();;
   char* mbstr = new char[len+1];
   strcpy(mbstr,s.c_str());
 #endif
 
   OutEscape(mbstr,len);
@@ -2008,20 +2008,20 @@
 void
 wxPdfDocument::OutTextstring(const wxString& s, bool newline)
 {
   // Format a text string
   int ofs = CalculateStreamOffset();
 #if wxUSE_UNICODE
   wxMBConvUTF16BE conv;
-  int len = conv.WC2MB(NULL, s, 0);
+  int len = conv.WC2MB(NULL, s.wc_str (), 0);
   int lenbuf = CalculateStreamLength(len+2);
   char* mbstr = new char[lenbuf+3];
   mbstr[ofs+0] = '\xfe';
   mbstr[ofs+1] = '\xff';
-  len = 2 + conv.WC2MB(&mbstr[ofs+2], s, len+3);
+  len = 2 + conv.WC2MB(&mbstr[ofs+2], s.wc_str (), len+3);
 #else
   int len = s.Length();;
   int lenbuf = CalculateStreamLength(len);
   char* mbstr = new char[lenbuf+1];
   strcpy(&mbstr[ofs], s.c_str());
 #endif
 
