From 01bbf3ef6642acbaa3e7f4a3c58e44dd7c7507e3 Mon Sep 17 00:00:00 2001 From: Roy Cornelissen Date: Wed, 13 Jan 2021 15:17:08 +0100 Subject: [PATCH 1/2] Support non ascii letters --- .../Meerkat.NameParser.Test.csproj | 10 +++++----- .../Party/Naming/PersonNameTest.cs | 6 ++++++ code/Meerkat.NameParser/Meerkat.NameParser.csproj | 8 ++++---- code/Meerkat.NameParser/Tools/LexExtensions.cs | 6 ++++-- 4 files changed, 19 insertions(+), 11 deletions(-) diff --git a/code/Meerkat.NameParser.Test/Meerkat.NameParser.Test.csproj b/code/Meerkat.NameParser.Test/Meerkat.NameParser.Test.csproj index 5fddb10..9c947c5 100644 --- a/code/Meerkat.NameParser.Test/Meerkat.NameParser.Test.csproj +++ b/code/Meerkat.NameParser.Test/Meerkat.NameParser.Test.csproj @@ -1,15 +1,15 @@ - + - net471 + net50 Meerkat.Test false $(SolutionDir)/build/$(Configuration)/$(AssemblyName)/$(TargetFramework)/ $(OutputPath) - - - + + + diff --git a/code/Meerkat.NameParser.Test/Party/Naming/PersonNameTest.cs b/code/Meerkat.NameParser.Test/Party/Naming/PersonNameTest.cs index 9fb4259..e53eed5 100644 --- a/code/Meerkat.NameParser.Test/Party/Naming/PersonNameTest.cs +++ b/code/Meerkat.NameParser.Test/Party/Naming/PersonNameTest.cs @@ -283,6 +283,12 @@ public void ForenameTitleII() ParseName("Richard The Lionheart", envelope: "Richard The Lionheart", title: "The Lionheart", forename: "Richard"); } + [Test] + public void NonAsciiCharacters() + { + ParseName("Øivænd Håøy", envelope: "Øivænd Håøy", forename: "Øivænd", surname: "Håøy"); + } + private void ParseName(string value, string format = "", string envelope = "", string title = "", string forename = "", string prefix = "", string surname = "", string suffix = "") { var parser = format == "STF" ? ParserFactory.StandardPersonParser(true) : ParserFactory.StandardPersonParser(); diff --git a/code/Meerkat.NameParser/Meerkat.NameParser.csproj b/code/Meerkat.NameParser/Meerkat.NameParser.csproj index 854c435..8c75887 100644 --- a/code/Meerkat.NameParser/Meerkat.NameParser.csproj +++ b/code/Meerkat.NameParser/Meerkat.NameParser.csproj @@ -1,4 +1,4 @@ - + net452;net462;net471;net472;netstandard20 false @@ -19,9 +19,9 @@ $(OutputPath) - - - + + + TRACE;DEBUG diff --git a/code/Meerkat.NameParser/Tools/LexExtensions.cs b/code/Meerkat.NameParser/Tools/LexExtensions.cs index 0799614..ed05b0d 100644 --- a/code/Meerkat.NameParser/Tools/LexExtensions.cs +++ b/code/Meerkat.NameParser/Tools/LexExtensions.cs @@ -1,4 +1,5 @@ -using System.Linq; +using System.Globalization; +using System.Linq; namespace Meerkat.Tools { @@ -31,7 +32,8 @@ public static bool IsDigit(this int value) public static bool IsAlpha(this int value) { - return value.InLexCharRange(LexChar.A, LexChar.Z) || value.InLexCharRange(LexChar.Alower, LexChar.Zlower); + var category = CharUnicodeInfo.GetUnicodeCategory((char)value); + return category == UnicodeCategory.LowercaseLetter || category == UnicodeCategory.UppercaseLetter; } public static bool IsAlphaNumeric(this int value) From bff5ee2fe244e7752a497c35c1473cc4aa303618 Mon Sep 17 00:00:00 2001 From: Roy Cornelissen Date: Wed, 13 Jan 2021 15:45:35 +0100 Subject: [PATCH 2/2] Revert .NET framework --- code/Meerkat.NameParser.Test/Meerkat.NameParser.Test.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/Meerkat.NameParser.Test/Meerkat.NameParser.Test.csproj b/code/Meerkat.NameParser.Test/Meerkat.NameParser.Test.csproj index 9c947c5..f84021a 100644 --- a/code/Meerkat.NameParser.Test/Meerkat.NameParser.Test.csproj +++ b/code/Meerkat.NameParser.Test/Meerkat.NameParser.Test.csproj @@ -1,6 +1,6 @@ - net50 + net471 Meerkat.Test false $(SolutionDir)/build/$(Configuration)/$(AssemblyName)/$(TargetFramework)/