be5invis / Sarasa-Gothic

Sarasa Gothic / 更纱黑体 / 更紗黑體 / 更紗ゴシック / 사라사 고딕
SIL Open Font License 1.1
10k stars 368 forks source link

Are the Chinese/Japanese glyphs in mono actually sans? #114

Closed polarathene closed 5 years ago

polarathene commented 5 years ago

The README states that these glyphs were sourced from Source Han Sans, and perhaps have had some changes to accommodate for fitting into monospace?

Have you considered using the monospace version that was released around June 2019? (Source Han Mono. There is also a OTC packaged version that includes the sans version as well(since this font seems to offer sans-serif/gothic/proportional instead of just monospace).

Technical details behind that newer version are described here. Perhaps it would also allow for Sarasa to support Korean that seems to be omitted for some reason? The mono version did drop some glyphs as described in the linked article due to being outliers with their metrics.

polarathene commented 5 years ago

My understanding is that Source Han Sans have been used with the half-width support to accommodate for monospace, like Noto Sans Mono CJK fonts have done?

Are there any other differences between providing a font that applies that with Iosevka?

Are the quote mark differences mentioned in the README specific changes to this font or is that fromthe Noto Sans / Noto Sans UI fonts?

What is the Classical orthography style derived from?


I'm curious about differences from this font vs composing font stack / fallback, like Iosevka Mono, Noto Sans Mono CJK SC. Is Sarasa Gothic still useful to a user if multiple fonts can be used like that?

Nothing against single font solutions(I think they're useful too), I just personally prefer to keep them separate where possible and have the flexibility to compose or set fallback configs. If there is some other benefit to this font, would you consider switching Source Han Sans for Source Han Mono? If there is no added differences from composing the fonts into Sarasa Gothic, then I'll just compose individual fonts via apps that allow font stacks or my systems font configuration :)

be5invis commented 5 years ago

The README states that these glyphs were sourced from Source Han Sans, and perhaps have had some changes to accommodate for fitting into monospace?

Build scripts would do some fitting to make sure the symbols fits into the 1/2-em grid system. Source Han Mono used a different metric system (2/3 em vs. 1/2 em for Europeans). For ideographs, etc., they are already 1-em wide so nothing is needed to do.

Perhaps it would also allow for Sarasa to support Korean that seems to be omitted for some reason?

Korean is another strory: I ran out of GIDs (currently there are already 60000 used) and I do not want to drop any of the European script support.

My understanding is that Source Han Sans have been used with the half-width support to accommodate for monospace, like Noto Sans Mono CJK fonts have done?

No.

Are there any other differences between providing a font that applies that with Iosevka?

Didn't tried out, but I'd like to keep the current system stable.

Are the quote mark differences mentioned in the README specific changes to this font or is that fromthe Noto Sans / Noto Sans UI fonts?

Quotes are handled in Sarasa's build script.

What is the Classical orthography style derived from?

KR version of ideographs currently.

I'm curious about differences from this font vs composing font stack / fallback, like Iosevka Mono, Noto Sans Mono CJK SC. Is Sarasa Gothic still useful to a user if multiple fonts can be used like that?

Many softwares do not support specifying a fallback sequence.

polarathene commented 5 years ago

Source Han Mono used a different metric system (2/3 em vs. 1/2 em for Europeans).

They stated the western glyphs were 600 units wide from Source Code Pro, and widened to 667(2/3em as you say). So not 1/2 em, where they'd have to be compressed. Iosevka is providing the western glyphs here and I assume they're 500 units wide?

This is a good point though, since that probably makes Source Code Pro have a compatibility issue due to width being slightly wider when mixed with Noto Color Emoji or CJK glyphs. I think terminals can handle dual width ok, but a mix of 667 and 1000 unit wide glyphs probably will look misaligned on multi-line text.

For ideographs, etc., they are already 1-em wide so nothing is needed to do.

Not the case for Korean, the linked technical article states those were originally 920 units:

The glyphs for hangul (한글) letters and syllables, which have 920-unit horizontal advances in Source Han Sans, along with those for half-width katakana (半角片仮名), which have 500-unit horizontal advances, presented an interesting design challenge whose solution will be described later in this article.

They later mention that the half width 500 unit wide (0.5em) Katakana needs to be adjusted to the 667 width western glyphs. They used anisotropic techniques for that achieving that. I realize now, that the changes(and revision on the kana glyphs) would not be useful here as a result due to width conflict/differences.

Korean is another strory: I ran out of GIDs (currently there are already 60000 used) and I do not want to drop any of the European script support.

I'm not familiar with font development, the author of Source Han Mono has CJK support with western glyphs(70 fonts covering that and different weights + italics).

They used some tricks afaik to share glyphs where appropriate, There's a 214 font "Ultra OTC" package that combines both the Adobe Source original fonts and Google Noto font rebrand without doubling the filesize from the sharing of glyphs, which would be many GB in size if all fonts were separate apparently.. <400MB as the OTC/TTC.

Many softwares do not support specifying a fallback sequence.

Yes, I'm aware hence understanding the value of Sarasa Gothic for those cases where you are on a platform(such as Windows afaik) and you cannot specify font fallback behaviour, like you can on Linux via fontconfig.


Cheers for the clarifications! :smile:

Hopefully Sarasa will get support for no symbols variant if Iosevka does in future, looks like an excellent Chinese/Japanese mono font.

CyanoHao commented 5 years ago

Noto Sans + Source Han Sans, hinted with ttfautohint and Chlorophytum Chlorophytum is pretty good at hinting Hanguls!

I think it’s time to create a derivative work with Hangul support, claiming more GID room by grouping orthographic variants into 3 rather than 1:

This change will lead to 30 ttc files (or 10 ttc files of 3x size), which is acceptable compared to Sarasa v0.8.2 and earlier builds.

Besides, I’m not sure whether “XXX Gothic” and “XXX UI” are necessary. I wonder if there is an environment which makes Gothic and UI necessary, that

be5invis commented 5 years ago

@CyanoHao Sarasa UI is for the case that you have to use one font in a language-unknown environment. Otherwise if you want to focus on EA langauges, use Gothic. There's an interesting approach to have >64K glyphs in one TTC with maximal data sharing — glyf allows gaps between the data chunks of glyphs, so ...