diff --git a/core/src/com/unciv/ui/utils/Fonts.kt b/core/src/com/unciv/ui/utils/Fonts.kt index 21e46e86bd..538ba1ed1b 100644 --- a/core/src/com/unciv/ui/utils/Fonts.kt +++ b/core/src/com/unciv/ui/utils/Fonts.kt @@ -10,7 +10,7 @@ object Fonts { private val characterSetCache = HashMap() private val fontCache = HashMap() - private fun getCharactersForFont(language:String=""): String { + private fun getCharactersForFont(language: String = ""): String { if (characterSetCache.containsKey(language)) return characterSetCache[language]!! val startTime = System.currentTimeMillis() @@ -22,17 +22,18 @@ object Fonts { // Note that " (normal double quotes) and _ (underscore) _are_ such invisible characters. val defaultText = "AÀÁÀÄĂÂEÈÉÊĚÉÈIÌÍÏÍÎOÒÓÖÔÓÖƠUÙÚÜƯŮÚÜ" + // Latin uppercase vowels and similar symbols - "aäàâăäâąáeéèêęěèiìîìíoòöôöơóuùüưůûú" + // Latin lowercase vowels and similar symbols - "BCČĆDĐĎFGHJKLŁĹĽMNPQRŘŔSŠŚTŤVWXYÝZŽŻŹ" + // Latin uppercase consonants and similar symbols - "bcčćçdđďfghjklłĺľmnńňñpqrřŕsșšśtțťvwxyýzžżź" + // Latin lowercase consonants and similar symbols - "АБВГҐДЂЕЁЄЖЗЅИІЇЙЈКЛЉМНЊОПРСТЋУЎФХЦЧЏШЩЪЫЬЭЮЯабвгґдђеёєжзѕиіїйјклљмнњопрстћуўфхцчџшщъыьэюя" + // Russian - "ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩαβγδεζηθικλμνξοπρστυφχψωάßΆέΈέΉίϊΐΊόΌύΰϋΎΫΏ" + // Greek - "กขฃคฅฆงจฉชซฌญฎฏฐฑฒณดตถทธนบปผฝพฟภมยรฤลฦวศษสหฬอฮฯะัาำิีึืฺุู฿เแโใไๅๆ็่้๊๋์ํ๎๏๐๑๒๓๔๕๖๗๘๙๚๛" + // Thai - "İıÇŞşĞğ"+ // Turkish - "øæå" + // Scandinavian - "ÃÕãõ" + // Portuguese - "1234567890" + - "‘?ʼ’'“!”(%)[#]{@}/&\\<-+÷×=>®©\$€£¥¢:;,.…¡*|«»—∞✘✔" + "aäàâăäâąáeéèêęěèiìîìíoòöôöơóuùüưůûú" + // Latin lowercase vowels and similar symbols + "BCČĆDĐĎFGHJKLŁĹĽMNPQRŘŔSŠŚTŤVWXYÝZŽŻŹ" + // Latin uppercase consonants and similar symbols + "bcčćçdđďfghjklłĺľmnńňñpqrřŕsșšśtțťvwxyýzžżź" + // Latin lowercase consonants and similar symbols + "АБВГҐДЂЕЁЄЖЗЅИІЇЙЈКЛЉМНЊОПРСТЋУЎФХЦЧЏШЩЪЫЬЭЮЯабвгґдђеёєжзѕиіїйјклљмнњопрстћуўфхцчџшщъыьэюя" + // Russian + "ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩαβγδεζηθικλμνξοπρστυφχψωάßΆέΈέΉίϊΐΊόΌύΰϋΎΫΏ" + // Greek + "กขฃคฅฆงจฉชซฌญฎฏฐฑฒณดตถทธนบปผฝพฟภมยรฤลฦวศษสหฬอฮฯะัาำิีึืฺุู฿เแโใไๅๆ็่้๊๋์ํ๎๏๐๑๒๓๔๕๖๗๘๙๚๛" + // Thai + "İıÇŞşĞğ" + // Turkish + "øæå" + // Scandinavian + "ÃÕãõ" + // Portuguese + "şţșț" + // Romanian + "1234567890" + + "‘?ʼ’'“!”(%)[#]{@}/&\\<-+÷×=>®©\$€£¥¢:;,.…¡*|«»—∞✘✔" val charSet = HashSet() charSet.addAll(defaultText.asIterable()) @@ -44,29 +45,29 @@ object Fonts { } } val characterSetString = charSet.joinToString("") - characterSetCache[language]=characterSetString + characterSetCache[language] = characterSetString val totalTime = System.currentTimeMillis() - startTime - println("Loading characters for font - "+totalTime+"ms") + println("Loading characters for font - " + totalTime + "ms") return characterSetString } - fun getFont(size: Int): BitmapFont { - val language = UncivGame.Current.settings.language - val fontForLanguage ="Nativefont" - val isUniqueFont = language.contains("Chinese") || language == "Korean" || language=="Japanese" - val keyForFont = if(!isUniqueFont) "$fontForLanguage $size" else "$fontForLanguage $size $language" - if (fontCache.containsKey(keyForFont)) return fontCache[keyForFont]!! + fun getFont(size: Int): BitmapFont { + val language = UncivGame.Current.settings.language + val fontForLanguage = "Nativefont" + val isUniqueFont = language.contains("Chinese") || language == "Korean" || language == "Japanese" + val keyForFont = if (!isUniqueFont) "$fontForLanguage $size" else "$fontForLanguage $size $language" + if (fontCache.containsKey(keyForFont)) return fontCache[keyForFont]!! - val font=NativeFont(NativeFontPaint(size)) - val charsForFont = getCharactersForFont(if(isUniqueFont) language else "") + val font = NativeFont(NativeFontPaint(size)) + val charsForFont = getCharactersForFont(if (isUniqueFont) language else "") - font.appendText(charsForFont) + font.appendText(charsForFont) - fontCache[keyForFont] = font - return font - } + fontCache[keyForFont] = font + return font + } }