File indexing completed on 2025-02-21 10:04:01
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020
0021
0022
0023
0024
0025
0026
0027 #ifndef HB_CAIRO_H
0028 #define HB_CAIRO_H
0029
0030 #include "hb.h"
0031
0032 #include <cairo.h>
0033
0034 HB_BEGIN_DECLS
0035
0036 HB_EXTERN cairo_font_face_t *
0037 hb_cairo_font_face_create_for_font (hb_font_t *font);
0038
0039 HB_EXTERN hb_font_t *
0040 hb_cairo_font_face_get_font (cairo_font_face_t *font_face);
0041
0042 HB_EXTERN cairo_font_face_t *
0043 hb_cairo_font_face_create_for_face (hb_face_t *face);
0044
0045 HB_EXTERN hb_face_t *
0046 hb_cairo_font_face_get_face (cairo_font_face_t *font_face);
0047
0048
0049
0050
0051
0052
0053
0054
0055
0056
0057
0058
0059
0060
0061
0062 typedef hb_font_t * (*hb_cairo_font_init_func_t) (hb_font_t *font,
0063 cairo_scaled_font_t *scaled_font,
0064 void *user_data);
0065
0066 HB_EXTERN void
0067 hb_cairo_font_face_set_font_init_func (cairo_font_face_t *font_face,
0068 hb_cairo_font_init_func_t func,
0069 void *user_data,
0070 hb_destroy_func_t destroy);
0071
0072 HB_EXTERN hb_font_t *
0073 hb_cairo_scaled_font_get_font (cairo_scaled_font_t *scaled_font);
0074
0075 HB_EXTERN void
0076 hb_cairo_font_face_set_scale_factor (cairo_font_face_t *font_face,
0077 unsigned int scale_factor);
0078
0079 HB_EXTERN unsigned int
0080 hb_cairo_font_face_get_scale_factor (cairo_font_face_t *font_face);
0081
0082 HB_EXTERN void
0083 hb_cairo_glyphs_from_buffer (hb_buffer_t *buffer,
0084 hb_bool_t utf8_clusters,
0085 double x_scale_factor,
0086 double y_scale_factor,
0087 double x,
0088 double y,
0089 const char *utf8,
0090 int utf8_len,
0091 cairo_glyph_t **glyphs,
0092 unsigned int *num_glyphs,
0093 cairo_text_cluster_t **clusters,
0094 unsigned int *num_clusters,
0095 cairo_text_cluster_flags_t *cluster_flags);
0096
0097 HB_END_DECLS
0098
0099 #endif