Skip to main content

pyusp — Uniscribe (usp10) OpenType shaping tracer (Windows / Linux / macOS wheel)

PyO3 abi3 wheel (pyusp-…-py3-none-win_amd64.whl) wrapping the pyusp Rust engine. Shapes in-process via a Uniscribe implementation and returns the babelsoft /api/opentype/shape engine dict.

from pyusp import shape_with_uniscribe
res = shape_with_uniscribe(font_bytes, text)          # script auto-detected
res = shape_with_uniscribe(font_bytes, text, script="mong")

Engines. The wheel ships wineusp.dll, Wine's open-source Uniscribe port (LGPL), which also provides a real per-lookup trace (trace=True). It drives the OS usp10.dll (Microsoft Uniscribe) as the authoritative reference — the Microsoft DLL is not bundled in the published wheel (it is an OS component and not redistributable); the engine loads it from the system at runtime. A dev/test-only build (python/build_wheel.ps1) may additionally pin an app-local copy of usp10.dll; see python/pyusp/NOTICE.md and python/pyusp/NOTICE-wineusp.md.

Native Microsoft trace (Windows). With backend="textshaping", trace=True (on Windows x64) the engine hooks the system TextShaping.dll apply driver and returns a native per-application glyph-run timeline straight from the Microsoft engine (stages named textshaping apply N). This trace has no lookup names (the engine does not expose them) and is only enabled on validated TextShaping.dll builds (Win11 24H2 / 10.0.26100 x64) — anything else raises a clear error. See python/pyusp/NOTICE-native-trace.md.

from pyusp import shape_with_uniscribe
res = shape_with_uniscribe(font_bytes, text, backend="textshaping", trace=True)  # Windows

Scope note: usp10 only recognises legacy OpenType script tags. Fonts that use only modern tags (e.g. Devanagari faces exposing dev2, not deva) are not shaped by Uniscribe at all — this matches what old Win32 apps that rely on usp10 actually experience.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

pyusp-0.6.0-cp39-abi3-win_amd64.whl (341.1 kB view details)

Uploaded CPython 3.9+Windows x86-64

pyusp-0.6.0-cp39-abi3-manylinux_2_34_x86_64.whl (523.6 kB view details)

Uploaded CPython 3.9+manylinux: glibc 2.34+ x86-64

pyusp-0.6.0-cp39-abi3-macosx_11_0_arm64.whl (473.5 kB view details)

Uploaded CPython 3.9+macOS 11.0+ ARM64

File details

Details for the file pyusp-0.6.0-cp39-abi3-win_amd64.whl.

File metadata

  • Download URL: pyusp-0.6.0-cp39-abi3-win_amd64.whl
  • Upload date:
  • Size: 341.1 kB
  • Tags: CPython 3.9+, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for pyusp-0.6.0-cp39-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 f1c9dd82af273c5146cea4cc9e7ac97198bc655e2743868932b45e9159636c52
MD5 0844fd197a6afce99bcb7f362a23746b
BLAKE2b-256 1bf866ab1a9da72b2959043205f3035d33247ceb8a9494f3824df717b91f4448

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyusp-0.6.0-cp39-abi3-win_amd64.whl:

Publisher: publish.yml on Kushim-Jiang/pyusp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyusp-0.6.0-cp39-abi3-manylinux_2_34_x86_64.whl.

File metadata

  • Download URL: pyusp-0.6.0-cp39-abi3-manylinux_2_34_x86_64.whl
  • Upload date:
  • Size: 523.6 kB
  • Tags: CPython 3.9+, manylinux: glibc 2.34+ x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for pyusp-0.6.0-cp39-abi3-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 de265955e5b2dbe69f7393800efbdd30f92c772f03488d0fec3f425e1c582165
MD5 81cd1c2cd3b25d5559c7265b14b3fc5f
BLAKE2b-256 6896ab5fb88bdf81d4e8eef7ea621000446543d6f097f218b6cf057076d6d2c8

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyusp-0.6.0-cp39-abi3-manylinux_2_34_x86_64.whl:

Publisher: publish.yml on Kushim-Jiang/pyusp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyusp-0.6.0-cp39-abi3-macosx_11_0_arm64.whl.

File metadata

  • Download URL: pyusp-0.6.0-cp39-abi3-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 473.5 kB
  • Tags: CPython 3.9+, macOS 11.0+ ARM64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for pyusp-0.6.0-cp39-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 7fed5e0f3e90aabd59ba1f4db9c14082d2abff0f95a64947512e5c192cf84c19
MD5 38dc8fffc9fd7e42eff0cca3cb307197
BLAKE2b-256 bd7d619936f16be82924695786579a9450c1256a6f25bf3291379cb4664e5bd9

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyusp-0.6.0-cp39-abi3-macosx_11_0_arm64.whl:

Publisher: publish.yml on Kushim-Jiang/pyusp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

This release

0.6.0 This release

3 files

0.5.0

3 files

0.4.0

3 files

0.3.0

1 file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page