w32tex
About: TeX Live provides a comprehensive TeX system including all the major TeX-related programs, macro packages, and fonts that are free software. Windows sources.
  Fossies Dox: w32tex-src.tar.xz  ("unofficial" and yet experimental doxygen-generated source code documentation)  

hb-buffer.hh File Reference
#include "hb.hh"
#include "hb-unicode.hh"
Include dependency graph for hb-buffer.hh:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  hb_buffer_t
 
struct  Null< hb_buffer_t >
 

Macros

#define HB_BUFFER_MAX_LEN_FACTOR   64
 
#define HB_BUFFER_MAX_LEN_MIN   16384
 
#define HB_BUFFER_MAX_LEN_DEFAULT   0x3FFFFFFF /* Shaping more than a billion chars? Let us know! */
 
#define HB_BUFFER_MAX_OPS_FACTOR   1024
 
#define HB_BUFFER_MAX_OPS_MIN   16384
 
#define HB_BUFFER_MAX_OPS_DEFAULT   0x1FFFFFFF /* Shaping more than a billion operations? Let us know! */
 
#define foreach_cluster(buffer, start, end)
 
#define HB_BUFFER_XALLOCATE_VAR(b, func, var)
 
#define HB_BUFFER_ALLOCATE_VAR(b, var)   HB_BUFFER_XALLOCATE_VAR (b, allocate_var, var ())
 
#define HB_BUFFER_DEALLOCATE_VAR(b, var)   HB_BUFFER_XALLOCATE_VAR (b, deallocate_var, var ())
 
#define HB_BUFFER_ASSERT_VAR(b, var)   HB_BUFFER_XALLOCATE_VAR (b, assert_var, var ())
 

Enumerations

enum  hb_buffer_scratch_flags_t {
  HB_BUFFER_SCRATCH_FLAG_DEFAULT = 0x00000000u , HB_BUFFER_SCRATCH_FLAG_HAS_NON_ASCII = 0x00000001u , HB_BUFFER_SCRATCH_FLAG_HAS_DEFAULT_IGNORABLES = 0x00000002u , HB_BUFFER_SCRATCH_FLAG_HAS_SPACE_FALLBACK = 0x00000004u ,
  HB_BUFFER_SCRATCH_FLAG_HAS_GPOS_ATTACHMENT = 0x00000008u , HB_BUFFER_SCRATCH_FLAG_HAS_UNSAFE_TO_BREAK = 0x00000010u , HB_BUFFER_SCRATCH_FLAG_HAS_CGJ = 0x00000020u , HB_BUFFER_SCRATCH_FLAG_COMPLEX0 = 0x01000000u ,
  HB_BUFFER_SCRATCH_FLAG_COMPLEX1 = 0x02000000u , HB_BUFFER_SCRATCH_FLAG_COMPLEX2 = 0x04000000u , HB_BUFFER_SCRATCH_FLAG_COMPLEX3 = 0x08000000u , HB_BUFFER_SCRATCH_FLAG_DEFAULT = 0x00000000u ,
  HB_BUFFER_SCRATCH_FLAG_HAS_NON_ASCII = 0x00000001u , HB_BUFFER_SCRATCH_FLAG_HAS_DEFAULT_IGNORABLES = 0x00000002u , HB_BUFFER_SCRATCH_FLAG_HAS_SPACE_FALLBACK = 0x00000004u , HB_BUFFER_SCRATCH_FLAG_HAS_GPOS_ATTACHMENT = 0x00000008u ,
  HB_BUFFER_SCRATCH_FLAG_HAS_UNSAFE_TO_BREAK = 0x00000010u , HB_BUFFER_SCRATCH_FLAG_HAS_CGJ = 0x00000020u , HB_BUFFER_SCRATCH_FLAG_COMPLEX0 = 0x01000000u , HB_BUFFER_SCRATCH_FLAG_COMPLEX1 = 0x02000000u ,
  HB_BUFFER_SCRATCH_FLAG_COMPLEX2 = 0x04000000u , HB_BUFFER_SCRATCH_FLAG_COMPLEX3 = 0x08000000u
}
 

