| /* |
| * Copyright © 2009, 2023 Red Hat, Inc. |
| * Copyright © 2015 Google, Inc. |
| * |
| * Permission is hereby granted, without written agreement and without |
| * license or royalty fees, to use, copy, modify, and distribute this |
| * software and its documentation for any purpose, provided that the |
| * above copyright notice and the following two paragraphs appear in |
| * all copies of this software. |
| * |
| * IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR |
| * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES |
| * ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN |
| * IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH |
| * DAMAGE. |
| * |
| * THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, |
| * BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND |
| * FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS |
| * ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO |
| * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. |
| * |
| * Red Hat Author(s): Behdad Esfahbod, Matthias Clasen |
| * Google Author(s): Behdad Esfahbod |
| */ |
| |
| |
| /* All HarfBuzz function declarations used by FreeType, taken */ |
| /* from various public HarfBuzz header files. The wrapper macro */ |
| /* `HB_EXTERN` is defined in `ft-hb.h`. */ |
| |
| |
| /* hb-blob.h */ |
| |
| HB_EXTERN(hb_blob_t *, |
| hb_blob_create,(const char *data, |
| unsigned int length, |
| hb_memory_mode_t mode, |
| void *user_data, |
| hb_destroy_func_t destroy)) |
| |
| HB_EXTERN(void, |
| hb_blob_destroy,(hb_blob_t *blob)) |
| |
| |
| /* hb-buffer.h */ |
| |
| HB_EXTERN(void, |
| hb_buffer_add_utf8,(hb_buffer_t *buffer, |
| const char *text, |
| int text_length, |
| unsigned int item_offset, |
| int item_length)) |
| |
| HB_EXTERN(void, |
| hb_buffer_clear_contents,(hb_buffer_t *buffer)) |
| |
| HB_EXTERN(hb_buffer_t *, |
| hb_buffer_create,(void)) |
| |
| HB_EXTERN(void, |
| hb_buffer_destroy,(hb_buffer_t *buffer)) |
| |
| HB_EXTERN(hb_glyph_info_t *, |
| hb_buffer_get_glyph_infos,(hb_buffer_t *buffer, |
| unsigned int *length)) |
| |
| HB_EXTERN(hb_glyph_position_t *, |
| hb_buffer_get_glyph_positions,(hb_buffer_t *buffer, |
| unsigned int *length)) |
| |
| HB_EXTERN(unsigned int, |
| hb_buffer_get_length,(const hb_buffer_t *buffer)) |
| |
| HB_EXTERN(void, |
| hb_buffer_guess_segment_properties,(hb_buffer_t *buffer)) |
| |
| |
| /* hb-face.h */ |
| |
| HB_EXTERN(hb_face_t *, |
| hb_face_create,(hb_blob_t *blob, |
| unsigned int index)) |
| |
| HB_EXTERN(hb_face_t *, |
| hb_face_create_for_tables,(hb_reference_table_func_t reference_table_func, |
| void *user_data, |
| hb_destroy_func_t destroy)) |
| |
| HB_EXTERN(void, |
| hb_face_destroy,(hb_face_t *face)) |
| |
| HB_EXTERN(void, |
| hb_face_set_index,(hb_face_t *face, |
| unsigned int index)) |
| |
| HB_EXTERN(void, |
| hb_face_set_upem,(hb_face_t *face, |
| unsigned int upem)) |
| |
| |
| /* hb-font.h */ |
| |
| HB_EXTERN(hb_font_t *, |
| hb_font_create,(hb_face_t *face)) |
| |
| HB_EXTERN(void, |
| hb_font_destroy,(hb_font_t *font)) |
| |
| HB_EXTERN(hb_face_t *, |
| hb_font_get_face,(hb_font_t *font)) |
| |
| HB_EXTERN(void, |
| hb_font_set_scale,(hb_font_t *font, |
| int x_scale, |
| int y_scale)) |
| |
| |
| /* hb-ot-layout.h */ |
| |
| HB_EXTERN(void, |
| hb_ot_layout_collect_lookups,(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 *lookup_indexes /* OUT */)) |
| |
| HB_EXTERN(void, |
| hb_ot_layout_lookup_collect_glyphs,(hb_face_t *face, |
| hb_tag_t table_tag, |
| unsigned int lookup_index, |
| hb_set_t *glyphs_before, /* OUT. May be NULL */ |
| hb_set_t *glyphs_input, /* OUT. May be NULL */ |
| hb_set_t *glyphs_after, /* OUT. May be NULL */ |
| hb_set_t *glyphs_output /* OUT. May be NULL */)) |
| |
| HB_EXTERN(hb_bool_t, |
| hb_ot_layout_lookup_would_substitute,(hb_face_t *face, |
| unsigned int lookup_index, |
| const hb_codepoint_t *glyphs, |
| unsigned int glyphs_length, |
| hb_bool_t zero_context)) |
| |
| 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-set.h */ |
| |
| HB_EXTERN(void, |
| hb_set_add,(hb_set_t *set, |
| hb_codepoint_t codepoint)) |
| |
| HB_EXTERN(void, |
| hb_set_clear,(hb_set_t *set)) |
| |
| HB_EXTERN(hb_set_t *, |
| hb_set_create,(void)) |
| |
| HB_EXTERN(void, |
| hb_set_destroy,(hb_set_t *set)) |
| |
| HB_EXTERN(void, |
| hb_set_del,(hb_set_t *set, |
| hb_codepoint_t codepoint)) |
| |
| HB_EXTERN(hb_bool_t, |
| hb_set_has,(const hb_set_t *set, |
| hb_codepoint_t codepoint)) |
| |
| HB_EXTERN(hb_bool_t, |
| hb_set_is_empty,(const hb_set_t *set)) |
| |
| HB_EXTERN(hb_bool_t, |
| hb_set_next,(const hb_set_t *set, |
| hb_codepoint_t *codepoint)) |
| |
| HB_EXTERN(void, |
| hb_set_subtract,(hb_set_t *set, |
| const hb_set_t *other)) |
| |
| |
| /* hb-shape.h */ |
| |
| HB_EXTERN(void, |
| hb_shape,(hb_font_t *font, |
| hb_buffer_t *buffer, |
| const hb_feature_t *features, |
| unsigned int num_features)) |
| |
| HB_EXTERN(hb_bool_t, |
| hb_version_atleast,(unsigned int major, |
| unsigned int minor, |
| unsigned int micro)) |
| |
| |
| /* END */ |