Fix some FX_BOOL / int noise in fxcrt.

Review-Url: https://codereview.chromium.org/2450183003
diff --git a/core/fpdfapi/parser/cpdf_parser_unittest.cpp b/core/fpdfapi/parser/cpdf_parser_unittest.cpp
index 6c6fb21..2393327 100644
--- a/core/fpdfapi/parser/cpdf_parser_unittest.cpp
+++ b/core/fpdfapi/parser/cpdf_parser_unittest.cpp
@@ -22,14 +22,14 @@
   void Release() override { delete this; }
 
   // IFX_SeekableReadStream
-  FX_BOOL ReadBlock(void* buffer, FX_FILESIZE offset, size_t size) override {
-    if (offset < 0 || offset + size > total_size_) {
-      return FALSE;
-    }
+  bool ReadBlock(void* buffer, FX_FILESIZE offset, size_t size) override {
+    if (offset < 0 || offset + size > total_size_)
+      return false;
 
     memcpy(buffer, buffer_ + offset, size);
-    return TRUE;
+    return true;
   }
+
   FX_FILESIZE GetSize() override { return (FX_FILESIZE)total_size_; };
 
  protected:
diff --git a/core/fxcrt/extension.h b/core/fxcrt/extension.h
index 45f6d4f..5b1801b 100644
--- a/core/fxcrt/extension.h
+++ b/core/fxcrt/extension.h
@@ -18,8 +18,8 @@
   static IFXCRT_FileAccess* Create();
   virtual ~IFXCRT_FileAccess() {}
 
-  virtual FX_BOOL Open(const CFX_ByteStringC& fileName, uint32_t dwMode) = 0;
-  virtual FX_BOOL Open(const CFX_WideStringC& fileName, uint32_t dwMode) = 0;
+  virtual bool Open(const CFX_ByteStringC& fileName, uint32_t dwMode) = 0;
+  virtual bool Open(const CFX_WideStringC& fileName, uint32_t dwMode) = 0;
   virtual void Close() = 0;
   virtual FX_FILESIZE GetSize() const = 0;
   virtual FX_FILESIZE GetPosition() const = 0;
@@ -30,8 +30,8 @@
   virtual size_t WritePos(const void* pBuffer,
                           size_t szBuffer,
                           FX_FILESIZE pos) = 0;
-  virtual FX_BOOL Flush() = 0;
-  virtual FX_BOOL Truncate(FX_FILESIZE szFile) = 0;
+  virtual bool Flush() = 0;
+  virtual bool Truncate(FX_FILESIZE szFile) = 0;
 };
 
 #ifdef PDF_ENABLE_XFA
@@ -63,14 +63,12 @@
   IFX_SeekableStream* Retain() override;
   void Release() override;
   FX_FILESIZE GetSize() override;
-  FX_BOOL IsEOF() override;
+  bool IsEOF() override;
   FX_FILESIZE GetPosition() override;
-  FX_BOOL ReadBlock(void* buffer, FX_FILESIZE offset, size_t size) override;
+  bool ReadBlock(void* buffer, FX_FILESIZE offset, size_t size) override;
   size_t ReadBlock(void* buffer, size_t size) override;
-  FX_BOOL WriteBlock(const void* buffer,
-                     FX_FILESIZE offset,
-                     size_t size) override;
-  FX_BOOL Flush() override;
+  bool WriteBlock(const void* buffer, FX_FILESIZE offset, size_t size) override;
+  bool Flush() override;
 
  protected:
   std::unique_ptr<IFXCRT_FileAccess> m_pFile;
@@ -80,6 +78,7 @@
 #define FX_MEMSTREAM_BlockSize (64 * 1024)
 #define FX_MEMSTREAM_Consecutive 0x01
 #define FX_MEMSTREAM_TakeOver 0x02
+
 class CFX_MemoryStream final : public IFX_MemoryStream {
  public:
   explicit CFX_MemoryStream(FX_BOOL bConsecutive);
@@ -90,20 +89,18 @@
   IFX_SeekableStream* Retain() override;
   void Release() override;
   FX_FILESIZE GetSize() override;
-  FX_BOOL IsEOF() override;
+  bool IsEOF() override;
   FX_FILESIZE GetPosition() override;
-  FX_BOOL ReadBlock(void* buffer, FX_FILESIZE offset, size_t size) override;
+  bool ReadBlock(void* buffer, FX_FILESIZE offset, size_t size) override;
   size_t ReadBlock(void* buffer, size_t size) override;
-  FX_BOOL WriteBlock(const void* buffer,
-                     FX_FILESIZE offset,
-                     size_t size) override;
-  FX_BOOL Flush() override;
-  FX_BOOL IsConsecutive() const override;
+  bool WriteBlock(const void* buffer, FX_FILESIZE offset, size_t size) override;
+  bool Flush() override;
+  bool IsConsecutive() const override;
   void EstimateSize(size_t nInitSize, size_t nGrowSize) override;
   uint8_t* GetBuffer() const override;
   void AttachBuffer(uint8_t* pBuffer,
                     size_t nSize,
-                    FX_BOOL bTakeOver = FALSE) override;
+                    bool bTakeOver = FALSE) override;
   void DetachBuffer() override;
 
  protected:
diff --git a/core/fxcrt/fx_basic_buffer.cpp b/core/fxcrt/fx_basic_buffer.cpp
index e954224..8466e88 100644
--- a/core/fxcrt/fx_basic_buffer.cpp
+++ b/core/fxcrt/fx_basic_buffer.cpp
@@ -244,7 +244,7 @@
     return false;
   if (!m_pBuffer || !nRemaining)
     return true;
-  return m_pFile->WriteBlock(m_pBuffer.get(), nRemaining) > 0;
+  return m_pFile->WriteBlock(m_pBuffer.get(), nRemaining);
 }
 
 int32_t CFX_FileBufferArchive::AppendBlock(const void* pBuf, size_t size) {
diff --git a/core/fxcrt/fx_extension.cpp b/core/fxcrt/fx_extension.cpp
index 5ac22bd..186d98b 100644
--- a/core/fxcrt/fx_extension.cpp
+++ b/core/fxcrt/fx_extension.cpp
@@ -4,9 +4,10 @@
 
 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
 
+#include "core/fxcrt/extension.h"
+
 #include <utility>
 
-#include "core/fxcrt/extension.h"
 #include "core/fxcrt/fx_basic.h"
 #include "core/fxcrt/fx_ext.h"
 
@@ -102,7 +103,7 @@
   return (FX_FILESIZE)m_nCurSize;
 }
 
-FX_BOOL CFX_MemoryStream::IsEOF() {
+bool CFX_MemoryStream::IsEOF() {
   return m_nCurPos >= (size_t)GetSize();
 }
 
@@ -110,24 +111,23 @@
   return (FX_FILESIZE)m_nCurPos;
 }
 
