[HarfBuzz] harfbuzz: Branch 'master'

Behdad Esfahbod behdad at kemper.freedesktop.org
Tue Jan 6 19:28:54 PST 2015


 src/hb-blob.cc |    8 ++++----
 src/sample.py  |   19 +++++++++----------
 2 files changed, 13 insertions(+), 14 deletions(-)

New commits:
commit 2cd5323531dcd800549b2cb1cb51d708e72ab2d8
Author: Behdad Esfahbod <behdad at behdad.org>
Date:   Tue Jan 6 19:16:38 2015 -0800

    [bindings] Use hb_glib_blob_create() in sample
    
    hb_blob_create() is considered C-only API.

diff --git a/src/hb-blob.cc b/src/hb-blob.cc
index 51ea20d..8759a25 100644
--- a/src/hb-blob.cc
+++ b/src/hb-blob.cc
@@ -78,12 +78,12 @@ _hb_blob_destroy_user_data (hb_blob_t *blob)
 }
 
 /**
- * hb_blob_create: (Xconstructor)
- * @data: (array length=length) (element-type uint8_t) (closure user_data) (destroy destroy) (scope notified) (transfer none): Pointer to blob data.
+ * hb_blob_create: (skip)
+ * @data: Pointer to blob data.
  * @length: Length of @data in bytes.
  * @mode: Memory mode for @data.
- * @user_data: (nullable): Data parameter to pass to @destroy.
- * @destroy: (nullable): Callback to call when @data is not needed anymore.
+ * @user_data: Data parameter to pass to @destroy.
+ * @destroy: Callback to call when @data is not needed anymore.
  *
  * Creates a new "blob" object wrapping @data.  The @mode parameter is used
  * to negotiate ownership and lifecycle of @data.
diff --git a/src/sample.py b/src/sample.py
index 5a76f91..86ab8a3 100755
--- a/src/sample.py
+++ b/src/sample.py
@@ -4,6 +4,7 @@
 from __future__ import print_function
 import sys
 from gi.repository import HarfBuzz as hb
+from gi.repository import GLib
 
 # Python 2/3 compatibility
 try:
@@ -17,25 +18,23 @@ def tounicode(s, encoding='utf-8'):
 	else:
 		return s
 
-
-def nothing(data):
-	print(data)
-
 fontdata = open (sys.argv[1], 'rb').read ()
-
-blob = hb.blob_create (fontdata, hb.memory_mode_t.DUPLICATE, 1234, None)
-buf = hb.buffer_create ()
-hb.buffer_add_utf8 (buf, tounicode("Hello بهداد").encode('utf-8'), 0, -1)
-hb.buffer_guess_segment_properties (buf)
-
+blob = hb.glib_blob_create (GLib.Bytes.new (fontdata))
 face = hb.face_create (blob, 0)
+del blob
 font = hb.font_create (face)
 upem = hb.face_get_upem (face)
+del face
 hb.font_set_scale (font, upem, upem)
 #hb.ft_font_set_funcs (font)
 hb.ot_font_set_funcs (font)
 
+buf = hb.buffer_create ()
+hb.buffer_add_utf8 (buf, tounicode("Hello بهداد").encode('utf-8'), 0, -1)
+hb.buffer_guess_segment_properties (buf)
+
 hb.shape (font, buf, [])
+del font
 
 infos = hb.buffer_get_glyph_infos (buf)
 positions = hb.buffer_get_glyph_positions (buf)


More information about the HarfBuzz mailing list