Remove FX_WSTRC usage

Not needed with modern compilers, removed.

Change-Id: Ia8977262b5791bd4445f02be8456641d1a7e18f3
Reviewed-on: https://pdfium-review.googlesource.com/2431
Commit-Queue: dsinclair <dsinclair@chromium.org>
Reviewed-by: Tom Sepez <tsepez@chromium.org>
diff --git a/core/fpdfdoc/cpdf_filespec.cpp b/core/fpdfdoc/cpdf_filespec.cpp
index d6a66f7..ce6f9a2 100644
--- a/core/fpdfdoc/cpdf_filespec.cpp
+++ b/core/fpdfdoc/cpdf_filespec.cpp
@@ -143,7 +143,7 @@
   }
   return ChangeSlashToPDF(filepath.c_str());
 #elif _FXM_PLATFORM_ == _FXM_PLATFORM_APPLE_
-  if (filepath.Left(sizeof("Mac") - 1) == FX_WSTRC(L"Mac")) {
+  if (filepath.Left(sizeof("Mac") - 1) == L"Mac") {
     CFX_WideString result;
     result = '/';
     result += ChangeSlashToPDF(filepath.c_str());
diff --git a/core/fxcrt/fx_string.h b/core/fxcrt/fx_string.h
index 540c0c4..750216f 100644
--- a/core/fxcrt/fx_string.h
+++ b/core/fxcrt/fx_string.h
@@ -28,8 +28,6 @@
   (((uint32_t)c1 << 24) | ((uint32_t)c2 << 16) | ((uint32_t)c3 << 8) | \
    ((uint32_t)c4))
 
-#define FX_WSTRC(wstr) CFX_WideStringC(wstr, FX_ArraySize(wstr) - 1)
-
 // A mutable string with shared buffers using copy-on-write semantics that
 // avoids the cost of std::string's iterator stability guarantees.
 class CFX_ByteString {
diff --git a/xfa/fgas/localization/fgas_locale.cpp b/xfa/fgas/localization/fgas_locale.cpp
index d6ef628..7d53841 100644
--- a/xfa/fgas/localization/fgas_locale.cpp
+++ b/xfa/fgas/localization/fgas_locale.cpp
@@ -542,7 +542,7 @@
         wsCategory += pStr[ccf];
         ccf++;
       }
-      if (wsCategory != FX_WSTRC(L"num")) {
+      if (wsCategory != L"num") {
         bBrackOpen = true;
         ccf = 0;
         continue;
@@ -652,7 +652,7 @@
     return false;
   }
   CFX_WideString wsTextFormat;
-  GetTextFormat(wsPattern, FX_WSTRC(L"text"), wsTextFormat);
+  GetTextFormat(wsPattern, L"text", wsTextFormat);
   if (wsTextFormat.IsEmpty()) {
     return false;
   }
@@ -1942,16 +1942,16 @@
         wsCategory += pStr[ccf];
         ccf++;
       }
-      if (!(iFindCategory & 1) && wsCategory == FX_WSTRC(L"date")) {
+      if (!(iFindCategory & 1) && wsCategory == L"date") {
         iFindCategory |= 1;
         eCategory = FX_LOCALECATEGORY_Date;
         if (iFindCategory & 2) {
           iFindCategory = 4;
         }
-      } else if (!(iFindCategory & 2) && wsCategory == FX_WSTRC(L"time")) {
+      } else if (!(iFindCategory & 2) && wsCategory == L"time") {
         iFindCategory |= 2;
         eCategory = FX_LOCALECATEGORY_Time;
-      } else if (wsCategory == FX_WSTRC(L"datetime")) {
+      } else if (wsCategory == L"datetime") {
         iFindCategory = 3;
         eCategory = FX_LOCALECATEGORY_DateTime;
       } else {
@@ -2506,7 +2506,7 @@
 bool CFX_FormatString::ParseZero(const CFX_WideString& wsSrcText,
                                  const CFX_WideString& wsPattern) {
   CFX_WideString wsTextFormat;
-  GetTextFormat(wsPattern, FX_WSTRC(L"zero"), wsTextFormat);
+  GetTextFormat(wsPattern, L"zero", wsTextFormat);
   int32_t iText = 0, iPattern = 0;
   const FX_WCHAR* pStrText = wsSrcText.c_str();
   int32_t iLenText = wsSrcText.GetLength();
@@ -2536,7 +2536,7 @@
 bool CFX_FormatString::ParseNull(const CFX_WideString& wsSrcText,
                                  const CFX_WideString& wsPattern) {
   CFX_WideString wsTextFormat;
-  GetTextFormat(wsPattern, FX_WSTRC(L"null"), wsTextFormat);
+  GetTextFormat(wsPattern, L"null", wsTextFormat);
   int32_t iText = 0, iPattern = 0;
   const FX_WCHAR* pStrText = wsSrcText.c_str();
   int32_t iLenText = wsSrcText.GetLength();
@@ -2574,7 +2574,7 @@
     return false;
   }
   CFX_WideString wsTextFormat;
-  GetTextFormat(wsPattern, FX_WSTRC(L"text"), wsTextFormat);
+  GetTextFormat(wsPattern, L"text", wsTextFormat);
   int32_t iText = 0, iPattern = 0;
   const FX_WCHAR* pStrText = wsSrcText.c_str();
   const FX_WCHAR* pStrPattern = wsTextFormat.c_str();
@@ -3926,14 +3926,14 @@
       pLocale->GetMeridiemName(wsMeridiem, !bPM);
       wsResult += wsMeridiem;
     } else if (dwSymbol == FXBSTR_ID(0, 0, 'Z', '1')) {
-      wsResult += FX_WSTRC(L"GMT");
+      wsResult += L"GMT";
       FX_TIMEZONE tz;
       pLocale->GetTimeZone(&tz);
       if (!bGMT && (tz.tzHour != 0 || tz.tzMinute != 0)) {
         if (tz.tzHour < 0) {
-          wsResult += FX_WSTRC(L"-");
+          wsResult += L"-";
         } else {
-          wsResult += FX_WSTRC(L"+");
+          wsResult += L"+";
         }
         CFX_WideString wsTimezone;
         wsTimezone.Format(L"%02d:%02d", FXSYS_abs(tz.tzHour), tz.tzMinute);
@@ -3944,9 +3944,9 @@
       pLocale->GetTimeZone(&tz);
       if (!bGMT && tz.tzHour != 0 && tz.tzMinute != 0) {
         if (tz.tzHour < 0) {
-          wsResult += FX_WSTRC(L"-");
+          wsResult += L"-";
         } else {
-          wsResult += FX_WSTRC(L"+");
+          wsResult += L"+";
         }
         CFX_WideString wsTimezone;
         wsTimezone.Format(L"%02d:%02d", FXSYS_abs(tz.tzHour), tz.tzMinute);
@@ -4079,7 +4079,7 @@
     return false;
   }
   CFX_WideString wsTextFormat;
-  GetTextFormat(wsPattern, FX_WSTRC(L"zero"), wsTextFormat);
+  GetTextFormat(wsPattern, L"zero", wsTextFormat);
   int32_t iPattern = 0;
   const FX_WCHAR* pStrPattern = wsTextFormat.c_str();
   int32_t iLenPattern = wsTextFormat.GetLength();
@@ -4101,7 +4101,7 @@
     return false;
   }
   CFX_WideString wsTextFormat;
-  GetTextFormat(wsPattern, FX_WSTRC(L"null"), wsTextFormat);
+  GetTextFormat(wsPattern, L"null", wsTextFormat);
   int32_t iPattern = 0;
   const FX_WCHAR* pStrPattern = wsTextFormat.c_str();
   int32_t iLenPattern = wsTextFormat.GetLength();
diff --git a/xfa/fwl/cfwl_widgetmgr.cpp b/xfa/fwl/cfwl_widgetmgr.cpp
index ea78c1a..cd9c3e6 100644
--- a/xfa/fwl/cfwl_widgetmgr.cpp
+++ b/xfa/fwl/cfwl_widgetmgr.cpp
@@ -373,7 +373,7 @@
 bool CFWL_WidgetMgr::IsAbleNative(CFWL_Widget* pWidget) const {
   if (!pWidget)
     return false;
-  if (!pWidget->IsInstance(FX_WSTRC(FWL_CLASS_Form)))
+  if (!pWidget->IsInstance(FWL_CLASS_Form))
     return false;
 
   uint32_t dwStyles = pWidget->GetStyles();
diff --git a/xfa/fwl/theme/cfwl_widgettp.cpp b/xfa/fwl/theme/cfwl_widgettp.cpp
index a0d6b4c..ad5beef 100644
--- a/xfa/fwl/theme/cfwl_widgettp.cpp
+++ b/xfa/fwl/theme/cfwl_widgettp.cpp
@@ -84,8 +84,7 @@
   if (m_pTextOut)
     return;
 
-  m_pFDEFont =
-      CFWL_FontManager::GetInstance()->FindFont(FX_WSTRC(L"Helvetica"), 0, 0);
+  m_pFDEFont = CFWL_FontManager::GetInstance()->FindFont(L"Helvetica", 0, 0);
   m_pTextOut = pdfium::MakeUnique<CFDE_TextOut>();
   m_pTextOut->SetFont(m_pFDEFont);
   m_pTextOut->SetFontSize(FWLTHEME_CAPACITY_FontSize);
diff --git a/xfa/fxfa/app/cxfa_textlayout.cpp b/xfa/fxfa/app/cxfa_textlayout.cpp
index 86f49ed..0fbe8e0 100644
--- a/xfa/fxfa/app/cxfa_textlayout.cpp
+++ b/xfa/fxfa/app/cxfa_textlayout.cpp
@@ -80,7 +80,7 @@
       CFDE_XMLElement* pXMLElement = static_cast<CFDE_XMLElement*>(pXMLChild);
       CFX_WideString wsTag;
       pXMLElement->GetLocalTagName(wsTag);
-      if (wsTag == FX_WSTRC(L"body") || wsTag == FX_WSTRC(L"html")) {
+      if (wsTag == L"body" || wsTag == L"html") {
         pXMLContainer = pXMLChild;
         break;
       }
@@ -732,7 +732,7 @@
         pElement = static_cast<CFDE_XMLElement*>(pXMLNode);
         pElement->GetLocalTagName(wsName);
       }
-      if (wsName == FX_WSTRC(L"ol")) {
+      if (wsName == L"ol") {
         bIsOl = true;
         bCurOl = true;
       }
@@ -750,9 +750,8 @@
         if ((eDisplay == FDE_CSSDisplay::Block ||
              eDisplay == FDE_CSSDisplay::ListItem) &&
             pStyle &&
-            (wsName.IsEmpty() ||
-             (wsName != FX_WSTRC(L"body") && wsName != FX_WSTRC(L"html") &&
-              wsName != FX_WSTRC(L"ol") && wsName != FX_WSTRC(L"ul")))) {
+            (wsName.IsEmpty() || (wsName != L"body" && wsName != L"html" &&
+                                  wsName != L"ol" && wsName != L"ul"))) {
           const FDE_CSSRect* pRect = pStyle->GetMarginWidth();
           if (pRect) {
             fLinePos += pRect->top.GetValue();
@@ -760,7 +759,7 @@
           }
         }
 
-        if (wsName == FX_WSTRC(L"a")) {
+        if (wsName == L"a") {
           CFX_WideString wsLinkContent;
           ASSERT(pElement);
           pElement->GetString(L"href", wsLinkContent);
@@ -778,14 +777,14 @@
         CFX_WideString wsText;
         if (bContentNode && iTabCount == 0) {
           static_cast<CFDE_XMLText*>(pXMLNode)->GetText(wsText);
-        } else if (wsName == FX_WSTRC(L"br")) {
+        } else if (wsName == L"br") {
           wsText = L'\n';
-        } else if (wsName == FX_WSTRC(L"li")) {
+        } else if (wsName == L"li") {
           bCurLi = true;
           if (bIsOl)
             wsText.Format(L"%d.  ", iLiCount);
           else
-            wsText = 0x00B7 + FX_WSTRC(L"  ");
+            wsText = 0x00B7 + CFX_WideStringC(L"  ", 1);
         } else if (!bContentNode) {
           if (iTabCount > 0) {
             while (iTabCount-- > 0)
diff --git a/xfa/fxfa/app/xfa_ffdoc.cpp b/xfa/fxfa/app/xfa_ffdoc.cpp
index c34213c..911bdf8 100644
--- a/xfa/fxfa/app/xfa_ffdoc.cpp
+++ b/xfa/fxfa/app/xfa_ffdoc.cpp
@@ -183,7 +183,7 @@
       CFX_WideString wsTagName;
       CFDE_XMLElement* pXMLElement = static_cast<CFDE_XMLElement*>(pXMLNode);
       pXMLElement->GetTagName(wsTagName);
-      if (wsTagName == FX_WSTRC(L"document")) {
+      if (wsTagName == L"document") {
         pDocumentElement = pXMLElement;
         break;
       }
@@ -200,7 +200,7 @@
       CFX_WideString wsTagName;
       CFDE_XMLElement* pXMLElement = static_cast<CFDE_XMLElement*>(pXMLNode);
       pXMLElement->GetTagName(wsTagName);
-      if (wsTagName == FX_WSTRC(L"chunk")) {
+      if (wsTagName == L"chunk") {
         pChunkElement = pXMLElement;
         break;
       }
@@ -265,7 +265,7 @@
     return;
   }
   CFX_WideString wsType;
-  if (pDynamicRender->TryContent(wsType) && wsType == FX_WSTRC(L"required")) {
+  if (pDynamicRender->TryContent(wsType) && wsType == L"required") {
     m_dwDocType = XFA_DOCTYPE_Dynamic;
   }
 }
diff --git a/xfa/fxfa/app/xfa_ffdocview.cpp b/xfa/fxfa/app/xfa_ffdocview.cpp
index 0aedeed..847ae07 100644
--- a/xfa/fxfa/app/xfa_ffdocview.cpp
+++ b/xfa/fxfa/app/xfa_ffdocview.cpp
@@ -155,7 +155,7 @@
     iCount -= iRemain;
     CFX_WideString wsMsg;
     for (int32_t i = 0; i < iCount; i++) {
-      wsMsg += m_arrNullTestMsg[i] + FX_WSTRC(L"\n");
+      wsMsg += m_arrNullTestMsg[i] + L"\n";
     }
     if (iRemain > 0) {
       CFX_WideString wsTemp;
@@ -163,7 +163,7 @@
           L"Message limit exceeded. Remaining %d "
           L"validation errors not reported.",
           iRemain);
-      wsMsg += FX_WSTRC(L"\n") + wsTemp;
+      wsMsg += L"\n" + wsTemp;
     }
     pAppProvider->MsgBox(wsMsg, pAppProvider->GetAppTitle(), XFA_MBICON_Status,
                          XFA_MB_OK);
@@ -755,10 +755,8 @@
     binditems.GetValueRef(wsValueRef);
     binditems.GetLabelRef(wsLabelRef);
     const bool bUseValue = wsLabelRef.IsEmpty() || wsLabelRef == wsValueRef;
-    const bool bLabelUseContent =
-        wsLabelRef.IsEmpty() || wsLabelRef == FX_WSTRC(L"$");
-    const bool bValueUseContent =
-        wsValueRef.IsEmpty() || wsValueRef == FX_WSTRC(L"$");
+    const bool bLabelUseContent = wsLabelRef.IsEmpty() || wsLabelRef == L"$";
+    const bool bValueUseContent = wsValueRef.IsEmpty() || wsValueRef == L"$";
     CFX_WideString wsValue;
     CFX_WideString wsLabel;
     uint32_t uValueHash = FX_HashCode_GetW(wsValueRef, false);
diff --git a/xfa/fxfa/app/xfa_ffwidget.cpp b/xfa/fxfa/app/xfa_ffwidget.cpp
index 4cd6b44..c87fa4e 100644
--- a/xfa/fxfa/app/xfa_ffwidget.cpp
+++ b/xfa/fxfa/app/xfa_ffwidget.cpp
@@ -1020,21 +1020,16 @@
 FXCODEC_IMAGE_TYPE XFA_GetImageType(const CFX_WideString& wsType) {
   CFX_WideString wsContentType(wsType);
   wsContentType.MakeLower();
-  if (wsContentType == FX_WSTRC(L"image/jpg")) {
+  if (wsContentType == L"image/jpg")
     return FXCODEC_IMAGE_JPG;
-  }
-  if (wsContentType == FX_WSTRC(L"image/png")) {
+  if (wsContentType == L"image/png")
     return FXCODEC_IMAGE_PNG;
-  }
-  if (wsContentType == FX_WSTRC(L"image/gif")) {
+  if (wsContentType == L"image/gif")
     return FXCODEC_IMAGE_GIF;
-  }
-  if (wsContentType == FX_WSTRC(L"image/bmp")) {
+  if (wsContentType == L"image/bmp")
     return FXCODEC_IMAGE_BMP;
-  }
-  if (wsContentType == FX_WSTRC(L"image/tif")) {
+  if (wsContentType == L"image/tif")
     return FXCODEC_IMAGE_TIF;
-  }
   return FXCODEC_IMAGE_UNKNOWN;
 }
 CFX_DIBitmap* XFA_LoadImageData(CXFA_FFDoc* pDoc,
@@ -1073,8 +1068,7 @@
     }
   } else {
     CFX_WideString wsURL = wsHref;
-    if (wsURL.Left(7) != FX_WSTRC(L"http://") &&
-        wsURL.Left(6) != FX_WSTRC(L"ftp://")) {
+    if (wsURL.Left(7) != L"http://" && wsURL.Left(6) != L"ftp://") {
       CFX_DIBitmap* pBitmap =
           pDoc->GetPDFNamedImage(wsURL.AsStringC(), iImageXDpi, iImageYDpi);
       if (pBitmap) {
diff --git a/xfa/fxfa/app/xfa_ffwidgetacc.cpp b/xfa/fxfa/app/xfa_ffwidgetacc.cpp
index 5fe591c..97adff3 100644
--- a/xfa/fxfa/app/xfa_ffwidgetacc.cpp
+++ b/xfa/fxfa/app/xfa_ffwidgetacc.cpp
@@ -183,7 +183,7 @@
   }
   m_pNode->GetSOMExpression(wsName);
   if (iNameType == 2 && wsName.GetLength() >= 15) {
-    CFX_WideStringC wsPre = FX_WSTRC(L"xfa[0].form[0].");
+    CFX_WideStringC wsPre = L"xfa[0].form[0].";
     if (wsPre == CFX_WideStringC(wsName.c_str(), wsPre.GetLength())) {
       wsName.Delete(0, wsPre.GetLength());
     }
@@ -1497,7 +1497,7 @@
 }
 
 CFX_RetainPtr<CFGAS_GEFont> CXFA_WidgetAcc::GetFDEFont() {
-  CFX_WideStringC wsFontName = FX_WSTRC(L"Courier");
+  CFX_WideStringC wsFontName = L"Courier";
   uint32_t dwFontStyle = 0;
   if (CXFA_Font font = GetFont()) {
     if (font.IsBold())
@@ -1541,7 +1541,7 @@
       CFX_WideString wsContentType;
       m_pTextNode->GetAttribute(XFA_ATTRIBUTE_ContentType, wsContentType,
                                 false);
-      if (wsContentType == FX_WSTRC(L"text/html")) {
+      if (wsContentType == L"text/html") {
         bRichText = true;
       }
     }
@@ -1557,7 +1557,7 @@
     if (pChildNode && pChildNode->GetElementType() == XFA_Element::ExData) {
       CFX_WideString wsContentType;
       pChildNode->GetAttribute(XFA_ATTRIBUTE_ContentType, wsContentType, false);
-      if (wsContentType == FX_WSTRC(L"text/html")) {
+      if (wsContentType == L"text/html") {
         bRichText = true;
       }
     }
@@ -1592,7 +1592,7 @@
     if (pChildNode && pChildNode->GetElementType() == XFA_Element::ExData) {
       CFX_WideString wsContentType;
       pChildNode->GetAttribute(XFA_ATTRIBUTE_ContentType, wsContentType, false);
-      if (wsContentType == FX_WSTRC(L"text/html")) {
+      if (wsContentType == L"text/html") {
         bRichText = true;
       }
     }
@@ -1607,11 +1607,10 @@
   while (pNode) {
     CFX_WideStringC wsName;
     pNode->TryCData(XFA_ATTRIBUTE_Name, wsName);
-    if (m_eType == XFA_TEXTPROVIDERTYPE_Rollover &&
-        wsName == FX_WSTRC(L"rollover")) {
+    if (m_eType == XFA_TEXTPROVIDERTYPE_Rollover && wsName == L"rollover") {
       return pNode;
     }
-    if (m_eType == XFA_TEXTPROVIDERTYPE_Down && wsName == FX_WSTRC(L"down")) {
+    if (m_eType == XFA_TEXTPROVIDERTYPE_Down && wsName == L"down") {
       return pNode;
     }
     pNode = pNode->GetNodeItem(XFA_NODEITEM_NextSibling);
diff --git a/xfa/fxfa/fm2js/xfa_expression.cpp b/xfa/fxfa/fm2js/xfa_expression.cpp
index a4d1195..32db6d2 100644
--- a/xfa/fxfa/fm2js/xfa_expression.cpp
+++ b/xfa/fxfa/fm2js/xfa_expression.cpp
@@ -46,24 +46,24 @@
 
 void CXFA_FMFunctionDefinition::ToJavaScript(CFX_WideTextBuf& javascript) {
   if (m_isGlobal && m_pExpressions.empty()) {
-    javascript << FX_WSTRC(L"// comments only");
+    javascript << L"// comments only";
     return;
   }
   if (m_isGlobal) {
-    javascript << FX_WSTRC(L"(\n");
+    javascript << L"(\n";
   }
-  javascript << FX_WSTRC(L"function ");
+  javascript << L"function ";
   if (m_wsName.GetAt(0) == L'!') {
     CFX_WideString tempName = EXCLAMATION_IN_IDENTIFIER + m_wsName.Mid(1);
     javascript << tempName;
   } else {
     javascript << m_wsName;
   }
-  javascript << FX_WSTRC(L"(");
+  javascript << L"(";
   bool bNeedComma = false;
   for (const auto& identifier : m_pArguments) {
     if (bNeedComma)
-      javascript << FX_WSTRC(L", ");
+      javascript << L", ";
     if (identifier.GetAt(0) == L'!') {
       CFX_WideString tempIdentifier =
           EXCLAMATION_IN_IDENTIFIER + identifier.Mid(1);
@@ -73,28 +73,28 @@
     }
     bNeedComma = true;
   }
-  javascript << FX_WSTRC(L")\n{\n");
-  javascript << FX_WSTRC(L"var ");
+  javascript << L")\n{\n";
+  javascript << L"var ";
   javascript << RUNTIMEFUNCTIONRETURNVALUE;
-  javascript << FX_WSTRC(L" = null;\n");
+  javascript << L" = null;\n";
   for (const auto& expr : m_pExpressions) {
     if (expr == m_pExpressions.back())
       expr->ToImpliedReturnJS(javascript);
     else
       expr->ToJavaScript(javascript);
   }
-  javascript << FX_WSTRC(L"return ");
+  javascript << L"return ";
   if (m_isGlobal) {
     javascript << XFA_FM_EXPTypeToString(GETFMVALUE);
-    javascript << FX_WSTRC(L"(");
+    javascript << L"(";
     javascript << RUNTIMEFUNCTIONRETURNVALUE;
-    javascript << FX_WSTRC(L")");
+    javascript << L")";
   } else {
     javascript << RUNTIMEFUNCTIONRETURNVALUE;
   }
-  javascript << FX_WSTRC(L";\n}\n");
+  javascript << L";\n}\n";
   if (m_isGlobal) {
-    javascript << FX_WSTRC(L").call(this);\n");
+    javascript << L").call(this);\n";
   }
 }
 
@@ -111,49 +111,49 @@
 CXFA_FMVarExpression::~CXFA_FMVarExpression() {}
 
 void CXFA_FMVarExpression::ToJavaScript(CFX_WideTextBuf& javascript) {
-  javascript << FX_WSTRC(L"var ");
+  javascript << L"var ";
   CFX_WideString tempName(m_wsName);
   if (m_wsName.GetAt(0) == L'!') {
     tempName = EXCLAMATION_IN_IDENTIFIER + m_wsName.Mid(1);
   }
   javascript << tempName;
-  javascript << FX_WSTRC(L" = ");
+  javascript << L" = ";
   if (m_pInit) {
     m_pInit->ToJavaScript(javascript);
     javascript << tempName;
-    javascript << FX_WSTRC(L" = ");
+    javascript << L" = ";
     javascript << XFA_FM_EXPTypeToString(VARFILTER);
-    javascript << FX_WSTRC(L"(");
+    javascript << L"(";
     javascript << tempName;
-    javascript << FX_WSTRC(L");\n");
+    javascript << L");\n";
   } else {
-    javascript << FX_WSTRC(L"\"\";\n");
+    javascript << L"\"\";\n";
   }
 }
 
 void CXFA_FMVarExpression::ToImpliedReturnJS(CFX_WideTextBuf& javascript) {
-  javascript << FX_WSTRC(L"var ");
+  javascript << L"var ";
   CFX_WideString tempName(m_wsName);
   if (m_wsName.GetAt(0) == L'!') {
     tempName = EXCLAMATION_IN_IDENTIFIER + m_wsName.Mid(1);
   }
   javascript << tempName;
-  javascript << FX_WSTRC(L" = ");
+  javascript << L" = ";
   if (m_pInit) {
     m_pInit->ToJavaScript(javascript);
     javascript << tempName;
-    javascript << FX_WSTRC(L" = ");
+    javascript << L" = ";
     javascript << XFA_FM_EXPTypeToString(VARFILTER);
-    javascript << FX_WSTRC(L"(");
+    javascript << L"(";
     javascript << tempName;
-    javascript << FX_WSTRC(L");\n");
+    javascript << L");\n";
   } else {
-    javascript << FX_WSTRC(L"\"\";\n");
+    javascript << L"\"\";\n";
   }
   javascript << RUNTIMEFUNCTIONRETURNVALUE;
-  javascript << FX_WSTRC(L" = ");
+  javascript << L" = ";
   javascript << tempName;
-  javascript << FX_WSTRC(L";\n");
+  javascript << L";\n";
 }
 
 CXFA_FMExpExpression::CXFA_FMExpExpression(
@@ -169,7 +169,7 @@
     m_pExpression->ToJavaScript(javascript);
   } else {
     m_pExpression->ToJavaScript(javascript);
-    javascript << FX_WSTRC(L";\n");
+    javascript << L";\n";
   }
 }
 
@@ -183,16 +183,16 @@
         m_pExpression->GetOperatorToken() == TOKdotdot ||
         m_pExpression->GetOperatorToken() == TOKdot) {
       javascript << RUNTIMEFUNCTIONRETURNVALUE;
-      javascript << FX_WSTRC(L" = ");
+      javascript << L" = ";
       javascript << XFA_FM_EXPTypeToString(GETFMVALUE);
-      javascript << FX_WSTRC(L"(");
+      javascript << L"(";
       m_pExpression->ToJavaScript(javascript);
-      javascript << FX_WSTRC(L");\n");
+      javascript << L");\n";
     } else {
       javascript << RUNTIMEFUNCTIONRETURNVALUE;
-      javascript << FX_WSTRC(L" = ");
+      javascript << L" = ";
       m_pExpression->ToJavaScript(javascript);
-      javascript << FX_WSTRC(L";\n");
+      javascript << L";\n";
     }
   }
 }
@@ -206,21 +206,21 @@
 CXFA_FMBlockExpression::~CXFA_FMBlockExpression() {}
 
 void CXFA_FMBlockExpression::ToJavaScript(CFX_WideTextBuf& javascript) {
-  javascript << FX_WSTRC(L"{\n");
+  javascript << L"{\n";
   for (const auto& expr : m_ExpressionList)
     expr->ToJavaScript(javascript);
-  javascript << FX_WSTRC(L"}\n");
+  javascript << L"}\n";
 }
 
 void CXFA_FMBlockExpression::ToImpliedReturnJS(CFX_WideTextBuf& javascript) {
-  javascript << FX_WSTRC(L"{\n");
+  javascript << L"{\n";
   for (const auto& expr : m_ExpressionList) {
     if (expr == m_ExpressionList.back())
       expr->ToImpliedReturnJS(javascript);
     else
       expr->ToJavaScript(javascript);
   }
-  javascript << FX_WSTRC(L"}\n");
+  javascript << L"}\n";
 }
 
 CXFA_FMDoExpression::CXFA_FMDoExpression(
@@ -251,25 +251,25 @@
 CXFA_FMIfExpression::~CXFA_FMIfExpression() {}
 
 void CXFA_FMIfExpression::ToJavaScript(CFX_WideTextBuf& javascript) {
-  javascript << FX_WSTRC(L"if (");
+  javascript << L"if (";
   if (m_pExpression) {
     javascript << XFA_FM_EXPTypeToString(GETFMVALUE);
-    javascript << FX_WSTRC(L"(");
+    javascript << L"(";
     m_pExpression->ToJavaScript(javascript);
-    javascript << FX_WSTRC(L")");
+    javascript << L")";
   }
-  javascript << FX_WSTRC(L")\n");
+  javascript << L")\n";
   if (m_pIfExpression) {
     m_pIfExpression->ToJavaScript(javascript);
   }
   if (m_pElseExpression) {
     if (m_pElseExpression->GetExpType() == XFA_FM_EXPTYPE_IF) {
-      javascript << FX_WSTRC(L"else\n");
-      javascript << FX_WSTRC(L"{\n");
+      javascript << L"else\n";
+      javascript << L"{\n";
       m_pElseExpression->ToJavaScript(javascript);
-      javascript << FX_WSTRC(L"}\n");
+      javascript << L"}\n";
     } else {
-      javascript << FX_WSTRC(L"else\n");
+      javascript << L"else\n";
       m_pElseExpression->ToJavaScript(javascript);
     }
   }
@@ -277,26 +277,26 @@
 
 void CXFA_FMIfExpression::ToImpliedReturnJS(CFX_WideTextBuf& javascript) {
   javascript << RUNTIMEFUNCTIONRETURNVALUE;
-  javascript << FX_WSTRC(L" = 0;\n");
-  javascript << FX_WSTRC(L"if (");
+  javascript << L" = 0;\n";
+  javascript << L"if (";
   if (m_pExpression) {
     javascript << XFA_FM_EXPTypeToString(GETFMVALUE);
-    javascript << FX_WSTRC(L"(");
+    javascript << L"(";
     m_pExpression->ToJavaScript(javascript);
-    javascript << FX_WSTRC(L")");
+    javascript << L")";
   }
-  javascript << FX_WSTRC(L")\n");
+  javascript << L")\n";
   if (m_pIfExpression) {
     m_pIfExpression->ToImpliedReturnJS(javascript);
   }
   if (m_pElseExpression) {
     if (m_pElseExpression->GetExpType() == XFA_FM_EXPTYPE_IF) {
-      javascript << FX_WSTRC(L"else\n");
-      javascript << FX_WSTRC(L"{\n");
+      javascript << L"else\n";
+      javascript << L"{\n";
       m_pElseExpression->ToImpliedReturnJS(javascript);
-      javascript << FX_WSTRC(L"}\n");
+      javascript << L"}\n";
     } else {
-      javascript << FX_WSTRC(L"else\n");
+      javascript << L"else\n";
       m_pElseExpression->ToImpliedReturnJS(javascript);
     }
   }
@@ -319,18 +319,18 @@
 CXFA_FMWhileExpression::~CXFA_FMWhileExpression() {}
 
 void CXFA_FMWhileExpression::ToJavaScript(CFX_WideTextBuf& javascript) {
-  javascript << FX_WSTRC(L"while (");
+  javascript << L"while (";
   m_pCondition->ToJavaScript(javascript);
-  javascript << FX_WSTRC(L")\n");
+  javascript << L")\n";
   m_pExpression->ToJavaScript(javascript);
 }
 
 void CXFA_FMWhileExpression::ToImpliedReturnJS(CFX_WideTextBuf& javascript) {
   javascript << RUNTIMEFUNCTIONRETURNVALUE;
-  javascript << FX_WSTRC(L" = 0;\n");
-  javascript << FX_WSTRC(L"while (");
+  javascript << L" = 0;\n";
+  javascript << L"while (";
   m_pCondition->ToJavaScript(javascript);
-  javascript << FX_WSTRC(L")\n");
+  javascript << L")\n";
   m_pExpression->ToImpliedReturnJS(javascript);
 }
 
@@ -341,14 +341,14 @@
 
 void CXFA_FMBreakExpression::ToJavaScript(CFX_WideTextBuf& javascript) {
   javascript << RUNTIMEFUNCTIONRETURNVALUE;
-  javascript << FX_WSTRC(L" = 0;\n");
-  javascript << FX_WSTRC(L"break;\n");
+  javascript << L" = 0;\n";
+  javascript << L"break;\n";
 }
 
 void CXFA_FMBreakExpression::ToImpliedReturnJS(CFX_WideTextBuf& javascript) {
   javascript << RUNTIMEFUNCTIONRETURNVALUE;
-  javascript << FX_WSTRC(L" = 0;\n");
-  javascript << FX_WSTRC(L"break;\n");
+  javascript << L" = 0;\n";
+  javascript << L"break;\n";
 }
 
 CXFA_FMContinueExpression::CXFA_FMContinueExpression(uint32_t line)
@@ -358,14 +358,14 @@
 
 void CXFA_FMContinueExpression::ToJavaScript(CFX_WideTextBuf& javascript) {
   javascript << RUNTIMEFUNCTIONRETURNVALUE;
-  javascript << FX_WSTRC(L" = 0;\n");
-  javascript << FX_WSTRC(L"continue;\n");
+  javascript << L" = 0;\n";
+  javascript << L"continue;\n";
 }
 
 void CXFA_FMContinueExpression::ToImpliedReturnJS(CFX_WideTextBuf& javascript) {
   javascript << RUNTIMEFUNCTIONRETURNVALUE;
-  javascript << FX_WSTRC(L" = 0;\n");
-  javascript << FX_WSTRC(L"continue;\n");
+  javascript << L" = 0;\n";
+  javascript << L"continue;\n";
 }
 
 CXFA_FMForExpression::CXFA_FMForExpression(
@@ -387,7 +387,7 @@
 CXFA_FMForExpression::~CXFA_FMForExpression() {}
 
 void CXFA_FMForExpression::ToJavaScript(CFX_WideTextBuf& javascript) {
-  javascript << FX_WSTRC(L"{\nvar ");
+  javascript << L"{\nvar ";
   CFX_WideString tempVariant;
   if (m_wsVariant.GetAt(0) == L'!') {
     tempVariant = EXCLAMATION_IN_IDENTIFIER + m_wsVariant.Mid(1);
@@ -396,49 +396,49 @@
     tempVariant = m_wsVariant;
     javascript << m_wsVariant;
   }
-  javascript << FX_WSTRC(L" = null;\n");
-  javascript << FX_WSTRC(L"for (");
+  javascript << L" = null;\n";
+  javascript << L"for (";
   javascript << tempVariant;
-  javascript << FX_WSTRC(L" = ");
+  javascript << L" = ";
   javascript << XFA_FM_EXPTypeToString(GETFMVALUE);
-  javascript << FX_WSTRC(L"(");
+  javascript << L"(";
   m_pAssignment->ToJavaScript(javascript);
-  javascript << FX_WSTRC(L"); ");
+  javascript << L"); ";
   javascript << tempVariant;
   if (m_iDirection == 1) {
-    javascript << FX_WSTRC(L" <= ");
+    javascript << L" <= ";
     javascript << XFA_FM_EXPTypeToString(GETFMVALUE);
-    javascript << FX_WSTRC(L"(");
+    javascript << L"(";
     m_pAccessor->ToJavaScript(javascript);
-    javascript << FX_WSTRC(L"); ");
+    javascript << L"); ";
     javascript << tempVariant;
-    javascript << FX_WSTRC(L" += ");
+    javascript << L" += ";
   } else {
-    javascript << FX_WSTRC(L" >= ");
+    javascript << L" >= ";
     javascript << XFA_FM_EXPTypeToString(GETFMVALUE);
-    javascript << FX_WSTRC(L"(");
+    javascript << L"(";
     m_pAccessor->ToJavaScript(javascript);
-    javascript << FX_WSTRC(L"); ");
+    javascript << L"); ";
     javascript << tempVariant;
-    javascript << FX_WSTRC(L" -= ");
+    javascript << L" -= ";
   }
   if (m_pStep) {
     javascript << XFA_FM_EXPTypeToString(GETFMVALUE);
-    javascript << FX_WSTRC(L"(");
+    javascript << L"(";
     m_pStep->ToJavaScript(javascript);
-    javascript << FX_WSTRC(L")");
+    javascript << L")";
   } else {
-    javascript << FX_WSTRC(L"1");
+    javascript << L"1";
   }
-  javascript << FX_WSTRC(L")\n");
+  javascript << L")\n";
   m_pList->ToJavaScript(javascript);
-  javascript << FX_WSTRC(L"}\n");
+  javascript << L"}\n";
 }
 
 void CXFA_FMForExpression::ToImpliedReturnJS(CFX_WideTextBuf& javascript) {
   javascript << RUNTIMEFUNCTIONRETURNVALUE;
-  javascript << FX_WSTRC(L" = 0;\n");
-  javascript << FX_WSTRC(L"{\nvar ");
+  javascript << L" = 0;\n";
+  javascript << L"{\nvar ";
   CFX_WideString tempVariant;
   if (m_wsVariant.GetAt(0) == L'!') {
     tempVariant = EXCLAMATION_IN_IDENTIFIER + m_wsVariant.Mid(1);
@@ -447,43 +447,43 @@
     tempVariant = m_wsVariant;
     javascript << m_wsVariant;
   }
-  javascript << FX_WSTRC(L" = null;\n");
-  javascript << FX_WSTRC(L"for (");
+  javascript << L" = null;\n";
+  javascript << L"for (";
   javascript << tempVariant;
-  javascript << FX_WSTRC(L" = ");
+  javascript << L" = ";
   javascript << XFA_FM_EXPTypeToString(GETFMVALUE);
-  javascript << FX_WSTRC(L"(");
+  javascript << L"(";
   m_pAssignment->ToJavaScript(javascript);
-  javascript << FX_WSTRC(L"); ");
+  javascript << L"); ";
   javascript << tempVariant;
   if (m_iDirection == 1) {
-    javascript << FX_WSTRC(L" <= ");
+    javascript << L" <= ";
     javascript << XFA_FM_EXPTypeToString(GETFMVALUE);
-    javascript << FX_WSTRC(L"(");
+    javascript << L"(";
     m_pAccessor->ToJavaScript(javascript);
-    javascript << FX_WSTRC(L"); ");
+    javascript << L"); ";
     javascript << tempVariant;
-    javascript << FX_WSTRC(L" += ");
+    javascript << L" += ";
   } else {
-    javascript << FX_WSTRC(L" >= ");
+    javascript << L" >= ";
     javascript << XFA_FM_EXPTypeToString(GETFMVALUE);
-    javascript << FX_WSTRC(L"(");
+    javascript << L"(";
     m_pAccessor->ToJavaScript(javascript);
-    javascript << FX_WSTRC(L"); ");
+    javascript << L"); ";
     javascript << tempVariant;
-    javascript << FX_WSTRC(L" -= ");
+    javascript << L" -= ";
   }
   if (m_pStep) {
     javascript << XFA_FM_EXPTypeToString(GETFMVALUE);
-    javascript << FX_WSTRC(L"(");
+    javascript << L"(";
     m_pStep->ToJavaScript(javascript);
-    javascript << FX_WSTRC(L")");
+    javascript << L")";
   } else {
-    javascript << FX_WSTRC(L"1");
+    javascript << L"1";
   }
-  javascript << FX_WSTRC(L")\n");
+  javascript << L")\n";
   m_pList->ToImpliedReturnJS(javascript);
-  javascript << FX_WSTRC(L"}\n");
+  javascript << L"}\n";
 }
 
 CXFA_FMForeachExpression::CXFA_FMForeachExpression(
@@ -499,8 +499,8 @@
 CXFA_FMForeachExpression::~CXFA_FMForeachExpression() {}
 
 void CXFA_FMForeachExpression::ToJavaScript(CFX_WideTextBuf& javascript) {
-  javascript << FX_WSTRC(L"{\n");
-  javascript << FX_WSTRC(L"var ");
+  javascript << L"{\n";
+  javascript << L"var ";
   if (m_wsIdentifier.GetAt(0) == L'!') {
     CFX_WideString tempIdentifier =
         EXCLAMATION_IN_IDENTIFIER + m_wsIdentifier.Mid(1);
@@ -508,27 +508,27 @@
   } else {
     javascript << m_wsIdentifier;
   }
-  javascript << FX_WSTRC(L" = null;\n");
-  javascript << FX_WSTRC(L"var ");
+  javascript << L" = null;\n";
+  javascript << L"var ";
   javascript << RUNTIMEBLOCKTEMPARRAY;
-  javascript << FX_WSTRC(L" = ");
+  javascript << L" = ";
   javascript << XFA_FM_EXPTypeToString(CONCATFMOBJECT);
-  javascript << FX_WSTRC(L"(");
+  javascript << L"(";
 
   for (const auto& expr : m_pAccessors) {
     expr->ToJavaScript(javascript);
     if (expr != m_pAccessors.back())
       javascript << L", ";
   }
-  javascript << FX_WSTRC(L");\n");
-  javascript << FX_WSTRC(L"var ");
+  javascript << L");\n";
+  javascript << L"var ";
   javascript << RUNTIMEBLOCKTEMPARRAYINDEX;
-  javascript << FX_WSTRC(L" = 0;\n");
-  javascript << FX_WSTRC(L"while(");
+  javascript << (L" = 0;\n");
+  javascript << L"while(";
   javascript << RUNTIMEBLOCKTEMPARRAYINDEX;
-  javascript << FX_WSTRC(L" < ");
+  javascript << L" < ";
   javascript << RUNTIMEBLOCKTEMPARRAY;
-  javascript << FX_WSTRC(L".length)\n{\n");
+  javascript << L".length)\n{\n";
   if (m_wsIdentifier.GetAt(0) == L'!') {
     CFX_WideString tempIdentifier =
         EXCLAMATION_IN_IDENTIFIER + m_wsIdentifier.Mid(1);
@@ -536,21 +536,21 @@
   } else {
     javascript << m_wsIdentifier;
   }
-  javascript << FX_WSTRC(L" = ");
+  javascript << L" = ";
   javascript << RUNTIMEBLOCKTEMPARRAY;
-  javascript << FX_WSTRC(L"[");
+  javascript << L"[";
   javascript << RUNTIMEBLOCKTEMPARRAYINDEX;
-  javascript << FX_WSTRC(L"++];\n");
+  javascript << L"++];\n";
   m_pList->ToJavaScript(javascript);
-  javascript << FX_WSTRC(L"}\n");
-  javascript << FX_WSTRC(L"}\n");
+  javascript << L"}\n";
+  javascript << L"}\n";
 }
 
 void CXFA_FMForeachExpression::ToImpliedReturnJS(CFX_WideTextBuf& javascript) {
   javascript << RUNTIMEFUNCTIONRETURNVALUE;
-  javascript << FX_WSTRC(L" = 0;\n");
-  javascript << FX_WSTRC(L"{\n");
-  javascript << FX_WSTRC(L"var ");
+  javascript << L" = 0;\n";
+  javascript << L"{\n";
+  javascript << L"var ";
   if (m_wsIdentifier.GetAt(0) == L'!') {
     CFX_WideString tempIdentifier =
         EXCLAMATION_IN_IDENTIFIER + m_wsIdentifier.Mid(1);
@@ -558,26 +558,26 @@
   } else {
     javascript << m_wsIdentifier;
   }
-  javascript << FX_WSTRC(L" = null;\n");
-  javascript << FX_WSTRC(L"var ");
+  javascript << L" = null;\n";
+  javascript << L"var ";
   javascript << RUNTIMEBLOCKTEMPARRAY;
-  javascript << FX_WSTRC(L" = ");
+  javascript << L" = ";
   javascript << XFA_FM_EXPTypeToString(CONCATFMOBJECT);
-  javascript << FX_WSTRC(L"(");
+  javascript << L"(";
   for (const auto& expr : m_pAccessors) {
     expr->ToJavaScript(javascript);
     if (expr != m_pAccessors.back())
       javascript << L", ";
   }
-  javascript << FX_WSTRC(L");\n");
-  javascript << FX_WSTRC(L"var ");
+  javascript << L");\n";
+  javascript << L"var ";
   javascript << RUNTIMEBLOCKTEMPARRAYINDEX;
-  javascript << FX_WSTRC(L" = 0;\n");
-  javascript << FX_WSTRC(L"while(");
+  javascript << L" = 0;\n";
+  javascript << L"while(";
   javascript << RUNTIMEBLOCKTEMPARRAYINDEX;
-  javascript << FX_WSTRC(L" < ");
+  javascript << L" < ";
   javascript << RUNTIMEBLOCKTEMPARRAY;
-  javascript << FX_WSTRC(L".length)\n{\n");
+  javascript << L".length)\n{\n";
   if (m_wsIdentifier.GetAt(0) == L'!') {
     CFX_WideString tempIdentifier =
         EXCLAMATION_IN_IDENTIFIER + m_wsIdentifier.Mid(1);
@@ -585,12 +585,12 @@
   } else {
     javascript << m_wsIdentifier;
   }
-  javascript << FX_WSTRC(L" = ");
+  javascript << L" = ";
   javascript << RUNTIMEBLOCKTEMPARRAY;
-  javascript << FX_WSTRC(L"[");
+  javascript << L"[";
   javascript << RUNTIMEBLOCKTEMPARRAYINDEX;
-  javascript << FX_WSTRC(L"++];\n");
+  javascript << L"++];\n";
   m_pList->ToImpliedReturnJS(javascript);
-  javascript << FX_WSTRC(L"}\n");
-  javascript << FX_WSTRC(L"}\n");
+  javascript << L"}\n";
+  javascript << L"}\n";
 }
diff --git a/xfa/fxfa/fm2js/xfa_fm2jscontext.cpp b/xfa/fxfa/fm2js/xfa_fm2jscontext.cpp
index b307687..ba65bef 100644
--- a/xfa/fxfa/fm2js/xfa_fm2jscontext.cpp
+++ b/xfa/fxfa/fm2js/xfa_fm2jscontext.cpp
@@ -409,30 +409,30 @@
 bool PatternStringType(const CFX_ByteStringC& szPattern,
                        uint32_t& patternType) {
   CFX_WideString wsPattern = CFX_WideString::FromUTF8(szPattern);
-  if (FX_WSTRC(L"datetime") == wsPattern.Left(8)) {
+  if (L"datetime" == wsPattern.Left(8)) {
     patternType = XFA_VT_DATETIME;
     return true;
   }
-  if (FX_WSTRC(L"date") == wsPattern.Left(4)) {
+  if (L"date" == wsPattern.Left(4)) {
     patternType = wsPattern.Find(L"time") > 0 ? XFA_VT_DATETIME : XFA_VT_DATE;
     return true;
   }
-  if (FX_WSTRC(L"time") == wsPattern.Left(4)) {
+  if (L"time" == wsPattern.Left(4)) {
     patternType = XFA_VT_TIME;
     return true;
   }
-  if (FX_WSTRC(L"text") == wsPattern.Left(4)) {
+  if (L"text" == wsPattern.Left(4)) {
     patternType = XFA_VT_TEXT;
     return true;
   }
-  if (FX_WSTRC(L"num") == wsPattern.Left(3)) {
-    if (FX_WSTRC(L"integer") == wsPattern.Mid(4, 7)) {
+  if (L"num" == wsPattern.Left(3)) {
+    if (L"integer" == wsPattern.Mid(4, 7)) {
       patternType = XFA_VT_INTEGER;
-    } else if (FX_WSTRC(L"decimal") == wsPattern.Mid(4, 7)) {
+    } else if (L"decimal" == wsPattern.Mid(4, 7)) {
       patternType = XFA_VT_DECIMAL;
-    } else if (FX_WSTRC(L"currency") == wsPattern.Mid(4, 8)) {
+    } else if (L"currency" == wsPattern.Mid(4, 8)) {
       patternType = XFA_VT_FLOAT;
-    } else if (FX_WSTRC(L"percent") == wsPattern.Mid(4, 7)) {
+    } else if (L"percent" == wsPattern.Mid(4, 7)) {
       patternType = XFA_VT_FLOAT;
     } else {
       patternType = XFA_VT_FLOAT;
@@ -3685,7 +3685,7 @@
         int32_t iIndex = ch / 16;
         strEncode[1] = strCode[iIndex];
         strEncode[2] = strCode[ch - iIndex * 16];
-        wsResultBuf << FX_WSTRC(strEncode);
+        wsResultBuf << strEncode;
         break;
       }
       ++i;
@@ -3700,7 +3700,7 @@
         int32_t iIndex = ch / 16;
         strEncode[1] = strCode[iIndex];
         strEncode[2] = strCode[ch - iIndex * 16];
-        wsResultBuf << FX_WSTRC(strEncode);
+        wsResultBuf << strEncode;
         break;
       }
       ++i;
@@ -3724,7 +3724,7 @@
       int32_t iIndex = ch / 16;
       strEncode[1] = strCode[iIndex];
       strEncode[2] = strCode[ch - iIndex * 16];
-      wsResultBuf << FX_WSTRC(strEncode);
+      wsResultBuf << strEncode;
     } else if (ch >= 0x20 && ch <= 0x7e) {
       wsResultBuf.AppendChar(ch);
     } else {
@@ -3750,12 +3750,12 @@
         strEncode[2] = strTmp.GetAt(iLen - 2);
         iIndex = iLen - 3;
       }
-      wsResultBuf << FX_WSTRC(strEncode);
+      wsResultBuf << strEncode;
       while (iIndex > 0) {
         strEncode[1] = strTmp.GetAt(iIndex);
         strEncode[2] = strTmp.GetAt(iIndex - 1);
         iIndex -= 2;
-        wsResultBuf << FX_WSTRC(strEncode);
+        wsResultBuf << strEncode;
       }
     }
   }
@@ -3799,7 +3799,7 @@
       strEncode[4] = strCode[ch - iIndex * 16];
       strEncode[5] = ';';
       strEncode[6] = 0;
-      wsResultBuf << FX_WSTRC(strEncode);
+      wsResultBuf << strEncode;
     } else {
       int32_t iBigByte = ch / 256;
       int32_t iLittleByte = ch % 256;
@@ -3807,7 +3807,7 @@
       strEncode[4] = strCode[iBigByte % 16];
       strEncode[5] = strCode[iLittleByte / 16];
       strEncode[6] = strCode[iLittleByte % 16];
-      wsResultBuf << FX_WSTRC(strEncode);
+      wsResultBuf << strEncode;
     }
     ++i;
   }
@@ -3870,7 +3870,7 @@
           strEncode[4] = strCode[ch - iIndex * 16];
           strEncode[5] = ';';
           strEncode[6] = 0;
-          wsResultBuf << FX_WSTRC(strEncode);
+          wsResultBuf << strEncode;
         } else {
           int32_t iBigByte = ch / 256;
           int32_t iLittleByte = ch % 256;
@@ -3878,7 +3878,7 @@
           strEncode[4] = strCode[iBigByte % 16];
           strEncode[5] = strCode[iLittleByte / 16];
           strEncode[6] = strCode[iLittleByte % 16];
-          wsResultBuf << FX_WSTRC(strEncode);
+          wsResultBuf << strEncode;
         }
         break;
       }
@@ -6149,7 +6149,7 @@
         if (CXFA_Node* pXFANode = pNode->AsNode())
           pXFANode->GetAttribute(XFA_ATTRIBUTE_Name, wsName, false);
         if (wsName.IsEmpty())
-          wsName = FX_WSTRC(L"#") + pNode->GetClassName();
+          wsName = L"#" + pNode->GetClassName();
 
         wsSomExpression = wsName + wsSomExpression;
         dFlags = XFA_RESOLVENODE_Siblings;
diff --git a/xfa/fxfa/fm2js/xfa_fmparse.cpp b/xfa/fxfa/fm2js/xfa_fmparse.cpp
index 2dfdfdb..52161e8c 100644
--- a/xfa/fxfa/fm2js/xfa_fmparse.cpp
+++ b/xfa/fxfa/fm2js/xfa_fmparse.cpp
@@ -847,7 +847,7 @@
     m_lexer->SetCurrentLine(line);
     m_pToken = new CXFA_FMToken(line);
     m_pToken->m_type = TOKidentifier;
-    m_pToken->m_wstring = FX_WSTRC(L"if");
+    m_pToken->m_wstring = L"if";
     m_lexer->SetToken(m_pToken);
     m_lexer->RestorePos(pStartPos);
     return ParseExpExpression();
diff --git a/xfa/fxfa/fm2js/xfa_simpleexpression.cpp b/xfa/fxfa/fm2js/xfa_simpleexpression.cpp
index 342fe9f..686ddaa 100644
--- a/xfa/fxfa/fm2js/xfa_simpleexpression.cpp
+++ b/xfa/fxfa/fm2js/xfa_simpleexpression.cpp
@@ -132,7 +132,7 @@
     : CXFA_FMSimpleExpression(line, TOKnull) {}
 
 void CXFA_FMNullExpression::ToJavaScript(CFX_WideTextBuf& javascript) {
-  javascript << FX_WSTRC(L"null");
+  javascript << L"null";
 }
 
 CXFA_FMNumberExpression::CXFA_FMNumberExpression(uint32_t line,
@@ -161,12 +161,12 @@
       switch (oneChar) {
         case L'\"': {
           i++;
-          javascript << FX_WSTRC(L"\\\"");
+          javascript << L"\\\"";
         } break;
         case 0x0d:
           break;
         case 0x0a: {
-          javascript << FX_WSTRC(L"\\n");
+          javascript << L"\\n";
         } break;
         default: { javascript.AppendChar(oneChar); } break;
       }
@@ -187,22 +187,22 @@
 
 void CXFA_FMIdentifierExpression::ToJavaScript(CFX_WideTextBuf& javascript) {
   CFX_WideString tempStr(m_wsIdentifier);
-  if (tempStr == FX_WSTRC(L"$")) {
-    tempStr = FX_WSTRC(L"this");
-  } else if (tempStr == FX_WSTRC(L"!")) {
-    tempStr = FX_WSTRC(L"xfa.datasets");
-  } else if (tempStr == FX_WSTRC(L"$data")) {
-    tempStr = FX_WSTRC(L"xfa.datasets.data");
-  } else if (tempStr == FX_WSTRC(L"$event")) {
-    tempStr = FX_WSTRC(L"xfa.event");
-  } else if (tempStr == FX_WSTRC(L"$form")) {
-    tempStr = FX_WSTRC(L"xfa.form");
-  } else if (tempStr == FX_WSTRC(L"$host")) {
-    tempStr = FX_WSTRC(L"xfa.host");
-  } else if (tempStr == FX_WSTRC(L"$layout")) {
-    tempStr = FX_WSTRC(L"xfa.layout");
-  } else if (tempStr == FX_WSTRC(L"$template")) {
-    tempStr = FX_WSTRC(L"xfa.template");
+  if (tempStr == L"$") {
+    tempStr = L"this";
+  } else if (tempStr == L"!") {
+    tempStr = L"xfa.datasets";
+  } else if (tempStr == L"$data") {
+    tempStr = L"xfa.datasets.data";
+  } else if (tempStr == L"$event") {
+    tempStr = L"xfa.event";
+  } else if (tempStr == L"$form") {
+    tempStr = L"xfa.form";
+  } else if (tempStr == L"$host") {
+    tempStr = L"xfa.host";
+  } else if (tempStr == L"$layout") {
+    tempStr = L"xfa.layout";
+  } else if (tempStr == L"$template") {
+    tempStr = L"xfa.template";
   } else if (tempStr[0] == L'!') {
     tempStr = EXCLAMATION_IN_IDENTIFIER + tempStr.Mid(1);
   }
@@ -240,62 +240,62 @@
     : CXFA_FMBinExpression(line, op, std::move(pExp1), std::move(pExp2)) {}
 
 void CXFA_FMAssignExpression::ToJavaScript(CFX_WideTextBuf& javascript) {
-  javascript << FX_WSTRC(L"if (");
+  javascript << L"if (";
   javascript << gs_lpStrExpFuncName[ISFMOBJECT];
-  javascript << FX_WSTRC(L"(");
+  javascript << L"(";
   m_pExp1->ToJavaScript(javascript);
-  javascript << FX_WSTRC(L"))\n{\n");
+  javascript << L"))\n{\n";
   javascript << gs_lpStrExpFuncName[ASSIGN];
-  javascript << FX_WSTRC(L"(");
+  javascript << L"(";
   m_pExp1->ToJavaScript(javascript);
-  javascript << FX_WSTRC(L", ");
+  javascript << L", ";
   m_pExp2->ToJavaScript(javascript);
-  javascript << FX_WSTRC(L");\n}\n");
+  javascript << L");\n}\n";
   CFX_WideTextBuf tempExp1;
   m_pExp1->ToJavaScript(tempExp1);
   if (m_pExp1->GetOperatorToken() == TOKidentifier &&
-      tempExp1.AsStringC() != FX_WSTRC(L"this")) {
-    javascript << FX_WSTRC(L"else\n{\n");
+      tempExp1.AsStringC() != L"this") {
+    javascript << L"else\n{\n";
     javascript << tempExp1;
-    javascript << FX_WSTRC(L" = ");
+    javascript << L" = ";
     javascript << gs_lpStrExpFuncName[ASSIGN];
-    javascript << FX_WSTRC(L"(");
+    javascript << L"(";
     m_pExp1->ToJavaScript(javascript);
-    javascript << FX_WSTRC(L", ");
+    javascript << L", ";
     m_pExp2->ToJavaScript(javascript);
-    javascript << FX_WSTRC(L");\n}\n");
+    javascript << L");\n}\n";
   }
 }
 
 void CXFA_FMAssignExpression::ToImpliedReturnJS(CFX_WideTextBuf& javascript) {
-  javascript << FX_WSTRC(L"if (");
+  javascript << L"if (";
   javascript << gs_lpStrExpFuncName[ISFMOBJECT];
-  javascript << FX_WSTRC(L"(");
+  javascript << L"(";
   m_pExp1->ToJavaScript(javascript);
-  javascript << FX_WSTRC(L"))\n{\n");
+  javascript << L"))\n{\n";
   javascript << RUNTIMEFUNCTIONRETURNVALUE;
-  javascript << FX_WSTRC(L" = ");
+  javascript << L" = ";
   javascript << gs_lpStrExpFuncName[ASSIGN];
-  javascript << FX_WSTRC(L"(");
+  javascript << L"(";
   m_pExp1->ToJavaScript(javascript);
-  javascript << FX_WSTRC(L", ");
+  javascript << L", ";
   m_pExp2->ToJavaScript(javascript);
-  javascript << FX_WSTRC(L");\n}\n");
+  javascript << L");\n}\n";
   CFX_WideTextBuf tempExp1;
   m_pExp1->ToJavaScript(tempExp1);
   if (m_pExp1->GetOperatorToken() == TOKidentifier &&
-      tempExp1.AsStringC() != FX_WSTRC(L"this")) {
-    javascript << FX_WSTRC(L"else\n{\n");
+      tempExp1.AsStringC() != L"this") {
+    javascript << L"else\n{\n";
     javascript << RUNTIMEFUNCTIONRETURNVALUE;
-    javascript << FX_WSTRC(L" = ");
+    javascript << L" = ";
     javascript << tempExp1;
-    javascript << FX_WSTRC(L" = ");
+    javascript << L" = ";
     javascript << gs_lpStrExpFuncName[ASSIGN];
-    javascript << FX_WSTRC(L"(");
+    javascript << L"(";
     m_pExp1->ToJavaScript(javascript);
-    javascript << FX_WSTRC(L", ");
+    javascript << L", ";
     m_pExp2->ToJavaScript(javascript);
-    javascript << FX_WSTRC(L");\n}\n");
+    javascript << L");\n}\n";
   }
 }
 
@@ -308,11 +308,11 @@
 
 void CXFA_FMLogicalOrExpression::ToJavaScript(CFX_WideTextBuf& javascript) {
   javascript << gs_lpStrExpFuncName[LOGICALOR];
-  javascript << FX_WSTRC(L"(");
+  javascript << L"(";
   m_pExp1->ToJavaScript(javascript);
-  javascript << FX_WSTRC(L", ");
+  javascript << L", ";
   m_pExp2->ToJavaScript(javascript);
-  javascript << FX_WSTRC(L")");
+  javascript << L")";
 }
 
 CXFA_FMLogicalAndExpression::CXFA_FMLogicalAndExpression(
@@ -324,11 +324,11 @@
 
 void CXFA_FMLogicalAndExpression::ToJavaScript(CFX_WideTextBuf& javascript) {
   javascript << gs_lpStrExpFuncName[LOGICALAND];
-  javascript << FX_WSTRC(L"(");
+  javascript << L"(";
   m_pExp1->ToJavaScript(javascript);
-  javascript << FX_WSTRC(L", ");
+  javascript << L", ";
   m_pExp2->ToJavaScript(javascript);
-  javascript << FX_WSTRC(L")");
+  javascript << L")";
 }
 
 CXFA_FMEqualityExpression::CXFA_FMEqualityExpression(
@@ -352,11 +352,11 @@
       ASSERT(false);
       break;
   }
-  javascript << FX_WSTRC(L"(");
+  javascript << L"(";
   m_pExp1->ToJavaScript(javascript);
-  javascript << FX_WSTRC(L", ");
+  javascript << L", ";
   m_pExp2->ToJavaScript(javascript);
-  javascript << FX_WSTRC(L")");
+  javascript << L")";
 }
 
 CXFA_FMRelationalExpression::CXFA_FMRelationalExpression(
@@ -388,11 +388,11 @@
       ASSERT(false);
       break;
   }
-  javascript << FX_WSTRC(L"(");
+  javascript << L"(";
   m_pExp1->ToJavaScript(javascript);
-  javascript << FX_WSTRC(L", ");
+  javascript << L", ";
   m_pExp2->ToJavaScript(javascript);
-  javascript << FX_WSTRC(L")");
+  javascript << L")";
 }
 
 CXFA_FMAdditiveExpression::CXFA_FMAdditiveExpression(
@@ -414,11 +414,11 @@
       ASSERT(false);
       break;
   }
-  javascript << FX_WSTRC(L"(");
+  javascript << L"(";
   m_pExp1->ToJavaScript(javascript);
-  javascript << FX_WSTRC(L", ");
+  javascript << L", ";
   m_pExp2->ToJavaScript(javascript);
-  javascript << FX_WSTRC(L")");
+  javascript << L")";
 }
 
 CXFA_FMMultiplicativeExpression::CXFA_FMMultiplicativeExpression(
@@ -441,11 +441,11 @@
       ASSERT(false);
       break;
   }
-  javascript << FX_WSTRC(L"(");
+  javascript << L"(";
   m_pExp1->ToJavaScript(javascript);
-  javascript << FX_WSTRC(L", ");
+  javascript << L", ";
   m_pExp2->ToJavaScript(javascript);
-  javascript << FX_WSTRC(L")");
+  javascript << L")";
 }
 
 CXFA_FMPosExpression::CXFA_FMPosExpression(
@@ -455,9 +455,9 @@
 
 void CXFA_FMPosExpression::ToJavaScript(CFX_WideTextBuf& javascript) {
   javascript << gs_lpStrExpFuncName[POSITIVE];
-  javascript << FX_WSTRC(L"(");
+  javascript << L"(";
   m_pExp->ToJavaScript(javascript);
-  javascript << FX_WSTRC(L")");
+  javascript << L")";
 }
 
 CXFA_FMNegExpression::CXFA_FMNegExpression(
@@ -467,9 +467,9 @@
 
 void CXFA_FMNegExpression::ToJavaScript(CFX_WideTextBuf& javascript) {
   javascript << gs_lpStrExpFuncName[NEGATIVE];
-  javascript << FX_WSTRC(L"(");
+  javascript << L"(";
   m_pExp->ToJavaScript(javascript);
-  javascript << FX_WSTRC(L")");
+  javascript << L")";
 }
 
 CXFA_FMNotExpression::CXFA_FMNotExpression(
@@ -479,9 +479,9 @@
 
 void CXFA_FMNotExpression::ToJavaScript(CFX_WideTextBuf& javascript) {
   javascript << gs_lpStrExpFuncName[NOT];
-  javascript << FX_WSTRC(L"(");
+  javascript << L"(";
   m_pExp->ToJavaScript(javascript);
-  javascript << FX_WSTRC(L")");
+  javascript << L")";
 }
 
 CXFA_FMCallExpression::CXFA_FMCallExpression(
@@ -574,12 +574,12 @@
     bool isEvalFunc = false;
     bool isExistsFunc = false;
     if (IsBuildInFunc(&funcName)) {
-      if (funcName.AsStringC() == FX_WSTRC(L"Eval")) {
+      if (funcName.AsStringC() == L"Eval") {
         isEvalFunc = true;
-        javascript << FX_WSTRC(L"eval.call(this, ");
+        javascript << L"eval.call(this, ";
         javascript << gs_lpStrExpFuncName[CALL];
-        javascript << FX_WSTRC(L"Translate");
-      } else if (funcName.AsStringC() == FX_WSTRC(L"Exists")) {
+        javascript << L"Translate";
+      } else if (funcName.AsStringC() == L"Exists") {
         isExistsFunc = true;
         javascript << gs_lpStrExpFuncName[CALL];
         javascript << funcName;
@@ -590,19 +590,19 @@
     } else {
       javascript << funcName;
     }
-    javascript << FX_WSTRC(L"(");
+    javascript << L"(";
     if (isExistsFunc) {
-      javascript << FX_WSTRC(L"\n(\nfunction ()\n{\ntry\n{\n");
+      javascript << L"\n(\nfunction ()\n{\ntry\n{\n";
       if (!m_Arguments.empty()) {
         const auto& expr = m_Arguments[0];
-        javascript << FX_WSTRC(L"return ");
+        javascript << L"return ";
         expr->ToJavaScript(javascript);
-        javascript << FX_WSTRC(L";\n}\n");
+        javascript << L";\n}\n";
       } else {
-        javascript << FX_WSTRC(L"return 0;\n}\n");
+        javascript << L"return 0;\n}\n";
       }
-      javascript << FX_WSTRC(
-          L"catch(accessExceptions)\n{\nreturn 0;\n}\n}\n).call(this)\n");
+      javascript
+          << L"catch(accessExceptions)\n{\nreturn 0;\n}\n}\n).call(this)\n";
     } else {
       for (const auto& expr : m_Arguments) {
         expr->ToJavaScript(javascript);
@@ -633,33 +633,33 @@
 
 void CXFA_FMDotAccessorExpression::ToJavaScript(CFX_WideTextBuf& javascript) {
   javascript << gs_lpStrExpFuncName[DOT];
-  javascript << FX_WSTRC(L"(");
+  javascript << L"(";
   if (m_pExp1) {
     m_pExp1->ToJavaScript(javascript);
   } else {
-    javascript << FX_WSTRC(L"null");
+    javascript << L"null";
   }
-  javascript << FX_WSTRC(L", ");
-  javascript << FX_WSTRC(L"\"");
+  javascript << L", ";
+  javascript << L"\"";
   if (m_pExp1 && m_pExp1->GetOperatorToken() == TOKidentifier) {
     m_pExp1->ToJavaScript(javascript);
   }
-  javascript << FX_WSTRC(L"\", ");
+  javascript << L"\", ";
   if (m_op == TOKdotscream) {
-    javascript << FX_WSTRC(L"\"#");
+    javascript << L"\"#";
     javascript << m_wsIdentifier;
-    javascript << FX_WSTRC(L"\", ");
+    javascript << L"\", ";
   } else if (m_op == TOKdotstar) {
-    javascript << FX_WSTRC(L"\"*\", ");
+    javascript << L"\"*\", ";
   } else if (m_op == TOKcall) {
-    javascript << FX_WSTRC(L"\"\", ");
+    javascript << L"\"\", ";
   } else {
-    javascript << FX_WSTRC(L"\"");
+    javascript << L"\"";
     javascript << m_wsIdentifier;
-    javascript << FX_WSTRC(L"\", ");
+    javascript << L"\", ";
   }
   m_pExp2->ToJavaScript(javascript);
-  javascript << FX_WSTRC(L")");
+  javascript << L")";
 }
 
 CXFA_FMIndexExpression::CXFA_FMIndexExpression(
@@ -674,26 +674,26 @@
 void CXFA_FMIndexExpression::ToJavaScript(CFX_WideTextBuf& javascript) {
   switch (m_accessorIndex) {
     case ACCESSOR_NO_INDEX:
-      javascript << FX_WSTRC(L"0");
+      javascript << L"0";
       break;
     case ACCESSOR_NO_RELATIVEINDEX:
-      javascript << FX_WSTRC(L"1");
+      javascript << L"1";
       break;
     case ACCESSOR_POSITIVE_INDEX:
-      javascript << FX_WSTRC(L"2");
+      javascript << L"2";
       break;
     case ACCESSOR_NEGATIVE_INDEX:
-      javascript << FX_WSTRC(L"3");
+      javascript << L"3";
       break;
     default:
-      javascript << FX_WSTRC(L"0");
+      javascript << L"0";
   }
   if (!m_bIsStarIndex) {
-    javascript << FX_WSTRC(L", ");
+    javascript << L", ";
     if (m_pExp) {
       m_pExp->ToJavaScript(javascript);
     } else {
-      javascript << FX_WSTRC(L"0");
+      javascript << L"0";
     }
   }
 }
@@ -715,19 +715,19 @@
 void CXFA_FMDotDotAccessorExpression::ToJavaScript(
     CFX_WideTextBuf& javascript) {
   javascript << gs_lpStrExpFuncName[DOTDOT];
-  javascript << FX_WSTRC(L"(");
+  javascript << L"(";
   m_pExp1->ToJavaScript(javascript);
-  javascript << FX_WSTRC(L", ");
-  javascript << FX_WSTRC(L"\"");
+  javascript << L", ";
+  javascript << L"\"";
   if (m_pExp1 && m_pExp1->GetOperatorToken() == TOKidentifier) {
     m_pExp1->ToJavaScript(javascript);
   }
-  javascript << FX_WSTRC(L"\", ");
-  javascript << FX_WSTRC(L"\"");
+  javascript << L"\", ";
+  javascript << L"\"";
   javascript << m_wsIdentifier;
-  javascript << FX_WSTRC(L"\", ");
+  javascript << L"\", ";
   m_pExp2->ToJavaScript(javascript);
-  javascript << FX_WSTRC(L")");
+  javascript << L")";
 }
 
 CXFA_FMMethodCallExpression::CXFA_FMMethodCallExpression(
@@ -740,22 +740,22 @@
                            std::move(pCallExp)) {}
 
 void CXFA_FMMethodCallExpression::ToJavaScript(CFX_WideTextBuf& javascript) {
-  javascript << FX_WSTRC(L"(\nfunction ()\n{\n");
-  javascript << FX_WSTRC(L"var method_return_value = null;\n");
-  javascript << FX_WSTRC(L"var accessor_object = ");
+  javascript << L"(\nfunction ()\n{\n";
+  javascript << L"var method_return_value = null;\n";
+  javascript << L"var accessor_object = ";
   m_pExp1->ToJavaScript(javascript);
-  javascript << FX_WSTRC(L";\n");
-  javascript << FX_WSTRC(L"if (");
+  javascript << L";\n";
+  javascript << L"if (";
   javascript << gs_lpStrExpFuncName[ISFMARRAY];
-  javascript << FX_WSTRC(L"(accessor_object))\n{\n");
-  javascript << FX_WSTRC(
-      L"for(var index = accessor_object.length - 1; index > 1; index--)\n{\n");
-  javascript << FX_WSTRC(L"method_return_value = accessor_object[index].");
+  javascript << L"(accessor_object))\n{\n";
+  javascript << L"for(var index = accessor_object.length - 1; index > 1; "
+                L"index--)\n{\n";
+  javascript << L"method_return_value = accessor_object[index].";
   m_pExp2->ToJavaScript(javascript);
-  javascript << FX_WSTRC(L";\n}\n}\n");
-  javascript << FX_WSTRC(L"else\n{\nmethod_return_value = accessor_object.");
+  javascript << L";\n}\n}\n";
+  javascript << L"else\n{\nmethod_return_value = accessor_object.";
   m_pExp2->ToJavaScript(javascript);
-  javascript << FX_WSTRC(L";\n}\n");
-  javascript << FX_WSTRC(L"return method_return_value;\n");
-  javascript << FX_WSTRC(L"}\n).call(this)");
+  javascript << L";\n}\n";
+  javascript << L"return method_return_value;\n";
+  javascript << L"}\n).call(this)";
 }
diff --git a/xfa/fxfa/fm2js/xfa_simpleexpression.h b/xfa/fxfa/fm2js/xfa_simpleexpression.h
index 28c37ed..af1d02e 100644
--- a/xfa/fxfa/fm2js/xfa_simpleexpression.h
+++ b/xfa/fxfa/fm2js/xfa_simpleexpression.h
@@ -14,9 +14,8 @@
 #include "xfa/fxfa/fm2js/xfa_lexer.h"
 
 #define RUNTIMEFUNCTIONRETURNVALUE \
-  (FX_WSTRC(L"foxit_xfa_formcalc_runtime_func_return_value"))
-#define EXCLAMATION_IN_IDENTIFIER \
-  (FX_WSTRC(L"foxit_xfa_formcalc__exclamation__"))
+  (L"foxit_xfa_formcalc_runtime_func_return_value")
+#define EXCLAMATION_IN_IDENTIFIER (L"foxit_xfa_formcalc__exclamation__")
 
 enum XFA_FM_SimpleExpressionType {
   ASSIGN,
diff --git a/xfa/fxfa/parser/cscript_hostpseudomodel.cpp b/xfa/fxfa/parser/cscript_hostpseudomodel.cpp
index 97f16f0..eb8177e 100644
--- a/xfa/fxfa/parser/cscript_hostpseudomodel.cpp
+++ b/xfa/fxfa/parser/cscript_hostpseudomodel.cpp
@@ -519,7 +519,7 @@
     return false;
   }
   if (pValueArg->IsNull()) {
-    wsValue = FX_WSTRC(L"");
+    wsValue = L"";
   } else {
     wsValue = pValueArg->ToWideString();
   }
diff --git a/xfa/fxfa/parser/cscript_layoutpseudomodel.cpp b/xfa/fxfa/parser/cscript_layoutpseudomodel.cpp
index a1d1ca5..7c0b93a 100644
--- a/xfa/fxfa/parser/cscript_layoutpseudomodel.cpp
+++ b/xfa/fxfa/parser/cscript_layoutpseudomodel.cpp
@@ -217,13 +217,13 @@
   if (!pLayoutPage) {
     return;
   }
-  if (wsType == FX_WSTRC(L"pageArea")) {
+  if (wsType == L"pageArea") {
     if (CXFA_Node* pMasterPage = pLayoutPage->m_pFormNode) {
       retArray.Add(pMasterPage);
     }
     return;
   }
-  if (wsType == FX_WSTRC(L"contentArea")) {
+  if (wsType == L"contentArea") {
     for (CXFA_LayoutItem* pItem = pLayoutPage->m_pFirstChild; pItem;
          pItem = pItem->m_pNextSibling) {
       if (pItem->m_pFormNode->GetElementType() == XFA_Element::ContentArea) {
@@ -288,13 +288,13 @@
     return;
   }
   XFA_Element eType = XFA_Element::Unknown;
-  if (wsType == FX_WSTRC(L"field")) {
+  if (wsType == L"field") {
     eType = XFA_Element::Field;
-  } else if (wsType == FX_WSTRC(L"draw")) {
+  } else if (wsType == L"draw") {
     eType = XFA_Element::Draw;
-  } else if (wsType == FX_WSTRC(L"subform")) {
+  } else if (wsType == L"subform") {
     eType = XFA_Element::Subform;
-  } else if (wsType == FX_WSTRC(L"area")) {
+  } else if (wsType == L"area") {
     eType = XFA_Element::Area;
   }
   if (eType != XFA_Element::Unknown) {
diff --git a/xfa/fxfa/parser/cxfa_dataexporter.cpp b/xfa/fxfa/parser/cxfa_dataexporter.cpp
index 72d1fa7..fe99475 100644
--- a/xfa/fxfa/parser/cxfa_dataexporter.cpp
+++ b/xfa/fxfa/parser/cxfa_dataexporter.cpp
@@ -24,19 +24,19 @@
   for (int32_t i = 0; i < iLen; i++) {
     switch (str[i]) {
       case '&':
-        textBuf << FX_WSTRC(L"&amp;");
+        textBuf << L"&amp;";
         break;
       case '<':
-        textBuf << FX_WSTRC(L"&lt;");
+        textBuf << L"&lt;";
         break;
       case '>':
-        textBuf << FX_WSTRC(L"&gt;");
+        textBuf << L"&gt;";
         break;
       case '\'':
-        textBuf << FX_WSTRC(L"&apos;");
+        textBuf << L"&apos;";
         break;
       case '\"':
-        textBuf << FX_WSTRC(L"&quot;");
+        textBuf << L"&quot;";
         break;
       default:
         textBuf.AppendChar(str[i]);
@@ -54,20 +54,20 @@
       continue;
 
     if (ch == '&') {
-      textBuf << FX_WSTRC(L"&amp;");
+      textBuf << L"&amp;";
     } else if (ch == '<') {
-      textBuf << FX_WSTRC(L"&lt;");
+      textBuf << L"&lt;";
     } else if (ch == '>') {
-      textBuf << FX_WSTRC(L"&gt;");
+      textBuf << L"&gt;";
     } else if (ch == '\'') {
-      textBuf << FX_WSTRC(L"&apos;");
+      textBuf << L"&apos;";
     } else if (ch == '\"') {
-      textBuf << FX_WSTRC(L"&quot;");
+      textBuf << L"&quot;";
     } else if (ch == ' ') {
       if (i && str.GetAt(i - 1) != ' ') {
         textBuf.AppendChar(' ');
       } else {
-        textBuf << FX_WSTRC(L"&#x20;");
+        textBuf << L"&#x20;";
       }
     } else {
       textBuf.AppendChar(str.GetAt(i));
@@ -87,11 +87,11 @@
     return;
   }
   wsValue = ExportEncodeAttribute(wsValue);
-  wsOutput += FX_WSTRC(L" ");
+  wsOutput += L" ";
   wsOutput += wsName;
-  wsOutput += FX_WSTRC(L"=\"");
+  wsOutput += L"=\"";
   wsOutput += wsValue;
-  wsOutput += FX_WSTRC(L"\"");
+  wsOutput += L"\"";
 }
 
 bool AttributeSaveInDataModel(CXFA_Node* pNode, XFA_ATTRIBUTE eAttribute) {
@@ -190,7 +190,7 @@
       CFX_WideString wsContentType;
       pNode->GetAttribute(XFA_ATTRIBUTE_ContentType, wsContentType, false);
       if (pRawValueNode->GetElementType() == XFA_Element::SharpxHTML &&
-          wsContentType == FX_WSTRC(L"text/html")) {
+          wsContentType == L"text/html") {
         CFDE_XMLNode* pExDataXML = pNode->GetXMLMappingNode();
         if (!pExDataXML)
           break;
@@ -214,7 +214,7 @@
         wsChildren += CFX_WideString::FromUTF8(
             CFX_ByteStringC(pMemStream->GetBuffer(), pMemStream->GetSize()));
       } else if (pRawValueNode->GetElementType() == XFA_Element::Sharpxml &&
-                 wsContentType == FX_WSTRC(L"text/xml")) {
+                 wsContentType == L"text/xml") {
         CFX_WideString wsRawValue;
         pRawValueNode->GetAttribute(XFA_ATTRIBUTE_Value, wsRawValue, false);
         if (wsRawValue.IsEmpty())
@@ -240,20 +240,20 @@
         CFX_WideString bodyTagName;
         bodyTagName = pGrandparentNode->GetCData(XFA_ATTRIBUTE_Name);
         if (bodyTagName.IsEmpty())
-          bodyTagName = FX_WSTRC(L"ListBox1");
+          bodyTagName = L"ListBox1";
 
-        buf << FX_WSTRC(L"<");
+        buf << L"<";
         buf << bodyTagName;
-        buf << FX_WSTRC(L" xmlns=\"\"\n>");
+        buf << L" xmlns=\"\"\n>";
         for (int32_t i = 0; i < pdfium::CollectionSize<int32_t>(wsSelTextArray);
              i++) {
-          buf << FX_WSTRC(L"<value\n>");
+          buf << L"<value\n>";
           buf << ExportEncodeContent(wsSelTextArray[i].AsStringC());
-          buf << FX_WSTRC(L"</value\n>");
+          buf << L"</value\n>";
         }
-        buf << FX_WSTRC(L"</");
+        buf << L"</";
         buf << bodyTagName;
-        buf << FX_WSTRC(L"\n>");
+        buf << L"\n>";
         wsChildren += buf.AsStringC();
         buf.Clear();
       } else {
@@ -305,19 +305,19 @@
       pNode->HasAttribute(XFA_ATTRIBUTE_Name)) {
     CFX_WideStringC wsElement = pNode->GetClassName();
     CFX_WideString wsName;
-    SaveAttribute(pNode, XFA_ATTRIBUTE_Name, FX_WSTRC(L"name"), true, wsName);
-    buf << FX_WSTRC(L"<");
+    SaveAttribute(pNode, XFA_ATTRIBUTE_Name, L"name", true, wsName);
+    buf << L"<";
     buf << wsElement;
     buf << wsName;
     buf << wsAttrs;
     if (wsChildren.IsEmpty()) {
-      buf << FX_WSTRC(L"\n/>");
+      buf << L"\n/>";
     } else {
-      buf << FX_WSTRC(L"\n>");
+      buf << L"\n>";
       buf << wsChildren;
-      buf << FX_WSTRC(L"</");
+      buf << L"</";
       buf << wsElement;
-      buf << FX_WSTRC(L"\n>");
+      buf << L"\n>";
     }
   }
 }
@@ -340,7 +340,7 @@
   pStream->WriteString(L"<", 1);
   pStream->WriteString(wsElement.c_str(), wsElement.GetLength());
   CFX_WideString wsOutput;
-  SaveAttribute(pNode, XFA_ATTRIBUTE_Name, FX_WSTRC(L"name"), true, wsOutput);
+  SaveAttribute(pNode, XFA_ATTRIBUTE_Name, L"name", true, wsOutput);
   CFX_WideString wsAttrs;
   int32_t iAttrs = 0;
   const uint8_t* pAttrs =
@@ -399,10 +399,10 @@
     RecognizeXFAVersionNumber(
         ToNode(pNode->GetDocument()->GetXFAObject(XFA_HASHCODE_Template)),
         wsVersionNumber);
-    if (wsVersionNumber.IsEmpty()) {
-      wsVersionNumber = FX_WSTRC(L"2.8");
-    }
-    wsVersionNumber += FX_WSTRC(L"/\"\n>");
+    if (wsVersionNumber.IsEmpty())
+      wsVersionNumber = L"2.8";
+
+    wsVersionNumber += L"/\"\n>";
     pStream->WriteString(wsVersionNumber.c_str(), wsVersionNumber.GetLength());
     CXFA_Node* pChildNode = pNode->GetNodeItem(XFA_NODEITEM_FirstChild);
     while (pChildNode) {
diff --git a/xfa/fxfa/parser/cxfa_document.cpp b/xfa/fxfa/parser/cxfa_document.cpp
index 374fb98..8ff3c2b 100644
--- a/xfa/fxfa/parser/cxfa_document.cpp
+++ b/xfa/fxfa/parser/cxfa_document.cpp
@@ -272,8 +272,7 @@
   CXFA_Node* pFormFiller = pPDF->GetChild(0, XFA_Element::Interactive);
   if (pFormFiller) {
     m_dwDocFlags |= XFA_DOCFLAG_HasInteractive;
-    if (pFormFiller->TryContent(wsInteractive) &&
-        wsInteractive == FX_WSTRC(L"1")) {
+    if (pFormFiller->TryContent(wsInteractive) && wsInteractive == L"1") {
       m_dwDocFlags |= XFA_DOCFLAG_Interactive;
       return true;
     }
@@ -381,8 +380,7 @@
         wsURI = CFX_WideStringC(wsUseVal.c_str(), uSharpPos);
         FX_STRSIZE uLen = wsUseVal.GetLength();
         if (uLen >= uSharpPos + 5 &&
-            CFX_WideStringC(wsUseVal.c_str() + uSharpPos, 5) ==
-                FX_WSTRC(L"#som(") &&
+            CFX_WideStringC(wsUseVal.c_str() + uSharpPos, 5) == L"#som(" &&
             wsUseVal[uLen - 1] == ')') {
           wsSOM = CFX_WideStringC(wsUseVal.c_str() + uSharpPos + 5,
                                   uLen - 1 - uSharpPos - 5);
@@ -399,7 +397,7 @@
         wsSOM = CFX_WideStringC(wsUseVal.c_str(), wsUseVal.GetLength());
     }
 
-    if (!wsURI.IsEmpty() && wsURI != FX_WSTRC(L"."))
+    if (!wsURI.IsEmpty() && wsURI != L".")
       continue;
 
     CXFA_Node* pProtoNode = nullptr;
diff --git a/xfa/fxfa/parser/cxfa_image.cpp b/xfa/fxfa/parser/cxfa_image.cpp
index 8061018..8cf7fc1 100644
--- a/xfa/fxfa/parser/cxfa_image.cpp
+++ b/xfa/fxfa/parser/cxfa_image.cpp
@@ -22,7 +22,7 @@
 bool CXFA_Image::GetHref(CFX_WideString& wsHref) {
   if (m_bDefValue)
     return m_pNode->TryCData(XFA_ATTRIBUTE_Href, wsHref);
-  return m_pNode->GetAttribute(FX_WSTRC(L"href"), wsHref);
+  return m_pNode->GetAttribute(L"href", wsHref);
 }
 
 int32_t CXFA_Image::GetTransferEncoding() {
diff --git a/xfa/fxfa/parser/cxfa_layoutpagemgr.cpp b/xfa/fxfa/parser/cxfa_layoutpagemgr.cpp
index 0a057f5..080b06b 100644
--- a/xfa/fxfa/parser/cxfa_layoutpagemgr.cpp
+++ b/xfa/fxfa/parser/cxfa_layoutpagemgr.cpp
@@ -63,9 +63,9 @@
   uint32_t dwRelevant = XFA_WidgetStatus_Viewable | XFA_WidgetStatus_Printable;
   CFX_WideStringC wsRelevant;
   if (pFormItem->TryCData(XFA_ATTRIBUTE_Relevant, wsRelevant)) {
-    if (wsRelevant == FX_WSTRC(L"+print") || wsRelevant == FX_WSTRC(L"print"))
+    if (wsRelevant == L"+print" || wsRelevant == L"print")
       dwRelevant &= ~XFA_WidgetStatus_Viewable;
-    else if (wsRelevant == FX_WSTRC(L"-print"))
+    else if (wsRelevant == L"-print")
       dwRelevant &= ~XFA_WidgetStatus_Printable;
   }
 
@@ -163,8 +163,7 @@
         return pNode;
     } else if (bNewExprStyle) {
       CFX_WideString wsProcessedTarget = wsExpr;
-      if (wsExpr.Left(4) == FX_WSTRC(L"som(") &&
-          wsExpr.Right(1) == FX_WSTRC(L")")) {
+      if (wsExpr.Left(4) == L"som(" && wsExpr.Right(1) == L")") {
         wsProcessedTarget = wsExpr.Mid(4, wsExpr.GetLength() - 5);
       }
       XFA_RESOLVENODE_RS rs;
diff --git a/xfa/fxfa/parser/cxfa_measurement.cpp b/xfa/fxfa/parser/cxfa_measurement.cpp
index b1843a8..ebf7b7b 100644
--- a/xfa/fxfa/parser/cxfa_measurement.cpp
+++ b/xfa/fxfa/parser/cxfa_measurement.cpp
@@ -119,21 +119,21 @@
 }
 
 XFA_UNIT CXFA_Measurement::GetUnit(const CFX_WideStringC& wsUnit) {
-  if (wsUnit == FX_WSTRC(L"mm"))
+  if (wsUnit == L"mm")
     return XFA_UNIT_Mm;
-  if (wsUnit == FX_WSTRC(L"pt"))
+  if (wsUnit == L"pt")
     return XFA_UNIT_Pt;
-  if (wsUnit == FX_WSTRC(L"in"))
+  if (wsUnit == L"in")
     return XFA_UNIT_In;
-  if (wsUnit == FX_WSTRC(L"cm"))
+  if (wsUnit == L"cm")
     return XFA_UNIT_Cm;
-  if (wsUnit == FX_WSTRC(L"pc"))
+  if (wsUnit == L"pc")
     return XFA_UNIT_Pc;
-  if (wsUnit == FX_WSTRC(L"mp"))
+  if (wsUnit == L"mp")
     return XFA_UNIT_Mp;
-  if (wsUnit == FX_WSTRC(L"em"))
+  if (wsUnit == L"em")
     return XFA_UNIT_Em;
-  if (wsUnit == FX_WSTRC(L"%"))
+  if (wsUnit == L"%")
     return XFA_UNIT_Percent;
   return XFA_UNIT_Unknown;
 }
diff --git a/xfa/fxfa/parser/cxfa_node.cpp b/xfa/fxfa/parser/cxfa_node.cpp
index 5411443..0fc114b 100644
--- a/xfa/fxfa/parser/cxfa_node.cpp
+++ b/xfa/fxfa/parser/cxfa_node.cpp
@@ -1097,7 +1097,7 @@
   uint32_t dwFlag = XFA_RESOLVENODE_Siblings | XFA_RESOLVENODE_ALL;
   CFX_WideString wsName;
   GetAttribute(XFA_ATTRIBUTE_Name, wsName);
-  CFX_WideString wsExpression = wsName + FX_WSTRC(L"[*]");
+  CFX_WideString wsExpression = wsName + L"[*]";
   Script_Som_ResolveNodeList(pValue, wsExpression, dwFlag);
 }
 
@@ -1126,8 +1126,7 @@
   }
 
   uint32_t dwFlag = XFA_RESOLVENODE_Siblings | XFA_RESOLVENODE_ALL;
-  CFX_WideString wsExpression =
-      FX_WSTRC(L"#") + GetClassName() + FX_WSTRC(L"[*]");
+  CFX_WideString wsExpression = L"#" + GetClassName() + L"[*]";
   Script_Som_ResolveNodeList(pValue, wsExpression, dwFlag);
 }
 
@@ -2080,7 +2079,7 @@
     SetScriptContent(wsNewValue, wsFormatValue, true, true);
   } else {
     CFX_WideString wsValue = GetScriptContent(true);
-    pValue->SetBoolean(wsValue == FX_WSTRC(L"1"));
+    pValue->SetBoolean(wsValue == L"1");
   }
 }
 
@@ -3616,7 +3615,7 @@
     ThrowInvalidPropertyException();
     return;
   }
-  pValue->SetString(FX_UTF8Encode(FX_WSTRC(L"0")).AsStringC());
+  pValue->SetString(FX_UTF8Encode(CFX_WideStringC(L"0", 1)).AsStringC());
 }
 
 void CXFA_Node::Script_Encrypt_Format(CFXJSE_Value* pValue,
@@ -3652,7 +3651,7 @@
     case XFA_ATTRIBUTETYPE_Cdata:
       return SetCData(pAttr->eName, CFX_WideString(wsValue), bNotify);
     case XFA_ATTRIBUTETYPE_Boolean:
-      return SetBoolean(pAttr->eName, wsValue != FX_WSTRC(L"0"), bNotify);
+      return SetBoolean(pAttr->eName, wsValue != L"0", bNotify);
     case XFA_ATTRIBUTETYPE_Integer:
       return SetInteger(pAttr->eName,
                         FXSYS_round(FXSYS_wcstof(wsValue.c_str(),
@@ -3701,7 +3700,7 @@
       if (!TryBoolean(pAttr->eName, bValue, bUseDefault)) {
         return false;
       }
-      wsValue = bValue ? FX_WSTRC(L"1") : FX_WSTRC(L"0");
+      wsValue = bValue ? L"1" : L"0";
       return true;
     } break;
     case XFA_ATTRIBUTETYPE_Integer: {
@@ -3892,7 +3891,7 @@
     ASSERT(m_pXMLNode->GetType() == FDE_XMLNODE_Element);
     CFX_WideString wsAttrName = pInfo->pName;
     if (pInfo->eName == XFA_ATTRIBUTE_ContentType) {
-      wsAttrName = FX_WSTRC(L"xfa:") + wsAttrName;
+      wsAttrName = L"xfa:" + wsAttrName;
     }
     static_cast<CFDE_XMLElement*>(m_pXMLNode)->SetString(wsAttrName, wsValue);
   }
@@ -4198,16 +4197,16 @@
       CFX_WideString wsContentType;
       if (GetElementType() == XFA_Element::ExData) {
         GetAttribute(XFA_ATTRIBUTE_ContentType, wsContentType, false);
-        if (wsContentType == FX_WSTRC(L"text/html")) {
-          wsContentType = FX_WSTRC(L"");
+        if (wsContentType == L"text/html") {
+          wsContentType = L"";
           SetAttribute(XFA_ATTRIBUTE_ContentType, wsContentType.AsStringC());
         }
       }
       CXFA_Node* pContentRawDataNode = GetNodeItem(XFA_NODEITEM_FirstChild);
       if (!pContentRawDataNode) {
         pContentRawDataNode = CreateSamePacketNode(
-            (wsContentType == FX_WSTRC(L"text/xml")) ? XFA_Element::Sharpxml
-                                                     : XFA_Element::Sharptext);
+            (wsContentType == L"text/xml") ? XFA_Element::Sharpxml
+                                           : XFA_Element::Sharptext);
         InsertChild(pContentRawDataNode);
       }
       return pContentRawDataNode->SetScriptContent(
@@ -4291,8 +4290,7 @@
         }
         CXFA_Node* pChildValue = pValue->GetNodeItem(XFA_NODEITEM_FirstChild);
         if (pChildValue && XFA_FieldIsMultiListBox(this)) {
-          pChildValue->SetAttribute(XFA_ATTRIBUTE_ContentType,
-                                    FX_WSTRC(L"text/xml"));
+          pChildValue->SetAttribute(XFA_ATTRIBUTE_ContentType, L"text/xml");
         }
         return pChildValue
                    ? pChildValue->TryContent(wsContent, bScriptModify, bProto)
@@ -4306,9 +4304,9 @@
         if (GetElementType() == XFA_Element::ExData) {
           CFX_WideString wsContentType;
           GetAttribute(XFA_ATTRIBUTE_ContentType, wsContentType, false);
-          if (wsContentType == FX_WSTRC(L"text/html")) {
+          if (wsContentType == L"text/html") {
             element = XFA_Element::SharpxHTML;
-          } else if (wsContentType == FX_WSTRC(L"text/xml")) {
+          } else if (wsContentType == L"text/xml") {
             element = XFA_Element::Sharpxml;
           }
         }
diff --git a/xfa/fxfa/parser/cxfa_nodehelper.cpp b/xfa/fxfa/parser/cxfa_nodehelper.cpp
index 18a9594..2290892 100644
--- a/xfa/fxfa/parser/cxfa_nodehelper.cpp
+++ b/xfa/fxfa/parser/cxfa_nodehelper.cpp
@@ -330,7 +330,7 @@
       }
     }
     if (bAll) {
-      wsIndex = FX_WSTRC(L"1");
+      wsIndex = L"1";
       m_iCreateFlag = XFA_RESOLVENODE_RSTYPE_CreateNodeAll;
     } else {
       m_iCreateFlag = XFA_RESOLVENODE_RSTYPE_CreateNodeOne;
diff --git a/xfa/fxfa/parser/cxfa_resolveprocessor.cpp b/xfa/fxfa/parser/cxfa_resolveprocessor.cpp
index 9bd3472..3ef4e97 100644
--- a/xfa/fxfa/parser/cxfa_resolveprocessor.cpp
+++ b/xfa/fxfa/parser/cxfa_resolveprocessor.cpp
@@ -681,11 +681,9 @@
   ASSERT(iFoundCount == findNodes.GetSize());
   CFX_WideString wsExpression;
   XFA_SCRIPTLANGTYPE eLangType = XFA_SCRIPTLANGTYPE_Unkown;
-  if (wsCondition.Left(2) == FX_WSTRC(L".[") &&
-      wsCondition.Right(1) == FX_WSTRC(L"]")) {
+  if (wsCondition.Left(2) == L".[" && wsCondition.Right(1) == L"]") {
     eLangType = XFA_SCRIPTLANGTYPE_Formcalc;
-  } else if (wsCondition.Left(2) == FX_WSTRC(L".(") &&
-             wsCondition.Right(1) == FX_WSTRC(L")")) {
+  } else if (wsCondition.Left(2) == L".(" && wsCondition.Right(1) == L")") {
     eLangType = XFA_SCRIPTLANGTYPE_Javascript;
   } else {
     return;
diff --git a/xfa/fxfa/parser/cxfa_script.cpp b/xfa/fxfa/parser/cxfa_script.cpp
index 42911e0..16f65f9 100644
--- a/xfa/fxfa/parser/cxfa_script.cpp
+++ b/xfa/fxfa/parser/cxfa_script.cpp
@@ -13,9 +13,9 @@
 XFA_SCRIPTTYPE CXFA_Script::GetContentType() {
   CFX_WideStringC cData;
   if (m_pNode->TryCData(XFA_ATTRIBUTE_ContentType, cData, false)) {
-    if (cData == FX_WSTRC(L"application/x-javascript"))
+    if (cData == L"application/x-javascript")
       return XFA_SCRIPTTYPE_Javascript;
-    if (cData == FX_WSTRC(L"application/x-formcalc"))
+    if (cData == L"application/x-formcalc")
       return XFA_SCRIPTTYPE_Formcalc;
     return XFA_SCRIPTTYPE_Unkown;
   }
diff --git a/xfa/fxfa/parser/cxfa_scriptcontext.cpp b/xfa/fxfa/parser/cxfa_scriptcontext.cpp
index 44ae9a4..a54ef99 100644
--- a/xfa/fxfa/parser/cxfa_scriptcontext.cpp
+++ b/xfa/fxfa/parser/cxfa_scriptcontext.cpp
@@ -293,7 +293,7 @@
   CXFA_ScriptContext* lpScriptContext =
       pOriginalObject->GetDocument()->GetScriptContext();
   CXFA_Object* pObject = lpScriptContext->GetVariablesThis(pOriginalObject);
-  if (wsPropName == FX_WSTRC(L"xfa")) {
+  if (wsPropName == L"xfa") {
     CFXJSE_Value* pValue = lpScriptContext->GetJSValueFromMap(
         lpScriptContext->GetDocument()->GetRoot());
     pReturnValue->Assign(pValue);
diff --git a/xfa/fxfa/parser/cxfa_simple_parser.cpp b/xfa/fxfa/parser/cxfa_simple_parser.cpp
index 2417afa..4a6956d 100644
--- a/xfa/fxfa/parser/cxfa_simple_parser.cpp
+++ b/xfa/fxfa/parser/cxfa_simple_parser.cpp
@@ -102,8 +102,8 @@
     wsNSPrefix = wsAttrName.Left(wsAttributeName.GetLength() -
                                  wsLocalAttrName.GetLength() - 1);
   }
-  if (wsLocalAttrName == FX_WSTRC(L"xmlns") ||
-      wsNSPrefix == FX_WSTRC(L"xmlns") || wsNSPrefix == FX_WSTRC(L"xml")) {
+  if (wsLocalAttrName == L"xmlns" || wsNSPrefix == L"xmlns" ||
+      wsNSPrefix == L"xml") {
     return false;
   }
   if (!XFA_FDEExtension_ResolveNamespaceQualifier(
@@ -202,7 +202,7 @@
       case FDE_XMLNODE_Element: {
         CFX_WideString wsTextData;
         static_cast<CFDE_XMLElement*>(pXMLChild)->GetTextData(wsTextData);
-        wsTextData += FX_WSTRC(L"\n");
+        wsTextData += L"\n";
         wsOutput += wsTextData;
         break;
       }
@@ -257,7 +257,7 @@
   if (pRichTextXMLNode) {
     CFX_WideString wsNamespaceURI;
     GetElementTagNamespaceURI(pRichTextXMLNode, wsNamespaceURI);
-    if (wsNamespaceURI == FX_WSTRC(L"http://www.w3.org/1999/xhtml"))
+    if (wsNamespaceURI == L"http://www.w3.org/1999/xhtml")
       return true;
   }
   return false;
@@ -415,10 +415,10 @@
   CFX_WideString wsNSAttribute;
   bool bRet = false;
   if (wsQualifier.IsEmpty()) {
-    wsNSAttribute = FX_WSTRC(L"xmlns");
+    wsNSAttribute = L"xmlns";
     bRet = true;
   } else {
-    wsNSAttribute = FX_WSTRC(L"xmlns:") + wsQualifier;
+    wsNSAttribute = L"xmlns:" + wsQualifier;
   }
   for (; pNode != pFakeRoot; pNode = static_cast<CFDE_XMLElement*>(
                                  pNode->GetNodeItem(CFDE_XMLNode::Parent))) {
@@ -482,9 +482,9 @@
     for (int32_t i = 0; i < iAttributeCount; i++) {
       CFX_WideString wsAttriName, wsAttriValue;
       pElement->GetAttribute(i, wsAttriName, wsAttriValue);
-      if (wsAttriName == FX_WSTRC(L"uuid"))
+      if (wsAttriName == L"uuid")
         pXFARootNode->SetCData(XFA_ATTRIBUTE_Uuid, wsAttriValue);
-      else if (wsAttriName == FX_WSTRC(L"timeStamp"))
+      else if (wsAttriName == L"timeStamp")
         pXFARootNode->SetCData(XFA_ATTRIBUTE_TimeStamp, wsAttriValue);
     }
   }
@@ -720,7 +720,7 @@
   }
 
   CFDE_XMLNode* pDataXMLNode = nullptr;
-  if (MatchNodeName(pXMLDocumentNode, FX_WSTRC(L"data"),
+  if (MatchNodeName(pXMLDocumentNode, L"data",
                     XFA_GetPacketByIndex(XFA_PACKET_Datasets)->pURI,
                     XFA_GetPacketByIndex(XFA_PACKET_Datasets)->eFlags)) {
     static_cast<CFDE_XMLElement*>(pXMLDocumentNode)
@@ -910,8 +910,7 @@
           CFX_WideString wsAttrValue;
           pXMLElement->GetAttribute(i, wsAttrQualifiedName, wsAttrValue);
           GetAttributeLocalName(wsAttrQualifiedName.AsStringC(), wsAttrName);
-          if (wsAttrName == FX_WSTRC(L"nil") &&
-              wsAttrValue == FX_WSTRC(L"true")) {
+          if (wsAttrName == L"nil" && wsAttrValue == L"true") {
             IsNeedValue = false;
           }
           const XFA_ATTRIBUTEINFO* lpAttrInfo =
@@ -965,9 +964,9 @@
   if (pXFANode->GetElementType() == XFA_Element::ExData) {
     CFX_WideStringC wsContentType =
         pXFANode->GetCData(XFA_ATTRIBUTE_ContentType);
-    if (wsContentType == FX_WSTRC(L"text/html"))
+    if (wsContentType == L"text/html")
       element = XFA_Element::SharpxHTML;
-    else if (wsContentType == FX_WSTRC(L"text/xml"))
+    else if (wsContentType == L"text/xml")
       element = XFA_Element::Sharpxml;
   }
   if (element == XFA_Element::SharpxHTML)
@@ -1030,12 +1029,9 @@
         {
           CFX_WideString wsNamespaceURI;
           GetElementTagNamespaceURI(pXMLElement, wsNamespaceURI);
-          if (wsNamespaceURI ==
-                  FX_WSTRC(L"http://www.xfa.com/schema/xfa-package/") ||
-              wsNamespaceURI ==
-                  FX_WSTRC(L"http://www.xfa.org/schema/xfa-package/") ||
-              wsNamespaceURI ==
-                  FX_WSTRC(L"http://www.w3.org/2001/XMLSchema-instance")) {
+          if (wsNamespaceURI == L"http://www.xfa.com/schema/xfa-package/" ||
+              wsNamespaceURI == L"http://www.xfa.org/schema/xfa-package/" ||
+              wsNamespaceURI == L"http://www.w3.org/2001/XMLSchema-instance") {
             continue;
           }
         }
@@ -1043,22 +1039,20 @@
         XFA_Element eNodeType = XFA_Element::DataModel;
         if (eNodeType == XFA_Element::DataModel) {
           CFX_WideString wsDataNodeAttr;
-          if (FindAttributeWithNS(
-                  pXMLElement, FX_WSTRC(L"dataNode"),
-                  FX_WSTRC(L"http://www.xfa.org/schema/xfa-data/1.0/"),
-                  wsDataNodeAttr)) {
-            if (wsDataNodeAttr == FX_WSTRC(L"dataGroup"))
+          if (FindAttributeWithNS(pXMLElement, L"dataNode",
+                                  L"http://www.xfa.org/schema/xfa-data/1.0/",
+                                  wsDataNodeAttr)) {
+            if (wsDataNodeAttr == L"dataGroup")
               eNodeType = XFA_Element::DataGroup;
-            else if (wsDataNodeAttr == FX_WSTRC(L"dataValue"))
+            else if (wsDataNodeAttr == L"dataValue")
               eNodeType = XFA_Element::DataValue;
           }
         }
         CFX_WideString wsContentType;
         if (eNodeType == XFA_Element::DataModel) {
-          if (FindAttributeWithNS(
-                  pXMLElement, FX_WSTRC(L"contentType"),
-                  FX_WSTRC(L"http://www.xfa.org/schema/xfa-data/1.0/"),
-                  wsContentType)) {
+          if (FindAttributeWithNS(pXMLElement, L"contentType",
+                                  L"http://www.xfa.org/schema/xfa-data/1.0/",
+                                  wsContentType)) {
             if (!wsContentType.IsEmpty())
               eNodeType = XFA_Element::DataValue;
           }
@@ -1099,14 +1093,14 @@
                                 wsName, wsNS)) {
             continue;
           }
-          if (wsName == FX_WSTRC(L"nil") && wsValue == FX_WSTRC(L"true")) {
+          if (wsName == L"nil" && wsValue == L"true") {
             bNeedValue = false;
             continue;
           }
-          if (wsNS == FX_WSTRC(L"http://www.xfa.com/schema/xfa-package/") ||
-              wsNS == FX_WSTRC(L"http://www.xfa.org/schema/xfa-package/") ||
-              wsNS == FX_WSTRC(L"http://www.w3.org/2001/XMLSchema-instance") ||
-              wsNS == FX_WSTRC(L"http://www.xfa.org/schema/xfa-data/1.0/")) {
+          if (wsNS == L"http://www.xfa.com/schema/xfa-package/" ||
+              wsNS == L"http://www.xfa.org/schema/xfa-package/" ||
+              wsNS == L"http://www.w3.org/2001/XMLSchema-instance" ||
+              wsNS == L"http://www.xfa.org/schema/xfa-data/1.0/") {
             continue;
           }
           CXFA_Node* pXFAMetaData = m_pFactory->CreateNode(
@@ -1285,23 +1279,21 @@
 
   CFX_WideString wsTargetName;
   pXMLInstruction->GetTargetName(wsTargetName);
-  if (wsTargetName == FX_WSTRC(L"originalXFAVersion")) {
+  if (wsTargetName == L"originalXFAVersion") {
     CFX_WideString wsData;
     if (pXMLInstruction->GetData(0, wsData) &&
         (pXFANode->GetDocument()->RecognizeXFAVersionNumber(wsData) !=
          XFA_VERSION_UNKNOWN)) {
       wsData.clear();
       if (pXMLInstruction->GetData(1, wsData) &&
-          wsData == FX_WSTRC(L"v2.7-scripting:1")) {
+          wsData == L"v2.7-scripting:1") {
         pXFANode->GetDocument()->SetFlag(XFA_DOCFLAG_Scripting, true);
       }
     }
-  } else if (wsTargetName == FX_WSTRC(L"acrobat")) {
+  } else if (wsTargetName == L"acrobat") {
     CFX_WideString wsData;
-    if (pXMLInstruction->GetData(0, wsData) &&
-        wsData == FX_WSTRC(L"JavaScript")) {
-      if (pXMLInstruction->GetData(1, wsData) &&
-          wsData == FX_WSTRC(L"strictScoping")) {
+    if (pXMLInstruction->GetData(0, wsData) && wsData == L"JavaScript") {
+      if (pXMLInstruction->GetData(1, wsData) && wsData == L"strictScoping") {
         pXFANode->GetDocument()->SetFlag(XFA_DOCFLAG_StrictScoping, true);
       }
     }
diff --git a/xfa/fxfa/parser/cxfa_widgetdata.cpp b/xfa/fxfa/parser/cxfa_widgetdata.cpp
index e77fa55..6dc3fa6 100644
--- a/xfa/fxfa/parser/cxfa_widgetdata.cpp
+++ b/xfa/fxfa/parser/cxfa_widgetdata.cpp
@@ -462,7 +462,7 @@
     while (pText) {
       CFX_WideStringC wsName;
       pText->TryCData(XFA_ATTRIBUTE_Name, wsName);
-      if (wsName == FX_WSTRC(L"rollover")) {
+      if (wsName == L"rollover") {
         pText->TryContent(wsRollover);
         bRichText = pText->GetElementType() == XFA_Element::ExData;
         return !wsRollover.IsEmpty();
@@ -479,7 +479,7 @@
     while (pText) {
       CFX_WideStringC wsName;
       pText->TryCData(XFA_ATTRIBUTE_Name, wsName);
-      if (wsName == FX_WSTRC(L"down")) {
+      if (wsName == L"down") {
         pText->TryContent(wsDown);
         bRichText = pText->GetElementType() == XFA_Element::ExData;
         return !wsDown.IsEmpty();
@@ -1010,9 +1010,8 @@
     GetChoiceListItems(wsSaveTextArray, true);
     CFX_WideString wsItemValue;
     for (int32_t i = 0; i < iSize; i++) {
-      wsItemValue = (iSize == 1)
-                        ? wsSaveTextArray[iSelArray[i]]
-                        : wsSaveTextArray[iSelArray[i]] + FX_WSTRC(L"\n");
+      wsItemValue = (iSize == 1) ? wsSaveTextArray[iSelArray[i]]
+                                 : wsSaveTextArray[iSelArray[i]] + L"\n";
       wsValue += wsItemValue;
     }
   }
@@ -1522,7 +1521,7 @@
     }
   } else {
     if (eType == XFA_Element::NumericEdit) {
-      if (wsNewText != FX_WSTRC(L"0")) {
+      if (wsNewText != L"0") {
         int32_t iLeadDigits = 0;
         int32_t iFracDigits = 0;
         GetLeadDigits(iLeadDigits);
@@ -1572,7 +1571,7 @@
                                   wsDataPicture);
           pLocale->GetTimePattern(FX_LOCALEDATETIMESUBCATEGORY_Medium,
                                   wsTimePicture);
-          wsPicture = wsDataPicture + FX_WSTRC(L"T") + wsTimePicture;
+          wsPicture = wsDataPicture + L"T" + wsTimePicture;
           break;
         case XFA_VT_DECIMAL:
         case XFA_VT_FLOAT:
@@ -1640,7 +1639,7 @@
   CFX_WideString wsLocaleName;
   if (!m_pNode->GetLocaleName(wsLocaleName))
     return nullptr;
-  if (wsLocaleName == FX_WSTRC(L"ambient"))
+  if (wsLocaleName == L"ambient")
     return m_pNode->GetDocument()->GetLocalMgr()->GetDefLocale();
   return m_pNode->GetDocument()->GetLocalMgr()->GetLocaleByName(wsLocaleName);
 }
diff --git a/xfa/fxfa/parser/cxfa_xml_parser.cpp b/xfa/fxfa/parser/cxfa_xml_parser.cpp
index 95920d9..b202022 100644
--- a/xfa/fxfa/parser/cxfa_xml_parser.cpp
+++ b/xfa/fxfa/parser/cxfa_xml_parser.cpp
@@ -85,8 +85,7 @@
         break;
       case FDE_XmlSyntaxResult::TargetName:
         m_pParser->GetTargetName(m_ws1);
-        if (m_ws1 == FX_WSTRC(L"originalXFAVersion") ||
-            m_ws1 == FX_WSTRC(L"acrobat")) {
+        if (m_ws1 == L"originalXFAVersion" || m_ws1 == L"acrobat") {
           m_pChild = new CFDE_XMLInstruction(m_ws1);
           m_pParent->InsertChildNode(m_pChild);
         } else {
@@ -104,12 +103,12 @@
         if (m_dwCheckStatus != 0x03 && m_NodeStack.GetSize() == 3) {
           CFX_WideString wsTag;
           static_cast<CFDE_XMLElement*>(m_pChild)->GetLocalTagName(wsTag);
-          if (wsTag == FX_WSTRC(L"template")) {
+          if (wsTag == L"template") {
             m_dwCheckStatus |= 0x01;
             m_dwCurrentCheckStatus = 0x01;
             m_nStart[0] = m_pParser->GetCurrentBinaryPos() -
                           (m_pParser->GetCurrentPos() - m_nElementStart);
-          } else if (wsTag == FX_WSTRC(L"datasets")) {
+          } else if (wsTag == L"datasets") {
             m_dwCheckStatus |= 0x02;
             m_dwCurrentCheckStatus = 0x02;
             m_nStart[1] = m_pParser->GetCurrentBinaryPos() -
diff --git a/xfa/fxfa/parser/xfa_document_datamerger_imp.cpp b/xfa/fxfa/parser/xfa_document_datamerger_imp.cpp
index f1b6088..03ab81e 100644
--- a/xfa/fxfa/parser/xfa_document_datamerger_imp.cpp
+++ b/xfa/fxfa/parser/xfa_document_datamerger_imp.cpp
@@ -89,9 +89,9 @@
           CFX_WideString wsContentType;
           pChildNode->GetAttribute(XFA_ATTRIBUTE_ContentType, wsContentType,
                                    false);
-          if (wsContentType == FX_WSTRC(L"text/html"))
+          if (wsContentType == L"text/html")
             element = XFA_Element::SharpxHTML;
-          else if (wsContentType == FX_WSTRC(L"text/xml"))
+          else if (wsContentType == L"text/xml")
             element = XFA_Element::Sharpxml;
         }
         pContentRawDataNode = pChildNode->CreateSamePacketNode(element);
@@ -305,7 +305,7 @@
           CFX_WideString wsItem;
           for (int32_t i = 0; i < iCounts; i++) {
             items[i]->TryContent(wsItem);
-            wsItem = (iCounts == 1) ? wsItem : wsItem + FX_WSTRC(L"\n");
+            wsItem = (iCounts == 1) ? wsItem : wsItem + L"\n";
             wsNormalizeValue += wsItem;
           }
           CXFA_ExData exData = defValue.GetExData();
@@ -456,7 +456,7 @@
                                bool bForceBind,
                                bool bUpLevel) {
   uint32_t dFlags = XFA_RESOLVENODE_Children | XFA_RESOLVENODE_BindNew;
-  if (bUpLevel || wsRef != FX_WSTRC(L"name"))
+  if (bUpLevel || wsRef != L"name")
     dFlags |= (XFA_RESOLVENODE_Parent | XFA_RESOLVENODE_Siblings);
 
   XFA_RESOLVENODE_RS rs;
@@ -494,7 +494,7 @@
                                        CXFA_Node* pTemplateNode,
                                        CXFA_NodeArray& subforms) {
   CFX_WideStringC wsSubformName = pTemplateNode->GetCData(XFA_ATTRIBUTE_Name);
-  CFX_WideString wsInstMgrNodeName = FX_WSTRC(L"_") + wsSubformName;
+  CFX_WideString wsInstMgrNodeName = L"_" + wsSubformName;
   uint32_t dwInstNameHash =
       FX_HashCode_GetW(wsInstMgrNodeName.AsStringC(), false);
   CXFA_Node* pExistingNode = XFA_DataMerge_FindFormDOMInstance(
@@ -530,8 +530,7 @@
 
   CXFA_Node* pNewNode =
       pDocument->CreateNode(XFA_XDPPACKET_Form, XFA_Element::InstanceManager);
-  wsInstMgrNodeName =
-      FX_WSTRC(L"_") + pTemplateNode->GetCData(XFA_ATTRIBUTE_Name);
+  wsInstMgrNodeName = L"_" + pTemplateNode->GetCData(XFA_ATTRIBUTE_Name);
   pNewNode->SetCData(XFA_ATTRIBUTE_Name, wsInstMgrNodeName);
   pFormParent->InsertChild(pNewNode, nullptr);
   pNewNode->SetTemplateNode(pTemplateNode);
@@ -1040,7 +1039,7 @@
 
       CFX_WideString wsNamespace;
       if (!pDDGroupNode->TryNamespace(wsNamespace) ||
-          wsNamespace != FX_WSTRC(L"http://ns.adobe.com/data-description/")) {
+          wsNamespace != L"http://ns.adobe.com/data-description/") {
         continue;
       }
     }
@@ -1214,7 +1213,7 @@
 
         CFX_WideString wsNamespace;
         if (!pDDGroupNode->TryNamespace(wsNamespace) ||
-            wsNamespace != FX_WSTRC(L"http://ns.adobe.com/data-description/")) {
+            wsNamespace != L"http://ns.adobe.com/data-description/") {
           continue;
         }
       }
@@ -1390,7 +1389,7 @@
     if (!pDDRoot && pChildNode->GetNameHash() == XFA_HASHCODE_DataDescription) {
       if (!pChildNode->TryNamespace(wsNamespaceURI))
         continue;
-      if (wsNamespaceURI == FX_WSTRC(L"http://ns.adobe.com/data-description/"))
+      if (wsNamespaceURI == L"http://ns.adobe.com/data-description/")
         pDDRoot = pChildNode;
     } else if (!pDataRoot && pChildNode->GetNameHash() == XFA_HASHCODE_Data) {
       if (!pChildNode->TryNamespace(wsNamespaceURI))
diff --git a/xfa/fxfa/parser/xfa_locale.cpp b/xfa/fxfa/parser/xfa_locale.cpp
index 5b18bcf..d835eb2 100644
--- a/xfa/fxfa/parser/xfa_locale.cpp
+++ b/xfa/fxfa/parser/xfa_locale.cpp
@@ -35,31 +35,31 @@
   switch (eType) {
     case FX_LOCALENUMSYMBOL_Decimal:
       bsSymbols = "numberSymbols";
-      wsName = FX_WSTRC(L"decimal");
+      wsName = L"decimal";
       break;
     case FX_LOCALENUMSYMBOL_Grouping:
       bsSymbols = "numberSymbols";
-      wsName = FX_WSTRC(L"grouping");
+      wsName = L"grouping";
       break;
     case FX_LOCALENUMSYMBOL_Percent:
       bsSymbols = "numberSymbols";
-      wsName = FX_WSTRC(L"percent");
+      wsName = L"percent";
       break;
     case FX_LOCALENUMSYMBOL_Minus:
       bsSymbols = "numberSymbols";
-      wsName = FX_WSTRC(L"minus");
+      wsName = L"minus";
       break;
     case FX_LOCALENUMSYMBOL_Zero:
       bsSymbols = "numberSymbols";
-      wsName = FX_WSTRC(L"zero");
+      wsName = L"zero";
       break;
     case FX_LOCALENUMSYMBOL_CurrencySymbol:
       bsSymbols = "currencySymbols";
-      wsName = FX_WSTRC(L"symbol");
+      wsName = L"symbol";
       break;
     case FX_LOCALENUMSYMBOL_CurrencyName:
       bsSymbols = "currencySymbols";
-      wsName = FX_WSTRC(L"isoname");
+      wsName = L"isoname";
       break;
     default:
       return;
@@ -238,28 +238,25 @@
                                         CFX_WideString& wsNumSymbol) const {
   switch (eType) {
     case FX_LOCALENUMSYMBOL_Decimal:
-      wsNumSymbol = GetSymbol(XFA_Element::NumberSymbols, FX_WSTRC(L"decimal"));
+      wsNumSymbol = GetSymbol(XFA_Element::NumberSymbols, L"decimal");
       break;
     case FX_LOCALENUMSYMBOL_Grouping:
-      wsNumSymbol =
-          GetSymbol(XFA_Element::NumberSymbols, FX_WSTRC(L"grouping"));
+      wsNumSymbol = GetSymbol(XFA_Element::NumberSymbols, L"grouping");
       break;
     case FX_LOCALENUMSYMBOL_Percent:
-      wsNumSymbol = GetSymbol(XFA_Element::NumberSymbols, FX_WSTRC(L"percent"));
+      wsNumSymbol = GetSymbol(XFA_Element::NumberSymbols, L"percent");
       break;
     case FX_LOCALENUMSYMBOL_Minus:
-      wsNumSymbol = GetSymbol(XFA_Element::NumberSymbols, FX_WSTRC(L"minus"));
+      wsNumSymbol = GetSymbol(XFA_Element::NumberSymbols, L"minus");
       break;
     case FX_LOCALENUMSYMBOL_Zero:
-      wsNumSymbol = GetSymbol(XFA_Element::NumberSymbols, FX_WSTRC(L"zero"));
+      wsNumSymbol = GetSymbol(XFA_Element::NumberSymbols, L"zero");
       break;
     case FX_LOCALENUMSYMBOL_CurrencySymbol:
-      wsNumSymbol =
-          GetSymbol(XFA_Element::CurrencySymbols, FX_WSTRC(L"symbol"));
+      wsNumSymbol = GetSymbol(XFA_Element::CurrencySymbols, L"symbol");
       break;
     case FX_LOCALENUMSYMBOL_CurrencyName:
-      wsNumSymbol =
-          GetSymbol(XFA_Element::CurrencySymbols, FX_WSTRC(L"isoname"));
+      wsNumSymbol = GetSymbol(XFA_Element::CurrencySymbols, L"isoname");
       break;
   }
 }
@@ -302,17 +299,17 @@
                                      CFX_WideString& wsPattern) const {
   switch (eType) {
     case FX_LOCALEDATETIMESUBCATEGORY_Short:
-      wsPattern = GetSymbol(XFA_Element::DatePatterns, FX_WSTRC(L"short"));
+      wsPattern = GetSymbol(XFA_Element::DatePatterns, L"short");
       break;
     case FX_LOCALEDATETIMESUBCATEGORY_Medium:
     case FX_LOCALEDATETIMESUBCATEGORY_Default:
-      wsPattern = GetSymbol(XFA_Element::DatePatterns, FX_WSTRC(L"med"));
+      wsPattern = GetSymbol(XFA_Element::DatePatterns, L"med");
       break;
     case FX_LOCALEDATETIMESUBCATEGORY_Full:
-      wsPattern = GetSymbol(XFA_Element::DatePatterns, FX_WSTRC(L"full"));
+      wsPattern = GetSymbol(XFA_Element::DatePatterns, L"full");
       break;
     case FX_LOCALEDATETIMESUBCATEGORY_Long:
-      wsPattern = GetSymbol(XFA_Element::DatePatterns, FX_WSTRC(L"long"));
+      wsPattern = GetSymbol(XFA_Element::DatePatterns, L"long");
       break;
   }
 }
@@ -321,17 +318,17 @@
                                      CFX_WideString& wsPattern) const {
   switch (eType) {
     case FX_LOCALEDATETIMESUBCATEGORY_Short:
-      wsPattern = GetSymbol(XFA_Element::TimePatterns, FX_WSTRC(L"short"));
+      wsPattern = GetSymbol(XFA_Element::TimePatterns, L"short");
       break;
     case FX_LOCALEDATETIMESUBCATEGORY_Medium:
     case FX_LOCALEDATETIMESUBCATEGORY_Default:
-      wsPattern = GetSymbol(XFA_Element::TimePatterns, FX_WSTRC(L"med"));
+      wsPattern = GetSymbol(XFA_Element::TimePatterns, L"med");
       break;
     case FX_LOCALEDATETIMESUBCATEGORY_Full:
-      wsPattern = GetSymbol(XFA_Element::TimePatterns, FX_WSTRC(L"full"));
+      wsPattern = GetSymbol(XFA_Element::TimePatterns, L"full");
       break;
     case FX_LOCALEDATETIMESUBCATEGORY_Long:
-      wsPattern = GetSymbol(XFA_Element::TimePatterns, FX_WSTRC(L"long"));
+      wsPattern = GetSymbol(XFA_Element::TimePatterns, L"long");
       break;
   }
 }
diff --git a/xfa/fxfa/parser/xfa_localevalue.cpp b/xfa/fxfa/parser/xfa_localevalue.cpp
index 8796135..7e92535 100644
--- a/xfa/fxfa/parser/xfa_localevalue.cpp
+++ b/xfa/fxfa/parser/xfa_localevalue.cpp
@@ -128,7 +128,7 @@
       case FX_LOCALECATEGORY_Zero:
         bRet = pFormat->ParseZero(wsValue, wsFormat);
         if (!bRet) {
-          bRet = wsValue == FX_WSTRC(L"0");
+          bRet = wsValue == L"0";
         }
         break;
       case FX_LOCALECATEGORY_Num: {
@@ -498,7 +498,7 @@
       }
       break;
     case FX_LOCALECATEGORY_Zero:
-      if (m_wsValue == FX_WSTRC(L"0")) {
+      if (m_wsValue == L"0") {
         bRet = pFormat->FormatZero(wsFormat, wsResult);
       }
       break;
@@ -813,9 +813,8 @@
         break;
       case FX_LOCALECATEGORY_Zero:
         bRet = pFormat->ParseZero(wsValue, wsFormat);
-        if (bRet) {
-          m_wsValue = FX_WSTRC(L"0");
-        }
+        if (bRet)
+          m_wsValue = L"0";
         break;
       case FX_LOCALECATEGORY_Num: {
         CFX_WideString fNum;