29 #ifndef HB_NO_OT_SHAPE
97 map->add_gsub_pause (setup_syllables_khmer);
98 map->add_gsub_pause (reorder_khmer);
115 map->add_feature (khmer_features[
i]);
118 map->add_gsub_pause (
nullptr);
121 map->add_feature (khmer_features[
i]);
132 map->enable_feature (
HB_TAG(
'c',
'l',
'i',
'g'));
135 if (hb_options ().uniscribe_bug_compatible)
137 map->disable_feature (
HB_TAG(
'k',
'e',
'r',
'n'));
140 map->disable_feature (
HB_TAG(
'l',
'i',
'g',
'a'));
164 data_destroy_khmer (
void *
data)
181 for (
unsigned int i = 0;
i <
count;
i++)
182 set_khmer_properties (
info[
i]);
190 find_syllables_khmer (
buffer);
203 unsigned int start,
unsigned int end)
218 unsigned int num_coengs = 0;
239 for (
unsigned int j = 0;
j < 2;
j++)
257 for (
unsigned int j =
i + 2;
j <
end;
j++)
280 unsigned int start,
unsigned int end)
283 switch (syllable_type)
300 if (
buffer->message (
font,
"start reordering khmer"))
328 case 0x17BEu : *
a = 0x17C1u; *
b= 0x17BEu;
return true;
329 case 0x17BFu : *
a = 0x17C1u; *
b= 0x17BFu;
return true;
330 case 0x17C0u : *
a = 0x17C1u; *
b= 0x17C0u;
return true;
331 case 0x17C4u : *
a = 0x17C1u; *
b= 0x17C4u;
return true;
332 case 0x17C5u : *
a = 0x17C1u; *
b= 0x17C5u;
return true;
335 return (
bool)
c->unicode->decompose (ab,
a,
b);
348 return (
bool)
c->unicode->compose (
a,
b, ab);
354 collect_features_khmer,
355 override_features_khmer,
small capitals from c petite p scientific i
[1]
QMap< QString, QString > map
[6]
for(n=0;n< outline->n_points;n++)
#define HB_BUFFER_DEALLOCATE_VAR(b, var)
#define HB_BUFFER_ALLOCATE_VAR(b, var)
void const void *obj HB_UNUSED
#define foreach_syllable(buffer, start, end)
@ F_GLOBAL_MANUAL_JOINERS
@ khmer_consonant_syllable
@ khmer_non_khmer_cluster
const hb_ot_complex_shaper_t _hb_ot_complex_shaper_khmer
void hb_syllabic_insert_dotted_circles(hb_font_t *font, hb_buffer_t *buffer, unsigned int broken_syllable_type, unsigned int dottedcircle_category, int repha_category, int dottedcircle_position)
@ HB_OT_SHAPE_ZERO_WIDTH_MARKS_NONE
@ HB_OT_SHAPE_NORMALIZATION_MODE_COMPOSED_DIACRITICS_NO_SHORT_CIRCUIT
#define HB_UNICODE_GENERAL_CATEGORY_IS_MARK(gen_cat)
backing_store_ptr info
[4]
void *PRIV() memmove(void *d, const void *s, size_t n)
GLboolean GLboolean GLboolean b
GLboolean GLboolean GLboolean GLboolean a
[7]
GLenum GLenum GLsizei count
GLuint GLfloat GLfloat GLfloat GLfloat GLfloat GLfloat GLfloat GLfloat GLfloat t1
[4]
GLuint GLfloat GLfloat GLfloat GLfloat GLfloat GLfloat GLfloat t0
GLint GLsizei GLsizei GLenum GLenum GLsizei void * data
GLint GLint GLint GLint GLint GLint GLint GLbitfield mask
#define HB_TAG(c1, c2, c3, c4)
hb_ot_map_feature_flags_t flags
hb_mask_t get_1_mask(hb_tag_t feature_tag) const
hb_mask_t mask_array[KHMER_NUM_FEATURES]
XmlOutput::xml_output tag(const QString &name)