pub struct GenerateWebfontsOptions {Show 40 fields
pub color_glyphs: Option<ColorGlyphSelection>,
pub color_slots: Option<HashMap<String, String>>,
pub cache_location: Option<String>,
pub ascent: Option<f64>,
pub center_horizontally: Option<bool>,
pub center_vertically: Option<bool>,
pub css: Option<bool>,
pub css_dest: Option<String>,
pub css_template: Option<String>,
pub codepoints: Option<HashMap<String, u32>>,
pub css_fonts_url: Option<String>,
pub descent: Option<f64>,
pub dest: String,
pub files: Vec<String>,
pub fixed_width: Option<bool>,
pub format_options: Option<FormatOptions>,
pub html: Option<bool>,
pub ts: Option<bool>,
pub ts_dest: Option<String>,
pub html_dest: Option<String>,
pub html_template: Option<String>,
pub incremental: Option<bool>,
pub font_height: Option<f64>,
pub font_name: Option<String>,
pub font_style: Option<String>,
pub font_weight: Option<String>,
pub ligature: Option<bool>,
pub missing_glyphs: Option<MissingGlyphOptions>,
pub normalize: Option<bool>,
pub order: Option<Vec<FontType>>,
pub optimize_output: Option<bool>,
pub preserve_aspect_ratio: Option<bool>,
pub round: Option<f64>,
pub start_codepoint: Option<u32>,
pub template_options: Option<Map<String, Value>>,
pub threads: Option<NonZeroUsize>,
pub types: Option<Vec<FontType>>,
pub variant_class_prefix: Option<String>,
pub variants: Option<Vec<FontVariant>>,
pub write_files: Option<bool>,
}Expand description
Top-level options controlling webfont generation. dest and exactly one source, ordinary
files or variants, are required. Every other field has a sensible default.
With the cli feature, options deserialize from camelCase JSON with unknown fields rejected.
Fields§
§color_glyphs: Option<ColorGlyphSelection>Preserve solid SVG paint for all or named post-rename logical glyphs, in every variant.
Omission or an empty named list preserves monochrome output. Active color requires
TTF, WOFF, or WOFF2; ordinary defaults include EOT, so set types explicitly.
color_slots: Option<HashMap<String, String>>Named palette slots matched against resolved SVG RGB fills. Values must be #RRGGBB.
Slots reserve indices in ASCII name order, including unused colors. Requires active
color_glyphs; names and RGB values must be unique. CSS context exposes name -> index.
cache_location: Option<String>Directory for a persistent generation cache. When set, a run saves per-glyph work and
finished font bytes there, and later runs reuse them for unchanged icons and formats.
Output is byte-identical to an uncached run, except that when formatOptions.ttf.ts is
unset, each cached format keeps the TTF head timestamp of the run that created it.
The engine owns the files it creates in this directory; clear them with
clear_cache. Cache read or write failures never fail generation.
ascent: Option<f64>Font ascent in font units. Overrides the value computed from the source glyphs.
center_horizontally: Option<bool>When true, centers each glyph horizontally inside the em-square based
on its bounding box.
center_vertically: Option<bool>When true, centers each glyph vertically inside the em-square based
on its bounding box. Convenience alias for
formatOptions.svg.centerVertically.
css: Option<bool>Whether to generate a CSS file. Defaults to true.
css_dest: Option<String>Output path for the generated CSS file. Defaults to
path.join(dest, fontName + '.css').
css_template: Option<String>Path to a custom Handlebars template for CSS generation. The template
receives the cssContext shape plus any templateOptions keys.
codepoints: Option<HashMap<String, u32>>Explicit Unicode codepoints for specific glyphs, keyed by glyph name.
Glyphs not listed here are auto-assigned starting at startCodepoint.
css_fonts_url: Option<String>URL prefix for font files in the generated CSS. Defaults to the
relative path from cssDest to dest.
descent: Option<f64>Font descent in font units. Overrides the value computed from the source glyphs.
dest: StringOutput directory for generated font files. Required.
files: Vec<String>Paths to the SVG files to include in an ordinary font. Must be empty when variants is set.
fixed_width: Option<bool>When true, produces a monospace font sized to the widest glyph.
format_options: Option<FormatOptions>Per-format option overrides. See FormatOptions.
html: Option<bool>Whether to generate an HTML preview file. Defaults to false.
ts: Option<bool>Collect/write a fixed TypeScript module exporting icon names and selector settings. Defaults to false; explicit result rendering is available regardless of this flag.
ts_dest: Option<String>TypeScript source destination. Defaults to <dest>/<font_name>.ts.
html_dest: Option<String>Output path for the generated HTML preview file. Defaults to
path.join(dest, fontName + '.html').
html_template: Option<String>Path to a custom Handlebars template for HTML preview generation.
incremental: Option<bool>Retain parsed glyph data on the result so regenerate can rebuild after file changes
without re-parsing unchanged glyphs. Defaults to false; enable for watch/dev. One-shot
builds (CLI, production) should leave it off to avoid holding the parsed geometry in memory.
Multi-variant results retain per-design parse/process caches. Pass
RegenerationFiles::Variants to the same regeneration methods for these results.
font_height: Option<f64>Explicit output font height in units per em. Overrides the height computed from the source glyphs.
font_name: Option<String>Name of the generated font family; also used as the base name for
output files. Defaults to 'iconfont'.
font_style: Option<String>CSS font-style value for the generated @font-face rule.
font_weight: Option<String>CSS font-weight value for the generated @font-face rule.
ligature: Option<bool>Enable ligature support so each glyph can be referenced by its name as
a text ligature. Defaults to true.
missing_glyphs: Option<MissingGlyphOptions>Family-wide missing-glyph policy for multi-variant generation. Defaults to blank and is
invalid without variants.
normalize: Option<bool>Scale icons to the height of the tallest icon. Defaults to true.
order: Option<Vec<FontType>>Order of @font-face src: entries in the generated CSS. Every entry
must also appear in types. Defaults to
['eot', 'woff2', 'woff', 'ttf', 'svg'] filtered to the requested
types.
optimize_output: Option<bool>Run an SVG path optimizer over each glyph. This may reduce SVG path
data, but does not guarantee smaller binary font output; compare the
generated sizes for the input set. Convenience alias for
formatOptions.svg.optimizeOutput.
preserve_aspect_ratio: Option<bool>Preserve the source viewBox aspect ratio when scaling glyphs into the
em-square. Convenience alias for formatOptions.svg.preserveAspectRatio.
round: Option<f64>SVG path coordinate rounding precision.
start_codepoint: Option<u32>Starting codepoint for auto-assigned glyphs. Defaults to 0xF101.
template_options: Option<Map<String, Value>>Additional key-value pairs merged into the Handlebars template
context for both CSS and HTML rendering. Typical home for
classPrefix and baseSelector.
threads: Option<NonZeroUsize>How many threads read SVG files and do glyph work at once, including in later regenerate
calls on the result. Glyph work never uses more threads than CPU cores; reads can, since they
wait on storage. Not counted: WOFF2’s Brotli worker, output file writes and the Tokio
runtime’s own threads. Unset reads with one task per core and runs glyph work on Rayon’s
global pool (RAYON_NUM_THREADS applies). Output is identical for every value.
types: Option<Vec<FontType>>Font formats to generate. Ordinary mode defaults to ['eot', 'woff', 'woff2'];
variant mode defaults to ['woff', 'woff2'] and rejects SVG and EOT.
variant_class_prefix: Option<String>Prefix for generated variant modifier classes. Defaults to icon-- in variant mode and is
invalid without variants.
variants: Option<Vec<FontVariant>>Ordered named SVG designs for one logical icon family. Variant generation emits shared
variable TTF/WOFF/WOFF2 fonts. SVG and EOT output are unsupported in variant mode.
Default CSS emits exact-weight faces sharing those fonts, with modifier classes and no
synthetic weights. CSS/HTML companions are written when enabled; HTML uses one default grid.
Template contexts include ordered variants, variantClassPrefix, defaultWeight, and
fontStyle. The SCSS mixin uses each family’s default weight and style.
write_files: Option<bool>Whether to write generated files to disk. Set to false for
in-memory usage. Defaults to true.
Trait Implementations§
Source§impl Clone for GenerateWebfontsOptions
impl Clone for GenerateWebfontsOptions
Auto Trait Implementations§
impl Freeze for GenerateWebfontsOptions
impl RefUnwindSafe for GenerateWebfontsOptions
impl Send for GenerateWebfontsOptions
impl Sync for GenerateWebfontsOptions
impl Unpin for GenerateWebfontsOptions
impl UnsafeUnpin for GenerateWebfontsOptions
impl UnwindSafe for GenerateWebfontsOptions
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> ErasedDestructor for Twhere
T: 'static,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<U, T> ToOwnedObj<U> for Twhere
U: FromObjRef<T>,
impl<U, T> ToOwnedObj<U> for Twhere
U: FromObjRef<T>,
Source§fn to_owned_obj(&self, data: FontData<'_>) -> U
fn to_owned_obj(&self, data: FontData<'_>) -> U
T, using the provided data to resolve any offsets.