OpenTTD
Macros | Typedefs | Enumerations | Variables
string_type.h File Reference

Types for strings. More...

#include "core/enum_type.hpp"

Go to the source code of this file.

Macros

#define NBSP   "\xC2\xA0"
 A non-breaking space. More...
 
#define LRM   "\xE2\x80\x8E"
 A left-to-right marker, marks the next character as left-to-right. More...
 

Typedefs

typedef uint32 WChar
 Type for wide characters, i.e. More...
 

Enumerations

enum  CharSetFilter {
  CS_ALPHANUMERAL, CS_NUMERAL, CS_NUMERAL_SPACE, CS_ALPHA,
  CS_HEXADECIMAL
}
 Valid filter types for IsValidChar. More...
 
enum  StringValidationSettings { SVS_NONE = 0, SVS_REPLACE_WITH_QUESTION_MARK = 1 << 0, SVS_ALLOW_NEWLINE = 1 << 1, SVS_ALLOW_CONTROL_CODE = 1 << 2 }
 Settings for the string validation. More...
 

Variables

static const WChar CHAR_TD_LRM = 0x200E
 The next character acts like a left-to-right character.
 
static const WChar CHAR_TD_RLM = 0x200F
 The next character acts like a right-to-left character.
 
static const WChar CHAR_TD_LRE = 0x202A
 The following text is embedded left-to-right.
 
static const WChar CHAR_TD_RLE = 0x202B
 The following text is embedded right-to-left.
 
static const WChar CHAR_TD_LRO = 0x202D
 Force the following characters to be treated as left-to-right characters.
 
static const WChar CHAR_TD_RLO = 0x202E
 Force the following characters to be treated as right-to-left characters.
 
static const WChar CHAR_TD_PDF = 0x202C
 Restore the text-direction state to before the last LRE, RLE, LRO or RLO.
 

Detailed Description

Types for strings.

Definition in file string_type.h.

Macro Definition Documentation

◆ LRM

#define LRM   "\xE2\x80\x8E"

A left-to-right marker, marks the next character as left-to-right.

Definition at line 21 of file string_type.h.

◆ NBSP

#define NBSP   "\xC2\xA0"

A non-breaking space.

Definition at line 18 of file string_type.h.

Typedef Documentation

◆ WChar

typedef uint32 WChar

Type for wide characters, i.e.

non-UTF8 encoded unicode characters.

Definition at line 35 of file string_type.h.

Enumeration Type Documentation

◆ CharSetFilter

Valid filter types for IsValidChar.

Enumerator
CS_ALPHANUMERAL 

Both numeric and alphabetic and spaces and stuff.

CS_NUMERAL 

Only numeric ones.

CS_NUMERAL_SPACE 

Only numbers and spaces.

CS_ALPHA 

Only alphabetic values.

CS_HEXADECIMAL 

Only hexadecimal characters.

Definition at line 26 of file string_type.h.

◆ StringValidationSettings

Settings for the string validation.

Enumerator
SVS_NONE 

Allow nothing and replace nothing.

SVS_REPLACE_WITH_QUESTION_MARK 

Replace the unknown/bad bits with question marks.

SVS_ALLOW_NEWLINE 

Allow newlines.

SVS_ALLOW_CONTROL_CODE 

Allow the special control codes.

Definition at line 48 of file string_type.h.