void XAP_Win32Dialog_Insert_Symbol::_setFontFromCombo(UT_sint32 Index) { if(Index >= 0) { SendDlgItemMessage(m_hDlg, XAP_RID_DIALOG_INSERTSYMBOL_FONT_LIST, CB_SETCURSEL, Index, 0); int Length = SendDlgItemMessage(m_hDlg, XAP_RID_DIALOG_INSERTSYMBOL_FONT_LIST, CB_GETLBTEXTLEN, Index, 0); if(Length != CB_ERR) { char *p_buffer = new char[Length + 1]; SendDlgItemMessage(m_hDlg, XAP_RID_DIALOG_INSERTSYMBOL_FONT_LIST, CB_GETLBTEXT, Index, (LPARAM)p_buffer); strcpy(Symbol_font_selected, p_buffer); UT_UCSChar *p_UC_buffer = new UT_UCSChar[Length + 1]; UT_UCS4_strcpy_char(p_UC_buffer, p_buffer); m_DrawSymbol->setSelectedFont(p_buffer); m_DrawSymbol->draw(); m_DrawSymbol->drawarea(m_CurrentSymbol, m_PreviousSymbol); delete [] p_UC_buffer; delete [] p_buffer; } else { UT_ASSERT_HARMLESS(UT_SHOULD_NOT_HAPPEN); } } }
/* From WinLocale To UCS4*/ UT_UCS4String AP_Win32App::s_fromWinLocaleToUCS4(const char* szIn) { UT_UCS4Char * src = new UT_UCS4Char[strlen(szIn)+1]; UT_UCS4_strcpy_char(src, (char*)szIn); UT_UCS4String sRslt(src); delete [] src; return sRslt; }
UT_UCS4String& UT_UCS4String::operator+=(unsigned char rhs) { UT_UCS4Char cs[2]; char rs[2]; rs[0] = static_cast<char>(rhs); rs[1] = 0; UT_UCS4_strcpy_char (cs, rs); pimpl->append(cs, 1); return *this; }
bool XAP_Dictionary::addWord(const char * word) { UT_sint32 len = strlen(word); if(len <=0) { return false; } UT_UCSChar * ucs_dup = static_cast<UT_UCSChar *>(UT_calloc(len+1, sizeof(UT_UCSChar))); UT_UCS4_strcpy_char(ucs_dup, word); addWord(ucs_dup,len); FREEP(ucs_dup); return true; }