• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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_FT_H
28  #define HB_FT_H
29  
30  #include "hb.h"
31  
32  #include <ft2build.h>
33  #include FT_FREETYPE_H
34  
35  HB_BEGIN_DECLS
36  
37  /* Note: FreeType is not thread-safe.  Hence, these functions are not either. */
38  
39  hb_face_t *
40  hb_ft_face_create (FT_Face           ft_face,
41  		   hb_destroy_func_t destroy);
42  
43  hb_face_t *
44  hb_ft_face_create_cached (FT_Face ft_face);
45  
46  hb_font_t *
47  hb_ft_font_create (FT_Face           ft_face,
48  		   hb_destroy_func_t destroy);
49  
50  
51  
52  /* Makes an hb_font_t use FreeType internally to implement font functions. */
53  void
54  hb_ft_font_set_funcs (hb_font_t *font);
55  
56  FT_Face
57  hb_ft_font_get_face (hb_font_t *font);
58  
59  
60  HB_END_DECLS
61  
62  #endif /* HB_FT_H */
63