Functions

static hb_buffer_flags_t operator| (hb_buffer_flags_t l, hb_buffer_flags_t r)
 
static hb_buffer_flags_t operator& (hb_buffer_flags_t l, hb_buffer_flags_t r)
 
static hb_buffer_flags_t operator^ (hb_buffer_flags_t l, hb_buffer_flags_t r)
 
static hb_buffer_flags_t operator~ (hb_buffer_flags_t r)
 
static hb_buffer_flags_toperator|= (hb_buffer_flags_t &l, hb_buffer_flags_t r)
 
static hb_buffer_flags_toperator&= (hb_buffer_flags_t &l, hb_buffer_flags_t r)
 
static hb_buffer_flags_toperator^= (hb_buffer_flags_t &l, hb_buffer_flags_t r)
 
static hb_buffer_serialize_flags_t operator| (hb_buffer_serialize_flags_t l, hb_buffer_serialize_flags_t r)
 
static hb_buffer_serialize_flags_t operator& (hb_buffer_serialize_flags_t l, hb_buffer_serialize_flags_t r)
 
static hb_buffer_serialize_flags_t operator^ (hb_buffer_serialize_flags_t l, hb_buffer_serialize_flags_t r)
 
static hb_buffer_serialize_flags_t operator~ (hb_buffer_serialize_flags_t r)
 
static hb_buffer_serialize_flags_toperator|= (hb_buffer_serialize_flags_t &l, hb_buffer_serialize_flags_t r)
 
static hb_buffer_serialize_flags_toperator&= (hb_buffer_serialize_flags_t &l, hb_buffer_serialize_flags_t r)
 
static hb_buffer_serialize_flags_toperator^= (hb_buffer_serialize_flags_t &l, hb_buffer_serialize_flags_t r)
 
static hb_buffer_diff_flags_t operator| (hb_buffer_diff_flags_t l, hb_buffer_diff_flags_t r)
 
static hb_buffer_diff_flags_t operator& (hb_buffer_diff_flags_t l, hb_buffer_diff_flags_t r)
 
static hb_buffer_diff_flags_t operator^ (hb_buffer_diff_flags_t l, hb_buffer_diff_flags_t r)
 
static hb_buffer_diff_flags_t operator~ (hb_buffer_diff_flags_t r)
 
static hb_buffer_diff_flags_toperator|= (hb_buffer_diff_flags_t &l, hb_buffer_diff_flags_t r)
 
static hb_buffer_diff_flags_toperator&= (hb_buffer_diff_flags_t &l, hb_buffer_diff_flags_t r)
 
static hb_buffer_diff_flags_toperator^= (hb_buffer_diff_flags_t &l, hb_buffer_diff_flags_t r)
 
static hb_buffer_scratch_flags_t operator| (hb_buffer_scratch_flags_t l, hb_buffer_scratch_flags_t r)
 
static hb_buffer_scratch_flags_t operator& (hb_buffer_scratch_flags_t l, hb_buffer_scratch_flags_t r)
 
static hb_buffer_scratch_flags_t operator^ (hb_buffer_scratch_flags_t l, hb_buffer_scratch_flags_t r)
 
static hb_buffer_scratch_flags_t operator~ (hb_buffer_scratch_flags_t r)
 
static hb_buffer_scratch_flags_toperator|= (hb_buffer_scratch_flags_t &l, hb_buffer_scratch_flags_t r)
 
static hb_buffer_scratch_flags_toperator&= (hb_buffer_scratch_flags_t &l, hb_buffer_scratch_flags_t r)
 
static hb_buffer_scratch_flags_toperator^= (hb_buffer_scratch_flags_t &l, hb_buffer_scratch_flags_t r)
 
static unsigned int _next_cluster (hb_buffer_t *buffer, unsigned int start)
 

Variables

const hb_buffer_t _hb_Null_hb_buffer_t
 

Macro Definition Documentation

◆ foreach_cluster

#define foreach_cluster (   buffer,
  start,
  end 
)
Value:
for (unsigned int \
_count = buffer->len, \
start = 0, end = _count ? _next_cluster (buffer, 0) : 0; \
start < _count; \
start = end, end = _next_cluster (buffer, start))
static unsigned int _next_cluster(hb_buffer_t *buffer, unsigned int start)
Definition: hb-buffer.hh:463
Definition: utils.c:300
@ start
Definition: preamble.c:52
#define end(cp)
Definition: zic.c:71

Definition at line 455 of file hb-buffer.hh.

◆ HB_BUFFER_ALLOCATE_VAR

#define HB_BUFFER_ALLOCATE_VAR (   b,
  var 
)    HB_BUFFER_XALLOCATE_VAR (b, allocate_var, var ())

Definition at line 479 of file hb-buffer.hh.

◆ HB_BUFFER_ASSERT_VAR

#define HB_BUFFER_ASSERT_VAR (   b,
  var 
)    HB_BUFFER_XALLOCATE_VAR (b, assert_var, var ())

Definition at line 481 of file hb-buffer.hh.

◆ HB_BUFFER_DEALLOCATE_VAR

#define HB_BUFFER_DEALLOCATE_VAR (   b,
  var 
)    HB_BUFFER_XALLOCATE_VAR (b, deallocate_var, var ())

Definition at line 480 of file hb-buffer.hh.

◆ HB_BUFFER_MAX_LEN_DEFAULT

#define HB_BUFFER_MAX_LEN_DEFAULT   0x3FFFFFFF /* Shaping more than a billion chars? Let us know! */

Definition at line 44 of file hb-buffer.hh.

◆ HB_BUFFER_MAX_LEN_FACTOR

#define HB_BUFFER_MAX_LEN_FACTOR   64

Definition at line 38 of file hb-buffer.hh.

◆ HB_BUFFER_MAX_LEN_MIN

#define HB_BUFFER_MAX_LEN_MIN   16384

Definition at line 41 of file hb-buffer.hh.

◆ HB_BUFFER_MAX_OPS_DEFAULT

#define HB_BUFFER_MAX_OPS_DEFAULT   0x1FFFFFFF /* Shaping more than a billion operations? Let us know! */

Definition at line 54 of file hb-buffer.hh.

◆ HB_BUFFER_MAX_OPS_FACTOR

#define HB_BUFFER_MAX_OPS_FACTOR   1024

Definition at line 48 of file hb-buffer.hh.

◆ HB_BUFFER_MAX_OPS_MIN

#define HB_BUFFER_MAX_OPS_MIN   16384

Definition at line 51 of file hb-buffer.hh.

◆ HB_BUFFER_XALLOCATE_VAR

#define HB_BUFFER_XALLOCATE_VAR (   b,
  func,
  var 
)
Value:
sizeof (b->info[0].var))
#define b
Definition: jpegint.h:372
#define offsetof(T, M)
Definition: dir.c:27
Definition: sh.h:1782

Definition at line 476 of file hb-buffer.hh.

Enumeration Type Documentation

◆ hb_buffer_scratch_flags_t

