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())); }
private static IEnumerable <CharacterRegion> CreateCharacterRegionsFromSourceText(FontGenerationParameters parameters) { return(CharacterRegion.CreateFromSourceText(parameters.SourceText + parameters.SubstitutionCharacter.ToString())); }