1 // Copyright 2013 The Chromium Authors 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 #include "base/strings/string_util.h" 6 7 namespace base { 8 9 #define WHITESPACE_ASCII_NO_CR_LF \ 10 0x09, /* CHARACTER TABULATION */ \ 11 0x0B, /* LINE TABULATION */ \ 12 0x0C, /* FORM FEED (FF) */ \ 13 0x20 /* SPACE */ 14 15 #define WHITESPACE_ASCII \ 16 WHITESPACE_ASCII_NO_CR_LF, /* Comment to make clang-format linebreak */ \ 17 0x0A, /* LINE FEED (LF) */ \ 18 0x0D /* CARRIAGE RETURN (CR) */ 19 20 #define WHITESPACE_UNICODE_NON_ASCII \ 21 0x0085, /* NEXT LINE (NEL) */ \ 22 0x00A0, /* NO-BREAK SPACE */ \ 23 0x1680, /* OGHAM SPACE MARK */ \ 24 0x2000, /* EN QUAD */ \ 25 0x2001, /* EM QUAD */ \ 26 0x2002, /* EN SPACE */ \ 27 0x2003, /* EM SPACE */ \ 28 0x2004, /* THREE-PER-EM SPACE */ \ 29 0x2005, /* FOUR-PER-EM SPACE */ \ 30 0x2006, /* SIX-PER-EM SPACE */ \ 31 0x2007, /* FIGURE SPACE */ \ 32 0x2008, /* PUNCTUATION SPACE */ \ 33 0x2009, /* THIN SPACE */ \ 34 0x200A, /* HAIR SPACE */ \ 35 0x2028, /* LINE SEPARATOR */ \ 36 0x2029, /* PARAGRAPH SEPARATOR */ \ 37 0x202F, /* NARROW NO-BREAK SPACE */ \ 38 0x205F, /* MEDIUM MATHEMATICAL SPACE */ \ 39 0x3000 /* IDEOGRAPHIC SPACE */ 40 41 #define WHITESPACE_UNICODE_NO_CR_LF \ 42 WHITESPACE_ASCII_NO_CR_LF, WHITESPACE_UNICODE_NON_ASCII 43 44 #define WHITESPACE_UNICODE WHITESPACE_ASCII, WHITESPACE_UNICODE_NON_ASCII 45 46 const wchar_t kWhitespaceWide[] = {WHITESPACE_UNICODE, 0}; 47 const char16_t kWhitespaceUTF16[] = {WHITESPACE_UNICODE, 0}; 48 const char16_t kWhitespaceNoCrLfUTF16[] = {WHITESPACE_UNICODE_NO_CR_LF, 0}; 49 const char kWhitespaceASCII[] = {WHITESPACE_ASCII, 0}; 50 const char16_t kWhitespaceASCIIAs16[] = {WHITESPACE_ASCII, 0}; 51 52 const char kInfraAsciiWhitespace[] = {0x09, 0x0A, 0x0C, 0x0D, 0x20, 0}; 53 54 const char kUtf8ByteOrderMark[] = "\xEF\xBB\xBF"; 55 56 } // namespace base 57