1 : /*
2 : * Copyright © 2009 Red Hat, Inc.
3 : *
4 : * This is part of HarfBuzz, a text shaping library.
5 : *
6 : * Permission is hereby granted, without written agreement and without
7 : * license or royalty fees, to use, copy, modify, and distribute this
8 : * software and its documentation for any purpose, provided that the
9 : * above copyright notice and the following two paragraphs appear in
10 : * all copies of this software.
11 : *
12 : * IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR
13 : * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES
14 : * ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN
15 : * IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
16 : * DAMAGE.
17 : *
18 : * THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING,
19 : * BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
20 : * FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS
21 : * ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO
22 : * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
23 : *
24 : * Red Hat Author(s): Behdad Esfahbod
25 : */
26 :
27 : #ifndef HB_SHAPE_H
28 : #define HB_SHAPE_H
29 :
30 : #include "hb-common.h"
31 : #include "hb-buffer.h"
32 : #include "hb-font.h"
33 :
34 : HB_BEGIN_DECLS
35 :
36 :
37 0 : typedef struct _hb_feature_t {
38 : hb_tag_t tag;
39 : uint32_t value;
40 : unsigned int start;
41 : unsigned int end;
42 : } hb_feature_t;
43 :
44 :
45 : void
46 : hb_shape (hb_font_t *font,
47 : hb_buffer_t *buffer,
48 : const hb_feature_t *features,
49 : unsigned int num_features);
50 :
51 : hb_bool_t
52 : hb_shape_full (hb_font_t *font,
53 : hb_buffer_t *buffer,
54 : const hb_feature_t *features,
55 : unsigned int num_features,
56 : const char * const *shaper_options,
57 : const char * const *shaper_list);
58 :
59 : const char **
60 : hb_shape_list_shapers (void);
61 :
62 :
63 : HB_END_DECLS
64 :
65 : #endif /* HB_SHAPE_H */
|