tangrams / tangram-es

2D and 3D map renderer using OpenGL ES
MIT License
827 stars 238 forks source link

German Umlauts are broken #1403

Closed westnordost closed 7 years ago

westnordost commented 7 years ago

Using tangram-es 0.5.0 on Android with the cinnabar style 4.0.0:

Streets with an ß in their name don't render correctly in my app. See here: https://github.com/westnordost/StreetComplete/issues/34

For tangram-es 0.5.1 on Android with the cinnabar style 4.0.0: At least on my smartphone, an Android 5.1.1, the names of streets with a "ß" in their names don't appear at all anymore.

westnordost commented 7 years ago

Some more information in this ticket: https://github.com/westnordost/StreetComplete/issues/36

hjanetzek commented 7 years ago

Hi @westnordost - Thanks for the report. I guess we don't find the right fallback fonts. We query /system/etc/fonts.xml and /etc/system_fonts.xml to get a list of fallback fonts on Android in FontFileParser.java. I've seen once that some listed fonts did not exist (on cynogenmod though) I'll add some logging so we know which files are tried and whether they exist.

As a workaround you can include a font file with the scenes that contains Umlauts.

westnordost commented 7 years ago

Ah, isn't this already logged? My log looks like this:

I/Alfons: LOADED Font: SoMC Sans Regular Regular size: 28
I/Alfons: LOADED Font: SoMC Sans Regular Regular size: 28
I/Alfons: LOADED Font: DFGothicPW5-BIG5HK-SONY Regular size: 28
I/Alfons: LOADED Font: Noto Naskh Arabic Regular size: 28
I/Alfons: LOADED Font: Noto Sans Ethiopic Regular size: 28
I/Alfons: LOADED Font: Noto Sans Hebrew Regular size: 28
I/Alfons: LOADED Font: Noto Sans Thai Regular size: 28
I/Alfons: LOADED Font: Noto Sans Armenian Regular size: 28
I/Alfons: LOADED Font: Noto Sans Georgian Regular size: 28
I/Alfons: LOADED Font: Noto Sans Devanagari Regular size: 28
I/Alfons: LOADED Font: Noto Sans Gujarati Regular size: 28
I/Alfons: LOADED Font: Noto Sans Gurmukhi Regular size: 28
I/Alfons: LOADED Font: Noto Sans Tamil Regular size: 28
I/Alfons: LOADED Font: Noto Sans Malayalam Regular size: 28
I/Alfons: LOADED Font: Noto Sans Bengali Regular size: 28
I/Alfons: LOADED Font: Noto Sans Telugu Regular size: 28
I/Alfons: LOADED Font: Noto Sans Kannada Regular size: 28
E/Alfons: Missing font: error: 1 /system/fonts/NotoSansSinhala-Regular.ttf
I/Alfons: LOADED Font: Noto Sans Regular size: 28
I/Alfons: LOADED Font: Noto Sans Lao Regular size: 28
I/Alfons: LOADED Font: Noto Sans Myanmar Regular size: 28
E/Alfons: Missing font: error: 1 /system/fonts/NotoSansThaana-Regular.ttf
E/Alfons: Missing font: error: 1 /system/fonts/NotoSansCham-Regular.ttf
E/Alfons: Missing font: error: 1 /system/fonts/NotoSansBalinese-Regular.ttf
E/Alfons: Missing font: error: 1 /system/fonts/NotoSansBatak-Regular.ttf
E/Alfons: Missing font: error: 1 /system/fonts/NotoSansBuginese-Regular.ttf
E/Alfons: Missing font: error: 1 /system/fonts/NotoSansBuhid-Regular.ttf
E/Alfons: Missing font: error: 1 /system/fonts/NotoSansCanadianAboriginal-Regular.ttf
E/Alfons: Missing font: error: 1 /system/fonts/NotoSansCherokee-Regular.ttf
E/Alfons: Missing font: error: 1 /system/fonts/NotoSansCoptic-Regular.ttf
E/Alfons: Missing font: error: 1 /system/fonts/NotoSansGlagolitic-Regular.ttf
E/Alfons: Missing font: error: 1 /system/fonts/NotoSansHanunoo-Regular.ttf
E/Alfons: Missing font: error: 1 /system/fonts/NotoSansJavanese-Regular.ttf
E/Alfons: Missing font: error: 1 /system/fonts/NotoSansKayahLi-Regular.ttf
E/Alfons: Missing font: error: 1 /system/fonts/NotoSansLepcha-Regular.ttf
E/Alfons: Missing font: error: 1 /system/fonts/NotoSansLimbu-Regular.ttf
E/Alfons: Missing font: error: 1 /system/fonts/NotoSansMeeteiMayek-Regular.ttf
E/Alfons: Missing font: error: 1 /system/fonts/NotoSansOlChiki-Regular.ttf
E/Alfons: Missing font: error: 1 /system/fonts/NotoSansRejang-Regular.ttf
E/Alfons: Missing font: error: 1 /system/fonts/NotoSansSaurashtra-Regular.ttf
E/Alfons: Missing font: error: 1 /system/fonts/NotoSansSundanese-Regular.ttf
E/Alfons: Missing font: error: 1 /system/fonts/NotoSansSylotiNagri-Regular.ttf
E/Alfons: Missing font: error: 1 /system/fonts/NotoSansTagbanwa-Regular.ttf
E/Alfons: Missing font: error: 1 /system/fonts/NotoSansTaiTham-Regular.ttf
E/Alfons: Missing font: error: 1 /system/fonts/NotoSansTaiViet-Regular.ttf
E/Alfons: Missing font: error: 1 /system/fonts/NotoSansTifinagh-Regular.ttf
E/Alfons: Missing font: error: 1 /system/fonts/NotoSansYi-Regular.ttf
E/Alfons: Missing font: error: 1 /system/fonts/Lohit-Odia.ttf
E/Alfons: Missing font: error: 1 /system/fonts/NotoSansHans-Regular.otf
E/Alfons: Missing font: error: 1 /system/fonts/NotoSansHant-Regular.otf
E/Alfons: Missing font: error: 1 /system/fonts/NotoSansJP-Regular.otf
E/Alfons: Missing font: error: 1 /system/fonts/NotoSansKR-Regular.otf
I/Alfons: LOADED Font: NanumGothic Regular size: 28
I/Alfons: LOADED Font: Noto Sans Symbols Regular size: 28
E/Alfons: Font is broken or irrelevant...
I/Alfons: LOADED Font: Noto Color Emoji Regular size: 28
I/Alfons: LOADED Font: Droid Sans Fallback Regular size: 28
I/Alfons: LOADED Font: MotoyaLMaru W3 mono size: 28
E/Alfons: Missing font: error: 1 /system/fonts/NotoSansTaiLe-Regular.ttf
I/Alfons: LOADED Font: SoMC Sans Regular Regular size: 40
I/Alfons: LOADED Font: SoMC Sans Regular Regular size: 40
I/Alfons: LOADED Font: DFGothicPW5-BIG5HK-SONY Regular size: 40
I/Alfons: LOADED Font: Noto Naskh Arabic Regular size: 40
I/Alfons: LOADED Font: Noto Sans Ethiopic Regular size: 40
I/Alfons: LOADED Font: Noto Sans Hebrew Regular size: 40
I/Alfons: LOADED Font: Noto Sans Thai Regular size: 40
I/Alfons: LOADED Font: Noto Sans Armenian Regular size: 40
I/Alfons: LOADED Font: Noto Sans Georgian Regular size: 40
I/Alfons: LOADED Font: Noto Sans Devanagari Regular size: 40
I/Alfons: LOADED Font: Noto Sans Gujarati Regular size: 40
I/Alfons: LOADED Font: Noto Sans Gurmukhi Regular size: 40
I/Alfons: LOADED Font: Noto Sans Tamil Regular size: 40
I/Alfons: LOADED Font: Noto Sans Malayalam Regular size: 40
I/Alfons: LOADED Font: Noto Sans Bengali Regular size: 40
I/Alfons: LOADED Font: Noto Sans Telugu Regular size: 40
I/Alfons: LOADED Font: Noto Sans Kannada Regular size: 40
E/Alfons: Missing font: error: 1 /system/fonts/NotoSansSinhala-Regular.ttf
I/Alfons: LOADED Font: Noto Sans Regular size: 40
I/Alfons: LOADED Font: Noto Sans Lao Regular size: 40
I/Alfons: LOADED Font: Noto Sans Myanmar Regular size: 40
E/Alfons: Missing font: error: 1 /system/fonts/NotoSansThaana-Regular.ttf
E/Alfons: Missing font: error: 1 /system/fonts/NotoSansCham-Regular.ttf
E/Alfons: Missing font: error: 1 /system/fonts/NotoSansBalinese-Regular.ttf
E/Alfons: Missing font: error: 1 /system/fonts/NotoSansBatak-Regular.ttf
E/Alfons: Missing font: error: 1 /system/fonts/NotoSansBuginese-Regular.ttf
E/Alfons: Missing font: error: 1 /system/fonts/NotoSansBuhid-Regular.ttf
E/Alfons: Missing font: error: 1 /system/fonts/NotoSansCanadianAboriginal-Regular.ttf
E/Alfons: Missing font: error: 1 /system/fonts/NotoSansCherokee-Regular.ttf
E/Alfons: Missing font: error: 1 /system/fonts/NotoSansCoptic-Regular.ttf
E/Alfons: Missing font: error: 1 /system/fonts/NotoSansGlagolitic-Regular.ttf
E/Alfons: Missing font: error: 1 /system/fonts/NotoSansHanunoo-Regular.ttf
E/Alfons: Missing font: error: 1 /system/fonts/NotoSansJavanese-Regular.ttf
E/Alfons: Missing font: error: 1 /system/fonts/NotoSansKayahLi-Regular.ttf
E/Alfons: Missing font: error: 1 /system/fonts/NotoSansLepcha-Regular.ttf
E/Alfons: Missing font: error: 1 /system/fonts/NotoSansLimbu-Regular.ttf
E/Alfons: Missing font: error: 1 /system/fonts/NotoSansMeeteiMayek-Regular.ttf
E/Alfons: Missing font: error: 1 /system/fonts/NotoSansOlChiki-Regular.ttf
E/Alfons: Missing font: error: 1 /system/fonts/NotoSansRejang-Regular.ttf
E/Alfons: Missing font: error: 1 /system/fonts/NotoSansSaurashtra-Regular.ttf
E/Alfons: Missing font: error: 1 /system/fonts/NotoSansSundanese-Regular.ttf
E/Alfons: Missing font: error: 1 /system/fonts/NotoSansSylotiNagri-Regular.ttf
E/Alfons: Missing font: error: 1 /system/fonts/NotoSansTagbanwa-Regular.ttf
E/Alfons: Missing font: error: 1 /system/fonts/NotoSansTaiTham-Regular.ttf
E/Alfons: Missing font: error: 1 /system/fonts/NotoSansTaiViet-Regular.ttf
E/Alfons: Missing font: error: 1 /system/fonts/NotoSansTifinagh-Regular.ttf
E/Alfons: Missing font: error: 1 /system/fonts/NotoSansYi-Regular.ttf
E/Alfons: Missing font: error: 1 /system/fonts/Lohit-Odia.ttf
E/Alfons: Missing font: error: 1 /system/fonts/NotoSansHans-Regular.otf
E/Alfons: Missing font: error: 1 /system/fonts/NotoSansHant-Regular.otf
E/Alfons: Missing font: error: 1 /system/fonts/NotoSansJP-Regular.otf
E/Alfons: Missing font: error: 1 /system/fonts/NotoSansKR-Regular.otf
I/Alfons: LOADED Font: NanumGothic Regular size: 40
I/Alfons: LOADED Font: Noto Sans Symbols Regular size: 40
E/Alfons: Font is broken or irrelevant...
I/Alfons: LOADED Font: Noto Color Emoji Regular size: 40
I/Alfons: LOADED Font: Droid Sans Fallback Regular size: 40
I/Alfons: LOADED Font: MotoyaLMaru W3 mono size: 40
E/Alfons: Missing font: error: 1 /system/fonts/NotoSansTaiLe-Regular.ttf
hjanetzek commented 7 years ago

