SuperTuxKart 1.5 upstream source (from official release tarball)
This commit is contained in:
@@ -0,0 +1,106 @@
|
||||
/*
|
||||
* Copyright (C) 2018 Muhammad Tayyab Akram
|
||||
*
|
||||
* Licensed 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.
|
||||
*/
|
||||
|
||||
#ifndef _SB_PUBLIC_GENERAL_CATEGORY_H
|
||||
#define _SB_PUBLIC_GENERAL_CATEGORY_H
|
||||
|
||||
#include "SBBase.h"
|
||||
|
||||
/**
|
||||
* Constants that specify the general category of a character.
|
||||
*/
|
||||
enum {
|
||||
SBGeneralCategoryNil = 0x00,
|
||||
|
||||
SBGeneralCategoryLU = 0x01, /**< Letter: Uppercase Letter */
|
||||
SBGeneralCategoryLL = 0x02, /**< Letter: Lowercase Letter */
|
||||
SBGeneralCategoryLT = 0x03, /**< Letter: Titlecase Letter */
|
||||
SBGeneralCategoryLM = 0x04, /**< Letter: Modifier Letter */
|
||||
SBGeneralCategoryLO = 0x05, /**< Letter: Other Letter */
|
||||
|
||||
SBGeneralCategoryMN = 0x06, /**< Mark: Nonspacing Mark */
|
||||
SBGeneralCategoryMC = 0x07, /**< Mark: Spacing Mark */
|
||||
SBGeneralCategoryME = 0x08, /**< Mark: Enclosing Mark */
|
||||
|
||||
SBGeneralCategoryND = 0x09, /**< Number: Decimal Number */
|
||||
SBGeneralCategoryNL = 0x0A, /**< Number: Letter Number */
|
||||
SBGeneralCategoryNO = 0x0B, /**< Number: Other Number */
|
||||
|
||||
SBGeneralCategoryPC = 0x0C, /**< Punctuation: Connector Punctuation */
|
||||
SBGeneralCategoryPD = 0x0D, /**< Punctuation: Dash Punctuation */
|
||||
SBGeneralCategoryPS = 0x0E, /**< Punctuation: Open Punctuation */
|
||||
SBGeneralCategoryPE = 0x0F, /**< Punctuation: Close Punctuation */
|
||||
SBGeneralCategoryPI = 0x10, /**< Punctuation: Initial Punctuation */
|
||||
SBGeneralCategoryPF = 0x11, /**< Punctuation: Final Punctuation */
|
||||
SBGeneralCategoryPO = 0x12, /**< Punctuation: Other Punctuation */
|
||||
|
||||
SBGeneralCategorySM = 0x13, /**< Symbol: Math Symbol */
|
||||
SBGeneralCategorySC = 0x14, /**< Symbol: Currency Symbol */
|
||||
SBGeneralCategorySK = 0x15, /**< Symbol: Modifier Symbol */
|
||||
SBGeneralCategorySO = 0x16, /**< Symbol: Other Symbol */
|
||||
|
||||
SBGeneralCategoryZS = 0x17, /**< Separator: Space Separator */
|
||||
SBGeneralCategoryZL = 0x18, /**< Separator: Line Separator */
|
||||
SBGeneralCategoryZP = 0x19, /**< Separator: Paragraph Separator */
|
||||
|
||||
SBGeneralCategoryCC = 0x1A, /**< Other: Control */
|
||||
SBGeneralCategoryCF = 0x1B, /**< Other: Format */
|
||||
SBGeneralCategoryCS = 0x1C, /**< Other: Surrogate */
|
||||
SBGeneralCategoryCO = 0x1D, /**< Other: Private_Use */
|
||||
SBGeneralCategoryCN = 0x1E /**< Other: Unassigned */
|
||||
};
|
||||
|
||||
/**
|
||||
* A type to represent the general category of a character.
|
||||
*/
|
||||
typedef SBUInt8 SBGeneralCategory;
|
||||
|
||||
/**
|
||||
* Checks whether specified general category is letter.
|
||||
*/
|
||||
#define SBGeneralCategoryIsLetter(gc) SBUInt8InRange(gc, SBGeneralCategoryLU, SBGeneralCategoryLO)
|
||||
|
||||
/**
|
||||
* Checks whether specified general category is mark.
|
||||
*/
|
||||
#define SBGeneralCategoryIsMark(gc) SBUInt8InRange(gc, SBGeneralCategoryMN, SBGeneralCategoryME)
|
||||
|
||||
/**
|
||||
* Checks whether specified general category is number.
|
||||
*/
|
||||
#define SBGeneralCategoryIsNumber(gc) SBUInt8InRange(gc, SBGeneralCategoryND, SBGeneralCategoryNO)
|
||||
|
||||
/**
|
||||
* Checks whether specified general category is punctuation.
|
||||
*/
|
||||
#define SBGeneralCategoryIsPunctuation(gc) SBUInt8InRange(gc, SBGeneralCategoryPC, SBGeneralCategoryPO)
|
||||
|
||||
/**
|
||||
* Checks whether specified general category is symbol.
|
||||
*/
|
||||
#define SBGeneralCategoryIsSymbol(gc) SBUInt8InRange(gc, SBGeneralCategorySM, SBGeneralCategorySO)
|
||||
|
||||
/**
|
||||
* Checks whether specified general category is separator.
|
||||
*/
|
||||
#define SBGeneralCategoryIsSeparator(gc) SBUInt8InRange(gc, SBGeneralCategoryZS, SBGeneralCategoryZP)
|
||||
|
||||
/**
|
||||
* Checks whether specified general category is other.
|
||||
*/
|
||||
#define SBGeneralCategoryIsOther(gc) SBUInt8InRange(gc, SBGeneralCategoryCC, SBGeneralCategoryCN)
|
||||
|
||||
#endif
|
||||
Reference in New Issue
Block a user