// Licensed to the Apache Software Foundation (ASF) under one
// or more contributor license agreements.  See the NOTICE file
// distributed with this work for additional information
// regarding copyright ownership.  The ASF licenses this file
// to you under the Apache License, Version 2.0 (the
// "License"); you may not use this file except in compliance
// with the License.  You may obtain a copy of the License at
//
//   http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing,
// software distributed under the License is distributed on an
// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
// KIND, either express or implied.  See the License for the
// specific language governing permissions and limitations
// under the License.

#include "DFCharacterSet.h"
#include "DFCommon.h"

int DFCharIsHex(uint32_t ch)
{
    return (((ch >= '0') && (ch <= '9')) ||
            ((ch >= 'a') && (ch <= 'f')) ||
            ((ch >= 'A') && (ch <= 'F')));
}

int DFCharIsWhitespace(uint32_t ch)
{
    switch (ch) {
        case 0x9:
        case 0x20:
        case 0xA0:
        case 0x1680:
        case 0x2000:
        case 0x2001:
        case 0x2002:
        case 0x2003:
        case 0x2004:
        case 0x2005:
        case 0x2006:
        case 0x2007:
        case 0x2008:
        case 0x2009:
        case 0x200A:
        case 0x200B:
        case 0x202F:
        case 0x205F:
        case 0x3000:
            return 1;
        default:
            return 0;
    }
}

int DFCharIsNewline(uint32_t ch)
{
    switch (ch) {
        case 0xA:
        case 0xB:
        case 0xC:
        case 0xD:
        case 0x85:
        case 0x2028:
        case 0x2029:
            return 1;
        default:
            return 0;
    }
}

int DFCharIsWhitespaceOrNewline(uint32_t ch)
{
    switch (ch) {
        case 0x9:
        case 0xA:
        case 0xB:
        case 0xC:
        case 0xD:
        case 0x20:
        case 0x85:
        case 0xA0:
        case 0x1680:
        case 0x2000:
        case 0x2001:
        case 0x2002:
        case 0x2003:
        case 0x2004:
        case 0x2005:
        case 0x2006:
        case 0x2007:
        case 0x2008:
        case 0x2009:
        case 0x200A:
        case 0x200B:
        case 0x2028:
        case 0x2029:
        case 0x202F:
        case 0x205F:
        case 0x3000:
            return 1;
        default:
            return 0;
    }
}

