| Index: xfa/fgas/localization/fgas_locale.cpp
|
| diff --git a/xfa/fgas/localization/fgas_locale.cpp b/xfa/fgas/localization/fgas_locale.cpp
|
| index bb4fe93ba3f130263d9d39ebf30ac96c4322ae93..6eed202643be560631cae32223e267e1b11b953f 100644
|
| --- a/xfa/fgas/localization/fgas_locale.cpp
|
| +++ b/xfa/fgas/localization/fgas_locale.cpp
|
| @@ -65,114 +65,6 @@ static const FX_WCHAR* const gs_LocalNumberSymbols[] = {
|
| L"zero", L"currencySymbol", L"currencyName",
|
| };
|
|
|
| -IFX_Locale* IFX_Locale::Create(CXML_Element* pLocaleData) {
|
| - return new CFX_Locale(pLocaleData);
|
| -}
|
| -CFX_Locale::CFX_Locale(CXML_Element* pLocaleData) {
|
| - m_pElement = pLocaleData;
|
| -}
|
| -CFX_Locale::~CFX_Locale() {}
|
| -CFX_WideString CFX_Locale::GetName() {
|
| - return CFX_WideString();
|
| -}
|
| -static CFX_WideString FX_GetXMLContent(const CFX_ByteStringC& bsSpace,
|
| - CXML_Element* pxmlElement,
|
| - const CFX_ByteStringC& bsTag,
|
| - const CFX_WideStringC& wsName) {
|
| - CXML_Element* pDatePattern = NULL;
|
| - int32_t nCount = pxmlElement->CountElements(bsSpace, bsTag);
|
| - int32_t i = 0;
|
| - for (; i < nCount; i++) {
|
| - pDatePattern = pxmlElement->GetElement(bsSpace, bsTag, i);
|
| - if (pDatePattern->GetAttrValue("name") == wsName) {
|
| - break;
|
| - }
|
| - }
|
| - if (i < nCount && pDatePattern) {
|
| - return pDatePattern->GetContent(0);
|
| - }
|
| - return L"";
|
| -}
|
| -void CFX_Locale::GetNumbericSymbol(FX_LOCALENUMSYMBOL eType,
|
| - CFX_WideString& wsNumSymbol) const {
|
| - if (!m_pElement) {
|
| - return;
|
| - }
|
| - CFX_ByteString bsSpace;
|
| - CFX_WideString wsName = gs_LocalNumberSymbols[eType];
|
| - CXML_Element* pNumberSymbols =
|
| - m_pElement->GetElement(bsSpace.AsStringC(), "numberSymbols");
|
| - if (!pNumberSymbols) {
|
| - return;
|
| - }
|
| - wsNumSymbol = FX_GetXMLContent(bsSpace.AsStringC(), pNumberSymbols,
|
| - "numberSymbol", wsName.AsStringC());
|
| -}
|
| -void CFX_Locale::GetDateTimeSymbols(CFX_WideString& wsDtSymbol) const {
|
| - if (!m_pElement) {
|
| - return;
|
| - }
|
| - CFX_ByteString bsSpace;
|
| - CXML_Element* pNumberSymbols =
|
| - m_pElement->GetElement(bsSpace.AsStringC(), "dateTimeSymbols");
|
| - if (!pNumberSymbols) {
|
| - return;
|
| - }
|
| - wsDtSymbol = pNumberSymbols->GetContent(0);
|
| -}
|
| -static void FX_GetCalendarSymbol(CXML_Element* pXmlElement,
|
| - const CFX_ByteString& symbol_type,
|
| - int32_t index,
|
| - FX_BOOL bAbbr,
|
| - CFX_WideString& wsName) {
|
| - CFX_ByteString bsSpace;
|
| - CFX_ByteString pstrSymbolNames = symbol_type + "Names";
|
| - CXML_Element* pChild =
|
| - pXmlElement->GetElement(bsSpace.AsStringC(), "calendarSymbols");
|
| - if (!pChild) {
|
| - return;
|
| - }
|
| - CXML_Element* pSymbolNames =
|
| - pChild->GetElement(bsSpace.AsStringC(), pstrSymbolNames.AsStringC());
|
| - if (!pSymbolNames) {
|
| - return;
|
| - }
|
| - if (pSymbolNames->GetAttrInteger("abbr") != bAbbr) {
|
| - pSymbolNames =
|
| - pChild->GetElement(bsSpace.AsStringC(), pstrSymbolNames.AsStringC(), 1);
|
| - }
|
| - if (pSymbolNames && pSymbolNames->GetAttrInteger("abbr") == bAbbr) {
|
| - CXML_Element* pSymbolName = pSymbolNames->GetElement(
|
| - bsSpace.AsStringC(), symbol_type.AsStringC(), index);
|
| - if (pSymbolName) {
|
| - wsName = pSymbolName->GetContent(0);
|
| - }
|
| - }
|
| -}
|
| -void CFX_Locale::GetMonthName(int32_t nMonth,
|
| - CFX_WideString& wsMonthName,
|
| - FX_BOOL bAbbr) const {
|
| - if (!m_pElement) {
|
| - return;
|
| - }
|
| - FX_GetCalendarSymbol(m_pElement, "month", nMonth, bAbbr, wsMonthName);
|
| -}
|
| -void CFX_Locale::GetDayName(int32_t nWeek,
|
| - CFX_WideString& wsDayName,
|
| - FX_BOOL bAbbr) const {
|
| - if (!m_pElement) {
|
| - return;
|
| - }
|
| - FX_GetCalendarSymbol(m_pElement, "day", nWeek, bAbbr, wsDayName);
|
| -}
|
| -void CFX_Locale::GetMeridiemName(CFX_WideString& wsMeridiemName,
|
| - FX_BOOL bAM) const {
|
| - if (!m_pElement) {
|
| - return;
|
| - }
|
| - FX_GetCalendarSymbol(m_pElement, "meridiem", bAM ? 0 : 1, FALSE,
|
| - wsMeridiemName);
|
| -}
|
| static int32_t FX_ParseTimeZone(const FX_WCHAR* pStr,
|
| int32_t iLen,
|
| FX_TIMEZONE& tz) {
|
| @@ -198,64 +90,7 @@ static int32_t FX_ParseTimeZone(const FX_WCHAR* pStr,
|
| }
|
| return iStart;
|
| }
|
| -void CFX_Locale::GetTimeZone(FX_TIMEZONE& tz) const {
|
| - tz.tzHour = 0;
|
| - tz.tzMinute = 0;
|
| - if (!m_pElement) {
|
| - return;
|
| - }
|
| - CXML_Element* pxmlTimeZone = m_pElement->GetElement("", "timeZone");
|
| - if (pxmlTimeZone) {
|
| - CFX_WideString wsTimeZone = pxmlTimeZone->GetContent(0);
|
| - FX_ParseTimeZone(wsTimeZone.c_str(), wsTimeZone.GetLength(), tz);
|
| - }
|
| -}
|
| -void CFX_Locale::GetEraName(CFX_WideString& wsEraName, FX_BOOL bAD) const {
|
| - if (!m_pElement) {
|
| - return;
|
| - }
|
| - FX_GetCalendarSymbol(m_pElement, "era", bAD ? 0 : 1, FALSE, wsEraName);
|
| -}
|
| -static void FX_GetPattern(CXML_Element* pXmlElement,
|
| - const CFX_ByteString& bsCategory,
|
| - const CFX_WideString& wsSubCategory,
|
| - CFX_WideString& wsPattern) {
|
| - CFX_ByteString bsSpace;
|
| - CXML_Element* pDatePatterns = pXmlElement->GetElement(
|
| - bsSpace.AsStringC(), (bsCategory + "s").AsStringC());
|
| - if (!pDatePatterns) {
|
| - return;
|
| - }
|
| - wsPattern =
|
| - FX_GetXMLContent(bsSpace.AsStringC(), pDatePatterns,
|
| - bsCategory.AsStringC(), wsSubCategory.AsStringC());
|
| -}
|
| -static void FX_GetDateTimePattern(CXML_Element* pXmlElement,
|
| - const CFX_ByteString& bsCategory,
|
| - FX_LOCALEDATETIMESUBCATEGORY eType,
|
| - CFX_WideString& wsPattern) {
|
| - CFX_WideString wsType = g_FXLocaleDateTimeSubCatData[eType].pName;
|
| - FX_GetPattern(pXmlElement, bsCategory, wsType, wsPattern);
|
| -}
|
| -void CFX_Locale::GetDatePattern(FX_LOCALEDATETIMESUBCATEGORY eType,
|
| - CFX_WideString& wsPattern) const {
|
| - if (!m_pElement) {
|
| - return;
|
| - }
|
| - FX_GetDateTimePattern(m_pElement, "datePattern", eType, wsPattern);
|
| -}
|
| -void CFX_Locale::GetTimePattern(FX_LOCALEDATETIMESUBCATEGORY eType,
|
| - CFX_WideString& wsPattern) const {
|
| - if (!m_pElement) {
|
| - return;
|
| - }
|
| - FX_GetDateTimePattern(m_pElement, "timePattern", eType, wsPattern);
|
| -}
|
| -void CFX_Locale::GetNumPattern(FX_LOCALENUMSUBCATEGORY eType,
|
| - CFX_WideString& wsPattern) const {
|
| - CFX_WideString wsType = g_FXLocaleNumSubCatData[eType].pName;
|
| - FX_GetPattern(m_pElement, "numberPattern", wsType, wsPattern);
|
| -}
|
| +
|
| static FX_BOOL FX_IsDigit(FX_WCHAR c) {
|
| return c >= '0' && c <= '9';
|
| }
|
| @@ -1605,53 +1440,7 @@ FX_BOOL CFX_FormatString::ParseNum(const CFX_WideString& wsSrcNum,
|
| fValue = (FX_FLOAT)dbRetValue;
|
| return TRUE;
|
| }
|
| -void FX_ParseNumString(const CFX_WideString& wsNum, CFX_WideString& wsResult) {
|
| - int32_t iCount = wsNum.GetLength();
|
| - const FX_WCHAR* pStr = wsNum.c_str();
|
| - FX_WCHAR* pDst = wsResult.GetBuffer(iCount);
|
| - int32_t nIndex = 0;
|
| - FX_BOOL bMinus = FALSE;
|
| - int32_t i = 0;
|
| - for (i = 0; i < iCount; i++) {
|
| - FX_WCHAR wc = pStr[i];
|
| - if (wc == '.') {
|
| - break;
|
| - }
|
| - if ((wc == L'0' || wc == L' ' || wc == '+') && nIndex == 0) {
|
| - continue;
|
| - }
|
| - if (wc == '-') {
|
| - pDst[nIndex++] = wc;
|
| - bMinus = TRUE;
|
| - continue;
|
| - }
|
| - if (wc == L'0' && nIndex == 1 && bMinus) {
|
| - continue;
|
| - }
|
| - pDst[nIndex++] = wc;
|
| - }
|
| - if (bMinus && nIndex == 1) {
|
| - pDst[nIndex++] = '0';
|
| - }
|
| - if (nIndex == 0) {
|
| - wsResult.ReleaseBuffer(0);
|
| - pDst = wsResult.GetBuffer(iCount + 1);
|
| - pDst[nIndex++] = '0';
|
| - }
|
| - int32_t j = 0;
|
| - for (j = iCount - 1; j > i; j--) {
|
| - FX_WCHAR wc = pStr[j];
|
| - if (wc != L'0' && wc != L' ') {
|
| - break;
|
| - }
|
| - }
|
| - if (j > i) {
|
| - pDst[nIndex++] = '.';
|
| - FXSYS_wcsncpy(pDst + nIndex, pStr + i + 1, j - i);
|
| - nIndex += j - i;
|
| - }
|
| - wsResult.ReleaseBuffer(nIndex);
|
| -}
|
| +
|
| FX_BOOL CFX_FormatString::ParseNum(const CFX_WideString& wsSrcNum,
|
| const CFX_WideString& wsPattern,
|
| CFX_WideString& wsValue) {
|
|
|