Lines Matching refs:code

58 static const UCDRecord *get_ucd_record(uint32_t code)
62 if (code >= 0x110000)
65 index = index0[code >> (SHIFT1+SHIFT2)] << SHIFT1;
66 offset = (code >> SHIFT2) & ((1<<SHIFT1) - 1);
68 offset = code & ((1<<SHIFT2) - 1);
75 static const unsigned short *get_decomp_record(uint32_t code)
79 if (code >= 0x110000)
82 index = decomp_index0[code >> (DECOMP_SHIFT1+DECOMP_SHIFT2)]
84 offset = (code >> DECOMP_SHIFT2) & ((1<<DECOMP_SHIFT1) - 1);
86 offset = code & ((1<<DECOMP_SHIFT2) - 1);
106 static int get_comp_index(uint32_t code, const Reindex *idx, size_t len)
110 r.start = code;
114 return res->index + (code - res->start);
133 static BracketPair *search_bp(uint32_t code)
138 bp.from = code;
144 static int hangul_pair_decompose(uint32_t code, uint32_t *a, uint32_t *b)
146 int si = code - SBASE;
164 static int hangul_pair_compose(uint32_t *code, uint32_t a, uint32_t b)
168 *code = a + (b - TBASE);
174 *code = SBASE + li * NCOUNT + vi * TCOUNT;
183 const unsigned short *code = *code_ptr;
185 if (code[0] < 0xd800 || code[0] > 0xdc00) {
187 return (uint32_t)code[0];
190 return 0x10000 + ((uint32_t)code[1] - 0xdc00) +
191 (((uint32_t)code[0] - 0xd800) << 10);
200 int ucdn_get_combining_class(uint32_t code)
202 return get_ucd_record(code)->combining;
205 int ucdn_get_east_asian_width(uint32_t code)
207 return get_ucd_record(code)->east_asian_width;
210 int ucdn_get_general_category(uint32_t code)
212 return get_ucd_record(code)->category;
215 int ucdn_get_bidi_class(uint32_t code)
217 return get_ucd_record(code)->bidi_class;
220 int ucdn_get_mirrored(uint32_t code)
222 return ucdn_mirror(code) != code;
225 int ucdn_get_script(uint32_t code)
227 return get_ucd_record(code)->script;
230 int ucdn_get_linebreak_class(uint32_t code)
232 return get_ucd_record(code)->linebreak_class;
235 int ucdn_get_resolved_linebreak_class(uint32_t code)
237 const UCDRecord *record = get_ucd_record(code);
266 uint32_t ucdn_mirror(uint32_t code)
271 mp.from = code;
276 return code;
281 uint32_t ucdn_paired_bracket(uint32_t code)
283 BracketPair *res = search_bp(code);
285 return code;
290 int ucdn_paired_bracket_type(uint32_t code)
292 BracketPair *res = search_bp(code);
299 int ucdn_decompose(uint32_t code, uint32_t *a, uint32_t *b)
304 if (hangul_pair_decompose(code, a, b))
307 rec = get_decomp_record(code);
323 int ucdn_compose(uint32_t *code, uint32_t a, uint32_t b)
327 if (hangul_pair_compose(code, a, b))
341 *code = comp_data[index + offset];
343 return *code != 0;
346 int ucdn_compat_decompose(uint32_t code, uint32_t *decomposed)
349 const unsigned short *rec = get_decomp_record(code);