Bug 485559 – Boston Summit HarfBuzz optimizations
2007-10-10 Behdad Esfahbod <[email protected]>
Bug 485559 – Boston Summit HarfBuzz optimizations
* pango/opentype/*: HarfBuzz hacking to:
- Rename last remaining FT_Err stuff to HB_Err.
- Fix a couple invalid table paths to be permissive so
fonts work better. Particularly GDEF table for Nafees
Nastaliq is loaded and works great now.
- Optimize harfbuzz buffer to not copy/swap for simple
one-to-one and "copy" GSUB operations.
* pango/pango-ot*: Update to FT_Err to HB_Err renaming.
diff --git a/src/harfbuzz-buffer.h b/src/harfbuzz-buffer.h
index c7478e3..8b6b659 100644
--- a/src/harfbuzz-buffer.h
+++ b/src/harfbuzz-buffer.h
@@ -56,32 +56,37 @@
FT_ULong in_pos;
FT_ULong out_pos;
+ FT_Bool inplace;
HB_GlyphItem in_string;
HB_GlyphItem out_string;
+ HB_GlyphItem alt_string;
HB_Position positions;
FT_UShort max_ligID;
} HB_BufferRec, *HB_Buffer;
-FT_Error
+HB_Error
hb_buffer_new( FT_Memory memory,
HB_Buffer *buffer );
-FT_Error
+void
hb_buffer_swap( HB_Buffer buffer );
-FT_Error
+void
hb_buffer_free( HB_Buffer buffer );
-FT_Error
+void
hb_buffer_clear( HB_Buffer buffer );
-FT_Error
+void
+hb_buffer_clear_output( HB_Buffer buffer );
+
+HB_Error
hb_buffer_add_glyph( HB_Buffer buffer,
FT_UInt glyph_index,
FT_UInt properties,
FT_UInt cluster );
-FT_Error
+HB_Error
hb_buffer_add_output_glyphs( HB_Buffer buffer,
FT_UShort num_in,
FT_UShort num_out,
@@ -89,15 +94,20 @@
FT_UShort component,
FT_UShort ligID );
-FT_Error
+HB_Error
hb_buffer_add_output_glyph ( HB_Buffer buffer,
FT_UInt glyph_index,
FT_UShort component,
FT_UShort ligID );
-FT_Error
+HB_Error
hb_buffer_copy_output_glyph ( HB_Buffer buffer );
+HB_Error
+hb_buffer_replace_output_glyph ( HB_Buffer buffer,
+ FT_UInt glyph_index,
+ FT_Bool inplace );
+
FT_UShort
hb_buffer_allocate_ligid( HB_Buffer buffer );