Struct fontdue::Font[][src]

pub struct Font { /* fields omitted */ }
Expand description

Represents a font. Fonts are immutable after creation and owns its own copy of the font data.

Implementations

Constructs a font from an array of bytes.

Returns a precomputed hash for the font file.

New line metrics for fonts that append characters to lines horizontally, and append new lines vertically (above or below the current line). Only populated for fonts with the appropriate metrics, none if it’s missing.

Arguments

  • px - The size to scale the line metrics by. The units of the scale are pixels per Em unit.

New line metrics for fonts that append characters to lines vertically, and append new lines horizontally (left or right of the current line). Only populated for fonts with the appropriate metrics, none if it’s missing.

Arguments

  • px - The size to scale the line metrics by. The units of the scale are pixels per Em unit.

Gets the font’s units per em.

Calculates the glyph’s outline scale factor for a given px size. The units of the scale are pixels per Em unit.

Retrieves the horizontal scaled kerning value for two adjacent characters.

Arguments

  • left - The character on the left hand side of the pairing.
  • right - The character on the right hand side of the pairing.
  • px - The size to scale the kerning value for. The units of the scale are pixels per Em unit.

Returns

  • Option<f32> - The horizontal scaled kerning value if one is present in the font for the given left and right pair, None otherwise.

Retrieves the horizontal scaled kerning value for two adjacent glyph indicies.

Arguments

  • left - The glyph index on the left hand side of the pairing.
  • right - The glyph index on the right hand side of the pairing.
  • px - The size to scale the kerning value for. The units of the scale are pixels per Em unit.

Returns

  • Option<f32> - The horizontal scaled kerning value if one is present in the font for the given left and right pair, None otherwise.

Retrieves the layout metrics for the given character. If the character isn’t present in the font, then the layout for the font’s default character is returned instead.

Arguments

  • index - The character in the font to to generate the layout metrics for.
  • px - The size to generate the layout metrics for the character at. Cannot be negative. The units of the scale are pixels per Em unit.

Returns

  • Metrics - Sizing and positioning metadata for the glyph.

Retrieves the layout metrics at the given index. You normally want to be using metrics(char, f32) instead, unless your glyphs are pre-indexed.

Arguments

  • index - The glyph index in the font to to generate the layout metrics for.
  • px - The size to generate the layout metrics for the glyph at. Cannot be negative. The units of the scale are pixels per Em unit.

Returns

  • Metrics - Sizing and positioning metadata for the glyph.

Retrieves the layout rasterized bitmap for the given raster config. If the raster config’s character isn’t present in the font, then the layout and bitmap for the font’s default character’s raster is returned instead.

Arguments

  • config - The settings to render the character at.

Returns

  • Metrics - Sizing and positioning metadata for the rasterized glyph.
  • Vec<u8> - Coverage vector for the glyph. Coverage is a linear scale where 0 represents 0% coverage of that pixel by the glyph and 255 represents 100% coverage. The vec starts at the top left corner of the glyph.

Retrieves the layout metrics and rasterized bitmap for the given character. If the character isn’t present in the font, then the layout and bitmap for the font’s default character is returned instead.

Arguments

  • character - The character to rasterize.
  • px - The size to render the character at. Cannot be negative. The units of the scale are pixels per Em unit.

Returns

  • Metrics - Sizing and positioning metadata for the rasterized glyph.
  • Vec<u8> - Coverage vector for the glyph. Coverage is a linear scale where 0 represents 0% coverage of that pixel by the glyph and 255 represents 100% coverage. The vec starts at the top left corner of the glyph.

Retrieves the layout rasterized bitmap for the given raster config. If the raster config’s character isn’t present in the font, then the layout and bitmap for the font’s default character’s raster is returned instead.

This will perform the operation with the width multiplied by 3, as to simulate subpixels. Taking these as RGB values will perform subpixel anti aliasing.

Arguments

  • config - The settings to render the character at.

Returns

  • Metrics - Sizing and positioning metadata for the rasterized glyph.
  • Vec<u8> - Swizzled RGB coverage vector for the glyph. Coverage is a linear scale where 0 represents 0% coverage of that subpixel by the glyph and 255 represents 100% coverage. The vec starts at the top left corner of the glyph.

Retrieves the layout metrics and rasterized bitmap for the given character. If the character isn’t present in the font, then the layout and bitmap for the font’s default character is returned instead.

This will perform the operation with the width multiplied by 3, as to simulate subpixels. Taking these as RGB values will perform subpixel anti aliasing.

Arguments

  • character - The character to rasterize.
  • px - The size to render the character at. Cannot be negative. The units of the scale are pixels per Em unit.

Returns

  • Metrics - Sizing and positioning metadata for the rasterized glyph.
  • Vec<u8> - Swizzled RGB coverage vector for the glyph. Coverage is a linear scale where 0 represents 0% coverage of that subpixel by the glyph and 255 represents 100% coverage. The vec starts at the top left corner of the glyph.

Retrieves the layout metrics and rasterized bitmap at the given index. You normally want to be using rasterize(char, f32) instead, unless your glyphs are pre-indexed.

Arguments

  • index - The glyph index in the font to rasterize.
  • px - The size to render the character at. Cannot be negative. The units of the scale are pixels per Em unit.

Returns

  • Metrics - Sizing and positioning metadata for the rasterized glyph.
  • Vec<u8> - Coverage vector for the glyph. Coverage is a linear scale where 0 represents 0% coverage of that pixel by the glyph and 255 represents 100% coverage. The vec starts at the top left corner of the glyph.

Retrieves the layout metrics and rasterized bitmap at the given index. You normally want to be using rasterize(char, f32) instead, unless your glyphs are pre-indexed.

This will perform the operation with the width multiplied by 3, as to simulate subpixels. Taking these as RGB values will perform subpixel anti aliasing.

Arguments

  • index - The glyph index in the font to rasterize.
  • px - The size to render the character at. Cannot be negative. The units of the scale are pixels per Em unit.

Returns

  • Metrics - Sizing and positioning metadata for the rasterized glyph.
  • Vec<u8> - Swizzled RGB coverage vector for the glyph. Coverage is a linear scale where 0 represents 0% coverage of that subpixel by the glyph and 255 represents 100% coverage. The vec starts at the top left corner of the glyph.

Finds the internal glyph index for the given character. If the character is not present in the font then 0 is returned.

Gets the total glyphs in the font.

Trait Implementations

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

Formats the value using the given formatter. Read more

Feeds this value into the given Hasher. Read more

Feeds a slice of this type into the given Hasher. Read more

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Performs the conversion.

Performs the conversion.

The resulting type after obtaining ownership.

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

🔬 This is a nightly-only experimental API. (toowned_clone_into)

recently added

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

The type returned in the event of a conversion error.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.