A user-friendlier way to use Harfbuzz in Python
Project description
vharfbuzz - A user-friendlier way to use Harfbuzz in Python
uharfbuzz is an awesome tool for shaping text in Python. But it wraps the Harfbuzz C interface quite closely, so still requires you to perform a bunch of boilerplate operations before you can get on with the shaping. This module allows you a slightly more high-level interface to the text shaping process. For example, rather than:
with open(sys.argv[1], 'rb') as fontfile:
fontdata = fontfile.read()
text = sys.argv[2]
face = hb.Face(fontdata)
font = hb.Font(face)
buf = hb.Buffer()
buf.add_str(text)
buf.guess_segment_properties()
features = {"kern": True, "liga": True}
hb.shape(font, buf, features)
with vharfbuzz
you can just say:
vhb = Vharfbuzz(sys.argv[1])
buf = vhb.shape(sys.argv[2], {"features": {"kern": True, "liga": True}})
The Vharfbuzz
class also contains a number of other helpful methods to perform common operations on Harfbuzz buffers. See Read The Docs for more information.
Installation
vharfbuzz is available from pypi
, so can be installed like so:
pip3 install vharfbuzz
If building from source, you can install it like so:
pip3 install -r requirements.txt
pip3 install .
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for vharfbuzz-0.1.3-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c17edcaf05fb8f60808129345ab48ac31f2a8c3704979b81f47263d296b0f481 |
|
MD5 | f938757326c272eee844e83772dc4383 |
|
BLAKE2b-256 | cccbec7469a725ecb9e47912c77b03c0428a7c408e815f8f6d4c9759f23fe78e |