[Proposal] Improve the aesthetics of underscores (adjust width and vertical alignment)
Nobody has claimed this yet.
- Dominant language
- Clojure
- Stars
- 82k
- Forks
- 3.2k
- PR merge metrics
- No merged PRs in 30d
Description
IMO underscores are quite messy in Fira Mono and Fira Code. A few tweaks could improve their aesthetics greatly.
Proposal 1: Reduce underscore width
With ligatures turned off, the gap between an underscore pair __ is really small, to the point where it's hard to discern, especially on low DPI monitors and smaller font sizes.
IMO making the underscore a tiny bit narrower looks a lot better. To illustrate this, I've attached two images. The first is Fira Code, and the second is Source Code Pro.
The difference is subtle, but IMO the underscore spacing in the second image is nicer. (The difference is more apparent in my IDE.)
Proposal 2: Move underscores upwards, to align with square brackets
Underscores juxtaposed with square brackets are common in languages that support pattern matching. In most other monospace fonts that I've used, the underscore character is vertically aligned to the bottom of the bracket characters. Fira Code (and Fira Mono) places the underscore lower than that.
Here is a comparison between a few different fonts: Fira Code, Monaspace Neon, Hack, Jetbrains Mono, and Inconsolata. (Underscores appear on lines 1, 3, and 6 of the code snippet.)
Here's a rough mockup with the underscores narrowed + raised slightly. On the left is today's Fira Code; on the right is my suggested tweak.
This isn't a pixel-perfect mockup, but it gives a sense of what the change might look like.
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.
Research direction
Review the screenshots and compare the two proposed changes: narrowing underscore spacing and raising the underscore to align with square brackets. Confirm which proposal, or combination, should be pursued and define visual acceptance criteria; the issue mentions no source files or tests.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- clojure
- Domain
- design
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 30/100