Exemple #1
0
        private static IEnumerable <CharacterRegion> CreateCharacterRegionsFromSourceFile(FontGenerationParameters parameters)
        {
            var culture   = parameters.SourceCulture ?? CultureInfo.CurrentCulture.ToString();
            var files     = parameters.SourceFile.Split(',');
            var filesText = new StringBuilder();

            foreach (var file in files)
            {
                try
                {
                    var ext = Path.GetExtension(file)?.ToLowerInvariant();
                    if (ext == ".xml" || ext == ".json")
                    {
                        var db = new LocalizationDatabase();
                        db.LoadFromFile(file);

                        Console.Write("Reading source file '{0}'... ", Path.GetFileName(file));
                        var count = 0;

                        foreach (var lstring in db.EnumerateCultureStrings(culture))
                        {
                            foreach (var variant in lstring.Value)
                            {
                                filesText.Append(variant.Value);
                                count++;
                            }
                        }
                        Console.WriteLine("(found {0} string variants)", count);
                    }
                    else
                    {
                        Console.WriteLine("Reading source file '{0}'...", Path.GetFileName(file));
                        filesText.Append(File.ReadAllText(file));
                    }
                }
                catch (FileNotFoundException)
                {
                    Console.WriteLine("Unable to read file '{0}'.", file);
                }
                catch (DirectoryNotFoundException)
                {
                    Console.WriteLine("Unable to read file '{0}'.", file);
                }
            }

            filesText.Append(parameters.SubstitutionCharacter);
            return(CharacterRegion.CreateFromSourceText(filesText.ToString()));
        }
Exemple #2
0
 private static IEnumerable <CharacterRegion> CreateCharacterRegionsFromSourceText(FontGenerationParameters parameters)
 {
     return(CharacterRegion.CreateFromSourceText(parameters.SourceText + parameters.SubstitutionCharacter.ToString()));
 }