OLD | NEW |
1 /* | 1 /* |
2 * Copyright © 1998-2004 David Turner and Werner Lemberg | 2 * Copyright © 1998-2004 David Turner and Werner Lemberg |
3 * Copyright © 2004,2007,2009,2010 Red Hat, Inc. | 3 * Copyright © 2004,2007,2009,2010 Red Hat, Inc. |
4 * Copyright © 2011,2012 Google, Inc. | 4 * Copyright © 2011,2012 Google, Inc. |
5 * | 5 * |
6 * This is part of HarfBuzz, a text shaping library. | 6 * This is part of HarfBuzz, a text shaping library. |
7 * | 7 * |
8 * Permission is hereby granted, without written agreement and without | 8 * Permission is hereby granted, without written agreement and without |
9 * license or royalty fees, to use, copy, modify, and distribute this | 9 * license or royalty fees, to use, copy, modify, and distribute this |
10 * software and its documentation for any purpose, provided that the | 10 * software and its documentation for any purpose, provided that the |
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
45 | 45 |
46 struct hb_buffer_t { | 46 struct hb_buffer_t { |
47 hb_object_header_t header; | 47 hb_object_header_t header; |
48 ASSERT_POD (); | 48 ASSERT_POD (); |
49 | 49 |
50 /* Information about how the text in the buffer should be treated */ | 50 /* Information about how the text in the buffer should be treated */ |
51 | 51 |
52 hb_unicode_funcs_t *unicode; /* Unicode functions */ | 52 hb_unicode_funcs_t *unicode; /* Unicode functions */ |
53 hb_segment_properties_t props; /* Script, language, direction */ | 53 hb_segment_properties_t props; /* Script, language, direction */ |
54 hb_buffer_flags_t flags; /* BOT / EOT / etc. */ | 54 hb_buffer_flags_t flags; /* BOT / EOT / etc. */ |
| 55 hb_codepoint_t replacement; /* U+FFFD or something else. */ |
55 | 56 |
56 /* Buffer contents */ | 57 /* Buffer contents */ |
57 | 58 |
58 hb_buffer_content_type_t content_type; | 59 hb_buffer_content_type_t content_type; |
59 | 60 |
60 bool in_error; /* Allocation failed */ | 61 bool in_error; /* Allocation failed */ |
61 bool have_output; /* Whether we have an output buffer going on */ | 62 bool have_output; /* Whether we have an output buffer going on */ |
62 bool have_positions; /* Whether we have positions */ | 63 bool have_positions; /* Whether we have positions */ |
63 | 64 |
64 unsigned int idx; /* Cursor into ->info and ->pos arrays */ | 65 unsigned int idx; /* Cursor into ->info and ->pos arrays */ |
(...skipping 132 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
197 sizeof (b->info[0].var), owner) | 198 sizeof (b->info[0].var), owner) |
198 #define HB_BUFFER_ALLOCATE_VAR(b, var) \ | 199 #define HB_BUFFER_ALLOCATE_VAR(b, var) \ |
199 HB_BUFFER_XALLOCATE_VAR (b, allocate_var, var (), #var) | 200 HB_BUFFER_XALLOCATE_VAR (b, allocate_var, var (), #var) |
200 #define HB_BUFFER_DEALLOCATE_VAR(b, var) \ | 201 #define HB_BUFFER_DEALLOCATE_VAR(b, var) \ |
201 HB_BUFFER_XALLOCATE_VAR (b, deallocate_var, var (), #var) | 202 HB_BUFFER_XALLOCATE_VAR (b, deallocate_var, var (), #var) |
202 #define HB_BUFFER_ASSERT_VAR(b, var) \ | 203 #define HB_BUFFER_ASSERT_VAR(b, var) \ |
203 HB_BUFFER_XALLOCATE_VAR (b, assert_var, var (), #var) | 204 HB_BUFFER_XALLOCATE_VAR (b, assert_var, var (), #var) |
204 | 205 |
205 | 206 |
206 #endif /* HB_BUFFER_PRIVATE_HH */ | 207 #endif /* HB_BUFFER_PRIVATE_HH */ |
OLD | NEW |