private static void OnLanguageChange(LocalizedContentManager.LanguageCode code) { if (SpriteText._characterMap != null) { SpriteText._characterMap.Clear(); } else { SpriteText._characterMap = new Dictionary <char, FontChar>(); } if (SpriteText.fontPages != null) { SpriteText.fontPages.Clear(); } else { SpriteText.fontPages = new List <Texture2D>(); } switch (code) { case LocalizedContentManager.LanguageCode.ja: SpriteText.FontFile = SpriteText.loadFont("Fonts\\Japanese"); SpriteText.fontPixelZoom = 1.75f; break; case LocalizedContentManager.LanguageCode.ru: SpriteText.FontFile = SpriteText.loadFont("Fonts\\Russian"); SpriteText.fontPixelZoom = 3f; break; case LocalizedContentManager.LanguageCode.zh: SpriteText.FontFile = SpriteText.loadFont("Fonts\\Chinese"); SpriteText.fontPixelZoom = 1.5f; break; case LocalizedContentManager.LanguageCode.th: SpriteText.FontFile = SpriteText.loadFont("Fonts\\Thai"); SpriteText.fontPixelZoom = 1.5f; break; } foreach (FontChar current in SpriteText.FontFile.Chars) { char key = (char)current.ID; SpriteText._characterMap.Add(key, current); } foreach (FontPage current2 in SpriteText.FontFile.Pages) { SpriteText.fontPages.Add(Game1.content.Load <Texture2D>("Fonts\\" + current2.File)); } }
private static void setUpCharacterMap() { if (!LocalizedContentManager.CurrentLanguageLatin && SpriteText._characterMap == null) { SpriteText._characterMap = new Dictionary <char, FontChar>(); SpriteText.fontPages = new List <Texture2D>(); switch (LocalizedContentManager.CurrentLanguageCode) { case LocalizedContentManager.LanguageCode.ja: SpriteText.FontFile = SpriteText.loadFont("Fonts\\Japanese"); SpriteText.fontPixelZoom = 1.75f; break; case LocalizedContentManager.LanguageCode.ru: SpriteText.FontFile = SpriteText.loadFont("Fonts\\Russian"); SpriteText.fontPixelZoom = 3f; break; case LocalizedContentManager.LanguageCode.zh: SpriteText.FontFile = SpriteText.loadFont("Fonts\\Chinese"); SpriteText.fontPixelZoom = 1.5f; break; case LocalizedContentManager.LanguageCode.th: SpriteText.FontFile = SpriteText.loadFont("Fonts\\Thai"); SpriteText.fontPixelZoom = 1.5f; break; } foreach (FontChar fontChar in SpriteText.FontFile.Chars) { char id = (char)fontChar.ID; SpriteText._characterMap.Add(id, fontChar); } foreach (FontPage page in SpriteText.FontFile.Pages) { SpriteText.fontPages.Add(Game1.content.Load <Texture2D>("Fonts\\" + page.File)); } LocalizedContentManager.OnLanguageChange += new LocalizedContentManager.LanguageChangedHandler(SpriteText.OnLanguageChange); } else { if (!LocalizedContentManager.CurrentLanguageLatin || (double)SpriteText.fontPixelZoom >= 3.0) { return; } SpriteText.fontPixelZoom = 3f; } }