Skip to content

Commit

Permalink
Add Language enum with all Windows languages.
Browse files Browse the repository at this point in the history
Closes #83
  • Loading branch information
RazrFalcon committed Dec 25, 2022
1 parent e18327c commit 2387bfc
Show file tree
Hide file tree
Showing 5 changed files with 488 additions and 7 deletions.
3 changes: 2 additions & 1 deletion CHANGELOG.md
Expand Up @@ -14,9 +14,10 @@ and this project adheres to [Semantic Versioning](http://semver.org/).
- `os2::Table::is_subsetting_allowed`
- `os2::Table::is_bitmap_embedding_allowed`
- `os2::Table::unicode_ranges`
- `name::Name::language`
- `Language` enum with all Windows languages.

### Changed

- Using a non-zero index in `Face::parse` for a regular font will return
`FaceParsingError::FaceIndexOutOfBounds` now. Thanks to [Pietrek14](https://github.com/Pietrek14).

Expand Down
21 changes: 15 additions & 6 deletions examples/font-info.rs
Expand Up @@ -17,19 +17,28 @@ fn main() {
}
};

let family_name = face
.names()
.into_iter()
.find(|name| name.name_id == ttf_parser::name_id::FULL_NAME && name.is_unicode())
.and_then(|name| name.to_string());
let mut family_names = Vec::new();
for name in face.names() {
if name.name_id == ttf_parser::name_id::FULL_NAME && name.is_unicode() {
if let Some(family_name) = name.to_string() {
let language = name.language();
family_names.push(format!(
"{} ({}, {})",
family_name,
language.primary_language(),
language.region()
));
}
}
}

let post_script_name = face
.names()
.into_iter()
.find(|name| name.name_id == ttf_parser::name_id::POST_SCRIPT_NAME && name.is_unicode())
.and_then(|name| name.to_string());

println!("Family name: {:?}", family_name);
println!("Family names: {:?}", family_names);
println!("PostScript name: {:?}", post_script_name);
println!("Units per EM: {:?}", face.units_per_em());
println!("Ascender: {}", face.ascender());
Expand Down

0 comments on commit 2387bfc

Please sign in to comment.