From 2cd5323531dcd800549b2cb1cb51d708e72ab2d8 Mon Sep 17 00:00:00 2001 From: Behdad Esfahbod Date: Tue, 6 Jan 2015 19:16:38 -0800 Subject: [PATCH] [bindings] Use hb_glib_blob_create() in sample hb_blob_create() is considered C-only API. --- src/hb-blob.cc | 8 ++++---- src/sample.py | 19 +++++++++---------- 2 files changed, 13 insertions(+), 14 deletions(-) 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) -- 2.7.4