int DFCharIsPunctuation(uint32_t ch)
{
    switch (ch) {
        case 0x21:
        case 0x22:
        case 0x23:
        case 0x25:
        case 0x26:
        case 0x27:
        case 0x28:
        case 0x29:
        case 0x2A:
        case 0x2C:
        case 0x2D:
        case 0x2E:
        case 0x2F:
        case 0x3A:
        case 0x3B:
        case 0x3F:
        case 0x40:
        case 0x5B:
        case 0x5C:
        case 0x5D:
        case 0x5F:
        case 0x7B:
        case 0x7D:
        case 0xA1:
        case 0xA7:
        case 0xAB:
        case 0xB6:
        case 0xB7:
        case 0xBB:
        case 0xBF:
        case 0x37E:
        case 0x387:
        case 0x55A:
        case 0x55B:
        case 0x55C:
        case 0x55D:
        case 0x55E:
        case 0x55F:
        case 0x589:
        case 0x58A:
        case 0x5BE:
        case 0x5C0:
        case 0x5C3:
        case 0x5C6:
        case 0x5F3:
        case 0x5F4:
        case 0x609:
        case 0x60A:
        case 0x60C:
        case 0x60D:
        case 0x61B:
        case 0x61E:
        case 0x61F:
        case 0x66A:
        case 0x66B:
        case 0x66C:
        case 0x66D:
        case 0x6D4:
        case 0x700:
        case 0x701:
        case 0x702:
        case 0x703:
        case 0x704:
        case 0x705:
        case 0x706:
        case 0x707:
        case 0x708:
        case 0x709:
        case 0x70A:
        case 0x70B:
        case 0x70C:
        case 0x70D:
        case 0x7F7:
        case 0x7F8:
        case 0x7F9:
        case 0x830:
        case 0x831:
        case 0x832:
        case 0x833:
        case 0x834:
        case 0x835:
        case 0x836:
        case 0x837:
        case 0x838:
        case 0x839:
        case 0x83A:
        case 0x83B:
        case 0x83C:
        case 0x83D:
        case 0x83E:
        case 0x85E:
        case 0x964:
        case 0x965:
        case 0x970:
        case 0xAF0:
        case 0xDF4:
        case 0xE4F:
        case 0xE5A:
        case 0xE5B:
        case 0xF04:
        case 0xF05:
        case 0xF06:
        case 0xF07:
        case 0xF08:
        case 0xF09:
        case 0xF0A:
        case 0xF0B:
        case 0xF0C:
        case 0xF0D:
        case 0xF0E:
        case 0xF0F:
        case 0xF10:
        case 0xF11:
        case 0xF12:
        case 0xF14:
        case 0xF3A:
        case 0xF3B:
        case 0xF3C:
        case 0xF3D:
        case 0xF85:
        case 0xFD0:
        case 0xFD1:
        case 0xFD2:
        case 0xFD3:
        case 0xFD4:
        case 0xFD9:
        case 0xFDA:
        case 0x104A:
        case 0x104B:
        case 0x104C:
        case 0x104D:
        case 0x104E:
        case 0x104F:
        case 0x10FB:
        case 0x1360:
        case 0x1361:
        case 0x1362:
        case 0x1363:
        case 0x1364:
        case 0x1365:
        case 0x1366:
        case 0x1367:
        case 0x1368:
        case 0x1400:
        case 0x166D:
        case 0x166E:
        case 0x169B:
        case 0x169C:
        case 0x16EB:
        case 0x16EC:
        case 0x16ED:
        case 0x1735:
        case 0x1736:
        case 0x17D4:
        case 0x17D5:
        case 0x17D6:
        case 0x17D8:
        case 0x17D9:
        case 0x17DA:
        case 0x1800:
        case 0x1801:
        case 0x1802:
        case 0x1803:
        case 0x1804:
        case 0x1805:
        case 0x1806:
        case 0x1807:
        case 0x1808:
        case 0x1809:
        case 0x180A:
        case 0x1944:
        case 0x1945:
        case 0x1A1E:
        case 0x1A1F:
        case 0x1AA0:
        case 0x1AA1:
        case 0x1AA2:
        case 0x1AA3:
        case 0x1AA4:
        case 0x1AA5:
        case 0x1AA6:
        case 0x1AA8:
        case 0x1AA9:
        case 0x1AAA:
        case 0x1AAB:
        case 0x1AAC:
        case 0x1AAD:
        case 0x1B5A:
        case 0x1B5B:
        case 0x1B5C:
        case 0x1B5D:
        case 0x1B5E:
        case 0x1B5F:
        case 0x1B60:
        case 0x1BFC:
        case 0x1BFD:
        case 0x1BFE:
        case 0x1BFF:
        case 0x1C3B:
        case 0x1C3C:
        case 0x1C3D:
        case 0x1C3E:
        case 0x1C3F:
        case 0x1C7E:
        case 0x1C7F:
        case 0x1CC0:
        case 0x1CC1:
        case 0x1CC2:
        case 0x1CC3:
        case 0x1CC4:
        case 0x1CC5:
        case 0x1CC6:
        case 0x1CC7:
        case 0x1CD3:
        case 0x2010:
        case 0x2011:
        case 0x2012:
        case 0x2013:
        case 0x2014:
        case 0x2015:
        case 0x2016:
        case 0x2017:
        case 0x2018:
        case 0x2019:
        case 0x201A:
        case 0x201B:
        case 0x201C:
        case 0x201D:
        case 0x201E:
        case 0x201F:
        case 0x2020:
        case 0x2021:
        case 0x2022:
        case 0x2023:
        case 0x2024:
        case 0x2025:
        case 0x2026:
        case 0x2027:
        case 0x2030:
        case 0x2031:
        case 0x2032:
        case 0x2033:
        case 0x2034:
        case 0x2035:
        case 0x2036:
        case 0x2037:
        case 0x2038:
        case 0x2039:
        case 0x203A:
        case 0x203B:
        case 0x203C:
        case 0x203D:
        case 0x203E:
        case 0x203F:
        case 0x2040:
        case 0x2041:
        case 0x2042:
        case 0x2043:
        case 0x2045:
        case 0x2046:
        case 0x2047:
        case 0x2048:
        case 0x2049:
        case 0x204A:
        case 0x204B:
        case 0x204C:
        case 0x204D:
        case 0x204E:
        case 0x204F:
        case 0x2050:
        case 0x2051:
        case 0x2053:
        case 0x2054:
        case 0x2055:
        case 0x2056:
        case 0x2057:
        case 0x2058:
        case 0x2059:
        case 0x205A:
        case 0x205B:
        case 0x205C:
        case 0x205D:
        case 0x205E:
        case 0x207D:
        case 0x207E:
        case 0x208D:
        case 0x208E:
        case 0x2329:
        case 0x232A:
        case 0x2768:
        case 0x2769:
        case 0x276A:
        case 0x276B:
        case 0x276C:
        case 0x276D:
        case 0x276E:
        case 0x276F:
        case 0x2770:
        case 0x2771:
        case 0x2772:
        case 0x2773:
        case 0x2774:
        case 0x2775:
        case 0x27C5:
        case 0x27C6:
        case 0x27E6:
        case 0x27E7:
        case 0x27E8:
        case 0x27E9:
        case 0x27EA:
        case 0x27EB:
        case 0x27EC:
        case 0x27ED:
        case 0x27EE:
        case 0x27EF:
        case 0x2983:
        case 0x2984:
        case 0x2985:
        case 0x2986:
        case 0x2987:
        case 0x2988:
        case 0x2989:
        case 0x298A:
        case 0x298B:
        case 0x298C:
        case 0x298D:
        case 0x298E:
        case 0x298F:
        case 0x2990:
        case 0x2991:
        case 0x2992:
        case 0x2993:
        case 0x2994:
        case 0x2995:
        case 0x2996:
        case 0x2997:
        case 0x2998:
        case 0x29D8:
        case 0x29D9:
        case 0x29DA:
        case 0x29DB:
        case 0x29FC:
        case 0x29FD:
        case 0x2CF9:
        case 0x2CFA:
        case 0x2CFB:
        case 0x2CFC:
        case 0x2CFE:
        case 0x2CFF:
        case 0x2D70:
        case 0x2E00:
        case 0x2E01:
        case 0x2E02:
        case 0x2E03:
        case 0x2E04:
        case 0x2E05:
        case 0x2E06:
        case 0x2E07:
        case 0x2E08:
        case 0x2E09:
        case 0x2E0A:
        case 0x2E0B:
        case 0x2E0C:
        case 0x2E0D:
        case 0x2E0E:
        case 0x2E0F:
        case 0x2E10:
        case 0x2E11:
        case 0x2E12:
        case 0x2E13:
        case 0x2E14:
        case 0x2E15:
        case 0x2E16:
        case 0x2E17:
        case 0x2E18:
        case 0x2E19:
        case 0x2E1A:
        case 0x2E1B:
        case 0x2E1C:
        case 0x2E1D:
        case 0x2E1E:
        case 0x2E1F:
        case 0x2E20:
        case 0x2E21:
        case 0x2E22:
        case 0x2E23:
        case 0x2E24:
        case 0x2E25:
        case 0x2E26:
        case 0x2E27:
        case 0x2E28:
        case 0x2E29:
        case 0x2E2A:
        case 0x2E2B:
        case 0x2E2C:
        case 0x2E2D:
        case 0x2E2E:
        case 0x2E30:
        case 0x2E31:
        case 0x2E32:
        case 0x2E33:
        case 0x2E34:
        case 0x2E35:
        case 0x2E36:
        case 0x2E37:
        case 0x2E38:
        case 0x2E39:
        case 0x2E3A:
        case 0x2E3B:
        case 0x3001:
        case 0x3002:
        case 0x3003:
        case 0x3008:
        case 0x3009:
        case 0x300A:
        case 0x300B:
        case 0x300C:
        case 0x300D:
        case 0x300E:
        case 0x300F:
        case 0x3010:
        case 0x3011:
        case 0x3014:
        case 0x3015:
        case 0x3016:
        case 0x3017:
        case 0x3018:
        case 0x3019:
        case 0x301A:
        case 0x301B:
        case 0x301C:
        case 0x301D:
        case 0x301E:
        case 0x301F:
        case 0x3030:
        case 0x303D:
        case 0x30A0:
        case 0x30FB:
        case 0xA4FE:
        case 0xA4FF:
        case 0xA60D:
        case 0xA60E:
        case 0xA60F:
        case 0xA673:
        case 0xA67E:
        case 0xA6F2:
        case 0xA6F3:
        case 0xA6F4:
        case 0xA6F5:
        case 0xA6F6:
        case 0xA6F7:
        case 0xA874:
        case 0xA875:
        case 0xA876:
        case 0xA877:
        case 0xA8CE:
        case 0xA8CF:
        case 0xA8F8:
        case 0xA8F9:
        case 0xA8FA:
        case 0xA92E:
        case 0xA92F:
        case 0xA95F:
        case 0xA9C1:
        case 0xA9C2:
        case 0xA9C3:
        case 0xA9C4:
        case 0xA9C5:
        case 0xA9C6:
        case 0xA9C7:
        case 0xA9C8:
        case 0xA9C9:
        case 0xA9CA:
        case 0xA9CB:
        case 0xA9CC:
        case 0xA9CD:
        case 0xA9DE:
        case 0xA9DF:
        case 0xAA5C:
        case 0xAA5D:
        case 0xAA5E:
        case 0xAA5F:
        case 0xAADE:
        case 0xAADF:
        case 0xAAF0:
        case 0xAAF1:
        case 0xABEB:
        case 0xFD3E:
        case 0xFD3F:
        case 0xFE10:
        case 0xFE11:
        case 0xFE12:
        case 0xFE13:
        case 0xFE14:
        case 0xFE15:
        case 0xFE16:
        case 0xFE17:
        case 0xFE18:
        case 0xFE19:
        case 0xFE30:
        case 0xFE31:
        case 0xFE32:
        case 0xFE33:
        case 0xFE34:
        case 0xFE35:
        case 0xFE36:
        case 0xFE37:
        case 0xFE38:
        case 0xFE39:
        case 0xFE3A:
        case 0xFE3B:
        case 0xFE3C:
        case 0xFE3D:
        case 0xFE3E:
        case 0xFE3F:
        case 0xFE40:
        case 0xFE41:
        case 0xFE42:
        case 0xFE43:
        case 0xFE44:
        case 0xFE45:
        case 0xFE46:
        case 0xFE47:
        case 0xFE48:
        case 0xFE49:
        case 0xFE4A:
        case 0xFE4B:
        case 0xFE4C:
        case 0xFE4D:
        case 0xFE4E:
        case 0xFE4F:
        case 0xFE50:
        case 0xFE51:
        case 0xFE52:
        case 0xFE54:
        case 0xFE55:
        case 0xFE56:
        case 0xFE57:
        case 0xFE58:
        case 0xFE59:
        case 0xFE5A:
        case 0xFE5B:
        case 0xFE5C:
        case 0xFE5D:
        case 0xFE5E:
        case 0xFE5F:
        case 0xFE60:
        case 0xFE61:
        case 0xFE63:
        case 0xFE68:
        case 0xFE6A:
        case 0xFE6B:
        case 0xFF01:
        case 0xFF02:
        case 0xFF03:
        case 0xFF05:
        case 0xFF06:
        case 0xFF07:
        case 0xFF08:
        case 0xFF09:
        case 0xFF0A:
        case 0xFF0C:
        case 0xFF0D:
        case 0xFF0E:
        case 0xFF0F:
        case 0xFF1A:
        case 0xFF1B:
        case 0xFF1F:
        case 0xFF20:
        case 0xFF3B:
        case 0xFF3C:
        case 0xFF3D:
        case 0xFF3F:
        case 0xFF5B:
        case 0xFF5D:
        case 0xFF5F:
        case 0xFF60:
        case 0xFF61:
        case 0xFF62:
        case 0xFF63:
        case 0xFF64:
        case 0xFF65:
            return 1;
        default:
            return 0;
    }
}
