#include "xap_EncodingManager.h"
#include "ut_debugmsg.h"
#include "ut_string.h"
#include "ut_string_class.h"
#include "ut_assert.h"
#include "ut_bijection.h"
#include "ut_iconv.h"
#include <stdio.h>
#include <string.h>
Classes | |
struct | _rmap |
struct | _map |
struct | SCatRange |
Defines | |
#define | v(x) #x |
#define | SEARCH_PARAMS fulllocname, langandterr, isocode |
Enumerations | |
enum | EUniCat { NONATOMIC = 0, ATOMIC = 1, PUNCNOEND = 2, PUNCNOSTART = 3, PUNCFORCE = 4, UNKNOWN = 5 } |
Functions | |
char * | wvLIDToCodePageConverter (unsigned short lid) |
static void | init_values (const XAP_EncodingManager *that) |
static UT_UCSChar | try_CToU (UT_UCSChar c, UT_iconv_t iconv_handle) |
static UT_UCSChar | try_UToC (UT_UCSChar c, UT_iconv_t iconv_handle) |
static const char * | search_rmap (const _rmap *m, const char *key, bool *is_default=NULL) |
static const char * | search_rmap_with_opt_suffix (const _rmap *m, const char *key, const char *fallback_key=NULL, const char *fallback_key_final=NULL) |
static const char * | search_map (const _map *m, const char *key, bool *is_default=NULL) |
static const char * | search_map_with_opt_suffix (const _map *m, const char *key, const char *fallback_key=NULL, const char *fallback_key_final=NULL) |
static enum EUniCat | categoriseUniChar (UT_UCS4Char c) |
const char ** | localeinfo_combinations (const char *prefix, const char *suffix, const char *sep, bool skip_fallback) |
const char * | xap_encoding_manager_get_language_iso_name (void) |
static int | s_compare_unichar_cats (const void *pC, const void *puc) |
Variables | |
static UT_iconv_t | iconv_handle_N2U = UT_ICONV_INVALID |
static UT_iconv_t | iconv_handle_U2N = UT_ICONV_INVALID |
static UT_iconv_t | iconv_handle_U2Latin1 = UT_ICONV_INVALID |
static UT_iconv_t | iconv_handle_U2Win = UT_ICONV_INVALID |
static UT_iconv_t | iconv_handle_Win2U = UT_ICONV_INVALID |
static const char * | UCS2BEName = 0 |
static const char * | UCS2LEName = 0 |
static const char * | UCS4BEName = 0 |
static const char * | UCS4LEName = 0 |
static const char * | texenc_iso88595 [] = { "iso8859-5", NULL } |
static const _rmap | native_tex_enc_map [] |
static const _map | langcode_to_babelarg [] |
static const char * | wincharsetcode_ru [] |
static const char * | wincharsetcode_el [] |
static const char * | wincharsetcode_tr [] |
static const char * | wincharsetcode_vi [] |
static const char * | wincharsetcode_th [] |
static const char * | wincharsetcode_zh_GB2312 [] |
static const char * | wincharsetcode_zh_BIG5 [] |
static const _rmap | langcode_to_wincharsetcode [] |
static const char * | cjk_languages [] |
static const _rmap | langcode_to_cjk [] |
static const _map | MSCodepagename_to_charset_name_map [] |
static const _map | charset_name_to_MSCodepagename_map [] |
static const _map | langcode_to_winlangcode [] |
static const char * | non_cjk_fontsizes [] |
static const char * | cjk_fontsizes [] |
struct SCatRange | UniCharCats [] |
static bool | blineBreakRules [] |
int | XAP_EncodingManager__swap_stou |
int | XAP_EncodingManager__swap_utos |
#define SEARCH_PARAMS fulllocname, langandterr, isocode |
Referenced by XAP_EncodingManager::initialize().
Referenced by AD_Document::_adjustHistoryOnSave(), EV_Win32Toolbar::_ComboWndProc(), _get_fv_view(), AP_Win32Dialog_EpubExportOptions::_onCommand(), AD_Document::_restoreVersion(), abi_widget_find_next(), abi_widget_find_prev(), abi_widget_set_find_string(), AD_Document::addRecordToHistory(), PD_DocumentRDF::addXMLIDsForBlockAndTableCellForPosition(), PD_DocumentRDF::addXMLIDsForObjects(), XAP_Dialog_DocComparison::calculate(), OXMLi_ListenerState_Common::charData(), DECLARE_ABI_PLUGIN_METHOD(), PD_DocumentRDF::dumpObjectMarkersFromDocument(), AD_Document::findHistoryRecord(), PD_RDFSemanticStylesheet::format(), FV_View::getBlockFormat(), PD_Document::getFragXIDforVersion(), AD_Document::getHistoryNthAutoRevisioned(), AD_Document::getHistoryNthEditTime(), AD_Document::getHistoryNthId(), AD_Document::getHistoryNthTime(), AD_Document::getHistoryNthTimeStarted(), AD_Document::getHistoryNthTopXID(), AD_Document::getHistoryNthUID(), PD_DocumentRDF::getObjectsInScopeOfTypesForRange(), getSelectedUInt(), pf_Frag::getXMLID(), AbiCommand::parseTokens(), PP_Revision::PP_Revision(), PD_DocumentRDF::priv_addRelevantIDsForPosition(), PD_XMLIDCreator::rebuildCache(), EV_Win32Toolbar::repopulateStyles(), EV_UnixToolbar::repopulateStyles(), s_copy_int_array(), XAP_Prefs::savePrefsFile(), AD_Document::setAutoRevisioning(), RDFAnchor::setup(), IE_Imp_AbiWord_1::startElement(), EV_Win32Toolbar::synthesize(), EV_UnixToolbar::synthesize(), EV_QtToolbar::synthesize(), and AD_Document::verifyHistoryState().
enum EUniCat |
static enum EUniCat categoriseUniChar | ( | UT_UCS4Char | c | ) | [static] |
References SCatRange::cat, s_compare_unichar_cats(), and UNKNOWN.
Referenced by XAP_EncodingManager::canBreakBetween().
static void init_values | ( | const XAP_EncodingManager * | that | ) | [static] |
References XAP_EncodingManager::getNativeEncodingName(), XAP_EncodingManager::getWinLanguageCode(), iconv_handle_N2U, iconv_handle_U2Latin1, iconv_handle_U2N, iconv_handle_U2Win, iconv_handle_Win2U, ucs4Internal(), UT_DEBUGMSG, UT_iconv_isValid(), UT_iconv_open(), and wvLIDToCodePageConverter().
Referenced by XAP_EncodingManager::initialize().
const char** localeinfo_combinations | ( | const char * | prefix, | |
const char * | suffix, | |||
const char * | sep, | |||
bool | skip_fallback | |||
) |
References XAP_EncodingManager::get_instance().
Referenced by AP_Prefs::overlaySystemPrefs().
static int s_compare_unichar_cats | ( | const void * | pC, | |
const void * | puc | |||
) | [static] |
Return the line breaking catagory that "c" belongs to.
Note: For performance reasons this function assumes that the entries in UniCharCats are in NUMERICAL ORDER starting with the smallest value.
References SCatRange::end, and SCatRange::start.
Referenced by categoriseUniChar().
static const char* search_map | ( | const _map * | m, | |
const char * | key, | |||
bool * | is_default = NULL | |||
) | [static] |
References cur, _map::key, and _map::value.
Referenced by XAP_EncodingManager::charsetFromCodepage(), XAP_EncodingManager::CodepageFromCharset(), search_map_with_opt_suffix(), and XAP_EncodingManager::WindowsCharsetName().
static const char* search_map_with_opt_suffix | ( | const _map * | m, | |
const char * | key, | |||
const char * | fallback_key = NULL , |
|||
const char * | fallback_key_final = NULL | |||
) | [static] |
References search_map().
Referenced by XAP_EncodingManager::initialize().
static const char* search_rmap | ( | const _rmap * | m, | |
const char * | key, | |||
bool * | is_default = NULL | |||
) | [static] |
References cur, _rmap::keys, and _rmap::value.
Referenced by search_rmap_with_opt_suffix().
static const char* search_rmap_with_opt_suffix | ( | const _rmap * | m, | |
const char * | key, | |||
const char * | fallback_key = NULL , |
|||
const char * | fallback_key_final = NULL | |||
) | [static] |
References search_rmap().
Referenced by XAP_EncodingManager::initialize().
static UT_UCSChar try_CToU | ( | UT_UCSChar | c, | |
UT_iconv_t | iconv_handle | |||
) | [static] |
References XAP_EncodingManager::swap_stou, UT_DEBUGMSG, UT_iconv(), UT_iconv_isValid(), and UT_iconv_reset().
Referenced by XAP_EncodingManager::try_nativeToU(), and XAP_EncodingManager::try_WindowsToU().
static UT_UCSChar try_UToC | ( | UT_UCSChar | c, | |
UT_iconv_t | iconv_handle | |||
) | [static] |
char* wvLIDToCodePageConverter | ( | unsigned short | lid | ) |
const char* xap_encoding_manager_get_language_iso_name | ( | void | ) |
bool blineBreakRules[] [static] |
{ false, true, false, false, true, true, true, true, false, true, false, false, false, false, true, true, true, true, false, true, true, true, true, true, true}
Referenced by XAP_EncodingManager::canBreakBetween().
const _map charset_name_to_MSCodepagename_map[] [static] |
{ {NULL,NULL}, {"SJIS","CP932"}, {"GB2312","CP936"}, {"GBK","CP936"}, {"GB18030","CP936"}, {"BIG5","CP950"}, {"BIG5-HKSCS","CP950"}, {"JOHAB","CP1361"}, {NULL,NULL} }
Referenced by XAP_EncodingManager::CodepageFromCharset().
const char* cjk_fontsizes[] [static] |
const char* cjk_languages[] [static] |
{ "zh", "ja", "ko", NULL }
UT_iconv_t iconv_handle_N2U = UT_ICONV_INVALID [static] |
UT_iconv_t iconv_handle_U2Latin1 = UT_ICONV_INVALID [static] |
Referenced by init_values(), XAP_EncodingManager::try_UToLatin1(), and XAP_EncodingManager::~XAP_EncodingManager().
UT_iconv_t iconv_handle_U2N = UT_ICONV_INVALID [static] |
UT_iconv_t iconv_handle_U2Win = UT_ICONV_INVALID [static] |
UT_iconv_t iconv_handle_Win2U = UT_ICONV_INVALID [static] |
const _map langcode_to_babelarg[] [static] |
{ {NULL,NULL}, {"ru","english,russian"}, {"uk","english,russian,ukrainian"}, {"be","english,russian"}, {NULL,NULL} }
const _rmap langcode_to_cjk[] [static] |
{ {"0", NULL}, {"1",cjk_languages}, {NULL, NULL} }
Referenced by XAP_EncodingManager::initialize().
const _rmap langcode_to_wincharsetcode[] [static] |
{ {"0", NULL }, {"204",wincharsetcode_ru}, {"161",wincharsetcode_el}, {"162",wincharsetcode_tr}, {"163",wincharsetcode_vi}, {"222",wincharsetcode_th}, {"134",wincharsetcode_zh_GB2312}, {"136",wincharsetcode_zh_BIG5}, {NULL, NULL} }
const _map langcode_to_winlangcode[] [static] |
{ {NULL, NULL}, {"zh_CN.GB2312", "0x804"}, {"zh_CN.GBK", "0x804"}, {"zh_CN.GB18030", "0x804"}, {"zh_CN.UTF-8", "0x804"}, {"zh_HK.BIG5-HKSCS", "0x404"}, {"zh_HK.UTF-8", "0x404"}, {"zh_TW.BIG5", "0x404"}, {"zh_TW.UTF-8", "0x404"}, {NULL, NULL} }
Referenced by XAP_EncodingManager::initialize().
const _map MSCodepagename_to_charset_name_map[] [static] |
Referenced by XAP_EncodingManager::charsetFromCodepage(), and XAP_EncodingManager::WindowsCharsetName().
const _rmap native_tex_enc_map[] [static] |
{ { NULL, NULL }, { "koi8-r", NULL }, { "koi8-ru", NULL }, { "koi8-u", NULL }, { "cp1251", NULL }, { "cp866", NULL }, { "iso88595", texenc_iso88595}, { NULL, NULL } }
const char* non_cjk_fontsizes[] [static] |
const char* texenc_iso88595[] = { "iso8859-5", NULL } [static] |
const char* UCS2BEName = 0 [static] |
Referenced by XAP_EncodingManager::getUCS2BEName(), and XAP_EncodingManager::initialize().
const char* UCS2LEName = 0 [static] |
Referenced by XAP_EncodingManager::getUCS2LEName(), and XAP_EncodingManager::initialize().
const char* UCS4BEName = 0 [static] |
Referenced by XAP_EncodingManager::getUCS4BEName(), and XAP_EncodingManager::initialize().
const char* UCS4LEName = 0 [static] |
Referenced by XAP_EncodingManager::getUCS4LEName(), and XAP_EncodingManager::initialize().
struct SCatRange UniCharCats[] |
const char* wincharsetcode_el[] [static] |
{ "el", NULL }
const char* wincharsetcode_ru[] [static] |
{ "ru", "be", "uk" , NULL }
const char* wincharsetcode_th[] [static] |
{ "th", NULL }
const char* wincharsetcode_tr[] [static] |
{ "tr", NULL }
const char* wincharsetcode_vi[] [static] |
{ "vi", NULL }
const char* wincharsetcode_zh_BIG5[] [static] |
{ "zh_TW.BIG5", "zh_HK.BIG5-HKSCS", NULL }
const char* wincharsetcode_zh_GB2312[] [static] |
{ "zh_CN.GB2312", "zh_CN.GBK", "zh_CN.GB18030", NULL }
Referenced by XAP_EncodingManager::initialize().
Referenced by XAP_EncodingManager::initialize().