Skip to main content

A graphical hint editor for TrueType fonts

Project description

Ygt

Ygt is a Python app for hinting TrueType fonts. It is built to be fast, flexible, and free:

  • it will run equally well under Windows, Mac OS, and Linux;
  • it emphasizes modern requirements for TrueType hinting while deemphasizing the obsolete;
  • the most common commands use unmodified shortcut keys so you can work quickly with one hand on the keyboard and one on the mouse;
  • it will read either a TrueType font or a UFO;
  • it saves hints in an easily understood and edited YAML file,
  • which can be compiled to a hinted font either from inside the program or from the command line,
  • or it can save compiled hints to a UFO (from which fontmake can produce a hinted font)

Ygt is in an alpha state, with features yet to be added (especially auto-hinting). But it is already a workable program, which the developer has used to hint thousands of glyphs in several large fonts.

Several executable files are available in the “Releases” section of the Ygt GitHub site. If none of these are suitable for your system, Ygt must be launched from a command line. In this case, install from an environment where the version of Python is 3.10.4 or later by typing pip install ygt on the command line. Alternatively, download the files from GitHub, navigate to the directory with the file pyproject.toml, and type pip install . (don't forget the period!). Then type ygt <Return> to start the program.

For more information, see the documentation or watch a brief introductory video.

Changes

Version 0.2.5

Added monochrome (non-antialiased) render mode for preview panels.

Fixed a bug in entry of OT feature indices.

Fixed two bugs when switching between axes

Version 0.2.4 (2023-5-30)

Qt was adding extra antialiasing in string/array preview. We now display only FreeType antialiasing.

Harfbuzz metrics updated when instance is changed.

Can now pass indices to cvNN and salt.

Fixed crash on file not found.

Preview->Features launches a dialog with which you can supply values, on, off, or 1-99 to any GSUB feature. Use it (among other things) to turn off features that are on by default.

Enhanced Preview->Script and Preview->Language menus (descriptions as well as tags).

Version 0.2.3 (2023-5-25)

Enable OpenType features in string preview panel (via Harfbuzz).

Better lcd/subpixel rendering in string preview panel.

Touched points are tinted pink.

Previews of composite glyphs can now be displayed.

Editing panels are disabled when there are no outlines.

Pyinstaller spec file for Linux added.

Version 0.2.1 (2023-5-11)

Fixed a bug.

Version 0.2.0 (2023-5-11)

Enabled merge (Ygt can add its hints to existing hints).

Added files supporting creation of executables.

Changed shortcuts: Ctrl-P = Hint Preview; Ctrl-L: Set Resolution.

Fixed a bug that left some untouched points with "touched" flags.

Can override light or dark theme for the Preview panels.

Various bug fixes, efficiencies, and other improvements in the code.

Version 0.1.6 (2023-4-28)

Select more than one untouched point when adding shift, align, or interpolate hints to create a hint with a set as target. This formerly had to be done with a separate “Make Set” command.

“Make Set” command has been removed as unnecessary.

To add a point to a shift, align, or interpolate hint, select the hint and at least one untouched point, and press the plus key.

To delete a point or points from a shift, align, or interpolate hint, select one ore more points belonging to the hint and press the hyphen or minus key.

Corrected background color of preview panels when dark theme is active. New color scheme for dark theme.

Version 0.1.5 (2023-4-25)

Various UI refinements: initial scaling of glyphs, spacebar to temporarily switch to panning mode, and more.

User now confronts only one kind of stem hint: Ygt guesses (more or less accurately) the distance type.

Version 0.1.4 (2023-4-19)

When we read a UFO, we do not rename glyphs. This prevents incompatibilities between in-memory font and font on disk, and it simplifies export. However, it may complicate shifting back and forth between UFO and YAML modes.

Ygt sometimes hung when summoning a Font View window for fonts read from UFO. This is now fixed.

Program now (partly) honors dark themes on various platforms.

Version 0.1.3 (2023-4-17)

changes three keywords in Ygt’s YAML-based hinting language: blackspace, whitespace, and grayspace become blackdist, whitedist, and graydist. If you have created a hinting file for earlier versions, run this sed script:

s/blackspace/blackdist/g
s/whitesapce/whitedist/g
s/grayspace/graydist/g

Among other changes intended to improve stability, this version consolidates various font-level edits in a “Font Info” dialog, summoned with Ctrl-I or Cmd-I, and honors “dark themes” on various platforms.

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

ygt-0.2.7.tar.gz (997.4 kB view details)

Uploaded Source

Built Distribution

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

ygt-0.2.7-py3-none-any.whl (1.0 MB view details)

Uploaded Python 3

File details

Details for the file ygt-0.2.7.tar.gz.

File metadata

  • Download URL: ygt-0.2.7.tar.gz
  • Upload date:
  • Size: 997.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.10.4

File hashes

Hashes for ygt-0.2.7.tar.gz
Algorithm Hash digest
SHA256 d113ed5c887de54d4f35e049f51142990d24cca3c525bb6e45fcf5c2340c4495
MD5 87129666473fdcda9ab39c1b033a1135
BLAKE2b-256 859eb8e750864866c2e90233a001a9c943378dc08d6a8006060790bcaeb1bb9a

See more details on using hashes here.

File details

Details for the file ygt-0.2.7-py3-none-any.whl.

File metadata

  • Download URL: ygt-0.2.7-py3-none-any.whl
  • Upload date:
  • Size: 1.0 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.10.4

File hashes

Hashes for ygt-0.2.7-py3-none-any.whl
Algorithm Hash digest
SHA256 ba675cfabcb440c8011b37086e8717a8bab7774a9ef71a3a116584ec9b7e83a1
MD5 2a9422b58594952326efa484cac1b190
BLAKE2b-256 a9af0d9b102d69eb0bce669be4d1ce9f6cadac96bc281ec1391583f11b007042

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page