< prev index next >

src/java.desktop/share/native/libfontmanager/harfbuzz/hb-ot-layout.h

Print this page

        

*** 31,41 **** #ifndef HB_OT_LAYOUT_H #define HB_OT_LAYOUT_H #include "hb.h" ! #include "hb-ot-tag.h" HB_BEGIN_DECLS #define HB_OT_TAG_BASE HB_TAG('B','A','S','E') --- 31,41 ---- #ifndef HB_OT_LAYOUT_H #define HB_OT_LAYOUT_H #include "hb.h" ! #include "hb-ot-name.h" HB_BEGIN_DECLS #define HB_OT_TAG_BASE HB_TAG('B','A','S','E')
*** 44,53 **** --- 44,94 ---- #define HB_OT_TAG_GPOS HB_TAG('G','P','O','S') #define HB_OT_TAG_JSTF HB_TAG('J','S','T','F') /* + * Script & Language tags. + */ + + #define HB_OT_TAG_DEFAULT_SCRIPT HB_TAG ('D', 'F', 'L', 'T') + #define HB_OT_TAG_DEFAULT_LANGUAGE HB_TAG ('d', 'f', 'l', 't') + + /** + * HB_OT_MAX_TAGS_PER_SCRIPT: + * + * Since: 2.0.0 + **/ + #define HB_OT_MAX_TAGS_PER_SCRIPT 3u + /** + * HB_OT_MAX_TAGS_PER_LANGUAGE: + * + * Since: 2.0.0 + **/ + #define HB_OT_MAX_TAGS_PER_LANGUAGE 3u + + HB_EXTERN void + hb_ot_tags_from_script_and_language (hb_script_t script, + hb_language_t language, + unsigned int *script_count /* IN/OUT */, + hb_tag_t *script_tags /* OUT */, + unsigned int *language_count /* IN/OUT */, + hb_tag_t *language_tags /* OUT */); + + HB_EXTERN hb_script_t + hb_ot_tag_to_script (hb_tag_t tag); + + HB_EXTERN hb_language_t + hb_ot_tag_to_language (hb_tag_t tag); + + HB_EXTERN void + hb_ot_tags_to_script_and_language (hb_tag_t script_tag, + hb_tag_t language_tag, + hb_script_t *script /* OUT */, + hb_language_t *language /* OUT */); + + + /* * GDEF */ HB_EXTERN hb_bool_t hb_ot_layout_has_glyph_classes (hb_face_t *face);
*** 109,125 **** hb_ot_layout_table_find_script (hb_face_t *face, hb_tag_t table_tag, hb_tag_t script_tag, unsigned int *script_index); - /* Like find_script, but takes zero-terminated array of scripts to test */ HB_EXTERN hb_bool_t ! hb_ot_layout_table_choose_script (hb_face_t *face, hb_tag_t table_tag, const hb_tag_t *script_tags, ! unsigned int *script_index, ! hb_tag_t *chosen_script); HB_EXTERN unsigned int hb_ot_layout_table_get_feature_tags (hb_face_t *face, hb_tag_t table_tag, unsigned int start_offset, --- 150,166 ---- hb_ot_layout_table_find_script (hb_face_t *face, hb_tag_t table_tag, hb_tag_t script_tag, unsigned int *script_index); HB_EXTERN hb_bool_t ! hb_ot_layout_table_select_script (hb_face_t *face, hb_tag_t table_tag, + unsigned int script_count, const hb_tag_t *script_tags, ! unsigned int *script_index /* OUT */, ! hb_tag_t *chosen_script /* OUT */); HB_EXTERN unsigned int hb_ot_layout_table_get_feature_tags (hb_face_t *face, hb_tag_t table_tag, unsigned int start_offset,
*** 133,147 **** unsigned int start_offset, unsigned int *language_count /* IN/OUT */, hb_tag_t *language_tags /* OUT */); HB_EXTERN hb_bool_t ! hb_ot_layout_script_find_language (hb_face_t *face, hb_tag_t table_tag, unsigned int script_index, ! hb_tag_t language_tag, ! unsigned int *language_index); HB_EXTERN hb_bool_t hb_ot_layout_language_get_required_feature_index (hb_face_t *face, hb_tag_t table_tag, unsigned int script_index, --- 174,189 ---- unsigned int start_offset, unsigned int *language_count /* IN/OUT */, hb_tag_t *language_tags /* OUT */); HB_EXTERN hb_bool_t ! hb_ot_layout_script_select_language (hb_face_t *face, hb_tag_t table_tag, unsigned int script_index, ! unsigned int language_count, ! const hb_tag_t *language_tags, ! unsigned int *language_index /* OUT */); HB_EXTERN hb_bool_t hb_ot_layout_language_get_required_feature_index (hb_face_t *face, hb_tag_t table_tag, unsigned int script_index,
*** 192,201 **** --- 234,250 ---- HB_EXTERN unsigned int hb_ot_layout_table_get_lookup_count (hb_face_t *face, hb_tag_t table_tag); + HB_EXTERN void + hb_ot_layout_collect_features (hb_face_t *face, + hb_tag_t table_tag, + const hb_tag_t *scripts, + const hb_tag_t *languages, + const hb_tag_t *features, + hb_set_t *feature_indexes /* OUT */); HB_EXTERN void hb_ot_layout_collect_lookups (hb_face_t *face, hb_tag_t table_tag, const hb_tag_t *scripts,
*** 316,344 **** * https://docs.microsoft.com/en-us/typography/opentype/spec/features_pt#size */ HB_EXTERN hb_bool_t hb_ot_layout_get_size_params (hb_face_t *face, unsigned int *design_size, /* OUT. May be NULL */ unsigned int *subfamily_id, /* OUT. May be NULL */ ! unsigned int *subfamily_name_id, /* OUT. May be NULL */ unsigned int *range_start, /* OUT. May be NULL */ unsigned int *range_end /* OUT. May be NULL */); ! /* ! * BASE ! */ ! #if 0 ! ! #define HB_OT_TAG_BASE_HANG HB_TAG('h','a','n','g') ! #define HB_OT_TAG_BASE_ICFB HB_TAG('i','c','f','b') ! #define HB_OT_TAG_BASE_ICFT HB_TAG('i','c','f','t') ! #define HB_OT_TAG_BASE_IDEO HB_TAG('i','d','e','o') ! #define HB_OT_TAG_BASE_IDTB HB_TAG('i','d','t','b') ! #define HB_OT_TAG_BASE_MATH HB_TAG('m','a','t','h') ! #define HB_OT_TAG_BASE_ROMN HB_TAG('r','o','m','n') - #endif HB_END_DECLS #endif /* HB_OT_LAYOUT_H */ --- 365,396 ---- * https://docs.microsoft.com/en-us/typography/opentype/spec/features_pt#size */ HB_EXTERN hb_bool_t hb_ot_layout_get_size_params (hb_face_t *face, unsigned int *design_size, /* OUT. May be NULL */ unsigned int *subfamily_id, /* OUT. May be NULL */ ! hb_ot_name_id_t *subfamily_name_id, /* OUT. May be NULL */ unsigned int *range_start, /* OUT. May be NULL */ unsigned int *range_end /* OUT. May be NULL */); ! HB_EXTERN hb_bool_t ! hb_ot_layout_feature_get_name_ids (hb_face_t *face, ! hb_tag_t table_tag, ! unsigned int feature_index, ! hb_ot_name_id_t *label_id /* OUT. May be NULL */, ! hb_ot_name_id_t *tooltip_id /* OUT. May be NULL */, ! hb_ot_name_id_t *sample_id /* OUT. May be NULL */, ! unsigned int *num_named_parameters /* OUT. May be NULL */, ! hb_ot_name_id_t *first_param_id /* OUT. May be NULL */); + HB_EXTERN unsigned int + hb_ot_layout_feature_get_characters (hb_face_t *face, + hb_tag_t table_tag, + unsigned int feature_index, + unsigned int start_offset, + unsigned int *char_count /* IN/OUT. May be NULL */, + hb_codepoint_t *characters /* OUT. May be NULL */); HB_END_DECLS #endif /* HB_OT_LAYOUT_H */
< prev index next >