42#define UCA_MAX_CHAR_GRP 4
86#define MY_UCA_MAX_CONTRACTION 6
87#define MY_UCA_MAX_WEIGHT_SIZE 25
88#define MY_UCA_WEIGHT_LEVELS 1
185#define MY_UCA_CNT_HEAD 1
188#define MY_UCA_CNT_TAIL 2
203#define MY_UCA_CNT_MID1 4
220#define MY_UCA_PREVIOUS_CONTEXT_HEAD 64
223#define MY_UCA_PREVIOUS_CONTEXT_TAIL 128
225#define MY_UCA_PSHIFT 8
258 const std::vector<MY_CONTRACTION> *cont_nodes,
my_wc_t wc1,
my_wc_t wc2);
static int flags[50]
Definition: hp_test1.cc:40
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:57
enum_uca_ver
Definition: str_uca_type.h:43
@ UCA_V520
Definition: str_uca_type.h:43
@ UCA_V400
Definition: str_uca_type.h:43
@ UCA_V900
Definition: str_uca_type.h:43
#define MY_UCA_CNT_TAIL
Whether the given character can be the last in any contraction.
Definition: str_uca_type.h:188
enum_char_grp
Definition: str_uca_type.h:45
@ CHARGRP_NONE
Definition: str_uca_type.h:46
@ CHARGRP_ARAB
Definition: str_uca_type.h:50
@ CHARGRP_LATIN
Definition: str_uca_type.h:48
@ CHARGRP_CYRILLIC
Definition: str_uca_type.h:49
@ CHARGRP_KANA
Definition: str_uca_type.h:51
@ CHARGRP_CORE
Definition: str_uca_type.h:47
@ CHARGRP_OTHERS
Definition: str_uca_type.h:52
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:36
constexpr int MY_UCA_CNT_FLAG_SIZE
Definition: str_uca_type.h:35
#define MY_UCA_MAX_WEIGHT_SIZE
Definition: str_uca_type.h:87
#define UCA_MAX_CHAR_GRP
Definition: str_uca_type.h:42
#define MY_UCA_CNT_HEAD
Whether the given character can be the first in any contraction.
Definition: str_uca_type.h:185
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:252
enum_case_first
Definition: str_uca_type.h:72
@ CASE_FIRST_UPPER
Definition: str_uca_type.h:72
@ CASE_FIRST_LOWER
Definition: str_uca_type.h:72
@ CASE_FIRST_OFF
Definition: str_uca_type.h:72
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:237
Definition: str_uca_type.h:74
struct Reorder_param * reorder_param
Definition: str_uca_type.h:75
enum enum_case_first case_first
Definition: str_uca_type.h:78
bool norm_enabled
Definition: str_uca_type.h:76
Definition: str_uca_type.h:113
std::vector< MY_CONTRACTION > child_nodes_context
Definition: str_uca_type.h:117
std::vector< MY_CONTRACTION > child_nodes
Definition: str_uca_type.h:116
uint16_t weight[MY_UCA_MAX_WEIGHT_SIZE]
Definition: str_uca_type.h:120
my_wc_t ch
Definition: str_uca_type.h:114
size_t contraction_len
Definition: str_uca_type.h:122
bool is_contraction_tail
Definition: str_uca_type.h:121
Definition: str_uca_type.h:125
my_wc_t first_non_ignorable
Definition: str_uca_type.h:154
uint16_t extra_ce_pri_base
Definition: str_uca_type.h:179
uint16_t ** weights
Definition: str_uca_type.h:134
std::vector< uint8_t > * m_allocated_weights
Definition: str_uca_type.h:133
my_wc_t last_tertiary_ignorable
Definition: str_uca_type.h:161
enum_uca_ver version
Definition: str_uca_type.h:126
flags_type * contraction_flags
Definition: str_uca_type.h:151
my_wc_t last_secondary_ignorable
Definition: str_uca_type.h:159
uint8_t * lengths
Definition: str_uca_type.h:132
my_wc_t maxchar
Definition: str_uca_type.h:130
my_wc_t last_primary_ignorable
Definition: str_uca_type.h:157
uint16_t extra_ce_sec_base
Definition: str_uca_type.h:180
bool have_contractions
Definition: str_uca_type.h:136
my_wc_t first_variable
Definition: str_uca_type.h:164
MY_UCA_INFO * m_based_on
Definition: str_uca_type.h:127
my_wc_t first_tertiary_ignorable
Definition: str_uca_type.h:160
my_wc_t last_trailing
Definition: str_uca_type.h:163
my_wc_t first_secondary_ignorable
Definition: str_uca_type.h:158
my_wc_t last_non_ignorable
Definition: str_uca_type.h:155
my_wc_t last_variable
Definition: str_uca_type.h:165
my_wc_t first_primary_ignorable
Definition: str_uca_type.h:156
std::array< char, MY_UCA_CNT_FLAG_SIZE > flags_type
Definition: str_uca_type.h:150
uint16_t extra_ce_ter_base
Definition: str_uca_type.h:181
my_wc_t first_trailing
Definition: str_uca_type.h:162
std::vector< MY_CONTRACTION > * contraction_nodes
Definition: str_uca_type.h:137
Definition: str_uca_type.h:65
enum enum_char_grp reorder_grp[UCA_MAX_CHAR_GRP]
Definition: str_uca_type.h:66
int wt_rec_num
Definition: str_uca_type.h:68
uint16_t max_weight
Definition: str_uca_type.h:69
struct Reorder_wt_rec wt_rec[2 *UCA_MAX_CHAR_GRP]
Definition: str_uca_type.h:67
Definition: str_uca_type.h:60
struct Weight_boundary old_wt_bdy
Definition: str_uca_type.h:61
struct Weight_boundary new_wt_bdy
Definition: str_uca_type.h:62
Definition: str_uca_type.h:55
uint16_t begin
Definition: str_uca_type.h:56
uint16_t end
Definition: str_uca_type.h:57