cormullion / juliamono

repository for JuliaMono, a monospaced font with reasonable Unicode support.
https://juliamono.netlify.app/
SIL Open Font License 1.1
1.4k stars 29 forks source link

Problem with CJK glyphs #206

Closed Xenapte closed 4 months ago

Xenapte commented 5 months ago

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.

cormullion commented 5 months ago

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. 😀

Xenapte commented 5 months ago

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:

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):

Other glyphs that I'm not sure:

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.

cormullion commented 5 months ago

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.

github-actions[bot] commented 4 months ago

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

github-actions[bot] commented 4 months ago

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