-FX_BOOL CFX_MemoryStream::ReadBlock(void* buffer,
-                                    FX_FILESIZE offset,
-                                    size_t size) {
-  if (!buffer || !size) {
-    return FALSE;
-  }
+bool CFX_MemoryStream::ReadBlock(void* buffer,
+                                 FX_FILESIZE offset,
+                                 size_t size) {
+  if (!buffer || !size)
+    return false;
 
   FX_SAFE_SIZE_T newPos = size;
   newPos += offset;
   if (!newPos.IsValid() || newPos.ValueOrDefault(0) == 0 ||
       newPos.ValueOrDie() > m_nCurSize) {
-    return FALSE;
+    return false;
   }
 
   m_nCurPos = newPos.ValueOrDie();
   if (m_dwFlags & FX_MEMSTREAM_Consecutive) {
     FXSYS_memcpy(buffer, m_Blocks[0] + (size_t)offset, size);
-    return TRUE;
+    return true;
   }
   size_t nStartBlock = (size_t)offset / m_nGrowSize;
   offset -= (FX_FILESIZE)(nStartBlock * m_nGrowSize);
@@ -142,7 +142,7 @@
     nStartBlock++;
     offset = 0;
   }
-  return TRUE;
+  return true;
 }
 
 size_t CFX_MemoryStream::ReadBlock(void* buffer, size_t size) {
@@ -156,17 +156,17 @@
   return nRead;
 }
 
-FX_BOOL CFX_MemoryStream::WriteBlock(const void* buffer,
-                                     FX_FILESIZE offset,
-                                     size_t size) {
-  if (!buffer || !size) {
-    return FALSE;
-  }
+bool CFX_MemoryStream::WriteBlock(const void* buffer,
+                                  FX_FILESIZE offset,
+                                  size_t size) {
+  if (!buffer || !size)
+    return false;
+
   if (m_dwFlags & FX_MEMSTREAM_Consecutive) {
     FX_SAFE_SIZE_T newPos = size;
     newPos += offset;
     if (!newPos.IsValid())
-      return FALSE;
+      return false;
 
     m_nCurPos = newPos.ValueOrDie();
     if (m_nCurPos > m_nTotalSize) {
@@ -179,14 +179,14 @@
       }
       if (!m_Blocks[0]) {
         m_Blocks.RemoveAll();
-        return FALSE;
+        return false;
       }
     }
     FXSYS_memcpy(m_Blocks[0] + (size_t)offset, buffer, size);
     if (m_nCurSize < m_nCurPos) {
       m_nCurSize = m_nCurPos;
     }
-    return TRUE;
+    return true;
   }
 
   FX_SAFE_SIZE_T newPos = size;
@@ -215,11 +215,11 @@
   return TRUE;
 }
 
