summaryrefslogtreecommitdiff
path: root/xfa
diff options
context:
space:
mode:
Diffstat (limited to 'xfa')
-rw-r--r--xfa/fxfa/fm2js/xfa_fm2jscontext.cpp100
1 files changed, 50 insertions, 50 deletions
diff --git a/xfa/fxfa/fm2js/xfa_fm2jscontext.cpp b/xfa/fxfa/fm2js/xfa_fm2jscontext.cpp
index e47d0af390..3a1925c0ab 100644
--- a/xfa/fxfa/fm2js/xfa_fm2jscontext.cpp
+++ b/xfa/fxfa/fm2js/xfa_fm2jscontext.cpp
@@ -249,6 +249,53 @@ const XFA_FMHtmlReserveCode reservesForEncode[] = {
{9827, L"clubs"}, {9829, L"hearts"}, {9830, L"diams"},
};
+const uint8_t g_sAltTable_Date[] = {
+ 255, 255, 255, 3, 9, 255, 255, 255, 255, 255, 255, 255, 2,
+ 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 1, 255,
+ 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+ 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+ 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+};
+
+const uint8_t g_sAltTable_Time[] = {
+ 14, 255, 255, 3, 9, 255, 255, 15, 255, 255, 255, 255, 6,
+ 255, 255, 255, 255, 255, 7, 255, 255, 255, 255, 255, 1, 17,
+ 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+ 15, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+ 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+};
+
+void AlternateDateTimeSymbols(CFX_WideString& wsPattern,
+ const CFX_WideString& wsAltSymbols,
+ const uint8_t* pAltTable) {
+ int32_t nLength = wsPattern.GetLength();
+ FX_BOOL bInConstRange = FALSE;
+ FX_BOOL bEscape = FALSE;
+ int32_t i = 0, n = 0;
+ while (i < nLength) {
+ FX_WCHAR wc = wsPattern[i];
+ if (wc == L'\'') {
+ bInConstRange = !bInConstRange;
+ if (bEscape) {
+ i++;
+ } else {
+ wsPattern.Delete(i);
+ nLength--;
+ }
+ bEscape = !bEscape;
+ continue;
+ }
+ if (!bInConstRange && (n = wc - L'A') >= 0 && n <= (L'a' - L'A')) {
+ int32_t nAlt = (int32_t)pAltTable[n];
+ if (nAlt != 255) {
+ wsPattern.SetAt(i, wsAltSymbols[nAlt]);
+ }
+ }
+ i++;
+ bEscape = FALSE;
+ }
+}
+
} // namespace
void CXFA_FM2JSContext::Abs(FXJSE_HOBJECT hThis,
@@ -2275,54 +2322,7 @@ int32_t CXFA_FM2JSContext::DateString2Num(const CFX_ByteStringC& szDateString) {
}
return (int32_t)dDays;
}
-#define XFA_N 19
-static uint8_t g_sAltTable_Date[] = {
- XFA_N, XFA_N, XFA_N, 3, 9, XFA_N, XFA_N, XFA_N, XFA_N, XFA_N, XFA_N,
- XFA_N, 2, XFA_N, XFA_N, XFA_N, XFA_N, XFA_N, XFA_N, XFA_N, XFA_N, XFA_N,
- XFA_N, XFA_N, 1, XFA_N, XFA_N, XFA_N, XFA_N, XFA_N, XFA_N, XFA_N, XFA_N,
- XFA_N, XFA_N, XFA_N, XFA_N, XFA_N, XFA_N, XFA_N, XFA_N, XFA_N, XFA_N, XFA_N,
- XFA_N, XFA_N, XFA_N, XFA_N, XFA_N, XFA_N, XFA_N, XFA_N, XFA_N, XFA_N, XFA_N,
- XFA_N, XFA_N, XFA_N, XFA_N, XFA_N, XFA_N, XFA_N, XFA_N, XFA_N,
-};
-static uint8_t g_sAltTable_Time[] = {
- 14, XFA_N, XFA_N, 3, 9, XFA_N, XFA_N, 15, XFA_N, XFA_N, XFA_N,
- XFA_N, 6, XFA_N, XFA_N, XFA_N, XFA_N, XFA_N, 7, XFA_N, XFA_N, XFA_N,
- XFA_N, XFA_N, 1, 17, XFA_N, XFA_N, XFA_N, XFA_N, XFA_N, XFA_N, XFA_N,
- XFA_N, XFA_N, XFA_N, XFA_N, XFA_N, XFA_N, 15, XFA_N, XFA_N, XFA_N, XFA_N,
- XFA_N, XFA_N, XFA_N, XFA_N, XFA_N, XFA_N, XFA_N, XFA_N, XFA_N, XFA_N, XFA_N,
- XFA_N, XFA_N, XFA_N, XFA_N, XFA_N, XFA_N, XFA_N, XFA_N, XFA_N,
-};
-static void XFA_FM_AlternateDateTimeSymbols(CFX_WideString& wsPattern,
- const CFX_WideString& wsAltSymbols,
- uint8_t* pAltTable) {
- int32_t nLength = wsPattern.GetLength();
- FX_BOOL bInConstRange = FALSE;
- FX_BOOL bEscape = FALSE;
- int32_t i = 0, n = 0;
- while (i < nLength) {
- FX_WCHAR wc = wsPattern[i];
- if (wc == L'\'') {
- bInConstRange = !bInConstRange;
- if (bEscape) {
- i++;
- } else {
- wsPattern.Delete(i);
- nLength--;
- }
- bEscape = !bEscape;
- continue;
- }
- if (!bInConstRange && (n = wc - L'A') >= 0 && n <= (L'a' - L'A')) {
- int32_t nAlt = (int32_t)pAltTable[n];
- if (nAlt != XFA_N) {
- wsPattern.SetAt(i, wsAltSymbols[nAlt]);
- }
- }
- i++;
- bEscape = FALSE;
- }
-}
-#undef XFA_N
+
void CXFA_FM2JSContext::GetLocalDateFormat(FXJSE_HOBJECT hThis,
int32_t iStyle,
const CFX_ByteStringC& szLocalStr,
@@ -2373,7 +2373,7 @@ void CXFA_FM2JSContext::GetLocalDateFormat(FXJSE_HOBJECT hThis,
if (!bStandard) {
CFX_WideString wsSymbols;
pLocale->GetDateTimeSymbols(wsSymbols);
- XFA_FM_AlternateDateTimeSymbols(strRet, wsSymbols, g_sAltTable_Date);
+ AlternateDateTimeSymbols(strRet, wsSymbols, g_sAltTable_Date);
}
strFormat = FX_UTF8Encode(strRet.c_str(), strRet.GetLength());
}
@@ -2427,7 +2427,7 @@ void CXFA_FM2JSContext::GetLocalTimeFormat(FXJSE_HOBJECT hThis,
if (!bStandard) {
CFX_WideString wsSymbols;
pLocale->GetDateTimeSymbols(wsSymbols);
- XFA_FM_AlternateDateTimeSymbols(strRet, wsSymbols, g_sAltTable_Time);
+ AlternateDateTimeSymbols(strRet, wsSymbols, g_sAltTable_Time);
}
strFormat = FX_UTF8Encode(strRet.c_str(), strRet.GetLength());
}