Annotate fonts with ruby (pinyin/romaji) and produce modified TTF/WOFF2 outputs.
- Render ruby annotations using pluggable renderers (
pinyin,romaji) - Subset output fonts to only include annotation characters
- Optionally split TTC into individual TTF files
- Optional WOFF2 output (feature-flagged, currently only supported when splitting collections)
See the rubify crate documentation for API details and examples.
rubify <input-file-or-glob> -o <out-dir> --ruby <pinyin|romaji> [options]--out, -o <path>: Output directory (required)--ruby <pinyin|romaji>: Which annotation renderer to use (requires building with the corresponding feature)--font <path>: Separate font file to use for ruby characters--subset: Subset output font to contain only annotation characters--split: When input is a TTC, write each font as a separate TTF file instead of rebuilding a TTC--woff2: Convert outputs to WOFF2--position <top|bottom|leftdown|leftup|rightdown|rightup>: Where to place ruby annotations relative to the base glyph. Valid values:top(default): place annotation above the base glyphbottom: place annotation below the base glyphleftdown: place annotation to the left, stacking downwardsleftup: place annotation to the left, stacking upwardsrightdown: place annotation to the right, stacking downwardsrightup: place annotation to the right, stacking upwards
rubify Sarasa-Regular.ttc -o dist --ruby pinyinrubify *.ttc -o dist --font iosevka/IosevkaSlim-Regular.ttf --ruby romaji --position bottom --split --woff2Licensed under either of
- Apache License, Version 2.0 (LICENSE-APACHE or https://www.apache.org/licenses/LICENSE-2.0)
- MIT license (LICENSE-MIT or https://opensource.org/licenses/MIT)
at your option.
