< prev index next >

src/java.desktop/share/native/libfontmanager/harfbuzz/hb-ot-shape-complex-private.hh

Print this page




 129 
 130   /* compose()
 131    * Called during shape()'s normalization.
 132    * May be NULL.
 133    */
 134   bool (*compose) (const hb_ot_shape_normalize_context_t *c,
 135                    hb_codepoint_t  a,
 136                    hb_codepoint_t  b,
 137                    hb_codepoint_t *ab);
 138 
 139   /* setup_masks()
 140    * Called during shape().
 141    * Shapers should use map to get feature masks and set on buffer.
 142    * Shapers may NOT modify characters.
 143    * May be NULL.
 144    */
 145   void (*setup_masks) (const hb_ot_shape_plan_t *plan,
 146                        hb_buffer_t              *buffer,
 147                        hb_font_t                *font);
 148 








 149   hb_ot_shape_zero_width_marks_type_t zero_width_marks;
 150 
 151   bool fallback_position;
 152 };
 153 
 154 #define HB_COMPLEX_SHAPER_IMPLEMENT(name) extern HB_INTERNAL const hb_ot_complex_shaper_t _hb_ot_complex_shaper_##name;
 155 HB_COMPLEX_SHAPERS_IMPLEMENT_SHAPERS
 156 #undef HB_COMPLEX_SHAPER_IMPLEMENT
 157 
 158 
 159 static inline const hb_ot_complex_shaper_t *
 160 hb_ot_shape_complex_categorize (const hb_ot_shape_planner_t *planner)
 161 {
 162   switch ((hb_tag_t) planner->props.script)
 163   {
 164     default:
 165       return &_hb_ot_complex_shaper_default;
 166 
 167 
 168     /* Unicode-1.1 additions */




 129 
 130   /* compose()
 131    * Called during shape()'s normalization.
 132    * May be NULL.
 133    */
 134   bool (*compose) (const hb_ot_shape_normalize_context_t *c,
 135                    hb_codepoint_t  a,
 136                    hb_codepoint_t  b,
 137                    hb_codepoint_t *ab);
 138 
 139   /* setup_masks()
 140    * Called during shape().
 141    * Shapers should use map to get feature masks and set on buffer.
 142    * Shapers may NOT modify characters.
 143    * May be NULL.
 144    */
 145   void (*setup_masks) (const hb_ot_shape_plan_t *plan,
 146                        hb_buffer_t              *buffer,
 147                        hb_font_t                *font);
 148 
 149   /* disable_otl()
 150    * Called during shape().
 151    * If set and returns true, GDEF/GSUB/GPOS of the font are ignored
 152    * and fallback operations used.
 153    * May be NULL.
 154    */
 155   bool (*disable_otl) (const hb_ot_shape_plan_t *plan);
 156 
 157   hb_ot_shape_zero_width_marks_type_t zero_width_marks;
 158 
 159   bool fallback_position;
 160 };
 161 
 162 #define HB_COMPLEX_SHAPER_IMPLEMENT(name) extern HB_INTERNAL const hb_ot_complex_shaper_t _hb_ot_complex_shaper_##name;
 163 HB_COMPLEX_SHAPERS_IMPLEMENT_SHAPERS
 164 #undef HB_COMPLEX_SHAPER_IMPLEMENT
 165 
 166 
 167 static inline const hb_ot_complex_shaper_t *
 168 hb_ot_shape_complex_categorize (const hb_ot_shape_planner_t *planner)
 169 {
 170   switch ((hb_tag_t) planner->props.script)
 171   {
 172     default:
 173       return &_hb_ot_complex_shaper_default;
 174 
 175 
 176     /* Unicode-1.1 additions */


< prev index next >