diff --git a/core/fxcrt/css/cfx_cssselector.cpp b/core/fxcrt/css/cfx_cssselector.cpp
index 8a22b12..510114f 100644
--- a/core/fxcrt/css/cfx_cssselector.cpp
+++ b/core/fxcrt/css/cfx_cssselector.cpp
@@ -67,7 +67,7 @@
   std::unique_ptr<CFX_CSSSelector> pFirst = nullptr;
   for (psz = pStart; psz < pEnd;) {
     wchar_t wch = *psz;
-    if (FXSYS_iswASCIIalpha(wch) || wch == '*') {
+    if ((isascii(wch) && isalpha(wch)) || wch == '*') {
       int32_t iNameLen = wch == '*' ? 1 : GetCSSNameLen(psz, pEnd);
       auto p = pdfium::MakeUnique<CFX_CSSSelector>(CFX_CSSSelectorType::Element,
                                                    psz, iNameLen, true);
diff --git a/core/fxcrt/css/cfx_csssyntaxparser.cpp b/core/fxcrt/css/cfx_csssyntaxparser.cpp
index fea951f..97586dc 100644
--- a/core/fxcrt/css/cfx_csssyntaxparser.cpp
+++ b/core/fxcrt/css/cfx_csssyntaxparser.cpp
@@ -18,7 +18,8 @@
 namespace {
 
 bool IsSelectorStart(wchar_t wch) {
-  return wch == '.' || wch == '#' || wch == '*' || FXSYS_iswASCIIalpha(wch);
+  return wch == '.' || wch == '#' || wch == '*' ||
+         (isascii(wch) && isalpha(wch));
 }
 
 }  // namespace
diff --git a/core/fxcrt/fx_extension.h b/core/fxcrt/fx_extension.h
index bd0ac8b..fd7b78a 100644
--- a/core/fxcrt/fx_extension.h
+++ b/core/fxcrt/fx_extension.h
@@ -42,8 +42,8 @@
   return ch < 'a' || ch > 'z' ? ch : (ch - 0x20);
 }
 
-inline bool FXSYS_iswASCIIalpha(wchar_t wch) {
-  return FXSYS_isASCIIupper(wch) || FXSYS_isASCIIlower(wch);
+inline bool FXSYS_iswalpha(wchar_t c) {
+  return u_isalpha(c);
 }
 
 inline bool FXSYS_iswalnum(wchar_t c) {
