Merge to XFA: Remove typdefs for pointer types in fx_system.h.
[pdfium.git] / xfa / src / fgas / src / localization / fx_locale.cpp
index 4f046df..8e56435 100644 (file)
@@ -15,7 +15,7 @@
 #define        FX_LOCALECATEGORY_NullHash                      0x052931bb\r
 typedef struct _FX_LOCALESUBCATEGORYINFO {\r
     uint32_t                                   uHash;\r
-    FX_LPCWSTR                                 pName;\r
+    const FX_WCHAR*                                    pName;\r
     int32_t                                    eSubCategory;\r
 } FX_LOCALESUBCATEGORYINFO, * FX_LPLOCALESUBCATEGORYINFO;\r
 typedef FX_LOCALESUBCATEGORYINFO const * FX_LPCLOCALESUBCATEGORYINFO;\r
@@ -57,10 +57,10 @@ static FX_STRSIZE FX_Local_Find(FX_WSTR wsSymbols, FX_WCHAR ch, FX_STRSIZE nStar
     if (nLength < 1 || nStart > nLength) {\r
         return -1;\r
     }\r
-    FX_LPCWSTR lpsz = (FX_LPCWSTR)FXSYS_wcschr(wsSymbols.GetPtr() + nStart, ch);\r
+    const FX_WCHAR* lpsz = (const FX_WCHAR*)FXSYS_wcschr(wsSymbols.GetPtr() + nStart, ch);\r
     return (lpsz == NULL) ? -1 : (FX_STRSIZE)(lpsz - wsSymbols.GetPtr());\r
 }\r
-const static FX_LPCWSTR gs_LocalNumberSymbols[] = {\r
+static const FX_WCHAR* const gs_LocalNumberSymbols[] = {\r
     L"decimal", L"grouping", L"percent", L"minus", L"zero",\r
     L"currencySymbol", L"currencyName",\r
 };\r
@@ -163,7 +163,7 @@ void CFX_Locale::GetMeridiemName(CFX_WideString& wsMeridiemName, FX_BOOL bAM ) c
     }\r
     FX_GetCalendarSymbol(m_pElement, "meridiem", bAM ? 0 : 1, FALSE, wsMeridiemName);\r
 }\r
