26 #ifndef _UTF8REWIND_INTERNAL_DATABASE_H_ 27 #define _UTF8REWIND_INTERNAL_DATABASE_H_ 38 #include "../unicodedatabase.h" 40 enum QuickCheckCaseMapped
42 QuickCheckCaseMapped_Uppercase = 0x01,
43 QuickCheckCaseMapped_Lowercase = 0x02,
44 QuickCheckCaseMapped_Titlecase = 0x04,
45 QuickCheckCaseMapped_Casefolded = 0x08,
51 QuickCheckResult_Maybe,
55 #define PROPERTY_INDEX_SHIFT (5) 57 static const unicode_t PROPERTY_DATA_MASK = (1 << PROPERTY_INDEX_SHIFT) - 1;
59 #define PROPERTY_GET(_indexArray, _dataArray, _cp) \ 61 (_indexArray)[(_cp) >> PROPERTY_INDEX_SHIFT] + \ 62 ((_cp) & PROPERTY_DATA_MASK)] 64 #define PROPERTY_GET_GC(_cp) \ 65 PROPERTY_GET(GeneralCategoryIndexPtr, GeneralCategoryDataPtr, _cp) 67 #define PROPERTY_GET_CCC(_cp) \ 68 PROPERTY_GET(CanonicalCombiningClassIndexPtr, CanonicalCombiningClassDataPtr, _cp) 70 #define PROPERTY_GET_CM(_cp) \ 71 PROPERTY_GET(QuickCheckCaseMappedIndexPtr, QuickCheckCaseMappedDataPtr, _cp) 73 #define PROPERTY_GET_NFC(_cp) \ 74 PROPERTY_GET(QuickCheckNFCIndexPtr, QuickCheckNFCDataPtr, _cp) 76 #define PROPERTY_GET_NFD(_cp) \ 77 PROPERTY_GET(QuickCheckNFDIndexPtr, QuickCheckNFDDataPtr, _cp) 79 #define PROPERTY_GET_NFKC(_cp) \ 80 PROPERTY_GET(QuickCheckNFKCIndexPtr, QuickCheckNFKCDataPtr, _cp) 82 #define PROPERTY_GET_NFKD(_cp) \ 83 PROPERTY_GET(QuickCheckNFKDIndexPtr, QuickCheckNFKDDataPtr, _cp) 85 const char* database_querydecomposition(
unicode_t codepoint,
const uint32_t* index1Array,
const uint32_t* index2Array,
const uint32_t* dataArray, uint8_t* length);
Public interface for UTF-8 functions.
uint32_t unicode_t
UTF-32 encoded code point.
Definition: utf8rewind.h:698