Warning, file /include/harfbuzz/hb-ot-var.h was not indexed
or was modified since last indexation (in which case cross-reference links may be missing, inaccurate or erroneous).
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 #if !defined(HB_OT_H_IN) && !defined(HB_NO_SINGLE_HEADER_ERROR)
0028 #error "Include <hb-ot.h> instead."
0029 #endif
0030
0031 #ifndef HB_OT_VAR_H
0032 #define HB_OT_VAR_H
0033
0034 #include "hb.h"
0035
0036 HB_BEGIN_DECLS
0037
0038
0039
0040
0041
0042
0043 #define HB_OT_TAG_VAR_AXIS_ITALIC HB_TAG('i','t','a','l')
0044
0045
0046
0047
0048
0049
0050
0051 #define HB_OT_TAG_VAR_AXIS_OPTICAL_SIZE HB_TAG('o','p','s','z')
0052
0053
0054
0055
0056
0057
0058 #define HB_OT_TAG_VAR_AXIS_SLANT HB_TAG('s','l','n','t')
0059
0060
0061
0062
0063
0064
0065 #define HB_OT_TAG_VAR_AXIS_WIDTH HB_TAG('w','d','t','h')
0066
0067
0068
0069
0070
0071
0072 #define HB_OT_TAG_VAR_AXIS_WEIGHT HB_TAG('w','g','h','t')
0073
0074
0075
0076
0077
0078
0079 HB_EXTERN hb_bool_t
0080 hb_ot_var_has_data (hb_face_t *face);
0081
0082
0083
0084
0085
0086
0087
0088 HB_EXTERN unsigned int
0089 hb_ot_var_get_axis_count (hb_face_t *face);
0090
0091
0092
0093
0094
0095
0096
0097
0098
0099 typedef enum {
0100 HB_OT_VAR_AXIS_FLAG_HIDDEN = 0x00000001u,
0101
0102
0103 _HB_OT_VAR_AXIS_FLAG_MAX_VALUE= HB_TAG_MAX_SIGNED
0104 } hb_ot_var_axis_flags_t;
0105
0106
0107
0108
0109
0110
0111
0112
0113
0114
0115
0116
0117
0118
0119
0120
0121
0122
0123
0124
0125 typedef struct hb_ot_var_axis_info_t {
0126 unsigned int axis_index;
0127 hb_tag_t tag;
0128 hb_ot_name_id_t name_id;
0129 hb_ot_var_axis_flags_t flags;
0130 float min_value;
0131 float default_value;
0132 float max_value;
0133
0134 unsigned int reserved;
0135 } hb_ot_var_axis_info_t;
0136
0137 HB_EXTERN unsigned int
0138 hb_ot_var_get_axis_infos (hb_face_t *face,
0139 unsigned int start_offset,
0140 unsigned int *axes_count ,
0141 hb_ot_var_axis_info_t *axes_array );
0142
0143 HB_EXTERN hb_bool_t
0144 hb_ot_var_find_axis_info (hb_face_t *face,
0145 hb_tag_t axis_tag,
0146 hb_ot_var_axis_info_t *axis_info);
0147
0148
0149
0150
0151
0152
0153 HB_EXTERN unsigned int
0154 hb_ot_var_get_named_instance_count (hb_face_t *face);
0155
0156 HB_EXTERN hb_ot_name_id_t
0157 hb_ot_var_named_instance_get_subfamily_name_id (hb_face_t *face,
0158 unsigned int instance_index);
0159
0160 HB_EXTERN hb_ot_name_id_t
0161 hb_ot_var_named_instance_get_postscript_name_id (hb_face_t *face,
0162 unsigned int instance_index);
0163
0164 HB_EXTERN unsigned int
0165 hb_ot_var_named_instance_get_design_coords (hb_face_t *face,
0166 unsigned int instance_index,
0167 unsigned int *coords_length,
0168 float *coords );
0169
0170
0171
0172
0173
0174
0175 HB_EXTERN void
0176 hb_ot_var_normalize_variations (hb_face_t *face,
0177 const hb_variation_t *variations,
0178 unsigned int variations_length,
0179 int *coords,
0180 unsigned int coords_length);
0181
0182 HB_EXTERN void
0183 hb_ot_var_normalize_coords (hb_face_t *face,
0184 unsigned int coords_length,
0185 const float *design_coords,
0186 int *normalized_coords );
0187
0188
0189 HB_END_DECLS
0190
0191 #endif