pub struct Glyph { /* private fields */ }Expand description
A single glyph in a font
Implementations§
Source§impl Glyph
impl Glyph
Sourcepub fn unicode_range(&self) -> &str
pub fn unicode_range(&self) -> &str
Returns the unicode range for the glyph
Sourcepub fn codepoint(&self) -> u32
pub fn codepoint(&self) -> u32
Returns the unicode codepoint for the glyph
Examples found in repository?
examples/loading_fonts.rs (line 17)
7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
fn main() -> ParseResult<()> {
let font = Font::from_file("examples/slick.ttf")?;
let font_name = font.string(StringKind::FullFontName).unwrap();
println!(
"Font `{font_name}` contains {} glyphs: ",
font.glyphs().len()
);
font.glyphs().iter().for_each(|glyph| {
let name = glyph.name();
let codepoint = glyph.codepoint();
println!("- `{name}` has codepoint {codepoint:04x}");
//
// You can also export the glyph as an image
let _outline = glyph.svg_outline();
});
Ok(())
}Sourcepub fn name(&self) -> &str
pub fn name(&self) -> &str
Returns the postscript name of the glyph
Examples found in repository?
examples/loading_fonts.rs (line 16)
7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
fn main() -> ParseResult<()> {
let font = Font::from_file("examples/slick.ttf")?;
let font_name = font.string(StringKind::FullFontName).unwrap();
println!(
"Font `{font_name}` contains {} glyphs: ",
font.glyphs().len()
);
font.glyphs().iter().for_each(|glyph| {
let name = glyph.name();
let codepoint = glyph.codepoint();
println!("- `{name}` has codepoint {codepoint:04x}");
//
// You can also export the glyph as an image
let _outline = glyph.svg_outline();
});
Ok(())
}Sourcepub fn outline(&self) -> &SimpleGlyf
pub fn outline(&self) -> &SimpleGlyf
Returns the raw outline data of this glyph
Compound glyphs will be simplified to a single outline
Sourcepub fn svg_outline(&self) -> String
pub fn svg_outline(&self) -> String
Returns the SVG data of this glyph’s outline
Examples found in repository?
examples/loading_fonts.rs (line 22)
7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
fn main() -> ParseResult<()> {
let font = Font::from_file("examples/slick.ttf")?;
let font_name = font.string(StringKind::FullFontName).unwrap();
println!(
"Font `{font_name}` contains {} glyphs: ",
font.glyphs().len()
);
font.glyphs().iter().for_each(|glyph| {
let name = glyph.name();
let codepoint = glyph.codepoint();
println!("- `{name}` has codepoint {codepoint:04x}");
//
// You can also export the glyph as an image
let _outline = glyph.svg_outline();
});
Ok(())
}Sourcepub fn svgz_outline(&self) -> Result<Vec<u8>, Error>
pub fn svgz_outline(&self) -> Result<Vec<u8>, Error>
Returns the gzip compressed SVGZ data of this glyph
§Errors
Returns an error if the data cannot be compressed
Sourcepub fn datalink_outline(&self, should_compress: bool) -> Result<String, Error>
pub fn datalink_outline(&self, should_compress: bool) -> Result<String, Error>
Generates a data: link containing the outline svg data for this glyph
If should_compress is true, the SVG data will be compressed using gzip
§Errors
Returns an error if the data cannot be encoded properly, or compressed if should_compress is true
Trait Implementations§
Auto Trait Implementations§
impl Freeze for Glyph
impl RefUnwindSafe for Glyph
impl Send for Glyph
impl Sync for Glyph
impl Unpin for Glyph
impl UnwindSafe for Glyph
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
Mutably borrows from an owned value. Read more