QtBase  v6.3.1
Classes | Macros | Functions | Variables
hb-unicode.hh File Reference
#include "hb.hh"
Include dependency graph for hb-unicode.hh:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  hb_unicode_funcs_t
 
struct  hb_unicode_range_t
 

Macros

#define HB_UNICODE_FUNCS_IMPLEMENT_CALLBACKS
 
#define HB_UNICODE_FUNCS_IMPLEMENT_CALLBACKS_SIMPLE
 
#define HB_UNICODE_FUNC_IMPLEMENT(return_type, name)    return_type name (hb_codepoint_t unicode) { return func.name (this, unicode, user_data.name); }
 
#define HB_UNICODE_FUNC_IMPLEMENT(name)   hb_unicode_##name##_func_t name;
 
#define HB_UNICODE_FUNC_IMPLEMENT(name)   void *name;
 
#define HB_UNICODE_FUNC_IMPLEMENT(name)   hb_destroy_func_t name;
 
#define HB_MODIFIED_COMBINING_CLASS_CCC10   22 /* sheva */
 
#define HB_MODIFIED_COMBINING_CLASS_CCC11   15 /* hataf segol */
 
#define HB_MODIFIED_COMBINING_CLASS_CCC12   16 /* hataf patah */
 
#define HB_MODIFIED_COMBINING_CLASS_CCC13   17 /* hataf qamats */
 
#define HB_MODIFIED_COMBINING_CLASS_CCC14   23 /* hiriq */
 
#define HB_MODIFIED_COMBINING_CLASS_CCC15   18 /* tsere */
 
#define HB_MODIFIED_COMBINING_CLASS_CCC16   19 /* segol */
 
#define HB_MODIFIED_COMBINING_CLASS_CCC17   20 /* patah */
 
#define HB_MODIFIED_COMBINING_CLASS_CCC18   21 /* qamats & qamats qatan */
 
#define HB_MODIFIED_COMBINING_CLASS_CCC19   14 /* holam & holam haser for vav*/
 
#define HB_MODIFIED_COMBINING_CLASS_CCC20   24 /* qubuts */
 
#define HB_MODIFIED_COMBINING_CLASS_CCC21   12 /* dagesh */
 
#define HB_MODIFIED_COMBINING_CLASS_CCC22   25 /* meteg */
 
#define HB_MODIFIED_COMBINING_CLASS_CCC23   13 /* rafe */
 
#define HB_MODIFIED_COMBINING_CLASS_CCC24   10 /* shin dot */
 
#define HB_MODIFIED_COMBINING_CLASS_CCC25   11 /* sin dot */
 
#define HB_MODIFIED_COMBINING_CLASS_CCC26   26 /* point varika */
 
#define HB_MODIFIED_COMBINING_CLASS_CCC27   28 /* fathatan */
 
#define HB_MODIFIED_COMBINING_CLASS_CCC28   29 /* dammatan */
 
#define HB_MODIFIED_COMBINING_CLASS_CCC29   30 /* kasratan */
 
#define HB_MODIFIED_COMBINING_CLASS_CCC30   31 /* fatha */
 
#define HB_MODIFIED_COMBINING_CLASS_CCC31   32 /* damma */
 
#define HB_MODIFIED_COMBINING_CLASS_CCC32   33 /* kasra */
 
#define HB_MODIFIED_COMBINING_CLASS_CCC33   27 /* shadda */
 
#define HB_MODIFIED_COMBINING_CLASS_CCC34   34 /* sukun */
 
#define HB_MODIFIED_COMBINING_CLASS_CCC35   35 /* superscript alef */
 
#define HB_MODIFIED_COMBINING_CLASS_CCC36   36 /* superscript alaph */
 
#define HB_MODIFIED_COMBINING_CLASS_CCC84   4 /* length mark */
 
#define HB_MODIFIED_COMBINING_CLASS_CCC91   5 /* ai length mark */
 
#define HB_MODIFIED_COMBINING_CLASS_CCC103   3 /* sara u / sara uu */
 
