跳转到主要内容

HarfBuzz形状引擎的精简Cython绑定

项目描述

Githun CI Status PyPI

uharfbuzz

为HarfBuzz形状引擎提供的精简Cython绑定。

示例

import sys

import uharfbuzz as hb


fontfile = sys.argv[1]
text = sys.argv[2]

blob = hb.Blob.from_file_path(fontfile)
face = hb.Face(blob)
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)

infos = buf.glyph_infos
positions = buf.glyph_positions

for info, pos in zip(infos, positions):
    gid = info.codepoint
    glyph_name = font.glyph_to_string(gid)
    cluster = info.cluster
    x_advance = pos.x_advance
    x_offset = pos.x_offset
    y_offset = pos.y_offset
    print(f"{glyph_name} gid{gid}={cluster}@{x_advance},{y_offset}+{x_advance}")

安装

当构建uharfbuzz包时,它会自动包含最小化的HarfBuzz源代码,因此您无需安装本机HarfBuzz库。

但是,如果您想使用系统提供的HarfBuzz与uharfbuzz一起使用(例如,如果您已从源代码构建并使用自定义配置),可以设置环境变量USE_SYSTEM_LIBS=1(请参阅下面的示例)。

USE_SYSTEM_LIBS=1 pip install uharfbuzz --no-binary :uharfbuzz:

使用pkg-config查找harfbuzz安装,因此您系统中必须存在harfbuzz的.pc文件。如果您已从源代码构建,meson会自动安装它们。否则,您可能需要安装harfbuzz开发包,例如在基于Fedora的发行版上安装harfbuzz-devel

注意:您必须启用实验性API支持来构建HarfBuzz。

如何制作发布版本

使用git tag -a创建新的带注解的标签,或者如果您更喜欢,使用git tag -s创建GPG签名注解标签。

以MAJOR.MINOR.PATCH数字开头,用带前缀的‘v’命名新标签,类似于语义版本。查看现有标签以获取示例。

在标签信息中写入一些简短的版本发布说明,描述自上一个标签以来的更改。主题行将是发布名称,信息正文将是发布说明。

最后,将标签推送到远程仓库(例如,假设上游称为origin)

$ git push origin v0.4.3

如果所有测试都成功通过,这将触发持续集成(CI)自动构建分发包并将它们上传到Python包索引。CI还将自动创建新的GitHub发布,并使用注释的git标签的内容作为发布说明。

项目详情


发布历史 发布通知 | RSS源

下载文件

下载适合您平台的文件。如果您不确定选择哪一个,请了解更多关于安装包的信息。

源代码分发

uharfbuzz-0.41.0.tar.gz (1.5 MB 查看散列)

上传时间 源代码

构建分发

uharfbuzz-0.41.0-pp310-pypy310_pp73-win_amd64.whl (1.2 MB 查看散列)

上传时间 PyPy Windows x86-64

uharfbuzz-0.41.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.4 MB 查看散列)

上传于 PyPy manylinux: glibc 2.17+ x86-64

uharfbuzz-0.41.0-pp310-pypy310_pp73-macosx_11_0_arm64.whl (1.2 MB 查看哈希值)

上传于 PyPy macOS 11.0+ ARM64

uharfbuzz-0.41.0-pp310-pypy310_pp73-macosx_10_15_x86_64.whl (1.3 MB 查看哈希值)

上传于 PyPy macOS 10.15+ x86-64

uharfbuzz-0.41.0-pp39-pypy39_pp73-win_amd64.whl (1.2 MB 查看哈希值)

上传于 PyPy Windows x86-64

uharfbuzz-0.41.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.4 MB 查看哈希值)

上传于 PyPy manylinux: glibc 2.17+ x86-64

uharfbuzz-0.41.0-pp39-pypy39_pp73-macosx_11_0_arm64.whl (1.2 MB 查看哈希值)

上传于 PyPy macOS 11.0+ ARM64

uharfbuzz-0.41.0-pp39-pypy39_pp73-macosx_10_15_x86_64.whl (1.3 MB 查看哈希值)

上传于 PyPy macOS 10.15+ x86-64

uharfbuzz-0.41.0-pp38-pypy38_pp73-win_amd64.whl (1.2 MB 查看哈希值)

上传于 PyPy Windows x86-64

uharfbuzz-0.41.0-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.5 MB 查看哈希值)

上传于 PyPy manylinux: glibc 2.17+ x86-64

