[HarfBuzz] harfbuzz-ng: Branch 'master' - 2 commits
Behdad Esfahbod
behdad at kemper.freedesktop.org
Thu Jun 7 14:43:02 PDT 2012
src/hb-buffer-private.hh | 2 +-
src/hb-buffer.cc | 5 +++--
src/hb-open-type-private.hh | 1 +
src/hb-ot-layout-gsub-table.hh | 4 ++--
src/hb-ot-layout-gsubgpos-private.hh | 2 +-
5 files changed, 8 insertions(+), 6 deletions(-)
New commits:
commit 0bb0f5d41976ae27c5c7a51cbb82144b48315a4b
Author: Behdad Esfahbod <behdad at behdad.org>
Date: Thu Jun 7 17:42:48 2012 -0400
Add note re _NullPool
diff --git a/src/hb-open-type-private.hh b/src/hb-open-type-private.hh
index 5d90e5b..5f097f0 100644
--- a/src/hb-open-type-private.hh
+++ b/src/hb-open-type-private.hh
@@ -130,6 +130,7 @@ inline Type& StructAfter(TObject &X)
*/
/* Global nul-content Null pool. Enlarge as necessary. */
+/* TODO This really should be a extern HB_INTERNAL and defined somewhere... */
static const void *_NullPool[64 / sizeof (void *)];
/* Generic nul-content Null objects. */
commit 2a3d911fe0ff5d6442659d3381d5b08c30ee2896
Author: Behdad Esfahbod <behdad at behdad.org>
Date: Thu Jun 7 17:31:46 2012 -0400
Fix alignment-requirement missmatch
Detected by clang and lots of cmdline options.
diff --git a/src/hb-buffer-private.hh b/src/hb-buffer-private.hh
index b539f26..4077bb3 100644
--- a/src/hb-buffer-private.hh
+++ b/src/hb-buffer-private.hh
@@ -112,7 +112,7 @@ struct _hb_buffer_t {
HB_INTERNAL void clear_positions (void);
HB_INTERNAL void replace_glyphs_be16 (unsigned int num_in,
unsigned int num_out,
- const uint16_t *glyph_data_be);
+ const char *glyph_data_be);
HB_INTERNAL void replace_glyphs (unsigned int num_in,
unsigned int num_out,
const hb_codepoint_t *glyph_data);
diff --git a/src/hb-buffer.cc b/src/hb-buffer.cc
index e2c34f1..9c9b32e 100644
--- a/src/hb-buffer.cc
+++ b/src/hb-buffer.cc
@@ -233,7 +233,7 @@ hb_buffer_t::swap_buffers (void)
void
hb_buffer_t::replace_glyphs_be16 (unsigned int num_in,
unsigned int num_out,
- const uint16_t *glyph_data_be)
+ const char *glyph_data_be)
{
if (!make_room_for (num_in, num_out)) return;
@@ -245,10 +245,11 @@ hb_buffer_t::replace_glyphs_be16 (unsigned int num_in,
}
hb_glyph_info_t *pinfo = &out_info[out_len];
+ const unsigned char *data = (const unsigned char *) glyph_data_be;
for (unsigned int i = 0; i < num_out; i++)
{
*pinfo = orig_info;
- pinfo->codepoint = hb_be_uint16 (glyph_data_be[i]);
+ pinfo->codepoint = (data[2*i] << 8) | data[2*i+1];
pinfo++;
}
diff --git a/src/hb-ot-layout-gsub-table.hh b/src/hb-ot-layout-gsub-table.hh
index f6a7575..4229f32 100644
--- a/src/hb-ot-layout-gsub-table.hh
+++ b/src/hb-ot-layout-gsub-table.hh
@@ -213,7 +213,7 @@ struct Sequence
if (unlikely (!substitute.len)) return TRACE_RETURN (false);
unsigned int klass = c->property & HB_OT_LAYOUT_GLYPH_CLASS_LIGATURE ? HB_OT_LAYOUT_GLYPH_CLASS_BASE_GLYPH : 0;
- c->replace_glyphs_be16 (1, substitute.len, (const uint16_t *) substitute.array, klass);
+ c->replace_glyphs_be16 (1, substitute.len, (const char *) substitute.array, klass);
return TRACE_RETURN (true);
}
@@ -502,7 +502,7 @@ struct Ligature
if (skippy_iter.idx < c->buffer->idx + count) /* No input glyphs skipped */
{
- c->replace_glyphs_be16 (count, 1, (const uint16_t *) &ligGlyph, klass);
+ c->replace_glyphs_be16 (count, 1, (const char *) &ligGlyph, klass);
}
else
{
diff --git a/src/hb-ot-layout-gsubgpos-private.hh b/src/hb-ot-layout-gsubgpos-private.hh
index a2e4b2f..e590e39 100644
--- a/src/hb-ot-layout-gsubgpos-private.hh
+++ b/src/hb-ot-layout-gsubgpos-private.hh
@@ -230,7 +230,7 @@ struct hb_apply_context_t
}
inline void replace_glyphs_be16 (unsigned int num_in,
unsigned int num_out,
- const uint16_t *glyph_data_be,
+ const char *glyph_data_be,
unsigned int klass = 0) const
{
buffer->cur().props_cache() = klass; /* XXX if has gdef? */
More information about the HarfBuzz
mailing list