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);
        }
    }
Exemple #2
0
    /// <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);
    }
Exemple #3
0
    /// <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);
    }
Exemple #4
0
    /// <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);
    }