Skip to content

Commit f0db58a

Browse files
committed
Since JL now allows looking up expressions with whitespace, let's create entries that preserve whitespace in character names
Fix the encoding issue when getting user input through the console
1 parent 6aa816b commit f0db58a

1 file changed

Lines changed: 21 additions & 6 deletions

File tree

VndbCharacterNames/Program.cs

Lines changed: 21 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
using System.Text;
12
using System.Text.Json;
23
using System.Text.Json.Nodes;
34

@@ -7,6 +8,9 @@ file static class Program
78
{
89
public static void Main(string[] args)
910
{
11+
Console.InputEncoding = Encoding.Unicode;
12+
Console.OutputEncoding = Encoding.Unicode;
13+
1014
string? outputFilePath = null;
1115
List<string>? jsonFiles = null;
1216

@@ -237,17 +241,22 @@ private static void ProcessFullNames(Dictionary<NameRecord, List<string>> nameTy
237241
List<(NameRecord surnameRecord, NameRecord givenNameRecord)>? surnameAndNameRecords = GetSurnameAndNameRecords(fullName, fullNameInRomaji);
238242
bool oneWordName = surnameAndNameRecords is null;
239243

240-
string fullNameWithoutAnyWhiteSpace = oneWordName ? fullName : string.Join("", fullName.Split());
241244
if (sex is not null)
242245
{
243-
nameTypesDict.AddIfNotExists(new NameRecord(fullNameWithoutAnyWhiteSpace, fullNameInRomaji), sex);
246+
nameTypesDict.AddIfNotExists(new NameRecord(fullName, fullNameInRomaji), sex);
244247
}
245248

246249
bool addDefinitionAndSex = shouldAddDefinition && (addDefinitionToOneWordNames || !oneWordName);
247-
_ = convertedRecords.Add(new ConvertedNameRecord(fullNameWithoutAnyWhiteSpace, fullNameInRomaji, addDefinitionAndSex ? sex : null, addDefinitionAndSex ? definition : null));
250+
_ = convertedRecords.Add(new ConvertedNameRecord(fullName, fullNameInRomaji, addDefinitionAndSex ? sex : null, addDefinitionAndSex ? definition : null));
248251

249252
if (!oneWordName)
250253
{
254+
string fullNameWithoutAnyWhiteSpace = string.Join("", fullName.Split());
255+
if (fullNameWithoutAnyWhiteSpace != fullName)
256+
{
257+
_ = convertedRecords.Add(new ConvertedNameRecord(fullNameWithoutAnyWhiteSpace, fullNameInRomaji, addDefinitionAndSex ? sex : null, addDefinitionAndSex ? definition : null));
258+
}
259+
251260
foreach ((NameRecord surnameRecord, NameRecord givenNameRecord) in surnameAndNameRecords!)
252261
{
253262
nameTypesDict.AddIfNotExists(surnameRecord, Utils.SurnameNameType);
@@ -288,16 +297,22 @@ private static void ProcessAlias(Dictionary<NameRecord, List<string>> nameTypesD
288297
List<(NameRecord surnameRecord, NameRecord givenNameRecord)>? aliasSurnameAndNameRecords = GetSurnameAndNameRecords(aliasRecord.Name, aliasRecord.NameInRomaji);
289298
bool oneWordName = aliasSurnameAndNameRecords is null;
290299

291-
string fullAliasWithoutAnyWhiteSpace = oneWordName ? aliasRecord.Name : string.Join("", aliasRecord.Name.Split());
292300
if (sex is not null)
293301
{
294-
nameTypesDict.AddIfNotExists(new NameRecord(fullAliasWithoutAnyWhiteSpace, aliasRecord.NameInRomaji), sex);
302+
nameTypesDict.AddIfNotExists(new NameRecord(aliasRecord.Name, aliasRecord.NameInRomaji), sex);
295303
}
296304

297305
bool addDefinitionAndSex = shouldAddDefinition && (addDefinitionToOneWordNames || !oneWordName);
298-
_ = convertedRecords.Add(new ConvertedNameRecord(fullAliasWithoutAnyWhiteSpace, aliasRecord.NameInRomaji, addDefinitionAndSex ? sex : null, addDefinitionAndSex ? definition : null));
306+
_ = convertedRecords.Add(new ConvertedNameRecord(aliasRecord.Name, aliasRecord.NameInRomaji, addDefinitionAndSex ? sex : null, addDefinitionAndSex ? definition : null));
307+
299308
if (!oneWordName)
300309
{
310+
string fullAliasWithoutAnyWhiteSpace = string.Join("", aliasRecord.Name.Split());
311+
if (fullAliasWithoutAnyWhiteSpace != aliasRecord.Name)
312+
{
313+
_ = convertedRecords.Add(new ConvertedNameRecord(fullAliasWithoutAnyWhiteSpace, aliasRecord.NameInRomaji, addDefinitionAndSex ? sex : null, addDefinitionAndSex ? definition : null));
314+
}
315+
301316
for (int i = 0; i < aliasSurnameAndNameRecords!.Count; i++)
302317
{
303318
(NameRecord aliasSurnameRecord, NameRecord aliasGivenNameRecord) = aliasSurnameAndNameRecords[i];

0 commit comments

Comments
 (0)