Skip to content

CaskaydiaCove Regular: center wide icons within their cell? #2012

Description

@Atcold

Summary

In CaskaydiaCove Nerd Font, wide icons (e.g. the globe 󰖟, nf-md-web U+F059F) are drawn from the left edge of their cell, so depending on what follows they either clash or look left-aligned — never centered. This is the "Wide variant" idea from #1330, asked specifically for CaskaydiaCove.

The setup

A wide icon occupies 1 logical cell (wcwidth = 1) but its drawn advance is ~1.5 cells, painted from the left edge, so it bleeds ~0.5 cell to the right. Hence:

  • Followed by a character → the bleed overlaps it → the two clash ([󰖟] mashes the ]).
  • Followed by a space → the bleed lands on the blank cell → no clash, but the glyph is left-aligned in the glyph + space 2-cell block, with all the gap on the right.

Adding a trailing space (the usual convention) is what turns "clash" into merely "left-aligned" — but it's still never centered.

Variants today

  • Mono — icon scaled to fit one cell: aligned, but too small to read comfortably.
  • Regular — icon at a readable size, but ~1.5 cells drawn from the left edge: clashes if followed by a character, left-aligned if followed by a space.

So there's no variant that is both readable and centered.

Question

Is there already a way to get these wide icons centered in the terminal — an existing variant, build flag, or setting — that I've missed?

Request

If not, could CaskaydiaCove offer a build (or option) that bakes a small left side-bearing into wide icons so they're centered within a 2-cell footprint (≈0.25-cell shift, glyph at [0.25 → 1.75]), while keeping wcwidth = 1 and the trailing-space convention working? Application-side this can't be fixed — a terminal only places glyphs on whole-cell boundaries, so no "half space" character can shift the glyph; the offset has to live in the font metrics.

Thanks for the fonts!

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions