#include <xap_EncodingManager.h>
Public Member Functions | |
virtual const char * | getNativeEncodingName () const |
virtual const char * | getNativeSystemEncodingName () const |
virtual const char * | getNative8BitEncodingName () const |
virtual const char * | getNativeNonUnicodeEncodingName () const |
virtual const char * | getNativeUnicodeEncodingName () const |
virtual const char * | getUCS2BEName () const |
virtual const char * | getUCS2LEName () const |
virtual const char * | getUCS4BEName () const |
virtual const char * | getUCS4LEName () const |
virtual bool | isUnicodeLocale () const |
virtual const char * | getLanguageISOName () const |
virtual const char * | getLanguageISOTerritory () const |
virtual void | placeholder () |
virtual const char * | getTexPrologue () const |
virtual UT_UCSChar | try_nativeToU (UT_UCSChar c) const |
virtual UT_UCSChar | try_UToNative (UT_UCSChar c) const |
virtual UT_UCSChar | try_UToLatin1 (UT_UCSChar c) const |
virtual UT_UCSChar | try_WindowsToU (UT_UCSChar c) const |
virtual UT_UCSChar | try_UToWindows (UT_UCSChar c) const |
virtual char | fallbackChar (UT_UCSChar c) const |
void | Delete_instance () |
virtual UT_uint32 | approximate (char *out, UT_uint32 max_length, UT_UCSChar c) const |
virtual UT_uint32 | getWinLanguageCode () const |
virtual UT_uint32 | getWinCharsetCode () const |
virtual void | initialize () |
virtual bool | cjk_locale () const |
virtual bool | single_case () const |
virtual bool | noncjk_letters (const UT_UCSChar *str, int len) const |
virtual bool | canBreakBetween (const UT_UCS4Char c[2]) const |
virtual bool | is_cjk_letter (UT_UCSChar c) const |
virtual const char * | charsetFromCodepage (int lid) const |
virtual const char * | CodepageFromCharset (const char *charset) const |
virtual const char * | WindowsCharsetName () const |
UT_UCSChar | nativeToU (UT_UCSChar c) const |
UT_UCSChar | UToNative (UT_UCSChar c) const |
UT_UCSChar | WindowsToU (UT_UCSChar c) const |
UT_UCSChar | UToWindows (UT_UCSChar c) const |
const char * | strToNative (const char *in, const char *charset, bool bReverse=false, bool bUseSysEncoding=false) const |
const char * | strToNative (const char *in, const char *charset, char *buf, int bufsz, bool bReverse=false, bool bUseSysEncoding=false) const |
Static Public Member Functions | |
static XAP_EncodingManager * | get_instance () |
static int | XAP_XML_UnknownEncodingHandler (void *encodingHandlerData, const gchar *name, XML_Encoding *info) |
static const XAP_LangInfo * | findLangInfo (const char *key, XAP_LangInfo::fieldidx column) |
static const XAP_LangInfo * | findLangInfoByLocale (const char *locale) |
Static Public Attributes | |
static const XAP_LangInfo | langinfo [] |
static const XAP_SmartQuoteStyle | smartQuoteStyles [] |
static bool | swap_utos = false |
static bool | swap_stou = false |
static UT_Bijection | cjk_word_fontname_mapping |
static UT_Bijection | fontsizes_mapping |
Protected Member Functions | |
void | describe () |
XAP_EncodingManager () | |
virtual | ~XAP_EncodingManager () |
Private Attributes | |
const char * | TexPrologue |
UT_uint32 | WinLanguageCode |
UT_uint32 | WinCharsetCode |
bool | is_cjk_ |
bool | m_bIsUnicodeLocale |
Static Private Attributes | |
static XAP_EncodingManager * | _instance = NULL |
XAP_EncodingManager::XAP_EncodingManager | ( | ) | [protected] |
XAP_EncodingManager::~XAP_EncodingManager | ( | ) | [protected, virtual] |
UT_uint32 XAP_EncodingManager::approximate | ( | char * | out, | |
UT_uint32 | max_length, | |||
UT_UCSChar | c | |||
) | const [virtual] |
Referenced by UToNative().
bool XAP_EncodingManager::canBreakBetween | ( | const UT_UCS4Char | c[2] | ) | const [virtual] |
References blineBreakRules, categoriseUniChar(), NONATOMIC, UCS_EM_DASH, and UCS_RDBLQUOTE.
Referenced by GR_Graphics::canBreak().
const char * XAP_EncodingManager::charsetFromCodepage | ( | int | lid | ) | const [virtual] |
References MSCodepagename_to_charset_name_map, and search_map().
Referenced by RTFFontTableItem::RTFFontTableItem(), and IE_Imp_RTF::TranslateKeywordID().
virtual bool XAP_EncodingManager::cjk_locale | ( | ) | const [inline, virtual] |
const char * XAP_EncodingManager::CodepageFromCharset | ( | const char * | charset | ) | const [virtual] |
References charset_name_to_MSCodepagename_map, search_map(), and UT_DEBUGMSG.
Referenced by IE_Exp_RTF::_write_rtf_header().
void XAP_EncodingManager::Delete_instance | ( | ) |
References _instance.
Referenced by XAP_App::~XAP_App().
void XAP_EncodingManager::describe | ( | ) | [protected] |
References cjk_locale(), fallbackChar(), getLanguageISOName(), getLanguageISOTerritory(), getNative8BitEncodingName(), getNativeEncodingName(), getNativeNonUnicodeEncodingName(), getNativeSystemEncodingName(), getNativeUnicodeEncodingName(), getTexPrologue(), getWinCharsetCode(), getWinLanguageCode(), iconv_handle_N2U, iconv_handle_U2N, swap_stou, swap_utos, UT_ASSERT, UT_DEBUGMSG, and UT_iconv_isValid().
Referenced by XAP_Win32EncodingManager::initialize(), XAP_UnixEncodingManager::initialize(), XAP_QtEncodingManager::initialize(), and XAP_CocoaEncodingManager::initialize().
char XAP_EncodingManager::fallbackChar | ( | UT_UCSChar | c | ) | const [virtual] |
Referenced by describe(), nativeToU(), UToNative(), UToWindows(), and WindowsToU().
const XAP_LangInfo * XAP_EncodingManager::findLangInfo | ( | const char * | key, | |
XAP_LangInfo::fieldidx | column | |||
) | [static] |
References cur, XAP_LangInfo::fields, langinfo, and XAP_LangInfo::max_idx.
Referenced by initialize().
const XAP_LangInfo * XAP_EncodingManager::findLangInfoByLocale | ( | const char * | locale | ) | [static] |
References XAP_LangInfo::countrycode_idx, cur, XAP_LangInfo::fields, XAP_LangInfo::isoshortname_idx, and langinfo.
Referenced by FL_DocLayout::considerSmartQuoteCandidateAt().
XAP_EncodingManager * XAP_EncodingManager::get_instance | ( | ) | [static] |
References _instance, initialize(), and UT_DEBUGMSG.
Referenced by AP_Win32App::_copyFmtToClipboard(), IE_Imp_MsWord_97::_generateCharProps(), pt_PieceTable::_loadBuiltinStyles(), s_RTF_ListenerWriteDoc::_outputData(), s_Applix_Listener::_outputData(), AP_Win32App::_pasteFormatFromClipboard(), IE_Imp_Text::_recognizeEncoding(), IE_Imp_Text::_setEncoding(), IE_Exp_Text::_setEncoding(), IE_Exp_RTF::_write_rtf_header(), IE_Exp_Text::_writeDocument(), AbiOts_invoke(), FV_View::countWords(), Drop(), EV_Toolbar_Label::EV_Toolbar_Label(), fp_TextRun::findFirstNonBlankSplitPoint(), FV_View::FV_View(), XAP_App::getEncodingManager(), GR_UnixCairoGraphics::getGUIFont(), IE_Exp_Text::IE_Exp_Text(), IE_Imp_RTF::IE_Imp_RTF(), IE_Imp_Text::IE_Imp_Text(), _rtf_font_info::init(), localeinfo_combinations(), IE_Imp_Text_Sniffer::recognizeContentsType(), ev_Win32Keyboard::remapKeyboard(), RTFFontTableItem::RTFFontTableItem(), s_LaTeX_Listener::s_LaTeX_Listener(), s_RTF_ListenerWriteDoc::s_RTF_ListenerWriteDoc(), IE_Imp_RTF::TranslateKeywordID(), UT_iconv_reset(), UT_LocaleInfo::UT_LocaleInfo(), UT_UCS4_strcpy_char(), UT_UCS4_strcpy_to_char(), UT_UCS4_strlen_as_char(), UT_UCS4_strncpy_char(), UT_UCS4_strncpy_to_char(), UT_UCS4_tolower(), UT_UCS4_toupper(), xap_encoding_manager_get_language_iso_name(), XAP_XML_UnknownEncodingHandler(), and XAP_App::~XAP_App().
const char * XAP_EncodingManager::getLanguageISOName | ( | ) | const [virtual] |
Reimplemented in XAP_CocoaEncodingManager, XAP_UnixEncodingManager, XAP_QtEncodingManager, and XAP_Win32EncodingManager.
Referenced by pt_PieceTable::_loadBuiltinStyles(), AbiOts_invoke(), describe(), FV_View::FV_View(), GR_UnixCairoGraphics::getGUIFont(), initialize(), UT_LocaleInfo::UT_LocaleInfo(), and xap_encoding_manager_get_language_iso_name().
const char * XAP_EncodingManager::getLanguageISOTerritory | ( | ) | const [virtual] |
Reimplemented in XAP_CocoaEncodingManager, XAP_UnixEncodingManager, XAP_QtEncodingManager, and XAP_Win32EncodingManager.
Referenced by pt_PieceTable::_loadBuiltinStyles(), describe(), FV_View::FV_View(), GR_UnixCairoGraphics::getGUIFont(), initialize(), and UT_LocaleInfo::UT_LocaleInfo().
const char * XAP_EncodingManager::getNative8BitEncodingName | ( | ) | const [virtual] |
Returns the native 8-bit encoding
Always returns an 8-bit encoding, even when the native encoding is wide char like UCS-2 on Windows NT. This includes multibyte encodings such as UTF-8 and CJK encodings. Any encoding which inludes the ASCII range is OK.
Reimplemented in XAP_CocoaEncodingManager, XAP_UnixEncodingManager, XAP_QtEncodingManager, and XAP_Win32EncodingManager.
References getNativeEncodingName().
Referenced by describe(), Drop(), IE_Imp_RTF::TranslateKeywordID(), and UT_LocaleInfo::UT_LocaleInfo().
const char * XAP_EncodingManager::getNativeEncodingName | ( | ) | const [virtual] |
Returns the native encoding, no matter what
If the OS supports a system locale and a user locale, this will be the user locale's encoding.
Reimplemented in XAP_CocoaEncodingManager, XAP_UnixEncodingManager, XAP_QtEncodingManager, and XAP_Win32EncodingManager.
Referenced by describe(), EV_Toolbar_Label::EV_Toolbar_Label(), getNative8BitEncodingName(), getNativeNonUnicodeEncodingName(), getNativeSystemEncodingName(), IE_Exp_Text::IE_Exp_Text(), IE_Imp_Text::IE_Imp_Text(), init_values(), initialize(), and strToNative().
const char * XAP_EncodingManager::getNativeNonUnicodeEncodingName | ( | ) | const [virtual] |
Returns the native non-Unicode encoding
Always returns a non-Unicode encoding, even when the native encoding is Unicode like UCS-2 on Windows NT or UTF-8 on *nix.
Reimplemented in XAP_UnixEncodingManager, XAP_QtEncodingManager, and XAP_Win32EncodingManager.
References getNativeEncodingName().
Referenced by describe(), and strToNative().
const char * XAP_EncodingManager::getNativeSystemEncodingName | ( | ) | const [virtual] |
Returns the system's underlying native encoding, no matter what
If the OS supports a system locale and a user locale, this will be the system locale's encoding.
Reimplemented in XAP_UnixEncodingManager, XAP_QtEncodingManager, and XAP_Win32EncodingManager.
References getNativeEncodingName().
Referenced by describe(), EV_Toolbar_Label::EV_Toolbar_Label(), and strToNative().
const char * XAP_EncodingManager::getNativeUnicodeEncodingName | ( | ) | const [virtual] |
Returns the native Unicode encoding
Typically UTF-8 on *nix and UCS-2 on Windows NT
Reimplemented in XAP_CocoaEncodingManager, XAP_UnixEncodingManager, XAP_QtEncodingManager, and XAP_Win32EncodingManager.
Referenced by AP_Win32App::_copyFmtToClipboard(), IE_Imp_MsWord_97::_generateCharProps(), describe(), and ev_Win32Keyboard::remapKeyboard().
const char * XAP_EncodingManager::getTexPrologue | ( | ) | const [virtual] |
References TexPrologue.
Referenced by describe(), and s_LaTeX_Listener::s_LaTeX_Listener().
const char * XAP_EncodingManager::getUCS2BEName | ( | ) | const [virtual] |
Returns the name this system uses for UCS-2, big endian
UCS-2BE is standard but some older iconvs use UCS-2-BE
References UCS2BEName.
Referenced by IE_Imp_Text::_setEncoding(), IE_Exp_Text::_setEncoding(), and IE_Imp_Text_Sniffer::recognizeContentsType().
const char * XAP_EncodingManager::getUCS2LEName | ( | ) | const [virtual] |
Returns the name this system uses for UCS-2, little endian
UCS-2LE is standard but some older iconvs use UCS-2-LE
References UCS2LEName.
Referenced by AP_Win32App::_pasteFormatFromClipboard(), IE_Imp_Text::_setEncoding(), IE_Exp_Text::_setEncoding(), XAP_Win32EncodingManager::initialize(), and IE_Imp_Text_Sniffer::recognizeContentsType().
const char * XAP_EncodingManager::getUCS4BEName | ( | ) | const [virtual] |
const char * XAP_EncodingManager::getUCS4LEName | ( | ) | const [virtual] |
Returns the name this system uses for UCS-4, little endian
UCS-4LE is standard
References UCS4LEName.
UT_uint32 XAP_EncodingManager::getWinCharsetCode | ( | ) | const [virtual] |
References WinCharsetCode.
Referenced by IE_Exp_RTF::_write_rtf_header(), describe(), and _rtf_font_info::init().
UT_uint32 XAP_EncodingManager::getWinLanguageCode | ( | ) | const [virtual] |
References WinLanguageCode.
Referenced by IE_Exp_RTF::_write_rtf_header(), describe(), init_values(), and WindowsCharsetName().
void XAP_EncodingManager::initialize | ( | void | ) | [virtual] |
Reimplemented in XAP_CocoaEncodingManager, XAP_UnixEncodingManager, XAP_QtEncodingManager, and XAP_Win32EncodingManager.
References UT_Bijection::add(), UT_String::c_str(), cjk_fontsizes, cjk_locale(), UT_Bijection::clear(), cur, XAP_LangInfo::fields, findLangInfo(), fontsizes, fontsizes_mapping, getLanguageISOName(), getLanguageISOTerritory(), getNativeEncodingName(), init_values(), is_cjk_, XAP_LangInfo::isoshortname_idx, langcode_to_cjk, langcode_to_winlangcode, m_bIsUnicodeLocale, nativeToU(), non_cjk_fontsizes, search_map_with_opt_suffix(), SEARCH_PARAMS, search_rmap_with_opt_suffix(), swap_stou, swap_utos, TexPrologue, UCS2BEName, UCS2LEName, UCS4BEName, UCS4LEName, UT_DEBUGMSG, UT_iconv_close(), UT_ICONV_INVALID, UT_iconv_open(), UToNative(), WinCharsetCode, XAP_LangInfo::winlangcode_idx, WinLanguageCode, XAP_EncodingManager__swap_stou, and XAP_EncodingManager__swap_utos.
Referenced by get_instance().
bool XAP_EncodingManager::is_cjk_letter | ( | UT_UCSChar | c | ) | const [virtual] |
References cjk_locale().
Referenced by noncjk_letters().
virtual bool XAP_EncodingManager::isUnicodeLocale | ( | ) | const [inline, virtual] |
Reimplemented in XAP_Win32EncodingManager.
UT_UCSChar XAP_EncodingManager::nativeToU | ( | UT_UCSChar | c | ) | const |
References fallbackChar(), and try_nativeToU().
Referenced by initialize().
bool XAP_EncodingManager::noncjk_letters | ( | const UT_UCSChar * | str, | |
int | len | |||
) | const [virtual] |
References cjk_locale(), and is_cjk_letter().
virtual void XAP_EncodingManager::placeholder | ( | ) | [inline, virtual] |
bool XAP_EncodingManager::single_case | ( | ) | const [virtual] |
References cjk_locale().
const char * XAP_EncodingManager::strToNative | ( | const char * | in, | |
const char * | charset, | |||
char * | buf, | |||
int | bufsz, | |||
bool | bReverse = false , |
|||
bool | bUseSysEncoding = false | |||
) | const |
const char * XAP_EncodingManager::strToNative | ( | const char * | in, | |
const char * | charset, | |||
bool | bReverse = false , |
|||
bool | bUseSysEncoding = false | |||
) | const |
References strToNative().
Referenced by strToNative().
UT_UCSChar XAP_EncodingManager::try_nativeToU | ( | UT_UCSChar | c | ) | const [virtual] |
References iconv_handle_N2U, and try_CToU().
Referenced by nativeToU().
UT_UCSChar XAP_EncodingManager::try_UToLatin1 | ( | UT_UCSChar | c | ) | const [virtual] |
References iconv_handle_U2Latin1, and try_UToC().
UT_UCSChar XAP_EncodingManager::try_UToNative | ( | UT_UCSChar | c | ) | const [virtual] |
References iconv_handle_U2N, and try_UToC().
Referenced by s_Applix_Listener::_outputData(), and UToNative().
UT_UCSChar XAP_EncodingManager::try_UToWindows | ( | UT_UCSChar | c | ) | const [virtual] |
References iconv_handle_U2Win, and try_UToC().
Referenced by s_RTF_ListenerWriteDoc::_outputData(), and UToWindows().
UT_UCSChar XAP_EncodingManager::try_WindowsToU | ( | UT_UCSChar | c | ) | const [virtual] |
References iconv_handle_Win2U, and try_CToU().
Referenced by WindowsToU().
UT_UCSChar XAP_EncodingManager::UToNative | ( | UT_UCSChar | c | ) | const |
References approximate(), fallbackChar(), and try_UToNative().
Referenced by initialize().
UT_UCSChar XAP_EncodingManager::UToWindows | ( | UT_UCSChar | c | ) | const |
References fallbackChar(), and try_UToWindows().
const char * XAP_EncodingManager::WindowsCharsetName | ( | ) | const [virtual] |
UT_UCSChar XAP_EncodingManager::WindowsToU | ( | UT_UCSChar | c | ) | const |
References fallbackChar(), and try_WindowsToU().
int XAP_EncodingManager::XAP_XML_UnknownEncodingHandler | ( | void * | encodingHandlerData, | |
const gchar * | name, | |||
XML_Encoding * | info | |||
) | [static] |
References cjk_locale(), get_instance(), swap_stou, UT_iconv(), UT_iconv_close(), UT_iconv_isValid(), UT_iconv_open(), and UT_UNUSED.
XAP_EncodingManager * XAP_EncodingManager::_instance = NULL [static, private] |
Referenced by Delete_instance(), and get_instance().
Referenced by XAP_UnixDialog_FontChooser::constructWindowContents(), initialize(), AP_UnixToolbar_SizeCombo::populate(), AP_QtToolbar_SizeCombo::populate(), AP_CocoaToolbar_SizeCombo::populate(), EV_UnixToolbar::refreshToolbar(), XAP_UnixDialog_FontChooser::runModal(), _wd::s_combo_apply_changes(), XAP_UnixDialog_FontChooser::sizeRowChanged(), and XAP_CocoaDialog_FontChooser::sizeRowChanged.
bool XAP_EncodingManager::is_cjk_ [private] |
Referenced by initialize().
const XAP_LangInfo XAP_EncodingManager::langinfo [static] |
Referenced by findLangInfo(), and findLangInfoByLocale().
bool XAP_EncodingManager::m_bIsUnicodeLocale [private] |
Reimplemented in XAP_Win32EncodingManager.
Referenced by initialize().
const XAP_SmartQuoteStyle XAP_EncodingManager::smartQuoteStyles [static] |
{ { UCS_LDBLQUOTE, UCS_RDBLQUOTE }, { UCS_LQUOTE, UCS_RQUOTE }, { ((UT_UCSChar)0x00ab), ((UT_UCSChar)0x00bb) }, { ((UT_UCSChar)0x00bb), ((UT_UCSChar)0x00ab) }, { ((UT_UCSChar)0x00bb), ((UT_UCSChar)0x00bb) }, { UCS_LQUOTE, ((UT_UCSChar)0x201a) }, { UCS_RQUOTE, UCS_RQUOTE }, { ((UT_UCSChar)0x201a), UCS_LQUOTE }, { ((UT_UCSChar)0x201a), UCS_RQUOTE }, { UCS_LDBLQUOTE, ((UT_UCSChar)0x201e) }, { UCS_RDBLQUOTE, UCS_RDBLQUOTE }, { ((UT_UCSChar)0x201e), UCS_RDBLQUOTE }, { ((UT_UCSChar)0x201e), UCS_LDBLQUOTE }, { ((UT_UCSChar)0x2039), ((UT_UCSChar)0x203a) }, { ((UT_UCSChar)0x203a), ((UT_UCSChar)0x2039) }, { ((UT_UCSChar)0x300c), ((UT_UCSChar)0x300d) }, { ((UT_UCSChar)0x300e), ((UT_UCSChar)0x300f) }, { UCS_RDBLQUOTE, UCS_LDBLQUOTE }, { '\"', '\"' }, { '\'', '\'' }, { 0, 0 } }
Referenced by AP_Win32Dialog_Options_SmartQuotes::_onInitDialog(), AP_UnixDialog_Options::_setupSmartQuotesCombos(), AP_CocoaDialog_Options::_setupSmartQuotesCombos, and FL_DocLayout::considerSmartQuoteCandidateAt().
bool XAP_EncodingManager::swap_stou = false [static] |
Referenced by describe(), initialize(), try_CToU(), and XAP_XML_UnknownEncodingHandler().
bool XAP_EncodingManager::swap_utos = false [static] |
Referenced by describe(), initialize(), and try_UToC().
const char* XAP_EncodingManager::TexPrologue [private] |
Referenced by getTexPrologue(), and initialize().
UT_uint32 XAP_EncodingManager::WinCharsetCode [private] |
Referenced by getWinCharsetCode(), and initialize().
Referenced by getWinLanguageCode(), and initialize().