blob: 777155baa911ce8e881af597ea4fd3649ceb35a3 [file] [log] [blame]
David Turner3469d0d2000-07-19 20:02:14 +00001/***************************************************************************/
2/* */
3/* ahhint.h */
4/* */
Werner Lembergc3dd1512000-07-26 14:11:15 +00005/* Glyph hinter (declaration). */
David Turner3469d0d2000-07-19 20:02:14 +00006/* */
Werner Lembergc3dd1512000-07-26 14:11:15 +00007/* Copyright 2000 Catharon Productions Inc. */
David Turner3469d0d2000-07-19 20:02:14 +00008/* Author: David Turner */
9/* */
10/* This file is part of the Catharon Typography Project and shall only */
11/* be used, modified, and distributed under the terms of the Catharon */
12/* Open Source License that should come with this file under the name */
Werner Lembergc3dd1512000-07-26 14:11:15 +000013/* `CatharonLicense.txt'. By continuing to use, modify, or distribute */
David Turner3469d0d2000-07-19 20:02:14 +000014/* this file you indicate that you have read the license and */
15/* understand and accept it fully. */
16/* */
Werner Lembergc3dd1512000-07-26 14:11:15 +000017/* Note that this license is compatible with the FreeType license. */
David Turner3469d0d2000-07-19 20:02:14 +000018/* */
19/***************************************************************************/
Werner Lembergc3dd1512000-07-26 14:11:15 +000020
21
Werner Lemberg90d99642000-12-09 00:45:38 +000022#ifndef __AHHINT_H__
23#define __AHHINT_H__
Werner Lembergc3dd1512000-07-26 14:11:15 +000024
Werner Lembergcc069be2000-12-08 16:17:16 +000025
26#include <ft2build.h>
27#include FT_SOURCE_FILE(autohint,ahglobal.h)
28
David Turner3469d0d2000-07-19 20:02:14 +000029
David Turner19ed8af2000-12-08 02:42:29 +000030FT_BEGIN_HEADER
Werner Lembergc713d922000-08-01 13:17:04 +000031
Werner Lemberg90d99642000-12-09 00:45:38 +000032
Werner Lembergc3dd1512000-07-26 14:11:15 +000033#define AH_HINT_DEFAULT 0
34#define AH_HINT_NO_ALIGNMENT 1
35#define AH_HINT_NO_HORZ_EDGES 0x20000L
36#define AH_HINT_NO_VERT_EDGES 0x40000L
David Turner3469d0d2000-07-19 20:02:14 +000037
38
Werner Lembergc3dd1512000-07-26 14:11:15 +000039 /* create a new empty hinter object */
David Turner76a5f622000-11-04 01:55:49 +000040 FT_LOCAL
Werner Lembergc3dd1512000-07-26 14:11:15 +000041 FT_Error ah_hinter_new( FT_Library library,
42 AH_Hinter** ahinter );
David Turner3469d0d2000-07-19 20:02:14 +000043
Werner Lembergc3dd1512000-07-26 14:11:15 +000044 /* Load a hinted glyph in the hinter */
David Turner76a5f622000-11-04 01:55:49 +000045 FT_LOCAL
David Turner3469d0d2000-07-19 20:02:14 +000046 FT_Error ah_hinter_load_glyph( AH_Hinter* hinter,
47 FT_GlyphSlot slot,
48 FT_Size size,
49 FT_UInt glyph_index,
50 FT_Int load_flags );
51
Werner Lembergc3dd1512000-07-26 14:11:15 +000052 /* finalize a hinter object */
David Turner76a5f622000-11-04 01:55:49 +000053 FT_LOCAL
Werner Lembergc3dd1512000-07-26 14:11:15 +000054 void ah_hinter_done( AH_Hinter* hinter );
David Turner3469d0d2000-07-19 20:02:14 +000055
David Turner76a5f622000-11-04 01:55:49 +000056 FT_LOCAL
Werner Lembergc3dd1512000-07-26 14:11:15 +000057 void ah_hinter_done_face_globals( AH_Face_Globals* globals );
David Turner3469d0d2000-07-19 20:02:14 +000058
David Turner76a5f622000-11-04 01:55:49 +000059 FT_LOCAL
Werner Lembergc3dd1512000-07-26 14:11:15 +000060 void ah_hinter_get_global_hints( AH_Hinter* hinter,
61 FT_Face face,
62 void** global_hints,
63 long* global_len );
David Turner3469d0d2000-07-19 20:02:14 +000064
David Turner76a5f622000-11-04 01:55:49 +000065 FT_LOCAL
Werner Lembergc3dd1512000-07-26 14:11:15 +000066 void ah_hinter_done_global_hints( AH_Hinter* hinter,
67 void* global_hints );
David Turner3469d0d2000-07-19 20:02:14 +000068
Werner Lemberg90d99642000-12-09 00:45:38 +000069
David Turner19ed8af2000-12-08 02:42:29 +000070FT_END_HEADER
Werner Lembergc713d922000-08-01 13:17:04 +000071
Werner Lemberg90d99642000-12-09 00:45:38 +000072#endif /* __AHHINT_H__ */
Werner Lembergc3dd1512000-07-26 14:11:15 +000073
74
75/* END */