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.4 (circa 2023-5-31)

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.

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.4.tar.gz (986.4 kB view details)

Uploaded Source

Built Distribution

ygt-0.2.4-py3-none-any.whl (989.5 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for ygt-0.2.4.tar.gz
Algorithm Hash digest
SHA256 3568d32b89fce018d54a3acd5bb2e218ce001a83178a499321680097a27efc05
MD5 5720ba3922d735214d1eafbeb443ac9e
BLAKE2b-256 f871141783d5d39bf199bda459a322936a558d3bdc432a4a986d1b8c989583de

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ygt-0.2.4-py3-none-any.whl
  • Upload date:
  • Size: 989.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.4

File hashes

Hashes for ygt-0.2.4-py3-none-any.whl
Algorithm Hash digest
SHA256 9c29c7ba6234f900a8c101f4016fdbace9a4bca80757501eed1e599677cde78d
MD5 f6a3c77b733ab9391735a461b9621e23
BLAKE2b-256 388217c751456825676b76b5185c220534bc06a804c07c919f618ca627e49b51

See more details on using hashes here.

Supported by

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