OpenType
The package provides a parser for OpenType fonts.
Example
extern crate opentype;
use opentype::File;
use opentype::truetype::NamingTable;
let path = "SourceSerifPro-Regular.otf";
let font = Font::open(path).unwrap();
match font.font_header {
Some(ref table) => assert_eq!(table.unitsPerEm, 1000),
_ => unreachable!(),
}
match font.horizontal_header {
Some(ref table) => assert_eq!(table.Ascender, 918),
_ => unreachable!(),
}
match font.naming_table {
Some(NamingTable::Format0(ref table)) => {
let strings = table.strings().unwrap();
assert_eq!(&strings[1], "Source Serif Pro");
assert_eq!(&strings[9], "Frank Grießhammer");
},
_ => unreachable!(),
}
Contributing
- Fork the project.
- Implement your idea.
- Open a pull request.