From ae070b7d39d03bd8bc1244f687b24db505f4af3f Mon Sep 17 00:00:00 2001 From: Behdad Esfahbod Date: Wed, 4 Nov 2009 20:29:54 -0500 Subject: [PATCH] Add script and language to buffer --- TODO | 1 - src/hb-buffer-private.h | 6 +++--- src/hb-buffer.c | 26 ++++++++++++++++++++++++++ src/hb-buffer.h | 15 ++++++++++++++- 4 files changed, 43 insertions(+), 5 deletions(-) diff --git a/TODO b/TODO index a12d0ca08..4df3dafac 100644 --- a/TODO +++ b/TODO @@ -1,4 +1,3 @@ -- cmap14 support in get_glyph callback - Use size_t in sanitize? - Buffer error handling? - Better define HB_INTERNAL diff --git a/src/hb-buffer-private.h b/src/hb-buffer-private.h index 8bd93e082..47f9b8c3e 100644 --- a/src/hb-buffer-private.h +++ b/src/hb-buffer-private.h @@ -71,10 +71,10 @@ struct _hb_buffer_t { hb_reference_count_t ref_count; /* Information about how the text in the buffer should be treated */ - hb_unicode_funcs_t *unicode; - hb_direction_t direction; - + hb_direction_t direction; + hb_script_t script; + hb_language_t language; /* Buffer contents */ diff --git a/src/hb-buffer.c b/src/hb-buffer.c index 1b5f2fb84..d70a6cdd9 100644 --- a/src/hb-buffer.c +++ b/src/hb-buffer.c @@ -146,6 +146,32 @@ hb_buffer_get_direction (hb_buffer_t *buffer) return buffer->direction; } +void +hb_buffer_set_script (hb_buffer_t *buffer, + hb_script_t script) +{ + buffer->script = script; +} + +hb_script_t +hb_buffer_get_script (hb_buffer_t *buffer) +{ + return buffer->script; +} + +void +hb_buffer_set_language (hb_buffer_t *buffer, + hb_language_t language) +{ + buffer->language = language; +} + +hb_language_t +hb_buffer_get_language (hb_buffer_t *buffer) +{ + return buffer->language; +} + void hb_buffer_clear (hb_buffer_t *buffer) diff --git a/src/hb-buffer.h b/src/hb-buffer.h index 70c87c688..7bb7a5a3f 100644 --- a/src/hb-buffer.h +++ b/src/hb-buffer.h @@ -30,6 +30,7 @@ #include "hb-common.h" #include "hb-unicode.h" +#include "hb-language.h" HB_BEGIN_DECLS @@ -88,7 +89,6 @@ hb_buffer_set_unicode_funcs (hb_buffer_t *buffer, hb_unicode_funcs_t * hb_buffer_get_unicode_funcs (hb_buffer_t *buffer); - void hb_buffer_set_direction (hb_buffer_t *buffer, hb_direction_t direction); @@ -96,6 +96,19 @@ hb_buffer_set_direction (hb_buffer_t *buffer, hb_direction_t hb_buffer_get_direction (hb_buffer_t *buffer); +void +hb_buffer_set_script (hb_buffer_t *buffer, + hb_script_t script); + +hb_script_t +hb_buffer_get_script (hb_buffer_t *buffer); + +void +hb_buffer_set_language (hb_buffer_t *buffer, + hb_language_t language); + +hb_language_t +hb_buffer_get_language (hb_buffer_t *buffer); void