GUI: Fonts not found with buit-in theme
|Reported by:||criezy||Owned by:||criezy|
To support translations in non latin1 encoding (e.g. Russian and Ukrainian translations), fonts for these encoding need to be available. They are currently part of the Themes. However there is a problem with the built-in classic theme for which only latin1 (ISO-8859-1) translations currently work. The other translations show garbage because the fonts are not found.
I am not sure how to fix this problem. I can see several solutions:
1) The ISO-8859-5 fonts could be added to the built-in fonts. However if I understood correctly the code, these fonts are included as static variables in the code and this would have an overhead in the size of the executable and memory used. Would that work with small devices or would that overhead be too big? Also translations using different encoding might be added in the future, which would add even more fonts.
2) Only list and accept translations that use latin1 encoding when using the built-in classic theme. But the theme can be changed by the user without rebooting while the change of translation currently require rebooting. So I don't know how we could handle the switch from external theme + Russian (or Ukrainian) translation to built-in theme.
3) Currently the ThemeEngine throw a warning an fall back on the ISO-8859-1 fonts when it cannot find the ISO-8859-5 fonts (thus the garbage). Maybe it should instead tell the TranslationManager to fallback to english.
I am marking it as a blocking bug for the release because of the potential following issue: on devices where only the built-in classic theme is available (I understood it is the case for Symbian) and the system locale is Russian or Ukrainian, ScummVM starts with the corresponding translation by defaults but cannot find the fonts. As a result the GUI show garbage text and it is very difficult to find the option to explicitly select another language.
Ticket imported from: #3075649. Ticket imported from: bugs/5388.