]>
Commit | Line | Data |
---|---|---|
cabec872 RR |
1 | /***************************************************************************/ |
2 | /* */ | |
3 | /* ahglyph.h */ | |
4 | /* */ | |
5 | /* Routines used to load and analyze a given glyph before hinting */ | |
6 | /* (specification). */ | |
7 | /* */ | |
8 | /* Copyright 2000 Catharon Productions Inc. */ | |
9 | /* Author: David Turner */ | |
10 | /* */ | |
11 | /* This file is part of the Catharon Typography Project and shall only */ | |
12 | /* be used, modified, and distributed under the terms of the Catharon */ | |
13 | /* Open Source License that should come with this file under the name */ | |
14 | /* `CatharonLicense.txt'. By continuing to use, modify, or distribute */ | |
15 | /* this file you indicate that you have read the license and */ | |
16 | /* understand and accept it fully. */ | |
17 | /* */ | |
18 | /* Note that this license is compatible with the FreeType license. */ | |
19 | /* */ | |
20 | /***************************************************************************/ | |
21 | ||
22 | ||
23 | #ifndef AHGLYPH_H | |
24 | #define AHGLYPH_H | |
25 | ||
26 | #ifdef FT_FLAT_COMPILE | |
27 | ||
28 | #include "ahtypes.h" | |
29 | ||
30 | #else | |
31 | ||
32 | #include <autohint/ahtypes.h> | |
33 | ||
34 | #endif | |
35 | ||
36 | ||
37 | typedef enum AH_UV_ | |
38 | { | |
39 | ah_uv_fxy, | |
40 | ah_uv_fyx, | |
41 | ah_uv_oxy, | |
42 | ah_uv_oyx, | |
43 | ah_uv_ox, | |
44 | ah_uv_oy, | |
45 | ah_uv_yx, | |
46 | ah_uv_xy /* should always be last! */ | |
47 | ||
48 | } AH_UV; | |
49 | ||
50 | ||
51 | LOCAL_DEF | |
52 | void ah_setup_uv( AH_Outline* outline, | |
53 | AH_UV source ); | |
54 | ||
55 | ||
56 | /* AH_Outline functions - they should be typically called in this order */ | |
57 | ||
58 | LOCAL_DEF | |
59 | FT_Error ah_outline_new( FT_Memory memory, | |
60 | AH_Outline** aoutline ); | |
61 | ||
62 | LOCAL_DEF | |
63 | FT_Error ah_outline_load( AH_Outline* outline, | |
64 | FT_Face face ); | |
65 | ||
66 | LOCAL_DEF | |
67 | void ah_outline_compute_segments( AH_Outline* outline ); | |
68 | ||
69 | LOCAL_DEF | |
70 | void ah_outline_link_segments( AH_Outline* outline ); | |
71 | ||
72 | LOCAL_DEF | |
73 | void ah_outline_detect_features( AH_Outline* outline ); | |
74 | ||
75 | LOCAL_DEF | |
76 | void ah_outline_compute_blue_edges( AH_Outline* outline, | |
77 | AH_Face_Globals* globals ); | |
78 | ||
79 | LOCAL_DEF | |
80 | void ah_outline_scale_blue_edges( AH_Outline* outline, | |
81 | AH_Face_Globals* globals ); | |
82 | ||
83 | LOCAL_DEF | |
84 | void ah_outline_save( AH_Outline* outline, AH_Loader* loader ); | |
85 | ||
86 | LOCAL_DEF | |
87 | void ah_outline_done( AH_Outline* outline ); | |
88 | ||
89 | ||
90 | #endif /* AHGLYPH_H */ | |
91 | ||
92 | ||
93 | /* END */ |