| Index: third_party/harfbuzz-ng/src/hb-buffer.h
|
| diff --git a/third_party/harfbuzz-ng/src/hb-buffer.h b/third_party/harfbuzz-ng/src/hb-buffer.h
|
| index 0185415c46e373856086002900b3e96147934fcc..9582ebee49941bbe8c5c80f294e59d2ccbe44419 100644
|
| --- a/third_party/harfbuzz-ng/src/hb-buffer.h
|
| +++ b/third_party/harfbuzz-ng/src/hb-buffer.h
|
| @@ -1,8 +1,9 @@
|
| /*
|
| - * Copyright (C) 1998-2004 David Turner and Werner Lemberg
|
| - * Copyright (C) 2004,2007,2009 Red Hat, Inc.
|
| + * Copyright © 1998-2004 David Turner and Werner Lemberg
|
| + * Copyright © 2004,2007,2009 Red Hat, Inc.
|
| + * Copyright © 2011 Google, Inc.
|
| *
|
| - * This is part of HarfBuzz, a text shaping library.
|
| + * This is part of HarfBuzz, a text shaping library.
|
| *
|
| * Permission is hereby granted, without written agreement and without
|
| * license or royalty fees, to use, copy, modify, and distribute this
|
| @@ -23,6 +24,7 @@
|
| * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
|
| *
|
| * Red Hat Author(s): Owen Taylor, Behdad Esfahbod
|
| + * Google Author(s): Behdad Esfahbod
|
| */
|
|
|
| #ifndef HB_BUFFER_H
|
| @@ -30,7 +32,6 @@
|
|
|
| #include "hb-common.h"
|
| #include "hb-unicode.h"
|
| -#include "hb-language.h"
|
|
|
| HB_BEGIN_DECLS
|
|
|
| @@ -41,6 +42,8 @@ typedef struct _hb_glyph_info_t {
|
| hb_codepoint_t codepoint;
|
| hb_mask_t mask;
|
| uint32_t cluster;
|
| +
|
| + /*< private >*/
|
| hb_var_int_t var1;
|
| hb_var_int_t var2;
|
| } hb_glyph_info_t;
|
| @@ -50,22 +53,35 @@ typedef struct _hb_glyph_position_t {
|
| hb_position_t y_advance;
|
| hb_position_t x_offset;
|
| hb_position_t y_offset;
|
| +
|
| + /*< private >*/
|
| hb_var_int_t var;
|
| } hb_glyph_position_t;
|
|
|
|
|
| hb_buffer_t *
|
| -hb_buffer_create (unsigned int pre_alloc_size);
|
| +hb_buffer_create (void);
|
|
|
| hb_buffer_t *
|
| -hb_buffer_reference (hb_buffer_t *buffer);
|
| +hb_buffer_get_empty (void);
|
|
|
| -unsigned int
|
| -hb_buffer_get_reference_count (hb_buffer_t *buffer);
|
| +hb_buffer_t *
|
| +hb_buffer_reference (hb_buffer_t *buffer);
|
|
|
| void
|
| hb_buffer_destroy (hb_buffer_t *buffer);
|
|
|
| +hb_bool_t
|
| +hb_buffer_set_user_data (hb_buffer_t *buffer,
|
| + hb_user_data_key_t *key,
|
| + void * data,
|
| + hb_destroy_func_t destroy,
|
| + hb_bool_t replace);
|
| +
|
| +void *
|
| +hb_buffer_get_user_data (hb_buffer_t *buffer,
|
| + hb_user_data_key_t *key);
|
| +
|
|
|
| void
|
| hb_buffer_set_unicode_funcs (hb_buffer_t *buffer,
|
| @@ -96,15 +112,20 @@ hb_language_t
|
| hb_buffer_get_language (hb_buffer_t *buffer);
|
|
|
|
|
| +/* Resets the buffer. Afterwards it's as if it was just created,
|
| + * except that it has a larger buffer allocated perhaps... */
|
| void
|
| -hb_buffer_clear (hb_buffer_t *buffer);
|
| +hb_buffer_reset (hb_buffer_t *buffer);
|
| +
|
| +/* Returns FALSE if allocation failed */
|
| +hb_bool_t
|
| +hb_buffer_pre_allocate (hb_buffer_t *buffer,
|
| + unsigned int size);
|
|
|
| -void
|
| -hb_buffer_clear_positions (hb_buffer_t *buffer);
|
|
|
| +/* Returns FALSE if allocation has failed before */
|
| hb_bool_t
|
| -hb_buffer_ensure (hb_buffer_t *buffer,
|
| - unsigned int size);
|
| +hb_buffer_allocation_successful (hb_buffer_t *buffer);
|
|
|
| void
|
| hb_buffer_reverse (hb_buffer_t *buffer);
|
| @@ -112,50 +133,60 @@ hb_buffer_reverse (hb_buffer_t *buffer);
|
| void
|
| hb_buffer_reverse_clusters (hb_buffer_t *buffer);
|
|
|
| +void
|
| +hb_buffer_guess_properties (hb_buffer_t *buffer);
|
| +
|
|
|
| /* Filling the buffer in */
|
|
|
| void
|
| -hb_buffer_add_glyph (hb_buffer_t *buffer,
|
| - hb_codepoint_t codepoint,
|
| - hb_mask_t mask,
|
| - unsigned int cluster);
|
| +hb_buffer_add (hb_buffer_t *buffer,
|
| + hb_codepoint_t codepoint,
|
| + hb_mask_t mask,
|
| + unsigned int cluster);
|
|
|
| void
|
| hb_buffer_add_utf8 (hb_buffer_t *buffer,
|
| const char *text,
|
| - unsigned int text_length,
|
| + int text_length,
|
| unsigned int item_offset,
|
| - unsigned int item_length);
|
| + int item_length);
|
|
|
| void
|
| hb_buffer_add_utf16 (hb_buffer_t *buffer,
|
| const uint16_t *text,
|
| - unsigned int text_length,
|
| + int text_length,
|
| unsigned int item_offset,
|
| - unsigned int item_length);
|
| + int item_length);
|
|
|
| void
|
| hb_buffer_add_utf32 (hb_buffer_t *buffer,
|
| const uint32_t *text,
|
| - unsigned int text_length,
|
| + int text_length,
|
| unsigned int item_offset,
|
| - unsigned int item_length);
|
| + int item_length);
|
|
|
|
|
| -/* Getting glyphs out of the buffer */
|
| +/* Clears any new items added at the end */
|
| +hb_bool_t
|
| +hb_buffer_set_length (hb_buffer_t *buffer,
|
| + unsigned int length);
|
|
|
| /* Return value valid as long as buffer not modified */
|
| unsigned int
|
| hb_buffer_get_length (hb_buffer_t *buffer);
|
|
|
| +/* Getting glyphs out of the buffer */
|
| +
|
| /* Return value valid as long as buffer not modified */
|
| hb_glyph_info_t *
|
| -hb_buffer_get_glyph_infos (hb_buffer_t *buffer);
|
| +hb_buffer_get_glyph_infos (hb_buffer_t *buffer,
|
| + unsigned int *length);
|
|
|
| /* Return value valid as long as buffer not modified */
|
| hb_glyph_position_t *
|
| -hb_buffer_get_glyph_positions (hb_buffer_t *buffer);
|
| +hb_buffer_get_glyph_positions (hb_buffer_t *buffer,
|
| + unsigned int *length);
|
|
|
|
|
| HB_END_DECLS
|
|
|