OLD | NEW |
1 /***************************************************************************/ | 1 /***************************************************************************/ |
2 /* */ | 2 /* */ |
3 /* afcjk.h */ | 3 /* afcjk.h */ |
4 /* */ | 4 /* */ |
5 /* Auto-fitter hinting routines for CJK script (specification). */ | 5 /* Auto-fitter hinting routines for CJK script (specification). */ |
6 /* */ | 6 /* */ |
7 /* Copyright 2006, 2007, 2011 by */ | 7 /* Copyright 2006, 2007, 2011, 2012 by */ |
8 /* David Turner, Robert Wilhelm, and Werner Lemberg. */ | 8 /* David Turner, Robert Wilhelm, and Werner Lemberg. */ |
9 /* */ | 9 /* */ |
10 /* This file is part of the FreeType project, and may only be used, */ | 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 */ | 11 /* modified, and distributed under the terms of the FreeType project */ |
12 /* license, LICENSE.TXT. By continuing to use, modify, or distribute */ | 12 /* license, LICENSE.TXT. By continuing to use, modify, or distribute */ |
13 /* this file you indicate that you have read the license and */ | 13 /* this file you indicate that you have read the license and */ |
14 /* understand and accept it fully. */ | 14 /* understand and accept it fully. */ |
15 /* */ | 15 /* */ |
16 /***************************************************************************/ | 16 /***************************************************************************/ |
17 | 17 |
18 | 18 |
19 #ifndef __AFCJK_H__ | 19 #ifndef __AFCJK_H__ |
20 #define __AFCJK_H__ | 20 #define __AFCJK_H__ |
21 | 21 |
22 #include "afhints.h" | 22 #include "afhints.h" |
23 #include "aflatin.h" | 23 #include "aflatin.h" |
24 | 24 |
25 | 25 |
26 FT_BEGIN_HEADER | 26 FT_BEGIN_HEADER |
27 | 27 |
28 | 28 |
29 /* the CJK-specific script class */ | 29 /* the CJK-specific script class */ |
30 | 30 |
31 AF_DECLARE_SCRIPT_CLASS(af_cjk_script_class) | 31 AF_DECLARE_SCRIPT_CLASS( af_cjk_script_class ) |
32 | 32 |
33 /* CJK (global) metrics management */ | 33 /* CJK (global) metrics management */ |
34 | 34 |
35 /* | 35 /* |
36 * CJK glyphs tend to fill the square. So we have both vertical and | 36 * CJK glyphs tend to fill the square. So we have both vertical and |
37 * horizontal blue zones. But some glyphs have flat bounding strokes that | 37 * horizontal blue zones. But some glyphs have flat bounding strokes that |
38 * leave some space between neighbour glyphs. | 38 * leave some space between neighbour glyphs. |
39 */ | 39 */ |
40 enum | 40 enum |
41 { | 41 { |
(...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
96 | 96 |
97 typedef struct AF_CJKMetricsRec_ | 97 typedef struct AF_CJKMetricsRec_ |
98 { | 98 { |
99 AF_ScriptMetricsRec root; | 99 AF_ScriptMetricsRec root; |
100 FT_UInt units_per_em; | 100 FT_UInt units_per_em; |
101 AF_CJKAxisRec axis[AF_DIMENSION_MAX]; | 101 AF_CJKAxisRec axis[AF_DIMENSION_MAX]; |
102 | 102 |
103 } AF_CJKMetricsRec, *AF_CJKMetrics; | 103 } AF_CJKMetricsRec, *AF_CJKMetrics; |
104 | 104 |
105 | 105 |
| 106 #ifdef AF_CONFIG_OPTION_CJK |
106 FT_LOCAL( FT_Error ) | 107 FT_LOCAL( FT_Error ) |
107 af_cjk_metrics_init( AF_CJKMetrics metrics, | 108 af_cjk_metrics_init( AF_CJKMetrics metrics, |
108 FT_Face face ); | 109 FT_Face face ); |
109 | 110 |
110 FT_LOCAL( void ) | 111 FT_LOCAL( void ) |
111 af_cjk_metrics_scale( AF_CJKMetrics metrics, | 112 af_cjk_metrics_scale( AF_CJKMetrics metrics, |
112 AF_Scaler scaler ); | 113 AF_Scaler scaler ); |
113 | 114 |
114 FT_LOCAL( FT_Error ) | 115 FT_LOCAL( FT_Error ) |
115 af_cjk_hints_init( AF_GlyphHints hints, | 116 af_cjk_hints_init( AF_GlyphHints hints, |
116 AF_CJKMetrics metrics ); | 117 AF_CJKMetrics metrics ); |
117 | 118 |
118 FT_LOCAL( FT_Error ) | 119 FT_LOCAL( FT_Error ) |
119 af_cjk_hints_apply( AF_GlyphHints hints, | 120 af_cjk_hints_apply( AF_GlyphHints hints, |
120 FT_Outline* outline, | 121 FT_Outline* outline, |
121 AF_CJKMetrics metrics ); | 122 AF_CJKMetrics metrics ); |
122 | 123 |
123 /* Shared. called from afindic.c */ | 124 /* shared; called from afindic.c */ |
124 FT_LOCAL( void ) | 125 FT_LOCAL( void ) |
125 af_cjk_metrics_check_digits( AF_CJKMetrics metrics, | 126 af_cjk_metrics_check_digits( AF_CJKMetrics metrics, |
126 FT_Face face ); | 127 FT_Face face ); |
127 | 128 |
128 FT_LOCAL( void ) | 129 FT_LOCAL( void ) |
129 af_cjk_metrics_init_widths( AF_CJKMetrics metrics, | 130 af_cjk_metrics_init_widths( AF_CJKMetrics metrics, |
130 FT_Face face, | 131 FT_Face face ); |
131 FT_ULong charcode ); | 132 #endif /* AF_CONFIG_OPTION_CJK */ |
132 | 133 |
133 | 134 |
134 /* */ | 135 /* */ |
135 | 136 |
136 FT_END_HEADER | 137 FT_END_HEADER |
137 | 138 |
138 #endif /* __AFCJK_H__ */ | 139 #endif /* __AFCJK_H__ */ |
139 | 140 |
140 | 141 |
141 /* END */ | 142 /* END */ |
OLD | NEW |