uharfbuzz-0.41.0-pp38-pypy38_pp73-macosx_11_0_arm64.whl (1.2 MB 查看哈希值)

上传于 PyPy macOS 11.0+ ARM64

uharfbuzz-0.41.0-pp38-pypy38_pp73-macosx_10_9_x86_64.whl (1.3 MB 查看哈希值)

上传于 PyPy macOS 10.9+ x86-64

uharfbuzz-0.41.0-pp37-pypy37_pp73-win_amd64.whl (1.2 MB 查看哈希值)

上传于 PyPy Windows x86-64

uharfbuzz-0.41.0-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.5 MB 查看哈希值)

上传于 PyPy manylinux: glibc 2.17+ x86-64

uharfbuzz-0.41.0-pp37-pypy37_pp73-macosx_10_9_x86_64.whl (1.3 MB 查看哈希值)

上传于 PyPy macOS 10.9+ x86-64

uharfbuzz-0.41.0-cp313-cp313-win_amd64.whl (1.2 MB 查看哈希值)

上传于 CPython 3.13 Windows x86-64

uharfbuzz-0.41.0-cp313-cp313-win32.whl (976.4 kB 查看哈希值)

上传于 CPython 3.13 Windows x86

uharfbuzz-0.41.0-cp313-cp313-musllinux_1_2_x86_64.whl (15.3 MB 查看哈希值)

上传于 CPython 3.13 musllinux: musl 1.2+ x86-64

uharfbuzz-0.41.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.6 MB 查看哈希值)

上传于 CPython 3.13 manylinux: glibc 2.17+ x86-64

uharfbuzz-0.41.0-cp313-cp313-macosx_11_0_arm64.whl (1.4 MB 查看哈希值)

上传于 CPython 3.13 macOS 11.0+ ARM64

uharfbuzz-0.41.0-cp313-cp313-macosx_10_13_x86_64.whl (1.5 MB 查看哈希值)

上传于 CPython 3.13 macOS 10.13+ x86-64

uharfbuzz-0.41.0-cp313-cp313-macosx_10_13_universal2.whl (2.9 MB 查看哈希值)

上传于 CPython 3.13 macOS 10.13+ universal2 (ARM64, x86-64)

uharfbuzz-0.41.0-cp312-cp312-win_amd64.whl (1.2 MB 查看哈希值)

上传于 CPython 3.12 Windows x86-64

uharfbuzz-0.41.0-cp312-cp312-win32.whl (977.9 kB 查看哈希值)

上传于 CPython 3.12 Windows x86

uharfbuzz-0.41.0-cp312-cp312-musllinux_1_2_x86_64.whl (15.4 MB 查看哈希值)

上传于 CPython 3.12 musllinux: musl 1.2+ x86-64

uharfbuzz-0.41.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.6 MB 查看哈希值)

上传于 CPython 3.12 manylinux: glibc 2.17+ x86-64

uharfbuzz-0.41.0-cp312-cp312-macosx_11_0_arm64.whl (1.4 MB 查看哈希值)

上传于 CPython 3.12 macOS 11.0+ ARM64

uharfbuzz-0.41.0-cp312-cp312-macosx_10_13_x86_64.whl (1.5 MB 查看哈希值)

上传于 CPython 3.12 macOS 10.13+ x86-64

uharfbuzz-0.41.0-cp312-cp312-macosx_10_13_universal2.whl (2.9 MB 查看哈希值)

上传于 CPython 3.12 macOS 10.13+ universal2 (ARM64, x86-64)

uharfbuzz-0.41.0-cp311-cp311-win_amd64.whl (1.2 MB 查看哈希值)

上传于 CPython 3.11 Windows x86-64

uharfbuzz-0.41.0-cp311-cp311-win32.whl (980.3 kB 查看哈希值)

上传于 CPython 3.11 Windows x86

uharfbuzz-0.41.0-cp311-cp311-musllinux_1_2_x86_64.whl (15.3 MB 查看哈希值)

上传于 CPython 3.11 musllinux: musl 1.2+ x86-64

uharfbuzz-0.41.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.6 MB 查看哈希值)

上传于 CPython 3.11 manylinux: glibc 2.17+ x86-64

uharfbuzz-0.41.0-cp311-cp311-macosx_11_0_arm64.whl (1.4 MB 查看哈希值)

上传于 CPython 3.11 macOS 11.0+ ARM64

