1cb93a386Sopenharmony_ci/*
2cb93a386Sopenharmony_ci * Copyright © 2018  Google, Inc.
3cb93a386Sopenharmony_ci *
4cb93a386Sopenharmony_ci *  This is part of HarfBuzz, a text shaping library.
5cb93a386Sopenharmony_ci *
6cb93a386Sopenharmony_ci * Permission is hereby granted, without written agreement and without
7cb93a386Sopenharmony_ci * license or royalty fees, to use, copy, modify, and distribute this
8cb93a386Sopenharmony_ci * software and its documentation for any purpose, provided that the
9cb93a386Sopenharmony_ci * above copyright notice and the following two paragraphs appear in
10cb93a386Sopenharmony_ci * all copies of this software.
11cb93a386Sopenharmony_ci *
12cb93a386Sopenharmony_ci * IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR
13cb93a386Sopenharmony_ci * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES
14cb93a386Sopenharmony_ci * ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN
15cb93a386Sopenharmony_ci * IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
16cb93a386Sopenharmony_ci * DAMAGE.
17cb93a386Sopenharmony_ci *
18cb93a386Sopenharmony_ci * THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING,
19cb93a386Sopenharmony_ci * BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
20cb93a386Sopenharmony_ci * FITNESS FOR A PARTICULAR PURPOSE.  THE SOFTWARE PROVIDED HEREUNDER IS
21cb93a386Sopenharmony_ci * ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO
22cb93a386Sopenharmony_ci * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
23cb93a386Sopenharmony_ci *
24cb93a386Sopenharmony_ci * Google Author(s): Behdad Esfahbod
25cb93a386Sopenharmony_ci */
26cb93a386Sopenharmony_ci
27cb93a386Sopenharmony_ci#if !defined(HB_OT_H_IN) && !defined(HB_NO_SINGLE_HEADER_ERROR)
28cb93a386Sopenharmony_ci#error "Include <hb-ot.h> instead."
29cb93a386Sopenharmony_ci#endif
30cb93a386Sopenharmony_ci
31cb93a386Sopenharmony_ci#ifndef HB_OT_DEPRECATED_H
32cb93a386Sopenharmony_ci#define HB_OT_DEPRECATED_H
33cb93a386Sopenharmony_ci
34cb93a386Sopenharmony_ci#include "hb.h"
35cb93a386Sopenharmony_ci#include "hb-ot-name.h"
36cb93a386Sopenharmony_ci
37cb93a386Sopenharmony_ci
38cb93a386Sopenharmony_ciHB_BEGIN_DECLS
39cb93a386Sopenharmony_ci
40cb93a386Sopenharmony_ci#ifndef HB_DISABLE_DEPRECATED
41cb93a386Sopenharmony_ci
42cb93a386Sopenharmony_ci
43cb93a386Sopenharmony_ci/* https://github.com/harfbuzz/harfbuzz/issues/1734 */
44cb93a386Sopenharmony_ci/**
45cb93a386Sopenharmony_ci * HB_MATH_GLYPH_PART_FLAG_EXTENDER:
46cb93a386Sopenharmony_ci *
47cb93a386Sopenharmony_ci * Use #HB_OT_MATH_GLYPH_PART_FLAG_EXTENDER instead.
48cb93a386Sopenharmony_ci *
49cb93a386Sopenharmony_ci * Deprecated: 2.5.1
50cb93a386Sopenharmony_ci */
51cb93a386Sopenharmony_ci#define HB_MATH_GLYPH_PART_FLAG_EXTENDER HB_OT_MATH_GLYPH_PART_FLAG_EXTENDER
52cb93a386Sopenharmony_ci
53cb93a386Sopenharmony_ci
54cb93a386Sopenharmony_ci/* Like hb_ot_layout_table_find_script, but takes zero-terminated array of scripts to test */
55cb93a386Sopenharmony_ciHB_EXTERN HB_DEPRECATED_FOR (hb_ot_layout_table_select_script) hb_bool_t
56cb93a386Sopenharmony_cihb_ot_layout_table_choose_script (hb_face_t      *face,
57cb93a386Sopenharmony_ci				  hb_tag_t        table_tag,
58cb93a386Sopenharmony_ci				  const hb_tag_t *script_tags,
59cb93a386Sopenharmony_ci				  unsigned int   *script_index,
60cb93a386Sopenharmony_ci				  hb_tag_t       *chosen_script);
61cb93a386Sopenharmony_ci
62cb93a386Sopenharmony_ciHB_EXTERN HB_DEPRECATED_FOR (hb_ot_layout_script_select_language) hb_bool_t
63cb93a386Sopenharmony_cihb_ot_layout_script_find_language (hb_face_t    *face,
64cb93a386Sopenharmony_ci				   hb_tag_t      table_tag,
65cb93a386Sopenharmony_ci				   unsigned int  script_index,
66cb93a386Sopenharmony_ci				   hb_tag_t      language_tag,
67cb93a386Sopenharmony_ci				   unsigned int *language_index);
68cb93a386Sopenharmony_ci
69cb93a386Sopenharmony_ciHB_EXTERN HB_DEPRECATED_FOR (hb_ot_tags_from_script_and_language) void
70cb93a386Sopenharmony_cihb_ot_tags_from_script (hb_script_t  script,
71cb93a386Sopenharmony_ci			hb_tag_t    *script_tag_1,
72cb93a386Sopenharmony_ci			hb_tag_t    *script_tag_2);
73cb93a386Sopenharmony_ci
74cb93a386Sopenharmony_ciHB_EXTERN HB_DEPRECATED_FOR (hb_ot_tags_from_script_and_language) hb_tag_t
75cb93a386Sopenharmony_cihb_ot_tag_from_language (hb_language_t language);
76cb93a386Sopenharmony_ci
77cb93a386Sopenharmony_ci
78cb93a386Sopenharmony_ci/**
79cb93a386Sopenharmony_ci * HB_OT_VAR_NO_AXIS_INDEX:
80cb93a386Sopenharmony_ci *
81cb93a386Sopenharmony_ci * Do not use.
82cb93a386Sopenharmony_ci *
83cb93a386Sopenharmony_ci * Since: 1.4.2
84cb93a386Sopenharmony_ci * Deprecated: 2.2.0
85cb93a386Sopenharmony_ci */
86cb93a386Sopenharmony_ci#define HB_OT_VAR_NO_AXIS_INDEX		0xFFFFFFFFu
87cb93a386Sopenharmony_ci
88cb93a386Sopenharmony_ci/**
89cb93a386Sopenharmony_ci * hb_ot_var_axis_t:
90cb93a386Sopenharmony_ci * @tag: axis tag
91cb93a386Sopenharmony_ci * @name_id: axis name identifier
92cb93a386Sopenharmony_ci * @min_value: minimum value of the axis
93cb93a386Sopenharmony_ci * @default_value: default value of the axis
94cb93a386Sopenharmony_ci * @max_value: maximum value of the axis
95cb93a386Sopenharmony_ci *
96cb93a386Sopenharmony_ci * Use #hb_ot_var_axis_info_t instead.
97cb93a386Sopenharmony_ci *
98cb93a386Sopenharmony_ci * Since: 1.4.2
99cb93a386Sopenharmony_ci * Deprecated: 2.2.0
100cb93a386Sopenharmony_ci */
101cb93a386Sopenharmony_citypedef struct hb_ot_var_axis_t {
102cb93a386Sopenharmony_ci  hb_tag_t tag;
103cb93a386Sopenharmony_ci  hb_ot_name_id_t name_id;
104cb93a386Sopenharmony_ci  float min_value;
105cb93a386Sopenharmony_ci  float default_value;
106cb93a386Sopenharmony_ci  float max_value;
107cb93a386Sopenharmony_ci} hb_ot_var_axis_t;
108cb93a386Sopenharmony_ci
109cb93a386Sopenharmony_ciHB_EXTERN HB_DEPRECATED_FOR (hb_ot_var_get_axis_infos) unsigned int
110cb93a386Sopenharmony_cihb_ot_var_get_axes (hb_face_t        *face,
111cb93a386Sopenharmony_ci		    unsigned int      start_offset,
112cb93a386Sopenharmony_ci		    unsigned int     *axes_count /* IN/OUT */,
113cb93a386Sopenharmony_ci		    hb_ot_var_axis_t *axes_array /* OUT */);
114cb93a386Sopenharmony_ci
115cb93a386Sopenharmony_ciHB_EXTERN HB_DEPRECATED_FOR (hb_ot_var_find_axis_info) hb_bool_t
116cb93a386Sopenharmony_cihb_ot_var_find_axis (hb_face_t        *face,
117cb93a386Sopenharmony_ci		     hb_tag_t          axis_tag,
118cb93a386Sopenharmony_ci		     unsigned int     *axis_index,
119cb93a386Sopenharmony_ci		     hb_ot_var_axis_t *axis_info);
120cb93a386Sopenharmony_ci
121cb93a386Sopenharmony_ci
122cb93a386Sopenharmony_ci#endif
123cb93a386Sopenharmony_ci
124cb93a386Sopenharmony_ciHB_END_DECLS
125cb93a386Sopenharmony_ci
126cb93a386Sopenharmony_ci#endif /* HB_OT_DEPRECATED_H */
127