Struct freetype::glyph_slot::GlyphSlot
[−]
[src]
pub struct GlyphSlot { // some fields omitted }
A struct encapsulating the space for a glyph within a Library
Methods
impl GlyphSlot
fn from_raw(library_raw: FT_Library, raw: FT_GlyphSlot) -> Self
Create a GlyphSlot
from its constituent C parts
fn render_glyph(&self, render_mode: RenderMode) -> FtResult<()>
Convert a given glyph image to a bitmap. It does so by inspecting the glyph image format, finding the relevant renderer, and invoking it.
fn get_subglyph_info(&self, sub_index: u32) -> FtResult<SubGlyphInfo>
Retrieve a description of a given subglyph. Only use it if the glyph's format is FT_GLYPH_FORMAT_COMPOSITE; an error is returned otherwise.
fn get_glyph(&self) -> FtResult<Glyph>
Returns a glyph object, that is similar to a GlyphSlot
but managed outside of the library
fn outline(&self) -> Option<Outline>
In freetype, the Outline
object is a scalable glyph. This method unpacks a glyph into
this object, or returns None
if the glyph has no outline
fn bitmap(&self) -> Bitmap
This field is used as a bitmap descriptor when the slot format is FT_GLYPH_FORMAT_BITMAP. Note that the address and content of the bitmap buffer can change between calls of FT_Load_Glyph and a few other functions.
fn bitmap_left(&self) -> i32
The bitmap's left bearing expressed in integer pixels. Only valid if the format is FT_GLYPH_FORMAT_BITMAP, this is, if the glyph slot contains a bitmap.
fn bitmap_top(&self) -> i32
The bitmap's top bearing expressed in integer pixels. Remember that this is the distance from the baseline to the top-most glyph scanline, upwards y coordinates being positive.
fn advance(&self) -> Vector
This shorthand is, depending on FT_LOAD_IGNORE_TRANSFORM, the transformed (hinted) advance width for the glyph, in 26.6 fractional pixel format. As specified with FT_LOAD_VERTICAL_LAYOUT, it uses either the ‘horiAdvance’ or the ‘vertAdvance’ value of ‘metrics’ field.
fn linear_hori_advance(&self) -> FT_Fixed
The advance width of the unhinted glyph. Its value is expressed in 16.16 fractional pixels, unless FT_LOAD_LINEAR_DESIGN is set when loading the glyph. This field can be important to perform correct WYSIWYG layout. Only relevant for outline glyphs.
fn linear_vert_advance(&self) -> FT_Fixed
The advance height of the unhinted glyph. Its value is expressed in 16.16 fractional pixels, unless FT_LOAD_LINEAR_DESIGN is set when loading the glyph. This field can be important to perform correct WYSIWYG layout. Only relevant for outline glyphs.
fn metrics(&self) -> GlyphMetrics
The metrics of the last loaded glyph in the slot. The returned values depend on the last load flags (see the FT_Load_Glyph API function) and can be expressed either in 26.6 fractional pixels or font units.
fn raw(&self) -> &FT_GlyphSlotRec
Get a pointer to the underlying c struct