juliamono icon indicating copy to clipboard operation
juliamono copied to clipboard

Problem with CJK glyphs

Open Xenapte opened this issue 1 year ago • 6 comments

Hi! Sorry for bothering you again but I believe this is an actual issue that need fixing, more so than my previous one (which is purely personal preference).

Currently JuliaMono includes the CJK character '点' (U+70B9), possibly in line with the symbols of ㍘ to ㍰ (used in Chinese for hours of the day, but I don't think I've ever seen them in use). However this makes the font look quite awkward with CJK texts containing the glyph (which is pretty common in both Chinese and Japanese):

We can't use a fallback font here as virtually all CJK fonts have their own sets of basic Latin symbols too, so they would take precedence when placed in front of JuliaMono.

I think this can be solved by either removing these glyphs or setting them to double width (which is customary with CJK monospace fonts).

PS. after uploading this image I've noticed that the font includes CJK punctuations which normally should also be full-width (example: U+FF0C ','), so maybe these need fixing too.

Xenapte avatar Apr 11 '24 09:04 Xenapte

Thanks! I don’t know about this area of monospaced font design, (I just added some that I found interesting) so I’m more than happy to delete glyphs that shouldn’t be there. Do you think you could make a list of glyph unicodes to be removed? No worries if not, I can make a guess. 😀

cormullion avatar Apr 11 '24 09:04 cormullion

Alright, I haven't used JuliaMono with CJK text much - normally I'd prefer using code/documentation purely in English, but I do need to write a Chinese document on this specific instance, so I'll make my guess here too after some look with Fontforge :)

Glyphs that definitely need removal:

  • CJK characters U+534D, U+70B9

Glyphs that don't really need to be removed if you can make them full-width instead (if not then I think removing them is better):

  • CJK Symbols and Punctuation, Hiragana, Katakana 3000-30FF
  • Chinese hour symbols 3358-3370
  • Vertical Forms FE10-FE1F
  • CJK Compatibility Forms FE30-FE4F
  • Full-width symbols in FF00-FFEF (note that some glyphs in this range are half-width, so don't remove / set full-width all of them too quickly)

Other glyphs that I'm not sure:

  • U+3297 '㊗', U+3299 '㊙' - maybe these can be kept for the consistency with other circled characters?
  • Hexagrams 4DC0-4DFF - these are just too cool to be removed, so I'd guess either keeping them or making them full-width instead

The full range of CJK glyphs in JuliaMono, excluding some glyphs near the end of the Basic Multilingual Plane. Originally I was going to say removing all of them, but apparently they've put some other good symbols there too.

Edit: I think you can make the hour symbols full-width instead. We only need to remove actual CJK characters as they'll look out of place in running texts.

Xenapte avatar Apr 11 '24 10:04 Xenapte

Thanks so much! I’ll make these removals for the next release.

Obviously it’s not possible to change any widths - if the glyphs in a font don’t all conform to the same width, the font will fail the tests for being monospaced.

cormullion avatar Apr 11 '24 12:04 cormullion

This issue has been open for 30 days with no activity.

github-actions[bot] avatar May 12 '24 02:05 github-actions[bot]

This issue was closed because it has been inactive for 14 days since being marked as stale.

github-actions[bot] avatar May 26 '24 02:05 github-actions[bot]