#include "hb.hh"
#ifndef HB_NO_OT_SHAPE
#include "hb-ot-shaper-indic.hh"
#include "hb-ot-shaper-indic-machine.hh"
#include "hb-ot-shaper-vowel-constraints.hh"
#include "hb-ot-layout.hh"
static inline void
set_indic_properties (hb_glyph_info_t &info)
{ … }
static inline bool
is_one_of (const hb_glyph_info_t &info, unsigned int flags)
{ … }
#define CONSONANT_FLAGS_INDIC …
static inline bool
is_consonant (const hb_glyph_info_t &info)
{ … }
#define JOINER_FLAGS …
static inline bool
is_joiner (const hb_glyph_info_t &info)
{ … }
static inline bool
is_halant (const hb_glyph_info_t &info)
{ … }
struct hb_indic_would_substitute_feature_t
{ … };
enum reph_position_t { … };
enum reph_mode_t { … };
enum blwf_mode_t { … };
struct indic_config_t
{ … };
static const indic_config_t indic_configs[] = …;
static const hb_ot_map_feature_t
indic_features[] = …;
enum { … };
static bool
setup_syllables_indic (const hb_ot_shape_plan_t *plan,
hb_font_t *font,
hb_buffer_t *buffer);
static bool
initial_reordering_indic (const hb_ot_shape_plan_t *plan,
hb_font_t *font,
hb_buffer_t *buffer);
static bool
final_reordering_indic (const hb_ot_shape_plan_t *plan,
hb_font_t *font,
hb_buffer_t *buffer);
static void
collect_features_indic (hb_ot_shape_planner_t *plan)
{ … }
static void
override_features_indic (hb_ot_shape_planner_t *plan)
{ … }
struct indic_shape_plan_t
{ … };
static void *
data_create_indic (const hb_ot_shape_plan_t *plan)
{ … }
static void
data_destroy_indic (void *data)
{ … }
static indic_position_t
consonant_position_from_face (const indic_shape_plan_t *indic_plan,
const hb_codepoint_t consonant,
const hb_codepoint_t virama,
hb_face_t *face)
{ … }
static void
setup_masks_indic (const hb_ot_shape_plan_t *plan HB_UNUSED,
hb_buffer_t *buffer,
hb_font_t *font HB_UNUSED)
{ … }
static bool
setup_syllables_indic (const hb_ot_shape_plan_t *plan HB_UNUSED,
hb_font_t *font HB_UNUSED,
hb_buffer_t *buffer)
{ … }
static int
compare_indic_order (const hb_glyph_info_t *pa, const hb_glyph_info_t *pb)
{ … }
static void
update_consonant_positions_indic (const hb_ot_shape_plan_t *plan,
hb_font_t *font,
hb_buffer_t *buffer)
{ … }
static void
initial_reordering_consonant_syllable (const hb_ot_shape_plan_t *plan,
hb_face_t *face,
hb_buffer_t *buffer,
unsigned int start, unsigned int end)
{ … }
static void
initial_reordering_standalone_cluster (const hb_ot_shape_plan_t *plan,
hb_face_t *face,
hb_buffer_t *buffer,
unsigned int start, unsigned int end)
{ … }
static void
initial_reordering_syllable_indic (const hb_ot_shape_plan_t *plan,
hb_face_t *face,
hb_buffer_t *buffer,
unsigned int start, unsigned int end)
{ … }
static bool
initial_reordering_indic (const hb_ot_shape_plan_t *plan,
hb_font_t *font,
hb_buffer_t *buffer)
{ … }
static void
final_reordering_syllable_indic (const hb_ot_shape_plan_t *plan,
hb_buffer_t *buffer,
unsigned int start, unsigned int end)
{ … }
static bool
final_reordering_indic (const hb_ot_shape_plan_t *plan,
hb_font_t *font HB_UNUSED,
hb_buffer_t *buffer)
{ … }
static void
preprocess_text_indic (const hb_ot_shape_plan_t *plan,
hb_buffer_t *buffer,
hb_font_t *font)
{ … }
static bool
decompose_indic (const hb_ot_shape_normalize_context_t *c,
hb_codepoint_t ab,
hb_codepoint_t *a,
hb_codepoint_t *b)
{ … }
static bool
compose_indic (const hb_ot_shape_normalize_context_t *c,
hb_codepoint_t a,
hb_codepoint_t b,
hb_codepoint_t *ab)
{ … }
const hb_ot_shaper_t _hb_ot_shaper_indic = …;
#endif