JASSv2
Classes | Variables
unicode.h File Reference

Methods that work on Unicode codepoints. More...

#include <ctype.h>
#include <stdint.h>
#include <string.h>
#include <vector>
#include "asserts.h"
Include dependency graph for unicode.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  JASS::unicode
 Implementation of the ctype methods on Unicode codepoints. More...
 

Variables

unsigned char JASS_unicode_isalpha_data []
 is the given codepoint alphabetic
 
unsigned char JASS_unicode_isalnum_data []
 is the given codepoint alphanumeric
 
unsigned char JASS_unicode_isupper_data []
 is the given codepoint uppercase
 
unsigned char JASS_unicode_islower_data []
 is the given codepoint lowercase
 
unsigned char JASS_unicode_iscntrl_data []
 is the given codepoint a control character
 
unsigned char JASS_unicode_isdigit_data []
 is the given codepoint a numeric or digit character
 
unsigned char JASS_unicode_isgraph_data []
 is the given codepoint a graphic character
 
unsigned char JASS_unicode_ispunct_data []
 is the given codepoint punctuation
 
unsigned char JASS_unicode_isspace_data []
 is the given codepoint whitespace
 
unsigned char JASS_unicode_isuspace_data []
 is the given codepoint a space under the Unicode definition of space
 
unsigned char JASS_unicode_isxdigit_data []
 is the given codepoint a hexadecimal digit
 
unsigned char JASS_unicode_ismark_data []
 is the given codepoint a mark
 
unsigned char JASS_unicode_issymbol_data []
 is the given codepoint a symbol
 
unsigned char JASS_unicode_isxmlnamestartchar_data []
 is the given character a XML NameStartChar (see XML production 4)
 
unsigned char JASS_unicode_isxmlnamechar_data []
 is the given character a XML NameStartChar (see XML production 4a)
 
const uint32_t * JASS_normalisation []
 an array of pointers to JASS normalised codepoints for the given codepoint More...
 

Detailed Description

Methods that work on Unicode codepoints.

These methods are (where possible) Unicode equivelants to C's ctype methods. For the ASCII block these methods should exactly match C's is() routines. The case changing methods toupper() an tolower() are replaced with a tocasefold() method because uppercase and lowercase are meaningless for many languages.

See unicode_database_to_c.cpp (in the tools directory) for how to generate the matching unicode.cpp file.

Author
Andrew Trotman

Variable Documentation

◆ JASS_normalisation

const uint32_t* JASS_normalisation[]

an array of pointers to JASS normalised codepoints for the given codepoint

an array of pointers to JASS normalised codepoints for the given codepoint