David Turner | 3469d0d | 2000-07-19 20:02:14 +0000 | [diff] [blame] | 1 | /***************************************************************************/ |
| 2 | /* */ |
| 3 | /* ahhint.h */ |
| 4 | /* */ |
Werner Lemberg | c3dd151 | 2000-07-26 14:11:15 +0000 | [diff] [blame] | 5 | /* Glyph hinter (declaration). */ |
David Turner | 3469d0d | 2000-07-19 20:02:14 +0000 | [diff] [blame] | 6 | /* */ |
Werner Lemberg | c3dd151 | 2000-07-26 14:11:15 +0000 | [diff] [blame] | 7 | /* Copyright 2000 Catharon Productions Inc. */ |
David Turner | 3469d0d | 2000-07-19 20:02:14 +0000 | [diff] [blame] | 8 | /* 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 Lemberg | c3dd151 | 2000-07-26 14:11:15 +0000 | [diff] [blame] | 13 | /* `CatharonLicense.txt'. By continuing to use, modify, or distribute */ |
David Turner | 3469d0d | 2000-07-19 20:02:14 +0000 | [diff] [blame] | 14 | /* this file you indicate that you have read the license and */ |
| 15 | /* understand and accept it fully. */ |
| 16 | /* */ |
Werner Lemberg | c3dd151 | 2000-07-26 14:11:15 +0000 | [diff] [blame] | 17 | /* Note that this license is compatible with the FreeType license. */ |
David Turner | 3469d0d | 2000-07-19 20:02:14 +0000 | [diff] [blame] | 18 | /* */ |
| 19 | /***************************************************************************/ |
Werner Lemberg | c3dd151 | 2000-07-26 14:11:15 +0000 | [diff] [blame] | 20 | |
| 21 | |
Werner Lemberg | 90d9964 | 2000-12-09 00:45:38 +0000 | [diff] [blame^] | 22 | #ifndef __AHHINT_H__ |
| 23 | #define __AHHINT_H__ |
Werner Lemberg | c3dd151 | 2000-07-26 14:11:15 +0000 | [diff] [blame] | 24 | |
Werner Lemberg | cc069be | 2000-12-08 16:17:16 +0000 | [diff] [blame] | 25 | |
| 26 | #include <ft2build.h> |
| 27 | #include FT_SOURCE_FILE(autohint,ahglobal.h) |
| 28 | |
David Turner | 3469d0d | 2000-07-19 20:02:14 +0000 | [diff] [blame] | 29 | |
David Turner | 19ed8af | 2000-12-08 02:42:29 +0000 | [diff] [blame] | 30 | FT_BEGIN_HEADER |
Werner Lemberg | c713d92 | 2000-08-01 13:17:04 +0000 | [diff] [blame] | 31 | |
Werner Lemberg | 90d9964 | 2000-12-09 00:45:38 +0000 | [diff] [blame^] | 32 | |
Werner Lemberg | c3dd151 | 2000-07-26 14:11:15 +0000 | [diff] [blame] | 33 | #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 Turner | 3469d0d | 2000-07-19 20:02:14 +0000 | [diff] [blame] | 37 | |
| 38 | |
Werner Lemberg | c3dd151 | 2000-07-26 14:11:15 +0000 | [diff] [blame] | 39 | /* create a new empty hinter object */ |
David Turner | 76a5f62 | 2000-11-04 01:55:49 +0000 | [diff] [blame] | 40 | FT_LOCAL |
Werner Lemberg | c3dd151 | 2000-07-26 14:11:15 +0000 | [diff] [blame] | 41 | FT_Error ah_hinter_new( FT_Library library, |
| 42 | AH_Hinter** ahinter ); |
David Turner | 3469d0d | 2000-07-19 20:02:14 +0000 | [diff] [blame] | 43 | |
Werner Lemberg | c3dd151 | 2000-07-26 14:11:15 +0000 | [diff] [blame] | 44 | /* Load a hinted glyph in the hinter */ |
David Turner | 76a5f62 | 2000-11-04 01:55:49 +0000 | [diff] [blame] | 45 | FT_LOCAL |
David Turner | 3469d0d | 2000-07-19 20:02:14 +0000 | [diff] [blame] | 46 | 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 Lemberg | c3dd151 | 2000-07-26 14:11:15 +0000 | [diff] [blame] | 52 | /* finalize a hinter object */ |
David Turner | 76a5f62 | 2000-11-04 01:55:49 +0000 | [diff] [blame] | 53 | FT_LOCAL |
Werner Lemberg | c3dd151 | 2000-07-26 14:11:15 +0000 | [diff] [blame] | 54 | void ah_hinter_done( AH_Hinter* hinter ); |
David Turner | 3469d0d | 2000-07-19 20:02:14 +0000 | [diff] [blame] | 55 | |
David Turner | 76a5f62 | 2000-11-04 01:55:49 +0000 | [diff] [blame] | 56 | FT_LOCAL |
Werner Lemberg | c3dd151 | 2000-07-26 14:11:15 +0000 | [diff] [blame] | 57 | void ah_hinter_done_face_globals( AH_Face_Globals* globals ); |
David Turner | 3469d0d | 2000-07-19 20:02:14 +0000 | [diff] [blame] | 58 | |
David Turner | 76a5f62 | 2000-11-04 01:55:49 +0000 | [diff] [blame] | 59 | FT_LOCAL |
Werner Lemberg | c3dd151 | 2000-07-26 14:11:15 +0000 | [diff] [blame] | 60 | void ah_hinter_get_global_hints( AH_Hinter* hinter, |
| 61 | FT_Face face, |
| 62 | void** global_hints, |
| 63 | long* global_len ); |
David Turner | 3469d0d | 2000-07-19 20:02:14 +0000 | [diff] [blame] | 64 | |
David Turner | 76a5f62 | 2000-11-04 01:55:49 +0000 | [diff] [blame] | 65 | FT_LOCAL |
Werner Lemberg | c3dd151 | 2000-07-26 14:11:15 +0000 | [diff] [blame] | 66 | void ah_hinter_done_global_hints( AH_Hinter* hinter, |
| 67 | void* global_hints ); |
David Turner | 3469d0d | 2000-07-19 20:02:14 +0000 | [diff] [blame] | 68 | |
Werner Lemberg | 90d9964 | 2000-12-09 00:45:38 +0000 | [diff] [blame^] | 69 | |
David Turner | 19ed8af | 2000-12-08 02:42:29 +0000 | [diff] [blame] | 70 | FT_END_HEADER |
Werner Lemberg | c713d92 | 2000-08-01 13:17:04 +0000 | [diff] [blame] | 71 | |
Werner Lemberg | 90d9964 | 2000-12-09 00:45:38 +0000 | [diff] [blame^] | 72 | #endif /* __AHHINT_H__ */ |
Werner Lemberg | c3dd151 | 2000-07-26 14:11:15 +0000 | [diff] [blame] | 73 | |
| 74 | |
| 75 | /* END */ |