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.1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d177dc32959dc11b8315a6b724d8c019ccc3bfdb8191844e625a29d28d81954b |
|
MD5 | a2f4f31534c084c7332bb337d25a205f |
|
BLAKE2b-256 | 0c34f108311a2dc6f6f9467fac31937c3a438543d46326c27b3d62d1dbd73c03 |