-FX_BOOL CFX_MemoryStream::Flush() {
-  return TRUE;
+bool CFX_MemoryStream::Flush() {
+  return true;
 }
 
-FX_BOOL CFX_MemoryStream::IsConsecutive() const {
+bool CFX_MemoryStream::IsConsecutive() const {
   return !!(m_dwFlags & FX_MEMSTREAM_Consecutive);
 }
 
@@ -242,10 +242,10 @@
 
 void CFX_MemoryStream::AttachBuffer(uint8_t* pBuffer,
                                     size_t nSize,
-                                    FX_BOOL bTakeOver) {
-  if (!(m_dwFlags & FX_MEMSTREAM_Consecutive)) {
+                                    bool bTakeOver) {
+  if (!(m_dwFlags & FX_MEMSTREAM_Consecutive))
     return;
-  }
+
   m_Blocks.RemoveAll();
   m_Blocks.Add(pBuffer);
   m_nTotalSize = m_nCurSize = nSize;
@@ -297,7 +297,7 @@
   return m_pFile->GetSize();
 }
 
-FX_BOOL CFX_CRTFileStream::IsEOF() {
+bool CFX_CRTFileStream::IsEOF() {
   return GetPosition() >= GetSize();
 }
 
@@ -305,23 +305,23 @@
   return m_pFile->GetPosition();
 }
 
-FX_BOOL CFX_CRTFileStream::ReadBlock(void* buffer,
-                                     FX_FILESIZE offset,
-                                     size_t size) {
-  return (FX_BOOL)m_pFile->ReadPos(buffer, size, offset);
+bool CFX_CRTFileStream::ReadBlock(void* buffer,
+                                  FX_FILESIZE offset,
+                                  size_t size) {
+  return m_pFile->ReadPos(buffer, size, offset) > 0;
 }
 
 size_t CFX_CRTFileStream::ReadBlock(void* buffer, size_t size) {
   return m_pFile->Read(buffer, size);
 }
 
-FX_BOOL CFX_CRTFileStream::WriteBlock(const void* buffer,
-                                      FX_FILESIZE offset,
-                                      size_t size) {
-  return (FX_BOOL)m_pFile->WritePos(buffer, size, offset);
+bool CFX_CRTFileStream::WriteBlock(const void* buffer,
+                                   FX_FILESIZE offset,
+                                   size_t size) {
+  return !!m_pFile->WritePos(buffer, size, offset);
 }
 
-FX_BOOL CFX_CRTFileStream::Flush() {
+bool CFX_CRTFileStream::Flush() {
   return m_pFile->Flush();
 }
 
@@ -359,10 +359,10 @@
 }
 IFX_MemoryStream* FX_CreateMemoryStream(uint8_t* pBuffer,
                                         size_t dwSize,
-                                        FX_BOOL bTakeOver) {
+                                        bool bTakeOver) {
   return new CFX_MemoryStream(pBuffer, dwSize, bTakeOver);
 }
-IFX_MemoryStream* FX_CreateMemoryStream(FX_BOOL bConsecutive) {
+IFX_MemoryStream* FX_CreateMemoryStream(bool bConsecutive) {
   return new CFX_MemoryStream(bConsecutive);
 }
 
diff --git a/core/fxcrt/fx_stream.h b/core/fxcrt/fx_stream.h
index 2509ec2..8b1d91f 100644
--- a/core/fxcrt/fx_stream.h
+++ b/core/fxcrt/fx_stream.h
@@ -59,7 +59,7 @@
  public:
   virtual ~IFX_WriteStream() {}
   virtual void Release() = 0;
-  virtual FX_BOOL WriteBlock(const void* pData, size_t size) = 0;
+  virtual bool WriteBlock(const void* pData, size_t size) = 0;
 };
 
 class IFX_ReadStream {
@@ -67,7 +67,7 @@
   virtual ~IFX_ReadStream() {}
 
   virtual void Release() = 0;
-  virtual FX_BOOL IsEOF() = 0;
+  virtual bool IsEOF() = 0;
   virtual FX_FILESIZE GetPosition() = 0;
   virtual size_t ReadBlock(void* buffer, size_t size) = 0;
 };
@@ -75,23 +75,23 @@
 class IFX_SeekableWriteStream : public IFX_WriteStream {
  public:
   // IFX_WriteStream:
-  FX_BOOL WriteBlock(const void* pData, size_t size) override;
+  bool WriteBlock(const void* pData, size_t size) override;
   virtual FX_FILESIZE GetSize() = 0;
-  virtual FX_BOOL Flush() = 0;
-  virtual FX_BOOL WriteBlock(const void* pData,
-                             FX_FILESIZE offset,
-                             size_t size) = 0;
+  virtual bool Flush() = 0;
+  virtual bool WriteBlock(const void* pData,
+                          FX_FILESIZE offset,
+                          size_t size) = 0;
 };
 
 class IFX_SeekableReadStream : public IFX_ReadStream {
  public:
   // IFX_ReadStream:
   void Release() override = 0;
-  FX_BOOL IsEOF() override;
+  bool IsEOF() override;
   FX_FILESIZE GetPosition() override;
   size_t ReadBlock(void* buffer, size_t size) override;
 
-  virtual FX_BOOL ReadBlock(void* buffer, FX_FILESIZE offset, size_t size) = 0;
+  virtual bool ReadBlock(void* buffer, FX_FILESIZE offset, size_t size) = 0;
   virtual FX_FILESIZE GetSize() = 0;
 };
 
@@ -105,18 +105,18 @@
 
   // IFX_SeekableReadStream:
   void Release() override = 0;
-  FX_BOOL IsEOF() override = 0;
+  bool IsEOF() override = 0;
   FX_FILESIZE GetPosition() override = 0;
   size_t ReadBlock(void* buffer, size_t size) override = 0;
-  FX_BOOL ReadBlock(void* buffer, FX_FILESIZE offset, size_t size) override = 0;
+  bool ReadBlock(void* buffer, FX_FILESIZE offset, size_t size) override = 0;
   FX_FILESIZE GetSize() override = 0;
 
   // IFX_SeekableWriteStream:
-  FX_BOOL WriteBlock(const void* buffer,
-                     FX_FILESIZE offset,
-                     size_t size) override = 0;
-  FX_BOOL WriteBlock(const void* buffer, size_t size) override;
-  FX_BOOL Flush() override = 0;
+  bool WriteBlock(const void* buffer,
+                  FX_FILESIZE offset,
+                  size_t size) override = 0;
+  bool WriteBlock(const void* buffer, size_t size) override;
+  bool Flush() override = 0;
 };
 
 IFX_SeekableStream* FX_CreateFileStream(const FX_CHAR* filename,
@@ -138,29 +138,29 @@
 
 class IFX_MemoryStream : public IFX_SeekableStream {
  public:
-  virtual FX_BOOL IsConsecutive() const = 0;
+  virtual bool IsConsecutive() const = 0;
   virtual void EstimateSize(size_t nInitSize, size_t nGrowSize) = 0;
   virtual uint8_t* GetBuffer() const = 0;
   virtual void AttachBuffer(uint8_t* pBuffer,
                             size_t nSize,
-                            FX_BOOL bTakeOver = FALSE) = 0;
+                            bool bTakeOver = FALSE) = 0;
   virtual void DetachBuffer() = 0;
 };
 
 IFX_MemoryStream* FX_CreateMemoryStream(uint8_t* pBuffer,
                                         size_t nSize,
-                                        FX_BOOL bTakeOver = FALSE);
-IFX_MemoryStream* FX_CreateMemoryStream(FX_BOOL bConsecutive = FALSE);
+                                        bool bTakeOver = FALSE);
+IFX_MemoryStream* FX_CreateMemoryStream(bool bConsecutive = FALSE);
 
 class IFX_BufferRead : public IFX_ReadStream {
  public:
   // IFX_ReadStream:
   void Release() override = 0;
-  FX_BOOL IsEOF() override = 0;
+  bool IsEOF() override = 0;
   FX_FILESIZE GetPosition() override = 0;
   size_t ReadBlock(void* buffer, size_t size) override = 0;
 
-  virtual FX_BOOL ReadNextBlock(FX_BOOL bRestart = FALSE) = 0;
+  virtual bool ReadNextBlock(bool bRestart = FALSE) = 0;
   virtual const uint8_t* GetBlockBuffer() = 0;
   virtual size_t GetBlockSize() = 0;
   virtual FX_FILESIZE GetBlockOffset() = 0;
diff --git a/core/fxcrt/fx_xml_parser.cpp b/core/fxcrt/fx_xml_parser.cpp
index e6c3543..f6b81da 100644
--- a/core/fxcrt/fx_xml_parser.cpp
+++ b/core/fxcrt/fx_xml_parser.cpp
@@ -13,6 +13,62 @@
 #include "third_party/base/ptr_util.h"
 #include "third_party/base/stl_util.h"
 
+namespace {
+
+#define FXCRTM_XML_CHARTYPE_Normal 0x00
+#define FXCRTM_XML_CHARTYPE_SpaceChar 0x01
+#define FXCRTM_XML_CHARTYPE_Letter 0x02
+#define FXCRTM_XML_CHARTYPE_Digital 0x04
+#define FXCRTM_XML_CHARTYPE_NameIntro 0x08
+#define FXCRTM_XML_CHARTYPE_NameChar 0x10
+#define FXCRTM_XML_CHARTYPE_HexDigital 0x20
+#define FXCRTM_XML_CHARTYPE_HexLowerLetter 0x40
+#define FXCRTM_XML_CHARTYPE_HexUpperLetter 0x60
+#define FXCRTM_XML_CHARTYPE_HexChar 0x60
+
+const uint8_t g_FXCRT_XML_ByteTypes[256] = {
+    0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
+    0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
+    0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x10, 0x00,
+    0x34, 0x34, 0x34, 0x34, 0x34, 0x34, 0x34, 0x34, 0x34, 0x34, 0x08, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x7A, 0x7A, 0x7A, 0x7A, 0x7A, 0x7A, 0x1A,
+    0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A,
+    0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x00, 0x00, 0x00, 0x00, 0x18,
+    0x00, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A,
+    0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A,
+    0x1A, 0x1A, 0x1A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1A, 0x1A, 0x1A, 0x1A,
+    0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A,
+    0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A,
+    0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A,
+    0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A,
+    0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A,
+    0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A,
+    0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A,
+    0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A,
+    0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A,
+    0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A,
+    0x1A, 0x1A, 0x01, 0x01,
+};
+
+bool g_FXCRT_XML_IsWhiteSpace(uint8_t ch) {
+  return !!(g_FXCRT_XML_ByteTypes[ch] & FXCRTM_XML_CHARTYPE_SpaceChar);
+}
+
+bool g_FXCRT_XML_IsDigital(uint8_t ch) {
+  return !!(g_FXCRT_XML_ByteTypes[ch] & FXCRTM_XML_CHARTYPE_Digital);
+}
+
+bool g_FXCRT_XML_IsNameIntro(uint8_t ch) {
+  return !!(g_FXCRT_XML_ByteTypes[ch] & FXCRTM_XML_CHARTYPE_NameIntro);
+}
+
+bool g_FXCRT_XML_IsNameChar(uint8_t ch) {
+  return !!(g_FXCRT_XML_ByteTypes[ch] & FXCRTM_XML_CHARTYPE_NameChar);
+}
+
+}  // namespace
+
 CXML_DataBufAcc::CXML_DataBufAcc(const uint8_t* pBuffer, size_t size)
     : m_pBuffer(pBuffer), m_dwSize(size), m_dwCurPos(0) {}
 
@@ -22,7 +78,7 @@
   delete this;
 }
 
-FX_BOOL CXML_DataBufAcc::IsEOF() {
+bool CXML_DataBufAcc::IsEOF() {
   return m_dwCurPos >= m_dwSize;
 }
 
@@ -34,15 +90,15 @@
   return 0;
 }
 
-FX_BOOL CXML_DataBufAcc::ReadNextBlock(FX_BOOL bRestart) {
-  if (bRestart) {
+bool CXML_DataBufAcc::ReadNextBlock(bool bRestart) {
+  if (bRestart)
     m_dwCurPos = 0;
-  }
+
   if (m_dwCurPos < m_dwSize) {
     m_dwCurPos = m_dwSize;
-    return TRUE;
+    return true;
   }
-  return FALSE;
+  return false;
 }
 
 const uint8_t* CXML_DataBufAcc::GetBlockBuffer() {
@@ -70,7 +126,7 @@
   delete this;
 }
 
-FX_BOOL CXML_DataStmAcc::IsEOF() {
+bool CXML_DataStmAcc::IsEOF() {
   return m_nStart + (FX_FILESIZE)m_dwSize >= m_pFileRead->GetSize();
 }
 
@@ -82,21 +138,21 @@
   return 0;
 }
 
-FX_BOOL CXML_DataStmAcc::ReadNextBlock(FX_BOOL bRestart) {
-  if (bRestart) {
+bool CXML_DataStmAcc::ReadNextBlock(bool bRestart) {
+  if (bRestart)
     m_nStart = 0;
-  }
+
   FX_FILESIZE nLength = m_pFileRead->GetSize();
   m_nStart += (FX_FILESIZE)m_dwSize;
-  if (m_nStart >= nLength) {
-    return FALSE;
-  }
+  if (m_nStart >= nLength)
+    return false;
+
   static const FX_FILESIZE FX_XMLDATASTREAM_BufferSize = 32 * 1024;
   m_dwSize = static_cast<size_t>(
       std::min(FX_XMLDATASTREAM_BufferSize, nLength - m_nStart));
-  if (!m_pBuffer) {
+  if (!m_pBuffer)
     m_pBuffer = FX_Alloc(uint8_t, m_dwSize);
-  }
+
   return m_pFileRead->ReadBlock(m_pBuffer, m_nStart, m_dwSize);
 }
 
@@ -128,94 +184,45 @@
   }
 }
 
-FX_BOOL CXML_Parser::Init(uint8_t* pBuffer, size_t size) {
+bool CXML_Parser::Init(uint8_t* pBuffer, size_t size) {
   m_pDataAcc = new CXML_DataBufAcc(pBuffer, size);
-  return Init(TRUE);
+  return Init(true);
 }
-FX_BOOL CXML_Parser::Init(IFX_SeekableReadStream* pFileRead) {
+
+bool CXML_Parser::Init(IFX_SeekableReadStream* pFileRead) {
   m_pDataAcc = new CXML_DataStmAcc(pFileRead);
-  return Init(TRUE);
+  return Init(true);
 }
-FX_BOOL CXML_Parser::Init(IFX_BufferRead* pBuffer) {
-  if (!pBuffer) {
-    return FALSE;
-  }
+
+bool CXML_Parser::Init(IFX_BufferRead* pBuffer) {
+  if (!pBuffer)
+    return false;
+
   m_pDataAcc = pBuffer;
-  return Init(FALSE);
+  return Init(false);
 }
-FX_BOOL CXML_Parser::Init(FX_BOOL bOwndedStream) {
+
+bool CXML_Parser::Init(bool bOwndedStream) {
   m_bOwnedStream = bOwndedStream;
   m_nOffset = 0;
   return ReadNextBlock();
 }
-FX_BOOL CXML_Parser::ReadNextBlock() {
-  if (!m_pDataAcc->ReadNextBlock()) {
-    return FALSE;
-  }
+
+bool CXML_Parser::ReadNextBlock() {
+  if (!m_pDataAcc->ReadNextBlock())
+    return false;
+
   m_pBuffer = m_pDataAcc->GetBlockBuffer();
   m_dwBufferSize = m_pDataAcc->GetBlockSize();
   m_nBufferOffset = m_pDataAcc->GetBlockOffset();
   m_dwIndex = 0;
   return m_dwBufferSize > 0;
 }
-FX_BOOL CXML_Parser::IsEOF() {
-  if (!m_pDataAcc->IsEOF()) {
-    return FALSE;
-  }
-  return m_dwIndex >= m_dwBufferSize;
+
+bool CXML_Parser::IsEOF() {
+  return m_pDataAcc->IsEOF() && m_dwIndex >= m_dwBufferSize;
 }
-#define FXCRTM_XML_CHARTYPE_Normal 0x00
-#define FXCRTM_XML_CHARTYPE_SpaceChar 0x01
-#define FXCRTM_XML_CHARTYPE_Letter 0x02
-#define FXCRTM_XML_CHARTYPE_Digital 0x04
-#define FXCRTM_XML_CHARTYPE_NameIntro 0x08
-#define FXCRTM_XML_CHARTYPE_NameChar 0x10
-#define FXCRTM_XML_CHARTYPE_HexDigital 0x20
-#define FXCRTM_XML_CHARTYPE_HexLowerLetter 0x40
-#define FXCRTM_XML_CHARTYPE_HexUpperLetter 0x60
-#define FXCRTM_XML_CHARTYPE_HexChar 0x60
-uint8_t g_FXCRT_XML_ByteTypes[256] = {
-    0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
-    0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
-    0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00,
-    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x10, 0x00,
-    0x34, 0x34, 0x34, 0x34, 0x34, 0x34, 0x34, 0x34, 0x34, 0x34, 0x08, 0x00,
-    0x00, 0x00, 0x00, 0x00, 0x00, 0x7A, 0x7A, 0x7A, 0x7A, 0x7A, 0x7A, 0x1A,
-    0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A,
-    0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x00, 0x00, 0x00, 0x00, 0x18,
-    0x00, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A,
-    0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A,
-    0x1A, 0x1A, 0x1A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1A, 0x1A, 0x1A, 0x1A,
-    0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A,
-    0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A,
-    0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A,
-    0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A,
-    0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A,
-    0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A,
-    0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A,
-    0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A,
-    0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A,
-    0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A,
-    0x1A, 0x1A, 0x01, 0x01,
-};
-FX_BOOL g_FXCRT_XML_IsWhiteSpace(uint8_t ch) {
-  return (g_FXCRT_XML_ByteTypes[ch] & FXCRTM_XML_CHARTYPE_SpaceChar) != 0;
-}
-FX_BOOL g_FXCRT_XML_IsLetter(uint8_t ch) {
-  return (g_FXCRT_XML_ByteTypes[ch] & FXCRTM_XML_CHARTYPE_Letter) != 0;
-}
-FX_BOOL g_FXCRT_XML_IsDigital(uint8_t ch) {
-  return (g_FXCRT_XML_ByteTypes[ch] & FXCRTM_XML_CHARTYPE_Digital) != 0;
-}
-FX_BOOL g_FXCRT_XML_IsNameIntro(uint8_t ch) {
-  return (g_FXCRT_XML_ByteTypes[ch] & FXCRTM_XML_CHARTYPE_NameIntro) != 0;
-}
-FX_BOOL g_FXCRT_XML_IsNameChar(uint8_t ch) {
-  return (g_FXCRT_XML_ByteTypes[ch] & FXCRTM_XML_CHARTYPE_NameChar) != 0;
-}
-FX_BOOL g_FXCRT_XML_IsHexChar(uint8_t ch) {
-  return (g_FXCRT_XML_ByteTypes[ch] & FXCRTM_XML_CHARTYPE_HexChar) != 0;
-}
+
 void CXML_Parser::SkipWhiteSpaces() {
   m_nOffset = m_nBufferOffset + (FX_FILESIZE)m_dwIndex;
   if (IsEOF()) {
diff --git a/core/fxcrt/fxcrt_posix.cpp b/core/fxcrt/fxcrt_posix.cpp
index b5efdc2..a96f164 100644
--- a/core/fxcrt/fxcrt_posix.cpp
+++ b/core/fxcrt/fxcrt_posix.cpp
@@ -36,20 +36,24 @@
 CFXCRT_FileAccess_Posix::~CFXCRT_FileAccess_Posix() {
   Close();
 }
-FX_BOOL CFXCRT_FileAccess_Posix::Open(const CFX_ByteStringC& fileName,
-                                      uint32_t dwMode) {
-  if (m_nFD > -1) {
-    return FALSE;
-  }
-  int32_t nFlags, nMasks;
+
+bool CFXCRT_FileAccess_Posix::Open(const CFX_ByteStringC& fileName,
+                                   uint32_t dwMode) {
+  if (m_nFD > -1)
+    return false;
+
+  int32_t nFlags;
+  int32_t nMasks;
   FXCRT_Posix_GetFileMode(dwMode, nFlags, nMasks);
   m_nFD = open(fileName.c_str(), nFlags, nMasks);
   return m_nFD > -1;
 }
-FX_BOOL CFXCRT_FileAccess_Posix::Open(const CFX_WideStringC& fileName,
-                                      uint32_t dwMode) {
+
+bool CFXCRT_FileAccess_Posix::Open(const CFX_WideStringC& fileName,
+                                   uint32_t dwMode) {
   return Open(FX_UTF8Encode(fileName).AsStringC(), dwMode);
 }
+
 void CFXCRT_FileAccess_Posix::Close() {
   if (m_nFD < 0) {
     return;
@@ -115,16 +119,18 @@
   }
   return Write(pBuffer, szBuffer);
 }
-FX_BOOL CFXCRT_FileAccess_Posix::Flush() {
-  if (m_nFD < 0) {
-    return FALSE;
-  }
+
+bool CFXCRT_FileAccess_Posix::Flush() {
+  if (m_nFD < 0)
+    return false;
+
   return fsync(m_nFD) > -1;
 }
-FX_BOOL CFXCRT_FileAccess_Posix::Truncate(FX_FILESIZE szFile) {
-  if (m_nFD < 0) {
-    return FALSE;
-  }
+
+bool CFXCRT_FileAccess_Posix::Truncate(FX_FILESIZE szFile) {
+  if (m_nFD < 0)
+    return false;
+
   return !ftruncate(m_nFD, szFile);
 }
 
diff --git a/core/fxcrt/fxcrt_posix.h b/core/fxcrt/fxcrt_posix.h
index 37f6548..20faa5c 100644
--- a/core/fxcrt/fxcrt_posix.h
+++ b/core/fxcrt/fxcrt_posix.h
@@ -17,9 +17,9 @@
   CFXCRT_FileAccess_Posix();
   ~CFXCRT_FileAccess_Posix() override;
 
-  // IFXCRT_FileAccess
-  FX_BOOL Open(const CFX_ByteStringC& fileName, uint32_t dwMode) override;
-  FX_BOOL Open(const CFX_WideStringC& fileName, uint32_t dwMode) override;
+  // IFXCRT_FileAccess:
+  bool Open(const CFX_ByteStringC& fileName, uint32_t dwMode) override;
+  bool Open(const CFX_WideStringC& fileName, uint32_t dwMode) override;
   void Close() override;
   FX_FILESIZE GetSize() const override;
   FX_FILESIZE GetPosition() const override;
@@ -30,8 +30,8 @@
   size_t WritePos(const void* pBuffer,
                   size_t szBuffer,
                   FX_FILESIZE pos) override;
-  FX_BOOL Flush() override;
-  FX_BOOL Truncate(FX_FILESIZE szFile) override;
+  bool Flush() override;
+  bool Truncate(FX_FILESIZE szFile) override;
 
  protected:
   int32_t m_nFD;
diff --git a/core/fxcrt/fxcrt_stream.cpp b/core/fxcrt/fxcrt_stream.cpp
index 638a183..48b8a79 100644
--- a/core/fxcrt/fxcrt_stream.cpp
+++ b/core/fxcrt/fxcrt_stream.cpp
@@ -6,11 +6,11 @@
 
 #include "core/fxcrt/fx_stream.h"
 
-FX_BOOL IFX_SeekableWriteStream::WriteBlock(const void* pData, size_t size) {
+bool IFX_SeekableWriteStream::WriteBlock(const void* pData, size_t size) {
   return WriteBlock(pData, GetSize(), size);
 }
 
-FX_BOOL IFX_SeekableReadStream::IsEOF() {
+bool IFX_SeekableReadStream::IsEOF() {
   return FALSE;
 }
 
@@ -22,6 +22,6 @@
   return 0;
 }
 
-FX_BOOL IFX_SeekableStream::WriteBlock(const void* buffer, size_t size) {
+bool IFX_SeekableStream::WriteBlock(const void* buffer, size_t size) {
   return WriteBlock(buffer, GetSize(), size);
 }
diff --git a/core/fxcrt/fxcrt_windows.cpp b/core/fxcrt/fxcrt_windows.cpp
index ec16373..87bbe96 100644
--- a/core/fxcrt/fxcrt_windows.cpp
+++ b/core/fxcrt/fxcrt_windows.cpp
@@ -28,6 +28,7 @@
     dwCreation = OPEN_EXISTING;
   }
 }
+
 #ifdef __cplusplus
 extern "C" {
 #endif
@@ -39,80 +40,91 @@
 #ifdef __cplusplus
 }
 #endif
+
 CFXCRT_FileAccess_Win64::CFXCRT_FileAccess_Win64() : m_hFile(nullptr) {}
+
 CFXCRT_FileAccess_Win64::~CFXCRT_FileAccess_Win64() {
   Close();
 }
-FX_BOOL CFXCRT_FileAccess_Win64::Open(const CFX_ByteStringC& fileName,
-                                      uint32_t dwMode) {
-  if (m_hFile) {
+
+bool CFXCRT_FileAccess_Win64::Open(const CFX_ByteStringC& fileName,
+                                   uint32_t dwMode) {
+  if (m_hFile)
     return FALSE;
-  }
+
   uint32_t dwAccess, dwShare, dwCreation;
   FXCRT_Windows_GetFileMode(dwMode, dwAccess, dwShare, dwCreation);
   m_hFile = ::CreateFileA(fileName.c_str(), dwAccess, dwShare, nullptr,
                           dwCreation, FILE_ATTRIBUTE_NORMAL, nullptr);
   if (m_hFile == INVALID_HANDLE_VALUE)
     m_hFile = nullptr;
+
   return !!m_hFile;
 }
-FX_BOOL CFXCRT_FileAccess_Win64::Open(const CFX_WideStringC& fileName,
-                                      uint32_t dwMode) {
-  if (m_hFile) {
+
+bool CFXCRT_FileAccess_Win64::Open(const CFX_WideStringC& fileName,
+                                   uint32_t dwMode) {
+  if (m_hFile)
     return FALSE;
-  }
+
   uint32_t dwAccess, dwShare, dwCreation;
   FXCRT_Windows_GetFileMode(dwMode, dwAccess, dwShare, dwCreation);
   m_hFile = ::CreateFileW((LPCWSTR)fileName.c_str(), dwAccess, dwShare, nullptr,
                           dwCreation, FILE_ATTRIBUTE_NORMAL, nullptr);
   if (m_hFile == INVALID_HANDLE_VALUE)
     m_hFile = nullptr;
+
   return !!m_hFile;
 }
+
 void CFXCRT_FileAccess_Win64::Close() {
-  if (!m_hFile) {
+  if (!m_hFile)
     return;
-  }
+
   ::CloseHandle(m_hFile);
   m_hFile = nullptr;
 }
+
 FX_FILESIZE CFXCRT_FileAccess_Win64::GetSize() const {
-  if (!m_hFile) {
+  if (!m_hFile)
     return 0;
-  }
+
   LARGE_INTEGER size = {};
-  if (!::GetFileSizeEx(m_hFile, &size)) {
+  if (!::GetFileSizeEx(m_hFile, &size))
     return 0;
-  }
+
   return (FX_FILESIZE)size.QuadPart;
 }
+
 FX_FILESIZE CFXCRT_FileAccess_Win64::GetPosition() const {
-  if (!m_hFile) {
+  if (!m_hFile)
     return (FX_FILESIZE)-1;
-  }
+
   LARGE_INTEGER dist = {};
   LARGE_INTEGER newPos = {};
-  if (!::SetFilePointerEx(m_hFile, dist, &newPos, FILE_CURRENT)) {
+  if (!::SetFilePointerEx(m_hFile, dist, &newPos, FILE_CURRENT))
     return (FX_FILESIZE)-1;
-  }
+
   return (FX_FILESIZE)newPos.QuadPart;
 }
+
 FX_FILESIZE CFXCRT_FileAccess_Win64::SetPosition(FX_FILESIZE pos) {
-  if (!m_hFile) {
+  if (!m_hFile)
     return (FX_FILESIZE)-1;
-  }
+
   LARGE_INTEGER dist;
   dist.QuadPart = pos;
   LARGE_INTEGER newPos = {};
-  if (!::SetFilePointerEx(m_hFile, dist, &newPos, FILE_BEGIN)) {
+  if (!::SetFilePointerEx(m_hFile, dist, &newPos, FILE_BEGIN))
     return (FX_FILESIZE)-1;
-  }
+
   return (FX_FILESIZE)newPos.QuadPart;
 }
+
 size_t CFXCRT_FileAccess_Win64::Read(void* pBuffer, size_t szBuffer) {
-  if (!m_hFile) {
+  if (!m_hFile)
     return 0;
-  }
+
   size_t szRead = 0;
   if (!::ReadFile(m_hFile, pBuffer, (DWORD)szBuffer, (LPDWORD)&szRead,
                   nullptr)) {
@@ -120,10 +132,11 @@
   }
   return szRead;
 }
+
 size_t CFXCRT_FileAccess_Win64::Write(const void* pBuffer, size_t szBuffer) {
-  if (!m_hFile) {
+  if (!m_hFile)
     return 0;
-  }
+
   size_t szWrite = 0;
   if (!::WriteFile(m_hFile, pBuffer, (DWORD)szBuffer, (LPDWORD)&szWrite,
                    nullptr)) {
@@ -131,20 +144,22 @@
   }
   return szWrite;
 }
+
 size_t CFXCRT_FileAccess_Win64::ReadPos(void* pBuffer,
                                         size_t szBuffer,
                                         FX_FILESIZE pos) {
-  if (!m_hFile) {
+  if (!m_hFile)
     return 0;
-  }
-  if (pos >= GetSize()) {
+
+  if (pos >= GetSize())
     return 0;
-  }
-  if (SetPosition(pos) == (FX_FILESIZE)-1) {
+
+  if (SetPosition(pos) == (FX_FILESIZE)-1)
     return 0;
-  }
+
   return Read(pBuffer, szBuffer);
 }
+
 size_t CFXCRT_FileAccess_Win64::WritePos(const void* pBuffer,
                                          size_t szBuffer,
                                          FX_FILESIZE pos) {
@@ -156,16 +171,18 @@
   }
   return Write(pBuffer, szBuffer);
 }
-FX_BOOL CFXCRT_FileAccess_Win64::Flush() {
-  if (!m_hFile) {
-    return FALSE;
-  }
-  return ::FlushFileBuffers(m_hFile);
+
+bool CFXCRT_FileAccess_Win64::Flush() {
+  if (!m_hFile)
+    return false;
+
+  return !!::FlushFileBuffers(m_hFile);
 }
-FX_BOOL CFXCRT_FileAccess_Win64::Truncate(FX_FILESIZE szFile) {
-  if (SetPosition(szFile) == (FX_FILESIZE)-1) {
-    return FALSE;
-  }
-  return ::SetEndOfFile(m_hFile);
+
+bool CFXCRT_FileAccess_Win64::Truncate(FX_FILESIZE szFile) {
+  if (SetPosition(szFile) == (FX_FILESIZE)-1)
+    return false;
+
+  return !!::SetEndOfFile(m_hFile);
 }
 #endif
diff --git a/core/fxcrt/fxcrt_windows.h b/core/fxcrt/fxcrt_windows.h
index 19cef0a..f8f9483 100644
--- a/core/fxcrt/fxcrt_windows.h
+++ b/core/fxcrt/fxcrt_windows.h
@@ -16,8 +16,8 @@
   ~CFXCRT_FileAccess_Win64() override;
 
   // IFXCRT_FileAccess
-  FX_BOOL Open(const CFX_ByteStringC& fileName, uint32_t dwMode) override;
-  FX_BOOL Open(const CFX_WideStringC& fileName, uint32_t dwMode) override;
+  bool Open(const CFX_ByteStringC& fileName, uint32_t dwMode) override;
+  bool Open(const CFX_WideStringC& fileName, uint32_t dwMode) override;
   void Close() override;
   FX_FILESIZE GetSize() const override;
   FX_FILESIZE GetPosition() const override;
@@ -28,8 +28,8 @@
   size_t WritePos(const void* pBuffer,
                   size_t szBuffer,
                   FX_FILESIZE pos) override;
-  FX_BOOL Flush() override;
-  FX_BOOL Truncate(FX_FILESIZE szFile) override;
+  bool Flush() override;
+  bool Truncate(FX_FILESIZE szFile) override;
 
  protected:
   void* m_hFile;
diff --git a/core/fxcrt/xml_int.h b/core/fxcrt/xml_int.h
index aa157c2..bc9ea3d 100644
--- a/core/fxcrt/xml_int.h
+++ b/core/fxcrt/xml_int.h
@@ -21,10 +21,10 @@
 
   // IFX_BufferRead
   void Release() override;
-  FX_BOOL IsEOF() override;
+  bool IsEOF() override;
   FX_FILESIZE GetPosition() override;
   size_t ReadBlock(void* buffer, size_t size) override;
-  FX_BOOL ReadNextBlock(FX_BOOL bRestart = FALSE) override;
+  bool ReadNextBlock(bool bRestart = FALSE) override;
   const uint8_t* GetBlockBuffer() override;
   size_t GetBlockSize() override;
   FX_FILESIZE GetBlockOffset() override;
@@ -42,10 +42,10 @@
 
   // IFX_BufferRead
   void Release() override;
-  FX_BOOL IsEOF() override;
+  bool IsEOF() override;
   FX_FILESIZE GetPosition() override;
   size_t ReadBlock(void* buffer, size_t size) override;
-  FX_BOOL ReadNextBlock(FX_BOOL bRestart = FALSE) override;
+  bool ReadNextBlock(bool bRestart = FALSE) override;
   const uint8_t* GetBlockBuffer() override;
   size_t GetBlockSize() override;
   FX_FILESIZE GetBlockOffset() override;
@@ -62,13 +62,13 @@
   CXML_Parser();
   ~CXML_Parser();
 
-  FX_BOOL Init(uint8_t* pBuffer, size_t size);
-  FX_BOOL Init(IFX_SeekableReadStream* pFileRead);
-  FX_BOOL Init(IFX_BufferRead* pBuffer);
-  FX_BOOL Init(FX_BOOL bOwndedStream);
-  FX_BOOL ReadNextBlock();
-  FX_BOOL IsEOF();
-  FX_BOOL HaveAvailData();
+  bool Init(uint8_t* pBuffer, size_t size);
+  bool Init(IFX_SeekableReadStream* pFileRead);
+  bool Init(IFX_BufferRead* pBuffer);
+  bool Init(bool bOwndedStream);
+  bool ReadNextBlock();
+  bool IsEOF();
+  bool HaveAvailData();
   void SkipWhiteSpaces();
   void GetName(CFX_ByteString& space, CFX_ByteString& name);
   void GetAttrValue(CFX_WideString& value);
@@ -85,7 +85,7 @@
   void InsertCDATASegment(CFX_UTF8Decoder& decoder, CXML_Element* pElement);
 
   IFX_BufferRead* m_pDataAcc;
-  FX_BOOL m_bOwnedStream;
+  bool m_bOwnedStream;
   FX_FILESIZE m_nOffset;
   FX_BOOL m_bSaveSpaceChars;
   const uint8_t* m_pBuffer;
diff --git a/fpdfsdk/fpdf_dataavail.cpp b/fpdfsdk/fpdf_dataavail.cpp
index 0bf67e9..45d3b2a 100644
--- a/fpdfsdk/fpdf_dataavail.cpp
+++ b/fpdfsdk/fpdf_dataavail.cpp
@@ -67,9 +67,9 @@
   // IFX_SeekableReadStream
   FX_FILESIZE GetSize() override { return m_pFileAccess->m_FileLen; }
 
-  FX_BOOL ReadBlock(void* buffer, FX_FILESIZE offset, size_t size) override {
-    return m_pFileAccess->m_GetBlock(m_pFileAccess->m_Param, offset,
-                                     (uint8_t*)buffer, size);
+  bool ReadBlock(void* buffer, FX_FILESIZE offset, size_t size) override {
+    return !!m_pFileAccess->m_GetBlock(m_pFileAccess->m_Param, offset,
+                                       (uint8_t*)buffer, size);
   }
 
   void Release() override {}
diff --git a/fpdfsdk/fpdfsave.cpp b/fpdfsdk/fpdfsave.cpp
index 9cdc714..03a9db1 100644
--- a/fpdfsdk/fpdfsave.cpp
+++ b/fpdfsdk/fpdfsave.cpp
@@ -39,8 +39,8 @@
 class CFX_IFileWrite final : public IFX_WriteStream {
  public:
   CFX_IFileWrite();
-  FX_BOOL Init(FPDF_FILEWRITE* pFileWriteStruct);
-  FX_BOOL WriteBlock(const void* pData, size_t size) override;
+  bool Init(FPDF_FILEWRITE* pFileWriteStruct);
+  bool WriteBlock(const void* pData, size_t size) override;
   void Release() override;
 
  protected:
@@ -53,20 +53,20 @@
   m_pFileWriteStruct = nullptr;
 }
 
-FX_BOOL CFX_IFileWrite::Init(FPDF_FILEWRITE* pFileWriteStruct) {
+bool CFX_IFileWrite::Init(FPDF_FILEWRITE* pFileWriteStruct) {
   if (!pFileWriteStruct)
-    return FALSE;
+    return false;
 
   m_pFileWriteStruct = pFileWriteStruct;
-  return TRUE;
+  return true;
 }
 
-FX_BOOL CFX_IFileWrite::WriteBlock(const void* pData, size_t size) {
+bool CFX_IFileWrite::WriteBlock(const void* pData, size_t size) {
   if (!m_pFileWriteStruct)
-    return FALSE;
+    return false;
 
   m_pFileWriteStruct->WriteBlock(m_pFileWriteStruct, pData, size);
-  return TRUE;
+  return true;
 }
 
 void CFX_IFileWrite::Release() {
diff --git a/fpdfsdk/fpdfview.cpp b/fpdfsdk/fpdfview.cpp
index be56c53..03aedf6 100644
--- a/fpdfsdk/fpdfview.cpp
+++ b/fpdfsdk/fpdfview.cpp
@@ -112,7 +112,7 @@
   return 0;
 }
 
-FX_BOOL CFPDF_FileStream::IsEOF() {
+bool CFPDF_FileStream::IsEOF() {
   return m_nCurPos >= GetSize();
 }
 
@@ -120,18 +120,18 @@
   return m_nCurPos;
 }
 
-FX_BOOL CFPDF_FileStream::ReadBlock(void* buffer,
-                                    FX_FILESIZE offset,
-                                    size_t size) {
+bool CFPDF_FileStream::ReadBlock(void* buffer,
+                                 FX_FILESIZE offset,
+                                 size_t size) {
   if (!buffer || !size || !m_pFS->ReadBlock)
-    return FALSE;
+    return false;
 
   if (m_pFS->ReadBlock(m_pFS->clientData, (FPDF_DWORD)offset, buffer,
                        (FPDF_DWORD)size) == 0) {
     m_nCurPos = offset + size;
-    return TRUE;
+    return true;
   }
-  return FALSE;
+  return false;
 }
 
 size_t CFPDF_FileStream::ReadBlock(void* buffer, size_t size) {
@@ -153,23 +153,23 @@
   return 0;
 }
 
-FX_BOOL CFPDF_FileStream::WriteBlock(const void* buffer,
-                                     FX_FILESIZE offset,
-                                     size_t size) {
+bool CFPDF_FileStream::WriteBlock(const void* buffer,
+                                  FX_FILESIZE offset,
+                                  size_t size) {
   if (!m_pFS || !m_pFS->WriteBlock)
-    return FALSE;
+    return false;
 
   if (m_pFS->WriteBlock(m_pFS->clientData, (FPDF_DWORD)offset, buffer,
                         (FPDF_DWORD)size) == 0) {
     m_nCurPos = offset + size;
-    return TRUE;
+    return true;
   }
-  return FALSE;
+  return false;
 }
 
-FX_BOOL CFPDF_FileStream::Flush() {
+bool CFPDF_FileStream::Flush() {
   if (!m_pFS || !m_pFS->Flush)
-    return TRUE;
+    return true;
 
   return m_pFS->Flush(m_pFS->clientData) == 0;
 }
@@ -186,21 +186,21 @@
   delete this;
 }
 
-FX_BOOL CPDF_CustomAccess::ReadBlock(void* buffer,
-                                     FX_FILESIZE offset,
-                                     size_t size) {
-  if (offset < 0) {
-    return FALSE;
-  }
+bool CPDF_CustomAccess::ReadBlock(void* buffer,
+                                  FX_FILESIZE offset,
+                                  size_t size) {
+  if (offset < 0)
+    return false;
+
   FX_SAFE_FILESIZE newPos =
       pdfium::base::checked_cast<FX_FILESIZE, size_t>(size);
   newPos += offset;
   if (!newPos.IsValid() ||
       newPos.ValueOrDie() > static_cast<FX_FILESIZE>(m_FileAccess.m_FileLen)) {
-    return FALSE;
+    return false;
   }
-  return m_FileAccess.m_GetBlock(m_FileAccess.m_Param, offset, (uint8_t*)buffer,
-                                 size);
+  return !!m_FileAccess.m_GetBlock(m_FileAccess.m_Param, offset,
+                                   reinterpret_cast<uint8_t*>(buffer), size);
 }
 
 // 0 bit: FPDF_POLICY_MACHINETIME_ACCESS
@@ -388,18 +388,18 @@
 
   void Release() override { delete this; }
   FX_FILESIZE GetSize() override { return m_size; }
-  FX_BOOL ReadBlock(void* buffer, FX_FILESIZE offset, size_t size) override {
+  bool ReadBlock(void* buffer, FX_FILESIZE offset, size_t size) override {
     if (offset < 0) {
-      return FALSE;
+      return false;
     }
     FX_SAFE_FILESIZE newPos =
         pdfium::base::checked_cast<FX_FILESIZE, size_t>(size);
     newPos += offset;
     if (!newPos.IsValid() || newPos.ValueOrDie() > m_size) {
-      return FALSE;
+      return false;
     }
     FXSYS_memcpy(buffer, m_pBuf + offset, size);
-    return TRUE;
+    return true;
   }
 
  private:
diff --git a/fpdfsdk/fsdk_define.h b/fpdfsdk/fsdk_define.h
index 4fea138..aeb42d2 100644
--- a/fpdfsdk/fsdk_define.h
+++ b/fpdfsdk/fsdk_define.h
@@ -33,7 +33,7 @@
   // IFX_SeekableReadStream
   FX_FILESIZE GetSize() override;
   void Release() override;
-  FX_BOOL ReadBlock(void* buffer, FX_FILESIZE offset, size_t size) override;
+  bool ReadBlock(void* buffer, FX_FILESIZE offset, size_t size) override;
 
  private:
   FPDF_FILEACCESS m_FileAccess;
@@ -49,14 +49,12 @@
   IFX_SeekableStream* Retain() override;
   void Release() override;
   FX_FILESIZE GetSize() override;
-  FX_BOOL IsEOF() override;
+  bool IsEOF() override;
   FX_FILESIZE GetPosition() override;
-  FX_BOOL ReadBlock(void* buffer, FX_FILESIZE offset, size_t size) override;
+  bool ReadBlock(void* buffer, FX_FILESIZE offset, size_t size) override;
   size_t ReadBlock(void* buffer, size_t size) override;
-  FX_BOOL WriteBlock(const void* buffer,
-                     FX_FILESIZE offset,
-                     size_t size) override;
-  FX_BOOL Flush() override;
+  bool WriteBlock(const void* buffer, FX_FILESIZE offset, size_t size) override;
+  bool Flush() override;
 
   void SetPosition(FX_FILESIZE pos) { m_nCurPos = pos; }
 
diff --git a/xfa/fgas/crt/fgas_stream.cpp b/xfa/fgas/crt/fgas_stream.cpp
index f0a2a88..6da4e9e 100644
--- a/xfa/fgas/crt/fgas_stream.cpp
+++ b/xfa/fgas/crt/fgas_stream.cpp
@@ -291,16 +291,16 @@
 
 class CFGAS_FileRead : public IFX_SeekableReadStream {
  public:
-  CFGAS_FileRead(IFX_Stream* pStream, FX_BOOL bReleaseStream);
+  CFGAS_FileRead(IFX_Stream* pStream, bool bReleaseStream);
   ~CFGAS_FileRead() override;
 
   // IFX_SeekableReadStream
   void Release() override;
   FX_FILESIZE GetSize() override;
-  FX_BOOL ReadBlock(void* buffer, FX_FILESIZE offset, size_t size) override;
+  bool ReadBlock(void* buffer, FX_FILESIZE offset, size_t size) override;
 
  protected:
-  FX_BOOL m_bReleaseStream;
+  bool m_bReleaseStream;
   IFX_Stream* m_pStream;
 };
 
@@ -1469,12 +1469,14 @@
   }
   return pShared;
 }
+
 IFX_SeekableReadStream* FX_CreateFileRead(IFX_Stream* pBaseStream,
-                                          FX_BOOL bReleaseStream) {
+                                          bool bReleaseStream) {
   ASSERT(pBaseStream);
   return new CFGAS_FileRead(pBaseStream, bReleaseStream);
 }
-CFGAS_FileRead::CFGAS_FileRead(IFX_Stream* pStream, FX_BOOL bReleaseStream)
+
+CFGAS_FileRead::CFGAS_FileRead(IFX_Stream* pStream, bool bReleaseStream)
     : m_bReleaseStream(bReleaseStream), m_pStream(pStream) {
   ASSERT(m_pStream);
 }
@@ -1486,9 +1488,8 @@
 FX_FILESIZE CFGAS_FileRead::GetSize() {
   return (FX_FILESIZE)m_pStream->GetLength();
 }
-FX_BOOL CFGAS_FileRead::ReadBlock(void* buffer,
-                                  FX_FILESIZE offset,
-                                  size_t size) {
+
+bool CFGAS_FileRead::ReadBlock(void* buffer, FX_FILESIZE offset, size_t size) {
   m_pStream->Seek(FX_STREAMSEEK_Begin, (int32_t)offset);
   int32_t iLen = m_pStream->ReadData((uint8_t*)buffer, (int32_t)size);
   return iLen == (int32_t)size;
diff --git a/xfa/fgas/crt/fgas_stream.h b/xfa/fgas/crt/fgas_stream.h
index c61688d..34d684f 100644
--- a/xfa/fgas/crt/fgas_stream.h
+++ b/xfa/fgas/crt/fgas_stream.h
@@ -10,11 +10,6 @@
 #include "core/fxcrt/fx_stream.h"
 #include "core/fxcrt/fx_system.h"
 
-class IFX_Stream;
-
-IFX_SeekableReadStream* FX_CreateFileRead(IFX_Stream* pBaseStream,
-                                          FX_BOOL bReleaseStream);
-
 enum FX_STREAMACCESS {
   FX_STREAMACCESS_Binary = 0x00,
   FX_STREAMACCESS_Text = 0x01,
@@ -68,4 +63,7 @@
   virtual uint16_t SetCodePage(uint16_t wCodePage) = 0;
 };
 
+IFX_SeekableReadStream* FX_CreateFileRead(IFX_Stream* pBaseStream,
+                                          bool bReleaseStream);
+
 #endif  // XFA_FGAS_CRT_FGAS_STREAM_H_
diff --git a/xfa/fxfa/app/xfa_ffapp.cpp b/xfa/fxfa/app/xfa_ffapp.cpp
index d60d48f..06cad02 100644
--- a/xfa/fxfa/app/xfa_ffapp.cpp
+++ b/xfa/fxfa/app/xfa_ffapp.cpp
@@ -37,9 +37,7 @@
   return dwSize;
 }
 
-FX_BOOL CXFA_FileRead::ReadBlock(void* buffer,
-                                 FX_FILESIZE offset,
-                                 size_t size) {
+bool CXFA_FileRead::ReadBlock(void* buffer, FX_FILESIZE offset, size_t size) {
   int32_t iCount = m_Data.GetSize();
   int32_t index = 0;
   while (index < iCount) {
@@ -58,13 +56,13 @@
     FXSYS_memcpy(buffer, acc.GetData() + offset, dwRead);
     size -= dwRead;
     if (size == 0) {
-      return TRUE;
+      return true;
     }
     buffer = (uint8_t*)buffer + dwRead;
     offset = 0;
     index++;
   }
-  return FALSE;
+  return false;
 }
 
 void CXFA_FileRead::Release() {
diff --git a/xfa/fxfa/xfa_ffapp.h b/xfa/fxfa/xfa_ffapp.h
index 5e82895..543d78c 100644
--- a/xfa/fxfa/xfa_ffapp.h
+++ b/xfa/fxfa/xfa_ffapp.h
@@ -31,7 +31,7 @@
 
   // IFX_SeekableReadStream
   FX_FILESIZE GetSize() override;
-  FX_BOOL ReadBlock(void* buffer, FX_FILESIZE offset, size_t size) override;
+  bool ReadBlock(void* buffer, FX_FILESIZE offset, size_t size) override;
   void Release() override;
 
  protected: