2026_0707
lets rules change colour of pattern matches only
(before, pattern either changed font, or font and colour)
e.g. rules can set `normal, **colour 1**, ==colour 2==`
matches css snippet and css preview
styles each rule with a background and foreground colour
to use matching colour (bg is translucent version of fg)
this helps identify the paired 'slots' in the css snippet
comments CSS snippet colour slots to note what pattern it styles
adds custom rule naming
improves rule tab navigation, config readability
instead of rule 1,2,3,4,5 tabs can read h3,h2,h1,bold etc.
update shape of JSON import export config, to group related data
writes separate helper tool to update old configs to new style
adds ability to move a rule earlier or later in rules list
to correct order of rules based on order of precedence
(e.g a `### ` rule would need to precede a `## ` rule to work)
adds explainer about rule order and order of precedence
improves config exported and import
the tool can load multiple fonts and pick one as the base font
rules can set their font source to use this base font
before the exported rules would list the base font's name
now the rule will log 'base' as its font source instead
import treats 'base' as 'use the same font as the main font'
clarifies when and how a rule will apply a style to text
(before: checkbox: do X. now: radios: do X / do Y)
2026_0415
untangles some functions and splits logic into separate scripts
unifies id and class names
swaps backend to simple html strings (vs document Fragment)
improves app documentation, wording and messages
(uploads first version)
2026_0414
adds option to add colour slot per rule, which CSS can target
let each rule have: no colour, share a colour, or its own
comments on frontend that each colour slot adds to file size
(different rules can share a combo of font source and palette)
swaps UI to a tabbed interface, with sub-tabs for rules section
adds option to have layered colour for knockout fonts
where css can style background and text colours
outputs CSS snippet on build for styling the font produced
Adds comments to CSS snippets what rule the slot controls
swaps more backend to const and refactors
swaps knockout caps for `{}` from braces to stacked ellipse
styles frontend
2026_0412
improves knockout caps. when glyph frame wide enough:
( ) draws perfect semi-circles
< > draws perfect half diamond
lets the user set what source picker text to show per font file
this helps when font files might otherwise show the same text
e.g. fontFamily x3 vs regular bold italic
2026_0401
adds special glyphs in knockout option
if first open delim any of [<,(,{] show matching cap instead
if last close delim any of [>,),}] show matching cap instead
moves helper information to popovers launched via buttons
adds option to only style rule after close delim matches
(vs propagation, which only stops at close delim)
2026_0330
fixes knockout option
per rule, user can choose to use knockout version of any font
before - any choice used knockout version of base font
after - uses knockout version of chosen font
reduces styling
2026_0329
tries to auto picks regular variant when a user loads many files
auto filters out fonts with Bold, Italic in name or font data
allows rules to style from a matched pattern until end of line
such as `## ` (for markdown header)
notifies user about how rules with no close delimiter work
forces re-render of font preview textarea when user edits it
because live editing GSUB fonts don't always re-render live
notes to user: font works render only (static page) or with JS
allows writing rule patterns with basic regex
(no + * ? for groups)
(backend converts to font rules)
allows open delimiter like `**[A-Z]` to match **A **B **C etc.
reason (helps with start of line bold in markdown)
as ` **` would mean first word bold has to come after space
adds json rules import export (to re-use with different fonts)
refactors script into script per chunk of code
adds draw box-around characters ability
adds generate slanted version (fake italic from input normal)
allows making variants per font given (knockout, boxed, slanted)
adds underline variant maker
adds choose box/underline thickness
fixes boxed variant (if show delimiter glyphs DO show + box)
adds metadata editor for font copyright and version
2026_0327
merges previous tools:
tool 1) mix two fonts into new font: e.g.
a-z -> caps from normal. A-Z = caps from bold variant
a-z -> caps from normal. A-Z = knockout version of text
tool 2) make a font with pattern rules to style in plain text
e.g. [text in here knockout] (text in here italic) normal
adds drag drop multiple at once
auto picks base font
offers to reduce fonts given to subset (ASCII + £) for lower KB
preview font in live editor
adds documentation / messages for user.