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.3.1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 410bdc2d4bc6da5d022eb3c50f77f772222ef1fbcbe0c5da8b91280b3030ae6b |
|
MD5 | 6a4346981594fcaa93844bcaa87c7685 |
|
BLAKE2b-256 | 9ce8210a1e06825bd743b963d85d705a09913a458516aa2a626bda1e7125925e |