-static int32_t FX_ParseTimeZone(FX_LPCWSTR pStr, int32_t iLen, FX_TIMEZONE& tz)\r
+static int32_t FX_ParseTimeZone(const FX_WCHAR* pStr, int32_t iLen, FX_TIMEZONE& tz)\r
 {\r
     tz.tzHour = 0;\r
     tz.tzMinute = 0;\r
@@ -293,7 +293,7 @@ static FX_BOOL FX_WStringToNumeric(const CFX_WideString& wsValue, CFX_LCNumeric&
     const int32_t nIntegralMaxLen = 17;\r
     int32_t cc = 0;\r
     FX_BOOL bNegative = FALSE, bExpSign = FALSE;\r
-    FX_LPCWSTR str = (FX_LPCWSTR)wsValue;\r
+    const FX_WCHAR* str = (const FX_WCHAR*)wsValue;\r
     int32_t len = wsValue.GetLength();\r
     while (cc < len && FX_IsSpace(str[cc])) {\r
         cc++;\r
@@ -436,7 +436,7 @@ CFX_WideString CFX_LCNumeric::ToString(int32_t nTreading, FX_BOOL bTrimTailZeros
         const int32_t nIntegralMaxLen = 17;\r
         int32_t cc = 0;\r
         FX_BOOL bNegative = FALSE, bExpSign = FALSE;\r
-        FX_LPCWSTR str = (FX_LPCWSTR)m_wsValue;\r
+        const FX_WCHAR* str = (const FX_WCHAR*)m_wsValue;\r
         int32_t len = m_wsValue.GetLength();\r
         while (cc < len && FX_IsSpace(str[cc])) {\r
             cc++;\r
@@ -504,8 +504,8 @@ CFX_WideString CFX_LCNumeric::ToString(int32_t nTreading, FX_BOOL bTrimTailZeros
         wsFormat.Format(L"%%.%dG", nTreading);\r
         double dblMantissa = (dbValeu > 0) ? (dbValeu - iInte) : (iInte - dbValeu);\r
         CFX_WideString wsFrac;\r
-        wsFrac.Format((FX_LPCWSTR)wsFormat, dblMantissa);\r
-        wsResult += CFX_WideStringC((FX_LPCWSTR)wsFrac + 1, wsFrac.GetLength() - 1);\r
+        wsFrac.Format((const FX_WCHAR*)wsFormat, dblMantissa);\r
+        wsResult += CFX_WideStringC((const FX_WCHAR*)wsFrac + 1, wsFrac.GetLength() - 1);\r
         if (bTrimTailZeros && nTreading > 0) {\r
             wsResult.TrimRight(L"0");\r
             wsResult.TrimRight(L".");\r
@@ -515,7 +515,7 @@ CFX_WideString CFX_LCNumeric::ToString(int32_t nTreading, FX_BOOL bTrimTailZeros
     CFX_WideString wsFormat;\r
     wsFormat.Format(L"%%.%df", nTreading);\r
     CFX_WideString wsResult;\r
-    wsResult.Format(FX_LPCWSTR(wsFormat), GetDouble());\r
+    wsResult.Format(wsFormat.c_str(), GetDouble());\r
     if (bTrimTailZeros && nTreading > 0) {\r
         wsResult.TrimRight(L"0");\r
         wsResult.TrimRight(L".");\r
@@ -540,9 +540,9 @@ CFX_FormatString::~CFX_FormatString()
 void CFX_FormatString::SplitFormatString(const CFX_WideString& wsFormatString, CFX_WideStringArray& wsPatterns)\r
 {\r
     int32_t iStrLen = wsFormatString.GetLength();\r
-    FX_LPCWSTR pStr = (FX_LPCWSTR)wsFormatString;\r
-    FX_LPCWSTR pToken = pStr;\r
-    FX_LPCWSTR pEnd = pStr + iStrLen;\r
+    const FX_WCHAR* pStr = (const FX_WCHAR*)wsFormatString;\r
+    const FX_WCHAR* pToken = pStr;\r
+    const FX_WCHAR* pEnd = pStr + iStrLen;\r
     FX_BOOL iQuote = FALSE;\r
     while (TRUE) {\r
         if (pStr >= pEnd) {\r
@@ -559,7 +559,7 @@ void CFX_FormatString::SplitFormatString(const CFX_WideString& wsFormatString, C
         pStr ++;\r
     }\r
 }\r
-static CFX_WideString FX_GetLiteralText(FX_LPCWSTR pStrPattern, int32_t &iPattern, int32_t iLenPattern)\r
+static CFX_WideString FX_GetLiteralText(const FX_WCHAR* pStrPattern, int32_t &iPattern, int32_t iLenPattern)\r
 {\r
     CFX_WideString wsOutput;\r
     if (pStrPattern[iPattern] != '\'') {\r
@@ -599,7 +599,7 @@ static CFX_WideString FX_GetLiteralText(FX_LPCWSTR pStrPattern, int32_t &iPatter
     }\r
     return wsOutput;\r
 }\r
-static CFX_WideString FX_GetLiteralTextReverse(FX_LPCWSTR pStrPattern, int32_t &iPattern)\r
+static CFX_WideString FX_GetLiteralTextReverse(const FX_WCHAR* pStrPattern, int32_t &iPattern)\r
 {\r
     CFX_WideString wsOutput;\r
     if (pStrPattern[iPattern] != '\'') {\r
@@ -646,7 +646,7 @@ FX_LOCALECATEGORY CFX_FormatString::GetCategory(const CFX_WideString& wsPattern)
     FX_LOCALECATEGORY eCategory = FX_LOCALECATEGORY_Unknown;\r
     int32_t ccf = 0;\r
     int32_t iLenf = wsPattern.GetLength();\r
-    FX_LPCWSTR pStr = (FX_LPCWSTR)wsPattern;\r
+    const FX_WCHAR* pStr = (const FX_WCHAR*)wsPattern;\r
     FX_BOOL bBraceOpen = FALSE;\r
     while (ccf < iLenf) {\r
         if (pStr[ccf] == '\'') {\r
@@ -697,7 +697,7 @@ FX_LOCALECATEGORY CFX_FormatString::GetCategory(const CFX_WideString& wsPattern)
     }\r
     return eCategory;\r
 }\r
-static FX_WORD FX_WStringToLCID(FX_LPCWSTR pstrLCID)\r
+static FX_WORD FX_WStringToLCID(const FX_WCHAR* pstrLCID)\r
 {\r
     if (!pstrLCID) {\r
         return 0;\r
@@ -713,7 +713,7 @@ CFX_WideString CFX_FormatString::GetLocaleName(const CFX_WideString& wsPattern)
 {\r
     int32_t ccf = 0;\r
     int32_t iLenf = wsPattern.GetLength();\r
-    FX_LPCWSTR pStr = (FX_LPCWSTR)wsPattern;\r
+    const FX_WCHAR* pStr = (const FX_WCHAR*)wsPattern;\r
     while (ccf < iLenf) {\r
         if (pStr[ccf] == '\'') {\r
             FX_GetLiteralText(pStr, ccf, iLenf);\r
@@ -734,7 +734,7 @@ IFX_Locale* CFX_FormatString::GetTextFormat(const CFX_WideString &wsPattern, FX_
     IFX_Locale* pLocale = NULL;\r
     int32_t ccf = 0;\r
     int32_t iLenf = wsPattern.GetLength();\r
-    FX_LPCWSTR pStr = (FX_LPCWSTR)wsPattern;\r
+    const FX_WCHAR* pStr = (const FX_WCHAR*)wsPattern;\r
     FX_BOOL bBrackOpen = FALSE;\r
     while (ccf < iLenf) {\r
         if (pStr[ccf] == '\'') {\r
@@ -787,7 +787,7 @@ IFX_Locale* CFX_FormatString::GetNumericFormat(const CFX_WideString& wsPattern,
     IFX_Locale* pLocale = NULL;\r
     int32_t ccf = 0;\r
     int32_t iLenf = wsPattern.GetLength();\r
-    FX_LPCWSTR pStr = (FX_LPCWSTR)wsPattern;\r
+    const FX_WCHAR* pStr = (const FX_WCHAR*)wsPattern;\r
     FX_BOOL bFindDot = FALSE;\r
     FX_BOOL bBrackOpen = FALSE;\r
     while (ccf < iLenf) {\r
@@ -882,12 +882,12 @@ static FX_BOOL FX_GetNumericDotIndex(const CFX_WideString& wsNum, const CFX_Wide
 {\r
     int32_t ccf = 0;\r
     int32_t iLenf = wsNum.GetLength();\r
-    FX_LPCWSTR pStr = (FX_LPCWSTR)wsNum;\r
+    const FX_WCHAR* pStr = (const FX_WCHAR*)wsNum;\r
     int32_t iLenDot = wsDotSymbol.GetLength();\r
     while (ccf < iLenf) {\r
         if (pStr[ccf] == '\'') {\r
             FX_GetLiteralText(pStr, ccf, iLenf);\r
-        } else if (ccf + iLenDot <= iLenf && !FXSYS_wcsncmp(pStr + ccf, (FX_LPCWSTR)wsDotSymbol, iLenDot)) {\r
+        } else if (ccf + iLenDot <= iLenf && !FXSYS_wcsncmp(pStr + ccf, (const FX_WCHAR*)wsDotSymbol, iLenDot)) {\r
             iDotIndex = ccf;\r
             return TRUE;\r
         }\r
@@ -912,16 +912,16 @@ FX_BOOL   CFX_FormatString::ParseText(const CFX_WideString& wsSrcText, const CFX_W
         return FALSE;\r
     }\r
     int32_t iText = 0, iPattern = 0;\r
-    FX_LPCWSTR pStrText = (FX_LPCWSTR)wsSrcText;\r
+    const FX_WCHAR* pStrText = (const FX_WCHAR*)wsSrcText;\r
     int32_t iLenText = wsSrcText.GetLength();\r
-    FX_LPCWSTR pStrPattern = (FX_LPCWSTR)wsTextFormat;\r
+    const FX_WCHAR* pStrPattern = (const FX_WCHAR*)wsTextFormat;\r
     int32_t iLenPattern = wsTextFormat.GetLength();\r
     while (iPattern < iLenPattern && iText < iLenText) {\r
         switch (pStrPattern[iPattern]) {\r
             case '\'': {\r
                     CFX_WideString wsLiteral = FX_GetLiteralText(pStrPattern, iPattern, iLenPattern);\r
                     int32_t iLiteralLen = wsLiteral.GetLength();\r
-                    if (iText + iLiteralLen > iLenText || FXSYS_wcsncmp(pStrText + iText, (FX_LPCWSTR)wsLiteral, iLiteralLen)) {\r
+                    if (iText + iLiteralLen > iLenText || FXSYS_wcsncmp(pStrText + iText, (const FX_WCHAR*)wsLiteral, iLiteralLen)) {\r
                         wsValue = wsSrcText;\r
                         return FALSE;\r
                     }\r
@@ -992,9 +992,9 @@ FX_BOOL     CFX_FormatString::ParseNum(const CFX_WideString& wsSrcNum, const CFX_Wid
     pLocale->GetNumbericSymbol(FX_LOCALENUMSYMBOL_Minus, wsMinus);\r
     int32_t iMinusLen = wsMinus.GetLength();\r
     int cc = 0, ccf = 0;\r
-    FX_LPCWSTR str = (FX_LPCWSTR)wsSrcNum;\r
+    const FX_WCHAR* str = (const FX_WCHAR*)wsSrcNum;\r
     int len = wsSrcNum.GetLength();\r
-    FX_LPCWSTR strf = (FX_LPCWSTR)wsNumFormat;\r
+    const FX_WCHAR* strf = (const FX_WCHAR*)wsNumFormat;\r
     int lenf = wsNumFormat.GetLength();\r
     double dbRetValue = 0;\r
     double coeff = 1;\r
@@ -1015,7 +1015,7 @@ FX_BOOL   CFX_FormatString::ParseNum(const CFX_WideString& wsSrcNum, const CFX_Wid
                         CFX_WideString wsLiteral = FX_GetLiteralTextReverse(strf, ccf);\r
                         int32_t iLiteralLen = wsLiteral.GetLength();\r
                         cc -= iLiteralLen - 1;\r
-                        if (cc < 0 || FXSYS_wcsncmp(str + cc, (FX_LPCWSTR)wsLiteral, iLiteralLen)) {\r
+                        if (cc < 0 || FXSYS_wcsncmp(str + cc, (const FX_WCHAR*)wsLiteral, iLiteralLen)) {\r
                             return FALSE;\r
                         }\r
                         cc--;\r
@@ -1052,7 +1052,7 @@ FX_BOOL   CFX_FormatString::ParseNum(const CFX_WideString& wsSrcNum, const CFX_Wid
                         cc--;\r
                     } else {\r
                         cc -= iMinusLen - 1;\r
-                        if (cc < 0 || FXSYS_wcsncmp(str + cc, (FX_LPCWSTR)wsMinus, iMinusLen)) {\r
+                        if (cc < 0 || FXSYS_wcsncmp(str + cc, (const FX_WCHAR*)wsMinus, iMinusLen)) {\r
                             return FALSE;\r
                         }\r
                         cc--;\r
@@ -1065,7 +1065,7 @@ FX_BOOL   CFX_FormatString::ParseNum(const CFX_WideString& wsSrcNum, const CFX_Wid
                         cc--;\r
                     } else {\r
                         cc -= iMinusLen - 1;\r
-                        if (cc < 0 || FXSYS_wcsncmp(str + cc, (FX_LPCWSTR)wsMinus, iMinusLen)) {\r
+                        if (cc < 0 || FXSYS_wcsncmp(str + cc, (const FX_WCHAR*)wsMinus, iMinusLen)) {\r
                             return FALSE;\r
                         }\r
                         cc--;\r
@@ -1089,7 +1089,7 @@ FX_BOOL   CFX_FormatString::ParseNum(const CFX_WideString& wsSrcNum, const CFX_Wid
                             } else if (str[cc] == '+') {\r
                                 cc--;\r
                                 continue;\r
-                            } else if (cc - iMinusLen + 1 > 0 && !FXSYS_wcsncmp(str + (cc - iMinusLen + 1), (FX_LPCWSTR)wsMinus, iMinusLen)) {\r
+                            } else if (cc - iMinusLen + 1 > 0 && !FXSYS_wcsncmp(str + (cc - iMinusLen + 1), (const FX_WCHAR*)wsMinus, iMinusLen)) {\r
                                 bExpSign = TRUE;\r
                                 cc -= iMinusLen;\r
                             } else {\r
@@ -1106,7 +1106,7 @@ FX_BOOL   CFX_FormatString::ParseNum(const CFX_WideString& wsSrcNum, const CFX_Wid
                         pLocale->GetNumbericSymbol(FX_LOCALENUMSYMBOL_CurrencySymbol, wsSymbol);\r
                         int32_t iSymbolLen = wsSymbol.GetLength();\r
                         cc -= iSymbolLen - 1;\r
-                        if (cc < 0 || FXSYS_wcsncmp(str + cc, (FX_LPCWSTR)wsSymbol, iSymbolLen)) {\r
+                        if (cc < 0 || FXSYS_wcsncmp(str + cc, (const FX_WCHAR*)wsSymbol, iSymbolLen)) {\r
                             return FALSE;\r
                         }\r
                         cc--;\r
@@ -1170,7 +1170,7 @@ FX_BOOL   CFX_FormatString::ParseNum(const CFX_WideString& wsSrcNum, const CFX_Wid
                         pLocale->GetNumbericSymbol(FX_LOCALENUMSYMBOL_Percent, wsSymbol);\r
                         int32_t iSysmbolLen = wsSymbol.GetLength();\r
                         cc -= iSysmbolLen - 1;\r
-                        if (cc < 0  || FXSYS_wcsncmp(str + cc, (FX_LPCWSTR)wsSymbol, iSysmbolLen)) {\r
+                        if (cc < 0  || FXSYS_wcsncmp(str + cc, (const FX_WCHAR*)wsSymbol, iSysmbolLen)) {\r
                             return FALSE;\r
                         }\r
                         cc--;\r
@@ -1191,7 +1191,7 @@ FX_BOOL   CFX_FormatString::ParseNum(const CFX_WideString& wsSrcNum, const CFX_Wid
                 case ',': {\r
                         if (cc >= 0) {\r
                             cc -= iGroupLen - 1;\r
-                            if (cc >= 0 && FXSYS_wcsncmp(str + cc, (FX_LPCWSTR)wsGroupSymbol, iGroupLen) == 0) {\r
+                            if (cc >= 0 && FXSYS_wcsncmp(str + cc, (const FX_WCHAR*)wsGroupSymbol, iGroupLen) == 0) {\r
                                 cc--;\r
                             } else {\r
                                 cc += iGroupLen - 1;\r
@@ -1237,7 +1237,7 @@ FX_BOOL   CFX_FormatString::ParseNum(const CFX_WideString& wsSrcNum, const CFX_Wid
                     CFX_WideString wsLiteral = FX_GetLiteralTextReverse(strf, ccf);\r
                     int32_t iLiteralLen = wsLiteral.GetLength();\r
                     cc -= iLiteralLen - 1;\r
-                    if (cc < 0 || FXSYS_wcsncmp(str + cc, (FX_LPCWSTR)wsLiteral, iLiteralLen)) {\r
+                    if (cc < 0 || FXSYS_wcsncmp(str + cc, (const FX_WCHAR*)wsLiteral, iLiteralLen)) {\r
                         return FALSE;\r
                     }\r
                     cc--;\r
@@ -1278,7 +1278,7 @@ FX_BOOL   CFX_FormatString::ParseNum(const CFX_WideString& wsSrcNum, const CFX_Wid
                     cc--;\r
                 } else {\r
                     cc -= iMinusLen - 1;\r
-                    if (cc < 0 || FXSYS_wcsncmp(str + cc, (FX_LPCWSTR)wsMinus, iMinusLen)) {\r
+                    if (cc < 0 || FXSYS_wcsncmp(str + cc, (const FX_WCHAR*)wsMinus, iMinusLen)) {\r
                         return FALSE;\r
                     }\r
                     cc--;\r
@@ -1291,7 +1291,7 @@ FX_BOOL   CFX_FormatString::ParseNum(const CFX_WideString& wsSrcNum, const CFX_Wid
                     cc--;\r
                 } else {\r
                     cc -= iMinusLen - 1;\r
-                    if (cc < 0 || FXSYS_wcsncmp(str + cc, (FX_LPCWSTR)wsMinus, iMinusLen)) {\r
+                    if (cc < 0 || FXSYS_wcsncmp(str + cc, (const FX_WCHAR*)wsMinus, iMinusLen)) {\r
                         return FALSE;\r
                     }\r
                     cc--;\r
@@ -1315,7 +1315,7 @@ FX_BOOL   CFX_FormatString::ParseNum(const CFX_WideString& wsSrcNum, const CFX_Wid
                         } else if (str[cc] == '+') {\r
                             cc--;\r
                             continue;\r
-                        } else if (cc - iMinusLen + 1 > 0 && !FXSYS_wcsncmp(str + (cc - iMinusLen + 1), (FX_LPCWSTR)wsMinus, iMinusLen)) {\r
+                        } else if (cc - iMinusLen + 1 > 0 && !FXSYS_wcsncmp(str + (cc - iMinusLen + 1), (const FX_WCHAR*)wsMinus, iMinusLen)) {\r
                             bExpSign = TRUE;\r
                             cc -= iMinusLen;\r
                         } else {\r
@@ -1332,7 +1332,7 @@ FX_BOOL   CFX_FormatString::ParseNum(const CFX_WideString& wsSrcNum, const CFX_Wid
                     pLocale->GetNumbericSymbol(FX_LOCALENUMSYMBOL_CurrencySymbol, wsSymbol);\r
                     int32_t iSymbolLen = wsSymbol.GetLength();\r
                     cc -= iSymbolLen - 1;\r
-                    if (cc < 0 || FXSYS_wcsncmp(str + cc, (FX_LPCWSTR)wsSymbol, iSymbolLen)) {\r
+                    if (cc < 0 || FXSYS_wcsncmp(str + cc, (const FX_WCHAR*)wsSymbol, iSymbolLen)) {\r
                         return FALSE;\r
                     }\r
                     cc--;\r
@@ -1396,7 +1396,7 @@ FX_BOOL   CFX_FormatString::ParseNum(const CFX_WideString& wsSrcNum, const CFX_Wid
                     pLocale->GetNumbericSymbol(FX_LOCALENUMSYMBOL_Percent, wsSymbol);\r
                     int32_t iSysmbolLen = wsSymbol.GetLength();\r
                     cc -= iSysmbolLen - 1;\r
-                    if (cc < 0  || FXSYS_wcsncmp(str + cc, (FX_LPCWSTR)wsSymbol, iSysmbolLen)) {\r
+                    if (cc < 0  || FXSYS_wcsncmp(str + cc, (const FX_WCHAR*)wsSymbol, iSysmbolLen)) {\r
                         return FALSE;\r
                     }\r
                     cc--;\r
@@ -1409,7 +1409,7 @@ FX_BOOL   CFX_FormatString::ParseNum(const CFX_WideString& wsSrcNum, const CFX_Wid
             case ',': {\r
                     if (cc >= 0) {\r
                         cc -= iGroupLen - 1;\r
-                        if (cc >= 0 && FXSYS_wcsncmp(str + cc, (FX_LPCWSTR)wsGroupSymbol, iGroupLen) == 0) {\r
+                        if (cc >= 0 && FXSYS_wcsncmp(str + cc, (const FX_WCHAR*)wsGroupSymbol, iGroupLen) == 0) {\r
                             cc--;\r
                         } else {\r
                             cc += iGroupLen - 1;\r
@@ -1456,7 +1456,7 @@ FX_BOOL   CFX_FormatString::ParseNum(const CFX_WideString& wsSrcNum, const CFX_Wid
                 case '\'': {\r
                         CFX_WideString wsLiteral = FX_GetLiteralText(strf, ccf, lenf);\r
                         int32_t iLiteralLen = wsLiteral.GetLength();\r
-                        if (cc + iLiteralLen > len || FXSYS_wcsncmp(str + cc, (FX_LPCWSTR)wsLiteral, iLiteralLen)) {\r
+                        if (cc + iLiteralLen > len || FXSYS_wcsncmp(str + cc, (const FX_WCHAR*)wsLiteral, iLiteralLen)) {\r
                             return FALSE;\r
                         }\r
                         cc += iLiteralLen;\r
@@ -1498,7 +1498,7 @@ FX_BOOL   CFX_FormatString::ParseNum(const CFX_WideString& wsSrcNum, const CFX_Wid
                     if (str[cc] == '+' || str[cc] == ' ') {\r
                         cc++;\r
                     } else {\r
-                        if (cc + iMinusLen > len || FXSYS_wcsncmp(str + cc, (FX_LPCWSTR)wsMinus, iMinusLen)) {\r
+                        if (cc + iMinusLen > len || FXSYS_wcsncmp(str + cc, (const FX_WCHAR*)wsMinus, iMinusLen)) {\r
                             return FALSE;\r
                         }\r
                         bNeg = TRUE;\r
@@ -1510,7 +1510,7 @@ FX_BOOL   CFX_FormatString::ParseNum(const CFX_WideString& wsSrcNum, const CFX_Wid
                     if (str[cc] == '+') {\r
                         cc++;\r
                     } else {\r
-                        if (cc + iMinusLen > len || FXSYS_wcsncmp(str + cc, (FX_LPCWSTR)wsMinus, iMinusLen)) {\r
+                        if (cc + iMinusLen > len || FXSYS_wcsncmp(str + cc, (const FX_WCHAR*)wsMinus, iMinusLen)) {\r
                             return FALSE;\r
                         }\r
                         bNeg = TRUE;\r
@@ -1547,7 +1547,7 @@ FX_BOOL   CFX_FormatString::ParseNum(const CFX_WideString& wsSrcNum, const CFX_Wid
                         CFX_WideString wsSymbol;\r
                         pLocale->GetNumbericSymbol(FX_LOCALENUMSYMBOL_CurrencySymbol, wsSymbol);\r
                         int32_t iSymbolLen = wsSymbol.GetLength();\r
-                        if (cc + iSymbolLen > len || FXSYS_wcsncmp(str + cc, (FX_LPCWSTR)wsSymbol, iSymbolLen)) {\r
+                        if (cc + iSymbolLen > len || FXSYS_wcsncmp(str + cc, (const FX_WCHAR*)wsSymbol, iSymbolLen)) {\r
                             return FALSE;\r
                         }\r
                         cc += iSymbolLen;\r
@@ -1602,7 +1602,7 @@ FX_BOOL   CFX_FormatString::ParseNum(const CFX_WideString& wsSrcNum, const CFX_Wid
                         CFX_WideString wsSymbol;\r
                         pLocale->GetNumbericSymbol(FX_LOCALENUMSYMBOL_Percent, wsSymbol);\r
                         int32_t iSysmbolLen = wsSymbol.GetLength();\r
-                        if (cc + iSysmbolLen <= len && !FXSYS_wcsncmp(str + cc, (FX_LPCWSTR)wsSymbol, iSysmbolLen)) {\r
+                        if (cc + iSysmbolLen <= len && !FXSYS_wcsncmp(str + cc, (const FX_WCHAR*)wsSymbol, iSysmbolLen)) {\r
                             cc += iSysmbolLen;\r
                         }\r
                         ccf++;\r
@@ -1621,7 +1621,7 @@ FX_BOOL   CFX_FormatString::ParseNum(const CFX_WideString& wsSrcNum, const CFX_Wid
                     }\r
                     break;\r
                 case ',': {\r
-                        if (cc + iGroupLen <= len && FXSYS_wcsncmp(str + cc, (FX_LPCWSTR)wsGroupSymbol, iGroupLen) == 0) {\r
+                        if (cc + iGroupLen <= len && FXSYS_wcsncmp(str + cc, (const FX_WCHAR*)wsGroupSymbol, iGroupLen) == 0) {\r
                             cc += iGroupLen;\r
                         }\r
                         ccf++;\r
@@ -1672,8 +1672,8 @@ FX_BOOL   CFX_FormatString::ParseNum(const CFX_WideString& wsSrcNum, const CFX_Wid
 void  FX_ParseNumString(const CFX_WideString& wsNum, CFX_WideString& wsResult)\r
 {\r
     int32_t iCount = wsNum.GetLength();\r
-    FX_LPCWSTR pStr = (FX_LPCWSTR)wsNum;\r
-    FX_LPWSTR pDst = wsResult.GetBuffer(iCount);\r
+    const FX_WCHAR* pStr = (const FX_WCHAR*)wsNum;\r
+    FX_WCHAR* pDst = wsResult.GetBuffer(iCount);\r
     int32_t nIndex = 0;\r
     FX_BOOL bMinus = FALSE;\r
     int32_t i = 0;\r
@@ -1741,9 +1741,9 @@ FX_BOOL   CFX_FormatString::ParseNum(const CFX_WideString& wsSrcNum, const CFX_Wid
     pLocale->GetNumbericSymbol(FX_LOCALENUMSYMBOL_Minus, wsMinus);\r
     int32_t iMinusLen = wsMinus.GetLength();\r
     int cc = 0, ccf = 0;\r
-    FX_LPCWSTR str = (FX_LPCWSTR)wsSrcNum;\r
+    const FX_WCHAR* str = (const FX_WCHAR*)wsSrcNum;\r
     int len = wsSrcNum.GetLength();\r
-    FX_LPCWSTR strf = (FX_LPCWSTR)wsNumFormat;\r
+    const FX_WCHAR* strf = (const FX_WCHAR*)wsNumFormat;\r
     int lenf = wsNumFormat.GetLength();\r
     FX_BOOL bHavePercentSymbol = FALSE;\r
     FX_BOOL bNeg = FALSE;\r
@@ -1761,7 +1761,7 @@ FX_BOOL   CFX_FormatString::ParseNum(const CFX_WideString& wsSrcNum, const CFX_Wid
                     CFX_WideString wsLiteral = FX_GetLiteralTextReverse(strf, ccf);\r
                     int32_t iLiteralLen = wsLiteral.GetLength();\r
                     cc -= iLiteralLen - 1;\r
-                    if (cc < 0 || FXSYS_wcsncmp(str + cc, (FX_LPCWSTR)wsLiteral, iLiteralLen)) {\r
+                    if (cc < 0 || FXSYS_wcsncmp(str + cc, (const FX_WCHAR*)wsLiteral, iLiteralLen)) {\r
                         return FALSE;\r
                     }\r
                     cc--;\r
@@ -1799,7 +1799,7 @@ FX_BOOL   CFX_FormatString::ParseNum(const CFX_WideString& wsSrcNum, const CFX_Wid
                     cc--;\r
                 } else {\r
                     cc -= iMinusLen - 1;\r
-                    if (cc < 0 || FXSYS_wcsncmp(str + cc, (FX_LPCWSTR)wsMinus, iMinusLen)) {\r
+                    if (cc < 0 || FXSYS_wcsncmp(str + cc, (const FX_WCHAR*)wsMinus, iMinusLen)) {\r
                         return FALSE;\r
                     }\r
                     cc--;\r
@@ -1812,7 +1812,7 @@ FX_BOOL   CFX_FormatString::ParseNum(const CFX_WideString& wsSrcNum, const CFX_Wid
                     cc--;\r
                 } else {\r
                     cc -= iMinusLen - 1;\r
-                    if (cc < 0 || FXSYS_wcsncmp(str + cc, (FX_LPCWSTR)wsMinus, iMinusLen)) {\r
+                    if (cc < 0 || FXSYS_wcsncmp(str + cc, (const FX_WCHAR*)wsMinus, iMinusLen)) {\r
                         return FALSE;\r
                     }\r
                     cc--;\r
@@ -1836,7 +1836,7 @@ FX_BOOL   CFX_FormatString::ParseNum(const CFX_WideString& wsSrcNum, const CFX_Wid
                         } else if (str[cc] == '+') {\r
                             cc--;\r
                             continue;\r
-                        } else if (cc - iMinusLen + 1 > 0 && !FXSYS_wcsncmp(str + (cc - iMinusLen + 1), (FX_LPCWSTR)wsMinus, iMinusLen)) {\r
+                        } else if (cc - iMinusLen + 1 > 0 && !FXSYS_wcsncmp(str + (cc - iMinusLen + 1), (const FX_WCHAR*)wsMinus, iMinusLen)) {\r
                             bExpSign = TRUE;\r
                             cc -= iMinusLen;\r
                         } else {\r
@@ -1853,7 +1853,7 @@ FX_BOOL   CFX_FormatString::ParseNum(const CFX_WideString& wsSrcNum, const CFX_Wid
                     pLocale->GetNumbericSymbol(FX_LOCALENUMSYMBOL_CurrencySymbol, wsSymbol);\r
                     int32_t iSymbolLen = wsSymbol.GetLength();\r
                     cc -= iSymbolLen - 1;\r
-                    if (cc < 0 || FXSYS_wcsncmp(str + cc, (FX_LPCWSTR)wsSymbol, iSymbolLen)) {\r
+                    if (cc < 0 || FXSYS_wcsncmp(str + cc, (const FX_WCHAR*)wsSymbol, iSymbolLen)) {\r
                         return FALSE;\r
                     }\r
                     cc--;\r
@@ -1917,7 +1917,7 @@ FX_BOOL   CFX_FormatString::ParseNum(const CFX_WideString& wsSrcNum, const CFX_Wid
                     pLocale->GetNumbericSymbol(FX_LOCALENUMSYMBOL_Percent, wsSymbol);\r
                     int32_t iSysmbolLen = wsSymbol.GetLength();\r
                     cc -= iSysmbolLen - 1;\r
-                    if (cc < 0  || FXSYS_wcsncmp(str + cc, (FX_LPCWSTR)wsSymbol, iSysmbolLen)) {\r
+                    if (cc < 0  || FXSYS_wcsncmp(str + cc, (const FX_WCHAR*)wsSymbol, iSysmbolLen)) {\r
                         return FALSE;\r
                     }\r
                     cc--;\r
@@ -1930,7 +1930,7 @@ FX_BOOL   CFX_FormatString::ParseNum(const CFX_WideString& wsSrcNum, const CFX_Wid
             case ',': {\r
                     if (cc >= 0) {\r
                         cc -= iGroupLen - 1;\r
-                        if (cc >= 0 && FXSYS_wcsncmp(str + cc, (FX_LPCWSTR)wsGroupSymbol, iGroupLen) == 0) {\r
+                        if (cc >= 0 && FXSYS_wcsncmp(str + cc, (const FX_WCHAR*)wsGroupSymbol, iGroupLen) == 0) {\r
                             cc--;\r
                         } else {\r
                             cc += iGroupLen - 1;\r
@@ -1985,7 +1985,7 @@ FX_BOOL   CFX_FormatString::ParseNum(const CFX_WideString& wsSrcNum, const CFX_Wid
                 case '\'': {\r
                         CFX_WideString wsLiteral = FX_GetLiteralText(strf, ccf, lenf);\r
                         int32_t iLiteralLen = wsLiteral.GetLength();\r
-                        if (cc + iLiteralLen > len || FXSYS_wcsncmp(str + cc, (FX_LPCWSTR)wsLiteral, iLiteralLen)) {\r
+                        if (cc + iLiteralLen > len || FXSYS_wcsncmp(str + cc, (const FX_WCHAR*)wsLiteral, iLiteralLen)) {\r
                             return FALSE;\r
                         }\r
                         cc += iLiteralLen;\r
@@ -2024,7 +2024,7 @@ FX_BOOL   CFX_FormatString::ParseNum(const CFX_WideString& wsSrcNum, const CFX_Wid
                     if (str[cc] == '+' || str[cc] == ' ') {\r
                         cc++;\r
                     } else {\r
-                        if (cc + iMinusLen > len || FXSYS_wcsncmp(str + cc, (FX_LPCWSTR)wsMinus, iMinusLen)) {\r
+                        if (cc + iMinusLen > len || FXSYS_wcsncmp(str + cc, (const FX_WCHAR*)wsMinus, iMinusLen)) {\r
                             return FALSE;\r
                         }\r
                         bNeg = TRUE;\r
@@ -2036,7 +2036,7 @@ FX_BOOL   CFX_FormatString::ParseNum(const CFX_WideString& wsSrcNum, const CFX_Wid
                     if (str[cc] == '+') {\r
                         cc++;\r
                     } else {\r
-                        if (cc + iMinusLen > len || FXSYS_wcsncmp(str + cc, (FX_LPCWSTR)wsMinus, iMinusLen)) {\r
+                        if (cc + iMinusLen > len || FXSYS_wcsncmp(str + cc, (const FX_WCHAR*)wsMinus, iMinusLen)) {\r
                             return FALSE;\r
                         }\r
                         bNeg = TRUE;\r
@@ -2073,7 +2073,7 @@ FX_BOOL   CFX_FormatString::ParseNum(const CFX_WideString& wsSrcNum, const CFX_Wid
                         CFX_WideString wsSymbol;\r
                         pLocale->GetNumbericSymbol(FX_LOCALENUMSYMBOL_CurrencySymbol, wsSymbol);\r
                         int32_t iSymbolLen = wsSymbol.GetLength();\r
-                        if (cc + iSymbolLen > len || FXSYS_wcsncmp(str + cc, (FX_LPCWSTR)wsSymbol, iSymbolLen)) {\r
+                        if (cc + iSymbolLen > len || FXSYS_wcsncmp(str + cc, (const FX_WCHAR*)wsSymbol, iSymbolLen)) {\r
                             return FALSE;\r
                         }\r
                         cc += iSymbolLen;\r
@@ -2128,7 +2128,7 @@ FX_BOOL   CFX_FormatString::ParseNum(const CFX_WideString& wsSrcNum, const CFX_Wid
                         CFX_WideString wsSymbol;\r
                         pLocale->GetNumbericSymbol(FX_LOCALENUMSYMBOL_Percent, wsSymbol);\r
                         int32_t iSysmbolLen = wsSymbol.GetLength();\r
-                        if (cc + iSysmbolLen <= len && !FXSYS_wcsncmp(str + cc, (FX_LPCWSTR)wsSymbol, iSysmbolLen)) {\r
+                        if (cc + iSysmbolLen <= len && !FXSYS_wcsncmp(str + cc, (const FX_WCHAR*)wsSymbol, iSysmbolLen)) {\r
                             cc += iSysmbolLen;\r
                         }\r
                         ccf++;\r
@@ -2146,7 +2146,7 @@ FX_BOOL   CFX_FormatString::ParseNum(const CFX_WideString& wsSrcNum, const CFX_Wid
                     }\r
                     break;\r
                 case ',': {\r
-                        if (cc + iGroupLen <= len && FXSYS_wcsncmp(str + cc, (FX_LPCWSTR)wsGroupSymbol, iGroupLen) == 0) {\r
+                        if (cc + iGroupLen <= len && FXSYS_wcsncmp(str + cc, (const FX_WCHAR*)wsGroupSymbol, iGroupLen) == 0) {\r
                             cc += iGroupLen;\r
                         }\r
                         ccf++;\r
@@ -2204,7 +2204,7 @@ FX_DATETIMETYPE CFX_FormatString::GetDateTimeFormat(const CFX_WideString& wsPatt
     FX_LOCALECATEGORY eCategory = FX_LOCALECATEGORY_Unknown;\r
     int32_t ccf = 0;\r
     int32_t iLenf = wsPattern.GetLength();\r
-    FX_LPCWSTR pStr = (FX_LPCWSTR)wsPattern;\r
+    const FX_WCHAR* pStr = (const FX_WCHAR*)wsPattern;\r
     int32_t iFindCategory = 0;\r
     FX_BOOL bBraceOpen = FALSE;\r
     while (ccf < iLenf) {\r
@@ -2331,15 +2331,15 @@ static FX_BOOL FX_ParseLocaleDate(const CFX_WideString& wsDate, const CFX_WideSt
     int32_t month = 1;\r
     int32_t day = 1;\r
     int32_t ccf = 0;\r
-    FX_LPCWSTR str = (FX_LPCWSTR)wsDate;\r
+    const FX_WCHAR* str = (const FX_WCHAR*)wsDate;\r
     int32_t len = wsDate.GetLength();\r
-    FX_LPCWSTR strf = (FX_LPCWSTR)wsDatePattern;\r
+    const FX_WCHAR* strf = (const FX_WCHAR*)wsDatePattern;\r
     int32_t lenf = wsDatePattern.GetLength();\r
     while (cc < len && ccf < lenf) {\r
         if (strf[ccf] == '\'') {\r
             CFX_WideString wsLiteral = FX_GetLiteralText(strf, ccf, lenf);\r
             int32_t iLiteralLen = wsLiteral.GetLength();\r
-            if (cc + iLiteralLen > len || FXSYS_wcsncmp(str + cc, (FX_LPCWSTR)wsLiteral, iLiteralLen)) {\r
+            if (cc + iLiteralLen > len || FXSYS_wcsncmp(str + cc, (const FX_WCHAR*)wsLiteral, iLiteralLen)) {\r
                 return FALSE;\r
             }\r
             cc += iLiteralLen;\r
@@ -2408,7 +2408,7 @@ static FX_BOOL FX_ParseLocaleDate(const CFX_WideString& wsDate, const CFX_WideSt
                 if (wsMonthNameAbbr.IsEmpty()) {\r
                     continue;\r
                 }\r
-                if (!FXSYS_wcsncmp((FX_LPCWSTR)wsMonthNameAbbr, str + cc, wsMonthNameAbbr.GetLength())) {\r
+                if (!FXSYS_wcsncmp((const FX_WCHAR*)wsMonthNameAbbr, str + cc, wsMonthNameAbbr.GetLength())) {\r
                     break;\r
                 }\r
             }\r
@@ -2424,7 +2424,7 @@ static FX_BOOL FX_ParseLocaleDate(const CFX_WideString& wsDate, const CFX_WideSt
                 if (wsMonthName.IsEmpty()) {\r
                     continue;\r
                 }\r
-                if (!FXSYS_wcsncmp((FX_LPCWSTR)wsMonthName, str + cc, wsMonthName.GetLength())) {\r
+                if (!FXSYS_wcsncmp((const FX_WCHAR*)wsMonthName, str + cc, wsMonthName.GetLength())) {\r
                     break;\r
                 }\r
             }\r
@@ -2442,7 +2442,7 @@ static FX_BOOL FX_ParseLocaleDate(const CFX_WideString& wsDate, const CFX_WideSt
                 if (wsDayNameAbbr.IsEmpty()) {\r
                     continue;\r
                 }\r
-                if (!FXSYS_wcsncmp((FX_LPCWSTR)wsDayNameAbbr, str + cc, wsDayNameAbbr.GetLength())) {\r
+                if (!FXSYS_wcsncmp((const FX_WCHAR*)wsDayNameAbbr, str + cc, wsDayNameAbbr.GetLength())) {\r
                     break;\r
                 }\r
             }\r
@@ -2457,7 +2457,7 @@ static FX_BOOL FX_ParseLocaleDate(const CFX_WideString& wsDate, const CFX_WideSt
                 if (wsDayName == L"") {\r
                     continue;\r
                 }\r
-                if (!FXSYS_wcsncmp((FX_LPCWSTR)wsDayName, str + cc, wsDayName.GetLength())) {\r
+                if (!FXSYS_wcsncmp((const FX_WCHAR*)wsDayName, str + cc, wsDayName.GetLength())) {\r
                     break;\r
                 }\r
             }\r
@@ -2536,9 +2536,9 @@ static FX_BOOL FX_ParseLocaleTime(const CFX_WideString& wsTime, const CFX_WideSt
     uint8_t second = 0;\r
     FX_WORD millisecond = 0;\r
     int32_t ccf = 0;\r
-    FX_LPCWSTR str = (FX_LPCWSTR)wsTime;\r
+    const FX_WCHAR* str = (const FX_WCHAR*)wsTime;\r
     int len = wsTime.GetLength();\r
-    FX_LPCWSTR strf = (FX_LPCWSTR)wsTimePattern;\r
+    const FX_WCHAR* strf = (const FX_WCHAR*)wsTimePattern;\r
     int lenf = wsTimePattern.GetLength();\r
     FX_BOOL bHasA = FALSE;\r
     FX_BOOL bPM = FALSE;\r
@@ -2546,7 +2546,7 @@ static FX_BOOL FX_ParseLocaleTime(const CFX_WideString& wsTime, const CFX_WideSt
         if (strf[ccf] == '\'') {\r
             CFX_WideString wsLiteral = FX_GetLiteralText(strf, ccf, lenf);\r
             int32_t iLiteralLen = wsLiteral.GetLength();\r
-            if (cc + iLiteralLen > len || FXSYS_wcsncmp(str + cc, (FX_LPCWSTR)wsLiteral, iLiteralLen)) {\r
+            if (cc + iLiteralLen > len || FXSYS_wcsncmp(str + cc, (const FX_WCHAR*)wsLiteral, iLiteralLen)) {\r
                 return FALSE;\r
             }\r
             cc += iLiteralLen;\r
@@ -2762,15 +2762,15 @@ FX_BOOL CFX_FormatString::ParseZero(const CFX_WideString& wsSrcText, const CFX_W
     CFX_WideString wsTextFormat;\r
     IFX_Locale* pLocale = GetTextFormat(wsPattern, FX_WSTRC(L"zero"), wsTextFormat);\r
     int32_t iText = 0, iPattern = 0;\r
-    FX_LPCWSTR pStrText = (FX_LPCWSTR)wsSrcText;\r
+    const FX_WCHAR* pStrText = (const FX_WCHAR*)wsSrcText;\r
     int32_t iLenText = wsSrcText.GetLength();\r
-    FX_LPCWSTR pStrPattern = (FX_LPCWSTR)wsTextFormat;\r
+    const FX_WCHAR* pStrPattern = (const FX_WCHAR*)wsTextFormat;\r
     int32_t iLenPattern = wsTextFormat.GetLength();\r
     while (iPattern < iLenPattern && iText < iLenText) {\r
         if (pStrPattern[iPattern] == '\'') {\r
             CFX_WideString wsLiteral = FX_GetLiteralText(pStrPattern, iPattern, iLenPattern);\r
             int32_t iLiteralLen = wsLiteral.GetLength();\r
-            if (iText + iLiteralLen > iLenText || FXSYS_wcsncmp(pStrText + iText, (FX_LPCWSTR)wsLiteral, iLiteralLen)) {\r
+            if (iText + iLiteralLen > iLenText || FXSYS_wcsncmp(pStrText + iText, (const FX_WCHAR*)wsLiteral, iLiteralLen)) {\r
                 return FALSE;\r
             }\r
             iText += iLiteralLen;\r
@@ -2790,15 +2790,15 @@ FX_BOOL CFX_FormatString::ParseNull(const CFX_WideString& wsSrcText, const CFX_W
     CFX_WideString wsTextFormat;\r
     IFX_Locale* pLocale = GetTextFormat(wsPattern, FX_WSTRC(L"null"), wsTextFormat);\r
     int32_t iText = 0, iPattern = 0;\r
-    FX_LPCWSTR pStrText = (FX_LPCWSTR)wsSrcText;\r
+    const FX_WCHAR* pStrText = (const FX_WCHAR*)wsSrcText;\r
     int32_t iLenText = wsSrcText.GetLength();\r
-    FX_LPCWSTR pStrPattern = (FX_LPCWSTR)wsTextFormat;\r
+    const FX_WCHAR* pStrPattern = (const FX_WCHAR*)wsTextFormat;\r
     int32_t iLenPattern = wsTextFormat.GetLength();\r
     while (iPattern < iLenPattern && iText < iLenText) {\r
         if (pStrPattern[iPattern] == '\'') {\r
             CFX_WideString wsLiteral = FX_GetLiteralText(pStrPattern, iPattern, iLenPattern);\r
             int32_t iLiteralLen = wsLiteral.GetLength();\r
-            if (iText + iLiteralLen > iLenText || FXSYS_wcsncmp(pStrText + iText, (FX_LPCWSTR)wsLiteral, iLiteralLen)) {\r
+            if (iText + iLiteralLen > iLenText || FXSYS_wcsncmp(pStrText + iText, (const FX_WCHAR*)wsLiteral, iLiteralLen)) {\r
                 return FALSE;\r
             }\r
             iText += iLiteralLen;\r
@@ -2825,8 +2825,8 @@ FX_BOOL   CFX_FormatString::FormatText(const CFX_WideString& wsSrcText, const CFX_
     CFX_WideString wsTextFormat;\r
     IFX_Locale* pLocale = GetTextFormat(wsPattern, FX_WSTRC(L"text"), wsTextFormat);\r
     int32_t iText = 0, iPattern = 0;\r
-    FX_LPCWSTR pStrText = (FX_LPCWSTR)wsSrcText;\r
-    FX_LPCWSTR pStrPattern = (FX_LPCWSTR)wsTextFormat;\r
+    const FX_WCHAR* pStrText = (const FX_WCHAR*)wsSrcText;\r
+    const FX_WCHAR* pStrPattern = (const FX_WCHAR*)wsTextFormat;\r
     int32_t iLenPattern = wsTextFormat.GetLength();\r
     while (iPattern < iLenPattern) {\r
         switch (pStrPattern[iPattern]) {\r
@@ -2900,7 +2900,7 @@ FX_BOOL CFX_FormatString::FormatStrNum(FX_WSTR wsInputNum, const CFX_WideString&
         return FALSE;\r
     }\r
     int32_t cc = 0, ccf = 0;\r
-    FX_LPCWSTR strf = (FX_LPCWSTR)wsNumFormat;\r
+    const FX_WCHAR* strf = (const FX_WCHAR*)wsNumFormat;\r
     int lenf = wsNumFormat.GetLength();\r
     CFX_WideString wsSrcNum = wsInputNum;\r
     wsSrcNum.TrimLeft('0');\r
@@ -2969,7 +2969,7 @@ FX_BOOL CFX_FormatString::FormatStrNum(FX_WSTR wsInputNum, const CFX_WideString&
         wsSrcNum.Delete(0, 1);\r
     }\r
     FX_BOOL bAddNeg = FALSE;\r
-    FX_LPCWSTR str = (FX_LPCWSTR)wsSrcNum;\r
+    const FX_WCHAR* str = (const FX_WCHAR*)wsSrcNum;\r
     int len = wsSrcNum.GetLength();\r
     int dot_index = wsSrcNum.Find('.');\r
     if (dot_index == -1) {\r
@@ -3330,7 +3330,7 @@ FX_BOOL CFX_FormatString::FormatLCNumeric(CFX_LCNumeric& lcNum, const CFX_WideSt
         return FALSE;\r
     }\r
     int32_t cc = 0, ccf = 0;\r
-    FX_LPCWSTR strf = (FX_LPCWSTR)wsNumFormat;\r
+    const FX_WCHAR* strf = (const FX_WCHAR*)wsNumFormat;\r
     int lenf = wsNumFormat.GetLength();\r
     double dbOrgRaw = lcNum.GetDouble();\r
     double dbRetValue = dbOrgRaw;\r
@@ -3392,7 +3392,7 @@ FX_BOOL CFX_FormatString::FormatLCNumeric(CFX_LCNumeric& lcNum, const CFX_WideSt
         wsNumeric.Delete(0, 1);\r
     }\r
     FX_BOOL bAddNeg = FALSE;\r
-    FX_LPCWSTR str = (FX_LPCWSTR)wsNumeric;\r
+    const FX_WCHAR* str = (const FX_WCHAR*)wsNumeric;\r
     int len = wsNumeric.GetLength();\r
     int dot_index = wsNumeric.Find('.');\r
     if (dot_index == -1) {\r
@@ -3747,7 +3747,7 @@ FX_BOOL FX_DateFromCanonical(const CFX_WideString& wsDate, CFX_Unitime& datetime
     int32_t day = 1;\r
     FX_WORD wYear = 0;\r
     int cc_start = 0, cc = 0;\r
-    FX_LPCWSTR str = (FX_LPCWSTR)wsDate;\r
+    const FX_WCHAR* str = (const FX_WCHAR*)wsDate;\r
     int len = wsDate.GetLength();\r
     if(len > 10) {\r
         return FALSE;\r
@@ -3826,7 +3826,7 @@ FX_BOOL FX_TimeFromCanonical(FX_WSTR wsTime, CFX_Unitime& datetime, IFX_Locale*
     uint8_t second = 0;\r
     FX_WORD millisecond = 0;\r
     int cc_start = 0, cc = cc_start;\r
-    FX_LPCWSTR str = (FX_LPCWSTR)wsTime.GetPtr();\r
+    const FX_WCHAR* str = (const FX_WCHAR*)wsTime.GetPtr();\r
     int len = wsTime.GetLength();\r
     while (cc < len && cc < 2) {\r
         if (!FX_IsDigit(str[cc])) {\r
@@ -3949,7 +3949,7 @@ static FX_BOOL FX_DateFormat(const CFX_WideString& wsDatePattern, IFX_Locale *pL
     uint8_t month = datetime.GetMonth();\r
     uint8_t day = datetime.GetDay();\r
     int32_t ccf = 0;\r
-    FX_LPCWSTR strf = (FX_LPCWSTR)wsDatePattern;\r
+    const FX_WCHAR* strf = (const FX_WCHAR*)wsDatePattern;\r
     int32_t lenf = wsDatePattern.GetLength();\r
     while (ccf < lenf) {\r
         if (strf[ccf] == '\'') {\r
@@ -4066,7 +4066,7 @@ static FX_BOOL FX_TimeFormat(const CFX_WideString& wsTimePattern, IFX_Locale *pL
     uint8_t second = datetime.GetSecond();\r
     FX_WORD millisecond = datetime.GetMillisecond();\r
     int32_t ccf = 0;\r
-    FX_LPCWSTR strf = (FX_LPCWSTR)wsTimePattern;\r
+    const FX_WCHAR* strf = (const FX_WCHAR*)wsTimePattern;\r
     int32_t lenf = wsTimePattern.GetLength();\r
     FX_WORD wHour = hour;\r
     FX_BOOL bPM = FALSE;\r
@@ -4259,8 +4259,8 @@ FX_BOOL   CFX_FormatString::FormatDateTime(const CFX_WideString& wsSrcDateTime, co
             return FX_FormatDateTime(dt, wsDatePattern, wsTimePattern, TRUE, pLocale, wsOutput);\r
         }\r
     } else {\r
-        CFX_WideStringC wsSrcDate((FX_LPCWSTR)wsSrcDateTime, iT);\r
-        CFX_WideStringC wsSrcTime((FX_LPCWSTR)wsSrcDateTime + iT + 1, wsSrcDateTime.GetLength() - iT - 1);\r
+        CFX_WideStringC wsSrcDate((const FX_WCHAR*)wsSrcDateTime, iT);\r
+        CFX_WideStringC wsSrcTime((const FX_WCHAR*)wsSrcDateTime + iT + 1, wsSrcDateTime.GetLength() - iT - 1);\r
         if(wsSrcDate.IsEmpty() || wsSrcTime.IsEmpty()) {\r
             return FALSE;\r
         }\r
@@ -4291,7 +4291,7 @@ FX_BOOL CFX_FormatString::FormatZero(const CFX_WideString& wsPattern, CFX_WideSt
     CFX_WideString wsTextFormat;\r
     IFX_Locale* pLocale = GetTextFormat(wsPattern, FX_WSTRC(L"zero"), wsTextFormat);\r
     int32_t iPattern = 0;\r
-    FX_LPCWSTR pStrPattern = (FX_LPCWSTR)wsTextFormat;\r
+    const FX_WCHAR* pStrPattern = (const FX_WCHAR*)wsTextFormat;\r
     int32_t iLenPattern = wsTextFormat.GetLength();\r
     while (iPattern < iLenPattern) {\r
         if (pStrPattern[iPattern] == '\'') {\r
@@ -4313,7 +4313,7 @@ FX_BOOL CFX_FormatString::FormatNull(const CFX_WideString& wsPattern, CFX_WideSt
     CFX_WideString wsTextFormat;\r
     IFX_Locale* pLocale = GetTextFormat(wsPattern, FX_WSTRC(L"null"), wsTextFormat);\r
     int32_t iPattern = 0;\r
-    FX_LPCWSTR pStrPattern = (FX_LPCWSTR)wsTextFormat;\r
+    const FX_WCHAR* pStrPattern = (const FX_WCHAR*)wsTextFormat;\r
     int32_t iLenPattern = wsTextFormat.GetLength();\r
     while (iPattern < iLenPattern) {\r
         if (pStrPattern[iPattern] == '\'') {\r
@@ -4625,8 +4625,8 @@ CFX_Decimal::CFX_Decimal(FX_FLOAT val, uint8_t scale )
 }\r
 CFX_Decimal::CFX_Decimal(FX_WSTR strObj)\r
 {\r
-    FX_LPCWSTR str = strObj.GetPtr();\r
-    FX_LPCWSTR strBound = str + strObj.GetLength();\r
+    const FX_WCHAR* str = strObj.GetPtr();\r
+    const FX_WCHAR* strBound = str + strObj.GetLength();\r
     FX_BOOL pointmet = 0;\r
     FX_BOOL negmet = 0;\r
     uint8_t scale = 0;\r