hmm interesting. Does adb shell ls /system/fonts show any of these fonts?

Could you test if this works https://github.com/tangrams/tangram-es/pull/1404 ?

westnordost commented 7 years ago

This is the shell output:

127|u0_a258@D5503:/ $ ls /system/fonts AndroidClock.ttf AndroidClock_Highlight.ttf AndroidClock_Solid.ttf CarroisGothicSC-Regular.ttf Clockopia.ttf ComingSoon.ttf CutiveMono.ttf DancingScript-Bold.ttf DancingScript-Regular.ttf DroidSans-Bold.ttf DroidSans.ttf DroidSansFallback.ttf DroidSansMono.ttf MTLmr3m.ttf NanumGothic.ttf NotoColorEmoji.ttf NotoNaskh-Bold.ttf NotoNaskh-Regular.ttf NotoNaskhUI-Bold.ttf NotoNaskhUI-Regular.ttf NotoSansArmenian-Bold.ttf NotoSansArmenian-Regular.ttf NotoSansBengali-Bold.ttf NotoSansBengali-Regular.ttf NotoSansBengaliUI-Bold.ttf NotoSansBengaliUI-Regular.ttf NotoSansDevanagari-Bold.ttf NotoSansDevanagari-Regular.ttf NotoSansDevanagariUI-Bold.ttf NotoSansDevanagariUI-Regular.ttf NotoSansEthiopic-Bold.ttf NotoSansEthiopic-Regular.ttf NotoSansGeorgian-Bold.ttf NotoSansGeorgian-Regular.ttf NotoSansGujarati-Bold.ttf NotoSansGujarati-Regular.ttf NotoSansGujaratiUI-Bold.ttf NotoSansGujaratiUI-Regular.ttf NotoSansGurmukhi-Bold.ttf NotoSansGurmukhi-Regular.ttf NotoSansGurmukhiUI-Bold.ttf NotoSansGurmukhiUI-Regular.ttf NotoSansHebrew-Bold.ttf NotoSansHebrew-Regular.ttf NotoSansKannada-Bold.ttf NotoSansKannada-Regular.ttf NotoSansKannadaUI-Bold.ttf NotoSansKannadaUI-Regular.ttf NotoSansKhmer-Bold.ttf NotoSansKhmer-Regular.ttf NotoSansKhmerUI-Bold.ttf NotoSansKhmerUI-Regular.ttf NotoSansLao-Bold.ttf NotoSansLao-Regular.ttf NotoSansLaoUI-Bold.ttf NotoSansLaoUI-Regular.ttf NotoSansMalayalam-Bold.ttf NotoSansMalayalam-Regular.ttf NotoSansMalayalamUI-Bold.ttf NotoSansMalayalamUI-Regular.ttf NotoSansMyanmar-Bold.ttf NotoSansMyanmar-Regular.ttf NotoSansMyanmarUI-Bold.ttf NotoSansMyanmarUI-Regular.ttf NotoSansSymbols-Regular-Subsetted.ttf NotoSansTamil-Bold.ttf NotoSansTamil-Regular.ttf NotoSansTamilUI-Bold.ttf NotoSansTamilUI-Regular.ttf NotoSansTelugu-Bold.ttf NotoSansTelugu-Regular.ttf NotoSansTeluguUI-Bold.ttf NotoSansTeluguUI-Regular.ttf NotoSansThai-Bold.ttf NotoSansThai-Regular.ttf NotoSansThaiUI-Bold.ttf NotoSansThaiUI-Regular.ttf NotoSerif-Bold.ttf NotoSerif-BoldItalic.ttf NotoSerif-Italic.ttf NotoSerif-Regular.ttf Roboto-Black.ttf Roboto-BlackItalic.ttf Roboto-Bold.ttf Roboto-BoldItalic.ttf Roboto-Italic.ttf Roboto-Light.ttf Roboto-LightItalic.ttf Roboto-Medium.ttf Roboto-MediumItalic.ttf Roboto-Regular.ttf Roboto-Thin.ttf Roboto-ThinItalic.ttf RobotoCondensed-Bold.ttf RobotoCondensed-BoldItalic.ttf RobotoCondensed-Italic.ttf RobotoCondensed-Light.ttf RobotoCondensed-LightItalic.ttf RobotoCondensed-Regular.ttf SST-UltraLight.ttf SoMC-HKSCS-Fallback.ttf SoMCSans-Regular.ttf SomcUDGothic-Regular.ttf

