41#define UCA_MAX_CHAR_GRP 4
85#define MY_UCA_MAX_CONTRACTION 6
86#define MY_UCA_MAX_WEIGHT_SIZE 25
87#define MY_UCA_WEIGHT_LEVELS 1
184#define MY_UCA_CNT_HEAD 1
187#define MY_UCA_CNT_TAIL 2
202#define MY_UCA_CNT_MID1 4
219#define MY_UCA_PREVIOUS_CONTEXT_HEAD 64
222#define MY_UCA_PREVIOUS_CONTEXT_TAIL 128
224#define MY_UCA_PSHIFT 8
257 const std::vector<MY_CONTRACTION> *cont_nodes,
my_wc_t wc1,
my_wc_t wc2);
static int flags[50]
Definition: hp_test1.cc:39
A better implementation of the UNIX ctype(3) library.
unsigned long my_wc_t
Our own version of wchar_t, ie., a type that holds a single Unicode code point ("wide character").
Definition: m_ctype.h:56
enum_uca_ver
Definition: str_uca_type.h:42
@ UCA_V520
Definition: str_uca_type.h:42
@ UCA_V400
Definition: str_uca_type.h:42
@ UCA_V900
Definition: str_uca_type.h:42
#define MY_UCA_CNT_TAIL
Whether the given character can be the last in any contraction.
Definition: str_uca_type.h:187
enum_char_grp
Definition: str_uca_type.h:44
@ CHARGRP_NONE
Definition: str_uca_type.h:45
@ CHARGRP_ARAB
Definition: str_uca_type.h:49
@ CHARGRP_LATIN
Definition: str_uca_type.h:47
@ CHARGRP_CYRILLIC
Definition: str_uca_type.h:48
@ CHARGRP_KANA
Definition: str_uca_type.h:50
@ CHARGRP_CORE
Definition: str_uca_type.h:46
@ CHARGRP_OTHERS
Definition: str_uca_type.h:51
const uint16_t * my_uca_contraction2_weight(const std::vector< MY_CONTRACTION > *cont_nodes, my_wc_t wc1, my_wc_t wc2)
Find a contraction consisting of two code points and return its weight array.
Definition: ctype-uca.cc:952
constexpr my_wc_t MY_UCA_CNT_FLAG_MASK
Definition: str_uca_type.h:35
constexpr int MY_UCA_CNT_FLAG_SIZE
Definition: str_uca_type.h:34
#define MY_UCA_MAX_WEIGHT_SIZE
Definition: str_uca_type.h:86
#define UCA_MAX_CHAR_GRP
Definition: str_uca_type.h:41
#define MY_UCA_CNT_HEAD
Whether the given character can be the first in any contraction.
Definition: str_uca_type.h:184
bool my_uca_can_be_contraction_tail(const MY_UCA_INFO::flags_type *flags, my_wc_t wc)
Check if a code point can be contraction tail.
Definition: str_uca_type.h:251
enum_case_first
Definition: str_uca_type.h:71
@ CASE_FIRST_UPPER
Definition: str_uca_type.h:71
@ CASE_FIRST_LOWER
Definition: str_uca_type.h:71
@ CASE_FIRST_OFF
Definition: str_uca_type.h:71
bool my_uca_can_be_contraction_head(const MY_UCA_INFO::flags_type *flags, my_wc_t wc)
Check if a code point can be contraction head.
Definition: str_uca_type.h:236
Definition: str_uca_type.h:73
struct Reorder_param * reorder_param
Definition: str_uca_type.h:74
enum enum_case_first case_first
Definition: str_uca_type.h:77
bool norm_enabled
Definition: str_uca_type.h:75
Definition: str_uca_type.h:112
std::vector< MY_CONTRACTION > child_nodes_context
Definition: str_uca_type.h:116
std::vector< MY_CONTRACTION > child_nodes
Definition: str_uca_type.h:115
uint16_t weight[MY_UCA_MAX_WEIGHT_SIZE]
Definition: str_uca_type.h:119
my_wc_t ch
Definition: str_uca_type.h:113
size_t contraction_len
Definition: str_uca_type.h:121
bool is_contraction_tail
Definition: str_uca_type.h:120
Definition: str_uca_type.h:124
my_wc_t first_non_ignorable
Definition: str_uca_type.h:153
uint16_t extra_ce_pri_base
Definition: str_uca_type.h:178
uint16_t ** weights
Definition: str_uca_type.h:133
std::vector< uint8_t > * m_allocated_weights
Definition: str_uca_type.h:132
my_wc_t last_tertiary_ignorable
Definition: str_uca_type.h:160
enum_uca_ver version
Definition: str_uca_type.h:125
flags_type * contraction_flags
Definition: str_uca_type.h:150
my_wc_t last_secondary_ignorable
Definition: str_uca_type.h:158
uint8_t * lengths
Definition: str_uca_type.h:131
my_wc_t maxchar
Definition: str_uca_type.h:129
my_wc_t last_primary_ignorable
Definition: str_uca_type.h:156
uint16_t extra_ce_sec_base
Definition: str_uca_type.h:179
bool have_contractions
Definition: str_uca_type.h:135
my_wc_t first_variable
Definition: str_uca_type.h:163
MY_UCA_INFO * m_based_on
Definition: str_uca_type.h:126
my_wc_t first_tertiary_ignorable
Definition: str_uca_type.h:159
my_wc_t last_trailing
Definition: str_uca_type.h:162
my_wc_t first_secondary_ignorable
Definition: str_uca_type.h:157
my_wc_t last_non_ignorable
Definition: str_uca_type.h:154
my_wc_t last_variable
Definition: str_uca_type.h:164
my_wc_t first_primary_ignorable
Definition: str_uca_type.h:155
std::array< char, MY_UCA_CNT_FLAG_SIZE > flags_type
Definition: str_uca_type.h:149
uint16_t extra_ce_ter_base
Definition: str_uca_type.h:180
my_wc_t first_trailing
Definition: str_uca_type.h:161
std::vector< MY_CONTRACTION > * contraction_nodes
Definition: str_uca_type.h:136
Definition: str_uca_type.h:64
enum enum_char_grp reorder_grp[UCA_MAX_CHAR_GRP]
Definition: str_uca_type.h:65
int wt_rec_num
Definition: str_uca_type.h:67
uint16_t max_weight
Definition: str_uca_type.h:68
struct Reorder_wt_rec wt_rec[2 *UCA_MAX_CHAR_GRP]
Definition: str_uca_type.h:66
Definition: str_uca_type.h:59
struct Weight_boundary old_wt_bdy
Definition: str_uca_type.h:60
struct Weight_boundary new_wt_bdy
Definition: str_uca_type.h:61
Definition: str_uca_type.h:54
uint16_t begin
Definition: str_uca_type.h:55
uint16_t end
Definition: str_uca_type.h:56