Skip to main content

GenerateWebfontsOptions

Struct GenerateWebfontsOptions 

Source
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: String

Output 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

Source§

fn clone(&self) -> Self

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Default for GenerateWebfontsOptions

Source§

fn default() -> Self

Returns the “default value” for a type. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> ErasedDestructor for T
where T: 'static,

Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ

Converts 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 more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
where F: FnOnce(&Self) -> bool,

Converts 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 more
Source§

impl<T> Pointable for T

Source§

const ALIGN: usize

The alignment of pointer.
Source§

type Init = T

The type for initializers.
Source§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
Source§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
Source§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
Source§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<U, T> ToOwnedObj<U> for T
where U: FromObjRef<T>,

Source§

fn to_owned_obj(&self, data: FontData<'_>) -> U

Convert this type into T, using the provided data to resolve any offsets.
Source§

impl<U, T> ToOwnedTable<U> for T
where U: FromTableRef<T>,

Source§

fn to_owned_table(&self) -> U

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = !

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, !>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<G1, G2> Within<G2> for G1
where G2: Contains<G1>,

Source§

fn is_within(&self, b: &G2) -> bool