Font metrics estimation
Nobody has claimed this yet.
Assessment
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Newbie friendliness
- 35/100
- Issue type
- Feature
- Clarity
- Mostly clear
- Activity status
- Stale
- Tech stack
- rust
- Domain
- computer-graphics
Research direction
Start by tracing node sizing during layout and identify the rendering entry points that consume the fontsize and fontname attributes. Evaluate a font metrics library and bundled font files for the text_size(text, fontsize, fontname) -> (width, height) API; done means glyph dimensions are computed, the bundled font works without system discovery, and unavailable fonts fall back to it.
Written by the indexing model from the issue text.
Description
Node sizing during layout depends on knowing how much space a label's text occupies. Use a font metrics library to compute exact glyph advances and text dimensions, exposing a function like text_size(text, fontsize, fontname) -> (width, height).
The library will need access to actual font files. Bundle a default font (e.g. a Liberation or Noto Sans variant) as a fallback so rendering works without relying on system font discovery, which is platform-specific. When fontname specifies a font that isn't available, fall back to the bundled default. This supports the fontsize and fontname attributes.
References
- Dominant language
- Rust
- Stars
- 0
- Forks
- 0
- PR merge metrics
- No merged PRs in 30d
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from terror/dotgraph
-
enhancement
Difficulty 4/5 3-5 days Newbie friendliness 45/100
-
SVG rendering Openenhancement
Difficulty 4/5 3-5 days Newbie friendliness 48/100
-
Style resolution Openenhancement
Difficulty 3/5 1-2 days Newbie friendliness 45/100
-
Arrowhead geometry Openenhancement
Difficulty 5/5 Over a week Newbie friendliness 35/100
-
Node shape geometry Openenhancement
Difficulty 5/5 Over a week Newbie friendliness 25/100
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
Eynzof/Hermes-CN-Desktop#610 ·
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
gitbutlerapp/gitbutler#15998 · 1 comment ·
-
bug triage:deciding
Difficulty 1/5 Under an hour Newbie friendliness 88/100
open-telemetry/otel-arrow#4132 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 84/100