Enumerator
HB_BUFFER_SCRATCH_FLAG_DEFAULT 
HB_BUFFER_SCRATCH_FLAG_HAS_NON_ASCII 
HB_BUFFER_SCRATCH_FLAG_HAS_DEFAULT_IGNORABLES 
HB_BUFFER_SCRATCH_FLAG_HAS_SPACE_FALLBACK 
HB_BUFFER_SCRATCH_FLAG_HAS_GPOS_ATTACHMENT 
HB_BUFFER_SCRATCH_FLAG_HAS_UNSAFE_TO_BREAK 
HB_BUFFER_SCRATCH_FLAG_HAS_CGJ 
HB_BUFFER_SCRATCH_FLAG_COMPLEX0 
HB_BUFFER_SCRATCH_FLAG_COMPLEX1 
HB_BUFFER_SCRATCH_FLAG_COMPLEX2 
HB_BUFFER_SCRATCH_FLAG_COMPLEX3 
HB_BUFFER_SCRATCH_FLAG_DEFAULT 
HB_BUFFER_SCRATCH_FLAG_HAS_NON_ASCII 
HB_BUFFER_SCRATCH_FLAG_HAS_DEFAULT_IGNORABLES 
HB_BUFFER_SCRATCH_FLAG_HAS_SPACE_FALLBACK 
HB_BUFFER_SCRATCH_FLAG_HAS_GPOS_ATTACHMENT 
HB_BUFFER_SCRATCH_FLAG_HAS_UNSAFE_TO_BREAK 
HB_BUFFER_SCRATCH_FLAG_HAS_CGJ 
HB_BUFFER_SCRATCH_FLAG_COMPLEX0 
HB_BUFFER_SCRATCH_FLAG_COMPLEX1 
HB_BUFFER_SCRATCH_FLAG_COMPLEX2 
HB_BUFFER_SCRATCH_FLAG_COMPLEX3 

Definition at line 64 of file hb-buffer.hh.

Function Documentation

◆ _next_cluster()

static unsigned int _next_cluster ( hb_buffer_t buffer,
unsigned int  start 
)
inlinestatic

Definition at line 463 of file hb-buffer.hh.

References cluster, count, info, and start.

◆ operator&() [1/4]

Definition at line 62 of file hb-buffer.hh.

◆ operator&() [2/4]

Definition at line 60 of file hb-buffer.hh.

◆ operator&() [3/4]

◆ operator&() [4/4]

◆ operator&=() [1/4]

Definition at line 62 of file hb-buffer.hh.

◆ operator&=() [2/4]

Definition at line 60 of file hb-buffer.hh.

◆ operator&=() [3/4]

Definition at line 79 of file hb-buffer.hh.

◆ operator&=() [4/4]

◆ operator^() [1/4]

Definition at line 62 of file hb-buffer.hh.

◆ operator^() [2/4]

Definition at line 60 of file hb-buffer.hh.

◆ operator^() [3/4]

◆ operator^() [4/4]

◆ operator^=() [1/4]

Definition at line 62 of file hb-buffer.hh.

◆ operator^=() [2/4]

Definition at line 60 of file hb-buffer.hh.

◆ operator^=() [3/4]

Definition at line 79 of file hb-buffer.hh.

◆ operator^=() [4/4]

◆ operator|() [1/4]

Definition at line 62 of file hb-buffer.hh.

◆ operator|() [2/4]

Definition at line 60 of file hb-buffer.hh.

◆ operator|() [3/4]

◆ operator|() [4/4]

◆ operator|=() [1/4]

Definition at line 62 of file hb-buffer.hh.

◆ operator|=() [2/4]

Definition at line 60 of file hb-buffer.hh.

◆ operator|=() [3/4]

Definition at line 79 of file hb-buffer.hh.

◆ operator|=() [4/4]

◆ operator~() [1/4]

static hb_buffer_diff_flags_t operator~ ( hb_buffer_diff_flags_t  r)
inlinestatic

Definition at line 62 of file hb-buffer.hh.

◆ operator~() [2/4]

static hb_buffer_flags_t operator~ ( hb_buffer_flags_t  r)
inlinestatic

Definition at line 60 of file hb-buffer.hh.

◆ operator~() [3/4]

Definition at line 79 of file hb-buffer.hh.

◆ operator~() [4/4]

Definition at line 61 of file hb-buffer.hh.

Variable Documentation

◆ _hb_Null_hb_buffer_t

const hb_buffer_t _hb_Null_hb_buffer_t
extern

Definition at line 653 of file hb-buffer.cc.