diff --git a/src/plugins/i18n.ts b/src/plugins/i18n.ts index 56b6b907625..17929b48b98 100644 --- a/src/plugins/i18n.ts +++ b/src/plugins/i18n.ts @@ -71,15 +71,14 @@ const alternativeFonts = { } function loadFont(language: string) { - Object.keys(alternativeFonts).forEach(l => { - if (language == l) { - alternativeFonts[l].forEach(f=> { document.fonts.add(f); }); - } - else { - alternativeFonts[l].forEach(f=> { - if (f && f.status == "loaded") { document.fonts.delete(f); } - }); - } + let altFontLanguages = Object.keys(alternativeFonts); + if (!alternativeFonts[language]) { language = language.split(/[-_/]/)[0]; } + if (alternativeFonts[language]) { + alternativeFonts[language].forEach(f => { document.fonts.add(f); }); + altFontLanguages.splice(altFontLanguages.indexOf(language), 0); + } + altFontLanguages.forEach(f=> { + if (f && f.status == "loaded") { document.fonts.delete(f); } }); }