uharfbuzz-0.41.0-cp311-cp311-macosx_10_9_x86_64.whl (1.5 MB 查看哈希值)

上传于 CPython 3.11 macOS 10.9+ x86-64

uharfbuzz-0.41.0-cp311-cp311-macosx_10_9_universal2.whl (2.9 MB 查看哈希值)

上传于 CPython 3.11 macOS 10.9+ universal2 (ARM64, x86-64)

uharfbuzz-0.41.0-cp310-cp310-win_amd64.whl (1.2 MB 查看哈希值)

上传于 CPython 3.10 Windows x86-64

uharfbuzz-0.41.0-cp310-cp310-win32.whl (979.3 kB 查看哈希值)

上传于 CPython 3.10 Windows x86

uharfbuzz-0.41.0-cp310-cp310-musllinux_1_2_x86_64.whl (15.2 MB 查看哈希值)

上传于 CPython 3.10 musllinux: musl 1.2+ x86-64

uharfbuzz-0.41.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.6 MB 查看哈希值)

上传于 CPython 3.10 manylinux: glibc 2.17+ x86-64

uharfbuzz-0.41.0-cp310-cp310-macosx_11_0_arm64.whl (1.4 MB 查看哈希值)

上传于 CPython 3.10 macOS 11.0+ ARM64

uharfbuzz-0.41.0-cp310-cp310-macosx_10_9_x86_64.whl (1.5 MB 查看哈希值)

上传于 CPython 3.10 macOS 10.9+ x86-64

uharfbuzz-0.41.0-cp310-cp310-macosx_10_9_universal2.whl (2.9 MB 查看哈希值)

上传于 CPython 3.10 macOS 10.9+ universal2 (ARM64, x86-64)

uharfbuzz-0.41.0-cp39-cp39-win_amd64.whl (1.2 MB 查看哈希值)

上传于 CPython 3.9 Windows x86-64

uharfbuzz-0.41.0-cp39-cp39-win32.whl (979.3 kB 查看哈希值)

上传于 CPython 3.9 Windows x86

uharfbuzz-0.41.0-cp39-cp39-musllinux_1_2_x86_64.whl (15.2 MB 查看哈希值)

上传于 CPython 3.9 musllinux: musl 1.2+ x86-64

uharfbuzz-0.41.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.6 MB 查看哈希值)

上传于 CPython 3.9 manylinux: glibc 2.17+ x86-64

uharfbuzz-0.41.0-cp39-cp39-macosx_11_0_arm64.whl (1.4 MB 查看哈希值)

上传于 CPython 3.9 macOS 11.0+ ARM64

uharfbuzz-0.41.0-cp39-cp39-macosx_11_0_arm64.whl (1.4 MB 查看哈希值)

上传于 CPython 3.9 macOS 10.9+ x86-64

uharfbuzz-0.41.0-cp39-cp39-macosx_10_9_x86_64.whl (1.5 MB 查看哈希值)

上传于 CPython 3.9 macOS 10.9+ universal2 (ARM64, x86-64)

uharfbuzz-0.41.0-cp38-cp38-win_amd64.whl (1.2 MB 查看哈希值)

上传于 CPython 3.8 Windows x86-64

uharfbuzz-0.41.0-cp38-cp38-win32.whl (982.0 kB 查看哈希值)

上传于 CPython 3.8 Windows x86

uharfbuzz-0.41.0-cp38-cp38-musllinux_1_2_x86_64.whl (15.2 MB 查看哈希值)

上传于 CPython 3.8 musllinux: musl 1.2+ x86-64

uharfbuzz-0.41.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.6 MB 查看哈希值)

上传于 CPython 3.8 manylinux: glibc 2.17+ x86-64

uharfbuzz-0.41.0-cp38-cp38-macosx_11_0_arm64.whl (1.4 MB 查看哈希值)

上传于 CPython 3.8 macOS 11.0+ ARM64

uharfbuzz-0.41.0-cp38-cp38-macosx_10_9_x86_64.whl (1.5 MB 查看哈希值)

上传于 CPython 3.8 macOS 10.9+ x86-64

uharfbuzz-0.41.0-cp38-cp38-macosx_10_9_universal2.whl (2.9 MB 查看哈希值)

上传于 CPython 3.8 macOS 10.9+ universal2 (ARM64, x86-64)

支持者

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误日志 StatusPage StatusPage 状态页