#define HB_MODIFIED_COMBINING_CLASS_CCC107   107 /* mai * */
 
#define HB_MODIFIED_COMBINING_CLASS_CCC118   118 /* sign u / sign uu */
 
#define HB_MODIFIED_COMBINING_CLASS_CCC122   122 /* mai * */
 
#define HB_MODIFIED_COMBINING_CLASS_CCC129   129 /* sign aa */
 
#define HB_MODIFIED_COMBINING_CLASS_CCC130   132 /* sign i */
 
#define HB_MODIFIED_COMBINING_CLASS_CCC132   131 /* sign u */
 
#define HB_UNICODE_GENERAL_CATEGORY_IS_MARK(gen_cat)
 
#define HB_UNICODE_GENERAL_CATEGORY_IS_LETTER(gen_cat)
 

Functions

 DECLARE_NULL_INSTANCE (hb_unicode_funcs_t)
 
HB_INTERNAL bool _hb_unicode_is_emoji_Extended_Pictographic (hb_codepoint_t cp)
 
HB_INTERNAL hb_unicode_funcs_thb_ucd_get_unicode_funcs ()
 

Variables

HB_INTERNAL const uint8_t _hb_modified_combining_class [256]
 

Macro Definition Documentation

◆ HB_MODIFIED_COMBINING_CLASS_CCC10

#define HB_MODIFIED_COMBINING_CLASS_CCC10   22 /* sheva */

Definition at line 285 of file hb-unicode.hh.

◆ HB_MODIFIED_COMBINING_CLASS_CCC103

#define HB_MODIFIED_COMBINING_CLASS_CCC103   3 /* sara u / sara uu */

Definition at line 339 of file hb-unicode.hh.

◆ HB_MODIFIED_COMBINING_CLASS_CCC107

#define HB_MODIFIED_COMBINING_CLASS_CCC107   107 /* mai * */

Definition at line 340 of file hb-unicode.hh.

◆ HB_MODIFIED_COMBINING_CLASS_CCC11

#define HB_MODIFIED_COMBINING_CLASS_CCC11   15 /* hataf segol */

Definition at line 286 of file hb-unicode.hh.

◆ HB_MODIFIED_COMBINING_CLASS_CCC118

#define HB_MODIFIED_COMBINING_CLASS_CCC118   118 /* sign u / sign uu */

Definition at line 343 of file hb-unicode.hh.

◆ HB_MODIFIED_COMBINING_CLASS_CCC12

#define HB_MODIFIED_COMBINING_CLASS_CCC12   16 /* hataf patah */

Definition at line 287 of file hb-unicode.hh.

◆ HB_MODIFIED_COMBINING_CLASS_CCC122

#define HB_MODIFIED_COMBINING_CLASS_CCC122   122 /* mai * */

Definition at line 344 of file hb-unicode.hh.

◆ HB_MODIFIED_COMBINING_CLASS_CCC129

#define HB_MODIFIED_COMBINING_CLASS_CCC129   129 /* sign aa */

Definition at line 351 of file hb-unicode.hh.

◆ HB_MODIFIED_COMBINING_CLASS_CCC13

#define HB_MODIFIED_COMBINING_CLASS_CCC13   17 /* hataf qamats */

Definition at line 288 of file hb-unicode.hh.

◆ HB_MODIFIED_COMBINING_CLASS_CCC130

#define HB_MODIFIED_COMBINING_CLASS_CCC130   132 /* sign i */

Definition at line 352 of file hb-unicode.hh.

◆ HB_MODIFIED_COMBINING_CLASS_CCC132

#define HB_MODIFIED_COMBINING_CLASS_CCC132   131 /* sign u */

Definition at line 353 of file hb-unicode.hh.

◆ HB_MODIFIED_COMBINING_CLASS_CCC14

#define HB_MODIFIED_COMBINING_CLASS_CCC14   23 /* hiriq */

Definition at line 289 of file hb-unicode.hh.

◆ HB_MODIFIED_COMBINING_CLASS_CCC15

#define HB_MODIFIED_COMBINING_CLASS_CCC15   18 /* tsere */

