[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