ColrPak

A desktop color font editor for COLRv0 and COLRv1 fonts


Project maintained by mitradranirban Hosted on GitHub Pages — Theme by mattgraham

Changelog

All notable changes to Colr Pak and its components are documented here. Colr Pak is a fork of Fontra Pak, built on Fontra and fontra-compile.


[v0.3.0] - 2026-03-27

Added

[v0.2.8] - 2026-03-26

fontra-color-support

[v0.2.7] - 2026-03-24

Changed

Rebrand: replace Fontra references with ColrPak

Started

[v0.2.5] -2026-03-22

Fixed

fix: execute fontra_compile natively to resolve PyInstaller PATH issues

Previously, exportFontToPathCompile used subprocess.run(["fontra-compile"]). When packaged with PyInstaller, this caused the application to search the system $PATH (e.g., ~/.local/bin) for the executable rather than using the bundled module, causing the compilation to fail.

This replaces the subprocess call with a direct python import of the bundled fontra_compile.__main__.main function. To maintain exact compatibility with the existing UI log parser, this commit also:

[v0.2.4] - 2026-03-21

Fixed - fontra_compile@fontra-color-support

fix1: post hhea and os2 metrics not transmitted from fontra format font-info

Three bugs in the COLRv1 canvas renderer caused gradient paints to render incorrectly relative to what the font specifies.

— PaintLinearGradient —

Canvas 2D createLinearGradient takes two points, but COLRv1 defines three: P0 (start), P1 (end), and P2 (rotation anchor). The renderer was passing P0→P1 directly and ignoring P2, producing wrong or reversed gradient axes.

Fix: project P1 onto the perpendicular of (P2−P0) to derive the correct effective end point P1eff before calling createLinearGradient. When P2 coincides with P0 (degenerate case) fall back to P1 unchanged.

— PaintRadialGradient —

COLRv1 radial gradients support an affine transform on the gradient cone, allowing elliptical or rotated radials. The renderer silently discarded paint.transform, so any non-circular radial gradient rendered as a plain symmetric cone.

Fix: wrap the paint in ctx.save()/ctx.restore() and apply paint.transform via ctx.transform() before calling createRadialGradient, so the cone is correctly skewed/rotated by the context matrix.

— PaintSweepGradient —

Three separate errors:

  1. endAngle ignored — createConicGradient was called with only startAngle; endAngle was never read. Partial arc sweeps always filled the full 360°.

  2. Wrong sweep direction — COLRv1 sweep angles are counter-clockwise (font Y-up). Canvas 2D createConicGradient is clockwise (Y-down). The scene transform already flips Y, so the angle must be negated to preserve the correct sweep direction. Without this, all sweeps were mirrored.

  3. Color stops not remapped to arc — stops are defined by the font author relative to the [startAngle, endAngle] arc (0→1 across that arc), but were being passed directly to the conic gradient which interprets them relative to a full 360° turn. Fix: scale each stop offset by arcSpan / (2π) before calling _applyColorLine.

Previews color v1 paint actually what is going to shipped in final font

[v0.2.2] - 2026-03-19

fontra_compile fix : COLRv1 multi-source variation VarStore population

Exports working variable COLR TTF.

[v0.2.1] — 2026-03-18

Fixed

Verified

COLRv1 variable font compiles and renders correctly with colour palette and variable axes intact

[v0.2.0] - 2026-03-18

Colr Pak (mitradranirban/colr-pak)

Features

Bug Fixes


Fontra (mitradranirban/fontra, branch fontra-color-support)

Features

Bug Fixes


fontra-compile (mitradranirban/fontra-compile branch fontra-color-support )

Bug Fixes

[v0.1.3] - 2026-03-16

colr-pak 0.1.3 Bugfix: Removed drop-unreachable-glyphs from the export workflow and drop-unused-sources-and-layers from the fontmake compile action in fontra-compile — both filters were silently stripping color layer glyphs before fontmake could build the COLR/CPAL tables, resulting in monochrome output.

[v0.1.2] - 2026-03-15

Colr Pak (mitradranirban/colr-pak)

Bug Fixes

Refactor


Fontra (mitradranirban/fontra, branch fontra-color-support)

Bug Fixes


fontra-compile (mitradranirban/fontra-compile)

Features

Removals


[v0.1.1] - 2026-03-12

Colr Pak

Maintenance

[v0.1.0] - 2026-03-10