geist-font icon indicating copy to clipboard operation
geist-font copied to clipboard

Chinese 【】《》() are not monospace

Open piscopancer opened this issue 1 year ago • 2 comments

geist mono, used in vscode all chinese characters are as wide as punctuation symbols, in your font though, this is not true for bracket-like symbols. Please fix

【】《》()

image

piscopancer avatar Oct 11 '24 08:10 piscopancer

fyi.

According to my test, this happens in the following Unicode ranges, both Geist and Geist Mono:

  • U+3008-3011 〈〉《》「」『』【】
  • U+3014-3017 〔〕〖〗

These characters should always be full-width. They are characters in the "CJK Symbols and Punctuation" area (U+3000..U+303F), which are used in Chinese and Japanese. Half-width makes them look very strange in Chinese and Japanese.

Please remove them, then we can use other CJK font as fallback.

VentusUta avatar Oct 21 '24 23:10 VentusUta

Meet the same problem.

dantezhu avatar Feb 20 '25 02:02 dantezhu

This has been addressed in the 1.5 release.

guidoferreyra avatar May 29 '25 19:05 guidoferreyra

The issue seems to persists in release 1.5.1.

I tried to render characters U+3000 to U+303F in Next.js (through geist/font/sans, starting from the second line), notice how these brackets still look half-width-ed and stick more to surrounding texts:

  • U+3008-300F, 3010-3011 〈〉《》「」『』【】 (more commonly used)
  • U+3014-3019  〔〕〖〗〘〙 (less commonly used)

Font: Geist Sans, Noto Sans TC, Noto Sans JP Image

Font: Noto Sans TC, Noto Sans JP Image

But oddly, it seems fine on the official site... Image


This is literally the last step for it to be fully compatible with CJK fonts (it was way worse back when basic ones like ",", "、", and "。" also looked half-width-ed), I'd really appreciate it if this could be patched up!

ritmo-v0 avatar Sep 09 '25 21:09 ritmo-v0

Hi @ritmo-v0, this might be an issue with the NPM package. The fonts downloaded from the repo no longer include those codepoints, allowing the CJK fallback to take over. Those glyphs were moved to stylistic set alternatives for parentheses and brackets.

cc @skullface

guidoferreyra avatar Sep 10 '25 15:09 guidoferreyra