Definition at line 290 of file hb-unicode.hh.

◆ HB_MODIFIED_COMBINING_CLASS_CCC16

#define HB_MODIFIED_COMBINING_CLASS_CCC16   19 /* segol */

Definition at line 291 of file hb-unicode.hh.

◆ HB_MODIFIED_COMBINING_CLASS_CCC17

#define HB_MODIFIED_COMBINING_CLASS_CCC17   20 /* patah */

Definition at line 292 of file hb-unicode.hh.

◆ HB_MODIFIED_COMBINING_CLASS_CCC18

#define HB_MODIFIED_COMBINING_CLASS_CCC18   21 /* qamats & qamats qatan */

Definition at line 293 of file hb-unicode.hh.

◆ HB_MODIFIED_COMBINING_CLASS_CCC19

#define HB_MODIFIED_COMBINING_CLASS_CCC19   14 /* holam & holam haser for vav*/

Definition at line 294 of file hb-unicode.hh.

◆ HB_MODIFIED_COMBINING_CLASS_CCC20

#define HB_MODIFIED_COMBINING_CLASS_CCC20   24 /* qubuts */

Definition at line 295 of file hb-unicode.hh.

◆ HB_MODIFIED_COMBINING_CLASS_CCC21

#define HB_MODIFIED_COMBINING_CLASS_CCC21   12 /* dagesh */

Definition at line 296 of file hb-unicode.hh.

◆ HB_MODIFIED_COMBINING_CLASS_CCC22

#define HB_MODIFIED_COMBINING_CLASS_CCC22   25 /* meteg */

Definition at line 297 of file hb-unicode.hh.

◆ HB_MODIFIED_COMBINING_CLASS_CCC23

#define HB_MODIFIED_COMBINING_CLASS_CCC23   13 /* rafe */

Definition at line 298 of file hb-unicode.hh.

◆ HB_MODIFIED_COMBINING_CLASS_CCC24

#define HB_MODIFIED_COMBINING_CLASS_CCC24   10 /* shin dot */

Definition at line 299 of file hb-unicode.hh.

◆ HB_MODIFIED_COMBINING_CLASS_CCC25

#define HB_MODIFIED_COMBINING_CLASS_CCC25   11 /* sin dot */

Definition at line 300 of file hb-unicode.hh.

◆ HB_MODIFIED_COMBINING_CLASS_CCC26

#define HB_MODIFIED_COMBINING_CLASS_CCC26   26 /* point varika */

Definition at line 301 of file hb-unicode.hh.

◆ HB_MODIFIED_COMBINING_CLASS_CCC27

#define HB_MODIFIED_COMBINING_CLASS_CCC27   28 /* fathatan */

Definition at line 310 of file hb-unicode.hh.

◆ HB_MODIFIED_COMBINING_CLASS_CCC28

#define HB_MODIFIED_COMBINING_CLASS_CCC28   29 /* dammatan */

Definition at line 311 of file hb-unicode.hh.

◆ HB_MODIFIED_COMBINING_CLASS_CCC29

#define HB_MODIFIED_COMBINING_CLASS_CCC29   30 /* kasratan */

Definition at line 312 of file hb-unicode.hh.

◆ HB_MODIFIED_COMBINING_CLASS_CCC30

#define HB_MODIFIED_COMBINING_CLASS_CCC30   31 /* fatha */

Definition at line 313 of file hb-unicode.hh.

◆ HB_MODIFIED_COMBINING_CLASS_CCC31

#define HB_MODIFIED_COMBINING_CLASS_CCC31   32 /* damma */

Definition at line 314 of file hb-unicode.hh.

◆ HB_MODIFIED_COMBINING_CLASS_CCC32

#define HB_MODIFIED_COMBINING_CLASS_CCC32   33 /* kasra */

Definition at line 315 of file hb-unicode.hh.

◆ HB_MODIFIED_COMBINING_CLASS_CCC33

#define HB_MODIFIED_COMBINING_CLASS_CCC33   27 /* shadda */

Definition at line 316 of file hb-unicode.hh.

◆ HB_MODIFIED_COMBINING_CLASS_CCC34

#define HB_MODIFIED_COMBINING_CLASS_CCC34   34 /* sukun */

Definition at line 317 of file hb-unicode.hh.

◆ HB_MODIFIED_COMBINING_CLASS_CCC35

#define HB_MODIFIED_COMBINING_CLASS_CCC35   35 /* superscript alef */

Definition at line 318 of file hb-unicode.hh.

◆ HB_MODIFIED_COMBINING_CLASS_CCC36

#define HB_MODIFIED_COMBINING_CLASS_CCC36   36 /* superscript alaph */

Definition at line 321 of file hb-unicode.hh.

◆ HB_MODIFIED_COMBINING_CLASS_CCC84

#define HB_MODIFIED_COMBINING_CLASS_CCC84   4 /* length mark */

Definition at line 330 of file hb-unicode.hh.

◆ HB_MODIFIED_COMBINING_CLASS_CCC91

#define HB_MODIFIED_COMBINING_CLASS_CCC91   5 /* ai length mark */

Definition at line 331 of file hb-unicode.hh.

◆ HB_UNICODE_FUNC_IMPLEMENT [1/4]

#define HB_UNICODE_FUNC_IMPLEMENT (   name)    hb_unicode_##name##_func_t name;

Definition at line 260 of file hb-unicode.hh.

◆ HB_UNICODE_FUNC_IMPLEMENT [2/4]

#define HB_UNICODE_FUNC_IMPLEMENT (   name)    void *name;

Definition at line 260 of file hb-unicode.hh.

◆ HB_UNICODE_FUNC_IMPLEMENT [3/4]

#define HB_UNICODE_FUNC_IMPLEMENT (   name)    hb_destroy_func_t name;

Definition at line 260 of file hb-unicode.hh.

◆ HB_UNICODE_FUNC_IMPLEMENT [4/4]

#define HB_UNICODE_FUNC_IMPLEMENT (   return_type,
  name 
)     return_type name (hb_codepoint_t unicode) { return func.name (this, unicode, user_data.name); }

Definition at line 260 of file hb-unicode.hh.

◆ HB_UNICODE_FUNCS_IMPLEMENT_CALLBACKS

#define HB_UNICODE_FUNCS_IMPLEMENT_CALLBACKS
Value:
HB_UNICODE_FUNC_IMPLEMENT (combining_class) \
HB_IF_NOT_DEPRECATED (HB_UNICODE_FUNC_IMPLEMENT (eastasian_width)) \
HB_UNICODE_FUNC_IMPLEMENT (general_category) \
HB_UNICODE_FUNC_IMPLEMENT (mirroring) \
HB_UNICODE_FUNC_IMPLEMENT (script) \
HB_UNICODE_FUNC_IMPLEMENT (compose) \
HB_UNICODE_FUNC_IMPLEMENT (decompose) \
HB_IF_NOT_DEPRECATED (HB_UNICODE_FUNC_IMPLEMENT (decompose_compatibility)) \
/* ^--- Add new callbacks here */
xD9 x84 xD8 xAD xD9 x80 xF0 x90 xAC x9A xE0 xA7 xA6 xE0 xA7 xAA xF0 x91 x84 xA4 xF0 x91 x84 x89 xF0 x91 x84 x9B xF0 x90 x8A xAB xF0 x90 x8B x89 xE2 xB2 x9E xE2 xB2 x9F xD0 xBE xD0 x9E xF0 x90 x90 x84 xF0 x90 x90 xAC xE1 x83 x98 xE1 x83 x94 xE1 x83 x90 xE1 xB2 xBF xE2 xB0 x95 xE2 xB1 x85 xCE xBF xCE x9F xE0 xA8 xA0 xE0 xA8 xB0 xE0 xA9 xA6 Kayah xEA xA4 x8D xEA xA4 x80 Khmer xE1 xA7 xA1 xE1 xA7 xAA xE0 xBB x90 Latin Subscript xE2 x82 x92 xE2 x82 x80 xEA x93 xB3 xF0 x96 xB9 xA1 xF0 x96 xB9 x9B xF0 x96 xB9 xAF xE1 x80 x9D xE1 x80 x84 xE1 x80 x82 no script
Definition: afscript.h:271
#define HB_UNICODE_FUNC_IMPLEMENT(return_type, name)
Definition: hb-unicode.hh:260

