1/****************************************************************************
2 *
3 * afshaper.h
4 *
5 * HarfBuzz interface for accessing OpenType features (specification).
6 *
7 * Copyright (C) 2013-2023 by
8 * David Turner, Robert Wilhelm, and Werner Lemberg.
9 *
10 * This file is part of the FreeType project, and may only be used,
11 * modified, and distributed under the terms of the FreeType project
12 * license, LICENSE.TXT. By continuing to use, modify, or distribute
13 * this file you indicate that you have read the license and
14 * understand and accept it fully.
15 *
16 */
17
18
19#ifndef AFSHAPER_H_
20#define AFSHAPER_H_
21
22
23#include <freetype/freetype.h>
24
25
26#ifdef FT_CONFIG_OPTION_USE_HARFBUZZ
27
28#include <hb.h>
29#include <hb-ot.h>
30#include "ft-hb.h"
31
32#endif
33
34
35FT_BEGIN_HEADER
36
37 FT_Error
38 af_shaper_get_coverage( AF_FaceGlobals globals,
39 AF_StyleClass style_class,
40 FT_UShort* gstyles,
41 FT_Bool default_script );
42
43
44 void*
45 af_shaper_buf_create( FT_Face face );
46
47 void
48 af_shaper_buf_destroy( FT_Face face,
49 void* buf );
50
51 const char*
52 af_shaper_get_cluster( const char* p,
53 AF_StyleMetrics metrics,
54 void* buf_,
55 unsigned int* count );
56
57 FT_ULong
58 af_shaper_get_elem( AF_StyleMetrics metrics,
59 void* buf_,
60 unsigned int idx,
61 FT_Long* x_advance,
62 FT_Long* y_offset );
63
64 /* */
65
66FT_END_HEADER
67
68#endif /* AFSHAPER_H_ */
69
70
71/* END */
72