public void ReadXml(string fileName) { string sheetName = "Sheet1"; Workbook workbook = Workbook.CreatWorkbook(fileName, sheetName); Sheet sheet = workbook._sheet; if (sheet == null) { Debug.LogError("Can't find " + sheetName + " in " + fileName); return; } Dictionary <string, List <LanguageTextEntry> > languages = new Dictionary <string, List <LanguageTextEntry> >(); List <string> langKeys = sheet._rows[0]._cells; for (int i = 1; i < langKeys.Count; i++) { string lang = langKeys[i]; languages.Add(lang, new List <LanguageTextEntry>()); } for (int i = 1; i < sheet._rows.Count; i++) { Row row = sheet._rows[i]; string IDS = row._cells[0]; for (int j = 1; j < row._cells.Count; j++) { LanguageTextEntry textEntry = new LanguageTextEntry(); textEntry.key = IDS; textEntry.text = row._cells[j]; string lang = row._key[j]; List <LanguageTextEntry> textEntryList = languages[lang]; textEntryList.Add(textEntry); } } for (int i = 1; i < langKeys.Count; i++) { string lang = langKeys[i]; List <LanguageTextEntry> textEntryList = languages[lang]; string path = MultiLanguageAssetPostProcessor.MULTILANGUAGE_ASSETS_FOLDER; LocalizationEditorUtils.CreateDirectoryIfNotExist(path, "Fonts", lang); // Create config file that contain key-value strings. CreateLanguageDataBase(lang, textEntryList); // Create config file that contain uv and size information. CreateLanguageDictionary(lang, textEntryList); } }
/// <summary> /// Makes the atlas. /// </summary> protected void MakeAtlas(string lang, ref LocalizationFontConfig.FontConfig config) { string filename = System.IO.Path.Combine(_toolDirectory, ToolAtlasMaker); string path = LocalizationEditorUtils.CreateDirectoryIfNotExist(_workDirectory, "Fonts", lang); config._atlasFile = System.IO.Path.Combine(path, config._fontName + ".png"); LocalizationCommand cmd = new LocalizationCommand("python"); cmd.SetRequiredParams(filename, config._imagesDir, config._atlasFile); cmd.AddOptionalParams("-p", config._padding); cmd.Execute(); _buildProgress += _buildstep; EditorUtility.DisplayCancelableProgressBar("Fonts maker", "Building...", _buildProgress); }
/// <summary> /// Creates the images. /// </summary> protected void CreateImages(string lang, ref LocalizationFontConfig.FontConfig config, string charsetFile) { string filename = System.IO.Path.Combine(_toolDirectory, ToolTTF2Images); LocalizationCommand cmd = new LocalizationCommand(filename); config._imagesDir = LocalizationEditorUtils.CreateDirectoryIfNotExist(_toolDirectory, "Temp", lang, config._fontName); config._font_info = System.IO.Path.Combine(config._imagesDir, "font_info.txt"); cmd.SetRequiredParams(config._ttfFile, config._fontSize, config._imagesDir); cmd.AddOptionalParams("-p", config._border); cmd.AddOptionalParams("-C", charsetFile); cmd.Execute(); _buildProgress += _buildstep; EditorUtility.DisplayCancelableProgressBar("Fonts maker", "Building...", _buildProgress); }
/// <summary> /// Generates the fnt. /// </summary> protected void GenerateFnt(string lang, ref LocalizationFontConfig.FontConfig config) { string filename = System.IO.Path.Combine(_toolDirectory, ToolFntMaker); string path = LocalizationEditorUtils.CreateDirectoryIfNotExist(_workDirectory, "Fonts", lang); string fntFile = System.IO.Path.Combine(path, config._fontName + ".fnt"); string txfFile = System.IO.Path.Combine(path, config._fontName + ".txt"); path = System.IO.Path.Combine(path, config._fontName + ".config"); LocalizationCommand cmd = new LocalizationCommand("python"); cmd.SetRequiredParams(filename, path, config._atlasFile, config._font_info); cmd.Execute(); // Rename *.fnt to *.txt System.IO.File.Delete(txfFile); System.IO.File.Move(fntFile, txfFile); _buildProgress += _buildstep; EditorUtility.DisplayCancelableProgressBar("Fonts maker", "Building...", _buildProgress); }