Definition at line 43 of file hb-unicode.hh.

◆ HB_UNICODE_FUNCS_IMPLEMENT_CALLBACKS_SIMPLE

#define HB_UNICODE_FUNCS_IMPLEMENT_CALLBACKS_SIMPLE
Value:
HB_IF_NOT_DEPRECATED (HB_UNICODE_FUNC_IMPLEMENT (unsigned int, eastasian_width)) \
HB_UNICODE_FUNC_IMPLEMENT (hb_unicode_general_category_t, general_category) \
HB_UNICODE_FUNC_IMPLEMENT (hb_codepoint_t, mirroring) \
HB_UNICODE_FUNC_IMPLEMENT (hb_script_t, script) \
/* ^--- Add new simple callbacks here */
uint32_t hb_codepoint_t
Definition: hb-common.h:106
hb_script_t
Definition: hb-common.h:506
hb_unicode_combining_class_t
Definition: hb-unicode.h:194
hb_unicode_general_category_t
Definition: hb-unicode.h:92

Definition at line 55 of file hb-unicode.hh.

◆ HB_UNICODE_GENERAL_CATEGORY_IS_LETTER

#define HB_UNICODE_GENERAL_CATEGORY_IS_LETTER (   gen_cat)
Value:
(FLAG_UNSAFE (gen_cat) & \
@ FLAG
Definition: inflate.c:14
#define FLAG_UNSAFE(x)
Definition: hb-algs.hh:74
@ HB_UNICODE_GENERAL_CATEGORY_MODIFIER_LETTER
Definition: hb-unicode.h:99
@ HB_UNICODE_GENERAL_CATEGORY_OTHER_LETTER
Definition: hb-unicode.h:100
@ HB_UNICODE_GENERAL_CATEGORY_UPPERCASE_LETTER
Definition: hb-unicode.h:102
@ HB_UNICODE_GENERAL_CATEGORY_TITLECASE_LETTER
Definition: hb-unicode.h:101
@ HB_UNICODE_GENERAL_CATEGORY_LOWERCASE_LETTER
Definition: hb-unicode.h:98

Definition at line 363 of file hb-unicode.hh.

◆ HB_UNICODE_GENERAL_CATEGORY_IS_MARK

#define HB_UNICODE_GENERAL_CATEGORY_IS_MARK (   gen_cat)
Value:
(FLAG_UNSAFE (gen_cat) & \
@ HB_UNICODE_GENERAL_CATEGORY_NON_SPACING_MARK
Definition: hb-unicode.h:105
@ HB_UNICODE_GENERAL_CATEGORY_ENCLOSING_MARK
Definition: hb-unicode.h:104
@ HB_UNICODE_GENERAL_CATEGORY_SPACING_MARK
Definition: hb-unicode.h:103

Definition at line 357 of file hb-unicode.hh.

Function Documentation

◆ _hb_unicode_is_emoji_Extended_Pictographic()

HB_INTERNAL bool _hb_unicode_is_emoji_Extended_Pictographic ( hb_codepoint_t  cp)

Definition at line 611 of file hb-unicode.cc.

◆ DECLARE_NULL_INSTANCE()

DECLARE_NULL_INSTANCE ( hb_unicode_funcs_t  )

◆ hb_ucd_get_unicode_funcs()

HB_INTERNAL hb_unicode_funcs_t* hb_ucd_get_unicode_funcs ( )

Definition at line 236 of file hb-ucd.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

Variable Documentation

◆ _hb_modified_combining_class

HB_INTERNAL const uint8_t _hb_modified_combining_class[256]
extern

Definition at line 490 of file hb-unicode.cc.