Comments (4)
From your picture:
- bearingX is
face.glyph_hor_side_bearing()
- bearingY is not present in TrueType fonts, but you could try
face.ascender()
instead or guess/calculate it manually from the glyph's bbox - width is
face.glyph_bounding_box(id).unwrap().width()
- height is
face.glyph_bounding_box(id).unwrap().height()
- advance is
face.glyph_hor_advance()
from ttf-parser.
Vertical bearing and advance are only used by vertical fonts. Yours is probably not the one.
You can try checking the presence of the vmtx
table via face.tables().vmtx.is_some()
what I would need to do in order to get the vertical bearings.
Can you show in a picture what exactly you want to get? Like this:
from ttf-parser.
Oh I see. So I was basing my knowledge from the LearnOpenGL Text Rendering and this is how they defined bearings. I didn't realize that vertical bearings was for vertical fonts and assumed it was equivalent to bearings-y in the following image.
I pretty much want all that info from the image pasted above, so I may have to reexplore the APIs tonight and retrieve the correct info. If there's a guide visually on what the API retrieves that would be helpful, if not I can figure it out
from ttf-parser.
Thanks, I'll play around with the APIs tonight. Closing this issue.
from ttf-parser.
Related Issues (20)
- Add essential links to README HOT 2
- Question about parser.rs HOT 2
- Can you add an example of how to create a simple letter and save as a font? HOT 3
- Serde feature HOT 1
- The direction of outline contour? HOT 3
- how to get a variable instance of a variable font HOT 2
- Support woff2 HOT 3
- Does it support monochrome fonts HOT 1
- parse_char_string_width does not take subroutines into account HOT 6
- Support GDEF Ligature Caret List Table HOT 3
- Getting the number of faces HOT 15
- font_collection_num_fonts_overflow test fails on 32-bit architectures HOT 4
- Missing instance records in fvar::Table HOT 4
- Face::set_variation change in behaviour HOT 1
- Request for Addition of an Interface to Extract Basic Font Information from Files to Support Directory Scan of All Fonts for Rendering Unicode Text HOT 2
- ttf-parser v0.20 fails to compile on Rust 1.76 HOT 2
- unicode_ranges Documentation is Incorrect HOT 1
- Potential bug: LookupFlags.mark_attachment_type() always returns 0 HOT 1
- Support TrueType `ltag` table
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from ttf-parser.