Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Problem with CJK glyphs #206

Closed
Xenapte opened this issue Apr 11, 2024 · 5 comments
Closed

Problem with CJK glyphs #206

Xenapte opened this issue Apr 11, 2024 · 5 comments
Labels

Comments

@Xenapte
Copy link

Xenapte commented Apr 11, 2024

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 Xenapte changed the title Problem with CJK glyphs U+70B9 '点' Problem with CJK glyphs Apr 11, 2024
@cormullion
Copy link
Owner

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
Copy link
Author

Xenapte commented Apr 11, 2024

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.

@cormullion
Copy link
Owner

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.

Copy link

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

@github-actions github-actions bot added the stale label May 12, 2024
Copy link

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants