summaryrefslogtreecommitdiff
path: root/Build/source/libs/harfbuzz/harfbuzz-src/src/sample.py
diff options
context:
space:
mode:
Diffstat (limited to 'Build/source/libs/harfbuzz/harfbuzz-src/src/sample.py')
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-src/src/sample.py63
1 files changed, 0 insertions, 63 deletions
diff --git a/Build/source/libs/harfbuzz/harfbuzz-src/src/sample.py b/Build/source/libs/harfbuzz/harfbuzz-src/src/sample.py
deleted file mode 100644
index fd8504800f2..00000000000
--- a/Build/source/libs/harfbuzz/harfbuzz-src/src/sample.py
+++ /dev/null
@@ -1,63 +0,0 @@
-#!/usr/bin/env python3
-
-import sys
-import array
-from gi.repository import HarfBuzz as hb
-from gi.repository import GLib
-
-fontdata = open (sys.argv[1], 'rb').read ()
-text = sys.argv[2]
-# Need to create GLib.Bytes explicitly until this bug is fixed:
-# https://bugzilla.gnome.org/show_bug.cgi?id=729541
-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 ()
-class Debugger (object):
- def message (self, buf, font, msg, data, _x_what_is_this):
- print (msg)
- return True
-debugger = Debugger ()
-hb.buffer_set_message_func (buf, debugger.message, 1, 0)
-
-##
-## Add text to buffer
-##
-#
-# See https://github.com/harfbuzz/harfbuzz/pull/271
-#
-# If you do not care about cluster values reflecting Python
-# string indices, then this is quickest way to add text to
-# buffer:
-# hb.buffer_add_utf8 (buf, text.encode('utf-8'), 0, -1)
-# Otherwise, then following handles both narrow and wide
-# Python builds (the first item in the array is BOM, so we skip it):
-if sys.maxunicode == 0x10FFFF:
- hb.buffer_add_utf32 (buf, array.array ('I', text.encode ('utf-32'))[1:], 0, -1)
-else:
- hb.buffer_add_utf16 (buf, array.array ('H', text.encode ('utf-16'))[1:], 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)
-
-for info, pos in zip (infos, positions):
- gid = info.codepoint
- cluster = info.cluster
- x_advance = pos.x_advance
- x_offset = pos.x_offset
- y_offset = pos.y_offset
-
- print ("gid%d=%d@%d,%d+%d" % (gid, cluster, x_advance, x_offset, y_offset))