Add PDFCharIsLineEnding helper
[pdfium.git] / core / include / fpdfapi / fpdf_parser.h
index a5fce34..32509eb 100644 (file)
@@ -45,13 +45,26 @@ class CFX_PrivateData;
 #define FPDFPERM_PRINT_HIGH 0x0800
 #define FPDF_PAGE_MAX_NUM 0xFFFFF
 
-// Indexed by 8-bit character code, contains either:
-//   'W' - for whitespace: NUL, TAB, CR, LF, FF, 0x80, 0xff
-//   'N' - for numeric: 0123456789+-.
-//   'D' - for delimiter: %()/<>[]{}
-//   'R' - otherwise.
+// Use the accessors below instead of directly accessing PDF_CharType.
 extern const char PDF_CharType[256];
 
+inline bool PDFCharIsWhitespace(uint8_t c) {
+  return PDF_CharType[c] == 'W';
+}
+inline bool PDFCharIsNumeric(uint8_t c) {
+  return PDF_CharType[c] == 'N';
+}
+inline bool PDFCharIsDelimiter(uint8_t c) {
+  return PDF_CharType[c] == 'D';
+}
+inline bool PDFCharIsOther(uint8_t c) {
+  return PDF_CharType[c] == 'R';
+}
+
+inline bool PDFCharIsLineEnding(uint8_t c) {
+  return c == '\r' || c == '\n';
+}
+
 // Indexed by 8-bit char code, contains unicode code points.
 extern const FX_WORD PDFDocEncoding[256];