linebender / linebender/runebender

Side bearing display/update

Open
#144 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Rust
Stars
799
Forks
35
PR merge metrics
No merged PRs in 30d

Description

A common font editor feature is to report "side bearings", which is the inset from the advance to the bounding box. To display these, use the kurbo bounding box feature on the path. Lens update is slightly trickier. The right side bearing functions much as lensing the advance, but updating the left side bearing does a nudge of all points in the glyph, as well as the advance.

This would be added to the current advance display in sidebar, but I think it would also be useful to have a metrics mini-panel on the same row as the coord pane. That could be a separate issue though, as it's UX polish rather than core functionality.

I should also point out that doing fitting using side bearings "by the number" is a bit of an antipattern, but that's just for information. An extremely common use case is "this needs 10 more units on the left".

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the existing advance display in sidebar and the coord pane layout. Review the kurbo bounding-box feature for side-bearing values, then trace how advance and glyph points are updated. Done means displaying both bearings and updating right and left bearings with the described advance and point movements.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
computer-graphics, design
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.