-
Notifications
You must be signed in to change notification settings - Fork 824
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
Hangeul (Korean) font not readable #2204
Comments
See also #1067. Am I correct in understanding that Noto Sans CJK KR Regular is the most readable of these fonts? |
Both Noto variants are much more readable compared to the rest. The difference between Regular and the slightly stronger Medium is small. IMHO Medium is even a bit better than Regular. But: this may well be because of the way GIMP is doing the antialiasing. |
Using Gimp does not really give reliable results, I'd really recommend to test this in Mapnik (Kosmtik/Tilemill). Our text labels have a halo (similar to anti-alias) to make sure texts are also legible on busy backgrounds. It seems you didn't take this halo into account. |
Noto is much more readable, but if a halo is to be used, it would be nice to see a rendering with the halo first before making a change (or maybe just leave the halo off for Hangul). |
We need to see this rendered with mapnik. Also bear in mind that the "current situation" will be a rendering from mapnik2, so we need to see what the current fonts look like with mapnik3 too. |
Who is mapnik and what is the current font? |
Fonts are defined at https://github.com/gravitystorm/openstreetmap-carto/blob/master/style.mss, though I am not entirely sure how for given label font is selected (it is compiled to https://github.com/mapnik/mapnik/wiki/FontSet and AFAIK it means that Mapnik is using the first font where all symbols are available). |
The place http://www.openstreetmap.org/#map=17/37.56412/127.00120 rendered with this style.mss
|
Thanks @sommerluk ! Is the attached image easier to read for you than the original, @mxa? |
The Hangeul in the attached image is indeed a lot more readable. It would be a huge improvement over the current rendering. However I notice there are two names in the example which have missing characters. When the name spans over multiple lines, the line height is much bigger, this should be compensated. I made a gif animation for better comparison |
Note that part of this might be caused by Mapnik2 vs Mapnik3 (the new rendering is Mapnik 3). Could somebody perhaps also generate an image of this area in Mapnik2 with the old font rendering?
Those are both bold fonts, it seems there something sill goes wrong. |
Noto has a beautiful variety of different font weights. |
The screenshot that I have posted is done with Mapnik2. |
The places are “CJ푸드월드 제일제당센터점” and “바다회집 (Bada Fish Restaurant)”. All of these characters are actually available in Noto Sans CJK KR family – in both the regular and the bold typeface. I’ve verified this. So this is most likely a rendering bug in Mapnik2. |
Noto Sans CJK KR offers black, bold, medium, regular, demilight, light and thin. Noto Sans UI offers in the current release only regular and bold, but the next release will come with a big number of weights also (alpha release is available here: https://github.com/googlei18n/noto-fonts/tree/master/alpha/OTF/from-pipeline) |
The screenshot shows a weight missmatch between the latin characters and the han characters: The han characters seems to be heavier (more bold). This applies for both the regular and the bold typeface. However, I suppose that this is a Mapnik2 issue. Rendering the same text with the same fonts in scribus shows an (almost) identical font weight for latin characters and han characters. |
The designers of Noto probably wanted to make sure that also combining diacritics – maybe even multiple stacked combining diacritis – have enought space for rendering. However, I fear that also here the Mapnik2 rendering makes some strange things… |
I also assume that the line height in Noto is not an accident but intended to give space to the diacritics. However it is not needed for Hangeul. It is much higher than it was before and IMHO should be compensated for.
Maybe not in this case. |
@sommerluk would you mind making a comparison for Japan and China too? I think this would solve some issues there as well. #294 |
For testing purposes And those are technically correct dense compounds, but they don't exist as words: |
Well, it is highter, but not so much. The only option in CartoCSS about line spacing seems to be text-line-spacing. See https://github.com/mapbox/carto/blob/master/docs/latest.md for documentation. It seems that Mapnik uses by default the line spacing recommendation of the font (see https://www.microsoft.com/typography/otspec/recom.htm → “Baseline to Baseline Distances” for details). CartoCSS’ text-line-spacing may add additional space (add leading), by assigning a positive value. The documentation says that it must be an unsigned value, so negative values (=reduce line spacing) are not allowed, but actually negative values work nevertheless well. |
@mxa What about Han unification? |
@sommerluk Noto is available as either Chinese, Japanese, Korean or as one package containing them all. https://www.google.com/get/noto/help/cjk/
|
The problem is: This map style renders the whole world with the same rendering rules, without any country-specific rules. That means particulary that the same rules apply to Korea, Japan and China. So probably we have to make a choise and support only one Han variant… |
Is it not possible to use the Noto font that includes all the Han characters in one set for this and render CJK with that? |
Noto covers all of this. The Han unification problem is independent from any specifig font. The question is: How to make the choise between the available glyph forms. As it’s an independent issue, I’ve opened #2208 about this. |
The labels in Korea written in Hangeul are hard to read or not readable at all. I did a quick mock-up in GIMP to see how other typefaces with a free license compare to the currently used on in carto.
This is the current situation:
This is with the font "Sans Serif"
The Nanum font family is a font by the NAVER corporation published under a free license https://en.wikipedia.org/wiki/Nanum_font
Font "Nanum Gothic"
Font "Nanum Barum Gothic"
The Noto font family is by Google, published under SIL Open Font License https://github.com/googlei18n/noto-fonts
Font "Noto Sans CJK KR Regular"
Font "Noto Sans CJK KR Medium"
Noto seems to have a bigger line height, that should be corrected. Noto is by far more readable compared to the currently used font. Noto aims to be a font with complete international language support, mabe pull request #358 and issue #294 can be fixed with it too.
The text was updated successfully, but these errors were encountered: