Struct tetra::graphics::text::Font[][src]

pub struct Font { /* fields omitted */ }

A font with an associated size, cached on the GPU.

Performance

Creating a Font is a relatively expensive operation. If you can, store them in your State struct rather than recreating them each frame.

Cloning a Font is a very cheap operation, as the underlying data is shared between the original instance and the clone via reference-counting. This does mean, however, that updating a Font (for example, changing its filter mode) will also update any other clones of that Font.

Examples

The text example demonstrates how to load a font and then draw some text.

Implementations

impl Font[src]

pub fn vector<P>(ctx: &mut Context, path: P, size: f32) -> Result<Font> where
    P: AsRef<Path>, 
[src]

Creates a Font from a vector font file, with the given size.

TrueType and OpenType fonts are supported.

If you want to load multiple sizes of the same font, you can use a VectorFontBuilder to avoid loading/parsing the file multiple times.

Errors

pub fn from_vector_file_data(
    ctx: &mut Context,
    data: &'static [u8],
    size: f32
) -> Result<Font>
[src]

Creates a Font from a slice of binary data.

TrueType and OpenType fonts are supported.

This is useful in combination with include_bytes, as it allows you to include your font data directly in the binary.

If you want to load multiple sizes of the same font, you can use a VectorFontBuilder to avoid parsing the data multiple times.

Errors

pub fn bmfont<P>(ctx: &mut Context, path: P) -> Result<Font> where
    P: AsRef<Path>, 
[src]

Creates a Font from an AngelCode BMFont file.

By default, Tetra will search for the font’s images relative to the font itself. If you need more control over the search path, or want to override the paths entirely, this can be done via BmFontBuilder.

Currently, only the text format is supported. Support for the binary file format may be added in the future.

Exporting from BMFont

For best results, follow these guidelines when exporting from BMFont:

Font Settings

  • For the sizing to match the TTF version of the same font, tick ‘match char height’.

Export Options

  • Unless you are using a custom shader, choose the ‘white text with alpha’ preset.
  • Export using the ‘text’ font descriptor format.
  • Make sure the corresponding Tetra feature flag is enabled for your texture’s file format.

Errors

pub fn filter_mode(&self) -> FilterMode[src]

Returns the filter mode of the font.

pub fn set_filter_mode(&mut self, ctx: &mut Context, filter_mode: FilterMode)[src]

Sets the filter mode of the font.

Note that changing the filter mode of a font will affect all Text objects that use that font, including existing ones. This is due to the fact that each font has a shared texture atlas.

Trait Implementations

impl Clone for Font[src]

impl Debug for Font[src]

Auto Trait Implementations

impl !RefUnwindSafe for Font

impl !Send for Font

impl !Sync for Font

impl Unpin for Font

impl !UnwindSafe for Font

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.