Am 28. März 2017 02:27:36 MESZ schrieb Hannes Janetzek notifications@github.com:

hmm interesting. Does adb shell ls /system/fonts show any of these fonts?

Could you test if this works https://github.com/tangrams/tangram-es/pull/1404 ?

-- You are receiving this because you were mentioned. Reply to this email directly or view it on GitHub: https://github.com/tangrams/tangram-es/issues/1403#issuecomment-289625799

-- Diese Nachricht wurde von meinem Android-Mobiltelefon mit K-9 Mail gesendet.

hjanetzek commented 7 years ago

Oh, there was a bug that the system default font may not be added to the set of fallback fonts.

It should be fixed by https://github.com/tangrams/tangram-es/pull/1406

westnordost commented 7 years ago

I got another feedback for my app who got this problem with the map rendering result. Is this the same problem?:

screenshot_2017-03-29-15-05-15-203_de westnordost streetcomplete

He said:

Hi, I want to use this app but the street labels text is all jumbled up. This was a fresh install, I haven't changed any settings. Phone is Redmi Note 4, android 6.0.1

tallytalwar commented 7 years ago

Hi @westnordost

That could be because of the same issue. However can you give 0.6.0 release a shot? @hjanetzek 's fix went in the release.

westnordost commented 7 years ago

Yes, it's fixed with 0.6.0. Can be closed, thank you!

Am 7. April 2017 10:06:19 MESZ schrieb Varun notifications@github.com:

Hi @westnordost

That could be because of the same issue. However can you give 0.6.0 release a shot? @hjanetzek 's fix went in the release.

-- You are receiving this because you were mentioned. Reply to this email directly or view it on GitHub: https://github.com/tangrams/tangram-es/issues/1403#issuecomment-292470401

-- Diese Nachricht wurde von meinem Android-Mobiltelefon mit K-9 Mail gesendet.

tallytalwar commented 7 years ago

Awesome good to know.