Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -51,5 +51,6 @@ This should be done automatically by dependency-flow, so in theory there shouldn
$ ./dotnet.sh run --project src/native/minipal/UnicodeDataGenerator /tmp/UnicodeData.txt > src/native/minipal/unicodedata.c
```
5. Update the Regex casing equivalence table using the UnicodeData.txt file from the new Unicode version. You can find the instructions on how to do this [here](../../../System.Text.RegularExpressions/tools/Readme.md).
6. Finally, last step is to update the license for the Unicode data into our [Third party notices](../../../../../THIRD-PARTY-NOTICES.TXT) by copying the contents located in `https://www.unicode.org/license.html` to the section that has the Unicode license in our notices.
7. That's it, now commit all of the changed files, and send a PR into dotnet/runtime with the updates. If there were any special things you had to do that are not noted on this document, PLEASE UPDATE THESE INSTRUCTIONS to facilitate future updates.
6. Update the Regex named blocks using the Blocks.txt file from the new Unicode version. Run the GenRegexNamedBlocks tool located at `src/libraries/System.Text.RegularExpressions/tools/GenRegexNamedBlocks` following the instructions in its [README.md](../../../System.Text.RegularExpressions/tools/GenRegexNamedBlocks/README.md).
7. Finally, last step is to update the license for the Unicode data into our [Third party notices](../../../../../THIRD-PARTY-NOTICES.TXT) by copying the contents located in `https://www.unicode.org/license.html` to the section that has the Unicode license in our notices.
8. That's it, now commit all of the changed files, and send a PR into dotnet/runtime with the updates. If there were any special things you had to do that are not noted on this document, PLEASE UPDATE THESE INSTRUCTIONS to facilitate future updates.
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,7 @@
<Compile Include="..\src\System\Text\RegularExpressions\RegexCaseEquivalences.cs" Link="Production\RegexCaseEquivalences.cs" />
<Compile Include="..\src\System\Text\RegularExpressions\RegexCaseBehavior.cs" Link="Production\RegexCaseBehavior.cs" />
<Compile Include="..\src\System\Text\RegularExpressions\RegexCharClass.cs" Link="Production\RegexCharClass.cs" />
<Compile Include="..\src\System\Text\RegularExpressions\RegexCharClass.Tables.cs" Link="Production\RegexCharClass.Tables.cs" />
<Compile Include="..\src\System\Text\RegularExpressions\RegexFindOptimizations.cs" Link="Production\RegexFindOptimizations.cs" />
<Compile Include="..\src\System\Text\RegularExpressions\RegexNode.cs" Link="Production\RegexNode.cs" />
<Compile Include="..\src\System\Text\RegularExpressions\RegexNodeKind.cs" Link="Production\RegexNodeKind.cs" />
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,7 @@
<Compile Include="System\Text\RegularExpressions\RegexCaseEquivalences.Data.cs" />
<Compile Include="System\Text\RegularExpressions\RegexCaseEquivalences.cs" />
<Compile Include="System\Text\RegularExpressions\RegexCharClass.cs" />
<Compile Include="System\Text\RegularExpressions\RegexCharClass.Tables.cs" />
<Compile Include="System\Text\RegularExpressions\RegexCompilationInfo.cs" />
<Compile Include="System\Text\RegularExpressions\RegexFindOptimizations.cs" />
<Compile Include="System\Text\RegularExpressions\GeneratedRegexAttribute.cs" />
Expand Down

Large diffs are not rendered by default.

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
Expand Up @@ -245,7 +245,14 @@ public static IEnumerable<object[]> NamedBlocksInclusionsExpected_MemberData()
yield return new object[] { engine, @"\p{IsHebrew}", new[] { 0x0590, 0x05FF } };
yield return new object[] { engine, @"\p{IsArabic}", new[] { 0x0600, 0x06FF } };
yield return new object[] { engine, @"\p{IsSyriac}", new[] { 0x0700, 0x074F } };
yield return new object[] { engine, @"\p{IsArabicSupplement}", new[] { 0x0750, 0x077F } };
yield return new object[] { engine, @"\p{IsThaana}", new[] { 0x0780, 0x07BF } };
yield return new object[] { engine, @"\p{IsNKo}", new[] { 0x07C0, 0x07FF } };
yield return new object[] { engine, @"\p{IsSamaritan}", new[] { 0x0800, 0x083F } };
yield return new object[] { engine, @"\p{IsMandaic}", new[] { 0x0840, 0x085F } };
yield return new object[] { engine, @"\p{IsSyriacSupplement}", new[] { 0x0860, 0x086F } };
yield return new object[] { engine, @"\p{IsArabicExtended-B}", new[] { 0x0870, 0x089F } };
yield return new object[] { engine, @"\p{IsArabicExtended-A}", new[] { 0x08A0, 0x08FF } };
yield return new object[] { engine, @"\p{IsDevanagari}", new[] { 0x0900, 0x097F } };
yield return new object[] { engine, @"\p{IsBengali}", new[] { 0x0980, 0x09FF } };
yield return new object[] { engine, @"\p{IsGurmukhi}", new[] { 0x0A00, 0x0A7F } };
Expand Down Expand Up @@ -273,10 +280,26 @@ public static IEnumerable<object[]> NamedBlocksInclusionsExpected_MemberData()
yield return new object[] { engine, @"\p{IsTagbanwa}", new[] { 0x1760, 0x177F } };
yield return new object[] { engine, @"\p{IsKhmer}", new[] { 0x1780, 0x17FF } };
yield return new object[] { engine, @"\p{IsMongolian}", new[] { 0x1800, 0x18AF } };
yield return new object[] { engine, @"\p{IsUnifiedCanadianAboriginalSyllabicsExtended}", new[] { 0x18B0, 0x18FF } };
yield return new object[] { engine, @"\p{IsLimbu}", new[] { 0x1900, 0x194F } };
yield return new object[] { engine, @"\p{IsTaiLe}", new[] { 0x1950, 0x197F } };
yield return new object[] { engine, @"\p{IsNewTaiLue}", new[] { 0x1980, 0x19DF } };
yield return new object[] { engine, @"\p{IsKhmerSymbols}", new[] { 0x19E0, 0x19FF } };
yield return new object[] { engine, @"\p{IsBuginese}", new[] { 0x1A00, 0x1A1F } };
yield return new object[] { engine, @"\p{IsTaiTham}", new[] { 0x1A20, 0x1AAF } };
yield return new object[] { engine, @"\p{IsCombiningDiacriticalMarksExtended}", new[] { 0x1AB0, 0x1AFF } };
yield return new object[] { engine, @"\p{IsBalinese}", new[] { 0x1B00, 0x1B7F } };
yield return new object[] { engine, @"\p{IsSundanese}", new[] { 0x1B80, 0x1BBF } };
yield return new object[] { engine, @"\p{IsBatak}", new[] { 0x1BC0, 0x1BFF } };
yield return new object[] { engine, @"\p{IsLepcha}", new[] { 0x1C00, 0x1C4F } };
yield return new object[] { engine, @"\p{IsOlChiki}", new[] { 0x1C50, 0x1C7F } };
yield return new object[] { engine, @"\p{IsCyrillicExtended-C}", new[] { 0x1C80, 0x1C8F } };
yield return new object[] { engine, @"\p{IsGeorgianExtended}", new[] { 0x1C90, 0x1CBF } };
yield return new object[] { engine, @"\p{IsSundaneseSupplement}", new[] { 0x1CC0, 0x1CCF } };
yield return new object[] { engine, @"\p{IsVedicExtensions}", new[] { 0x1CD0, 0x1CFF } };
yield return new object[] { engine, @"\p{IsPhoneticExtensions}", new[] { 0x1D00, 0x1D7F } };
yield return new object[] { engine, @"\p{IsPhoneticExtensionsSupplement}", new[] { 0x1D80, 0x1DBF } };
yield return new object[] { engine, @"\p{IsCombiningDiacriticalMarksSupplement}", new[] { 0x1DC0, 0x1DFF } };
yield return new object[] { engine, @"\p{IsLatinExtendedAdditional}", new[] { 0x1E00, 0x1EFF } };
yield return new object[] { engine, @"\p{IsGreekExtended}", new[] { 0x1F00, 0x1FFF } };
yield return new object[] { engine, @"\p{IsGeneralPunctuation}", new[] { 0x2000, 0x206F } };
Expand All @@ -303,6 +326,14 @@ public static IEnumerable<object[]> NamedBlocksInclusionsExpected_MemberData()
yield return new object[] { engine, @"\p{IsMiscellaneousMathematicalSymbols-B}", new[] { 0x2980, 0x29FF } };
yield return new object[] { engine, @"\p{IsSupplementalMathematicalOperators}", new[] { 0x2A00, 0x2AFF } };
yield return new object[] { engine, @"\p{IsMiscellaneousSymbolsandArrows}", new[] { 0x2B00, 0x2BFF } };
yield return new object[] { engine, @"\p{IsGlagolitic}", new[] { 0x2C00, 0x2C5F } };
yield return new object[] { engine, @"\p{IsLatinExtended-C}", new[] { 0x2C60, 0x2C7F } };
yield return new object[] { engine, @"\p{IsCoptic}", new[] { 0x2C80, 0x2CFF } };
yield return new object[] { engine, @"\p{IsGeorgianSupplement}", new[] { 0x2D00, 0x2D2F } };
yield return new object[] { engine, @"\p{IsTifinagh}", new[] { 0x2D30, 0x2D7F } };
yield return new object[] { engine, @"\p{IsEthiopicExtended}", new[] { 0x2D80, 0x2DDF } };
yield return new object[] { engine, @"\p{IsCyrillicExtended-A}", new[] { 0x2DE0, 0x2DFF } };
yield return new object[] { engine, @"\p{IsSupplementalPunctuation}", new[] { 0x2E00, 0x2E7F } };
yield return new object[] { engine, @"\p{IsCJKRadicalsSupplement}", new[] { 0x2E80, 0x2EFF } };
yield return new object[] { engine, @"\p{IsKangxiRadicals}", new[] { 0x2F00, 0x2FDF } };
yield return new object[] { engine, @"\p{IsIdeographicDescriptionCharacters}", new[] { 0x2FF0, 0x2FFF } };
Expand All @@ -313,6 +344,7 @@ public static IEnumerable<object[]> NamedBlocksInclusionsExpected_MemberData()
yield return new object[] { engine, @"\p{IsHangulCompatibilityJamo}", new[] { 0x3130, 0x318F } };
yield return new object[] { engine, @"\p{IsKanbun}", new[] { 0x3190, 0x319F } };
yield return new object[] { engine, @"\p{IsBopomofoExtended}", new[] { 0x31A0, 0x31BF } };
yield return new object[] { engine, @"\p{IsCJKStrokes}", new[] { 0x31C0, 0x31EF } };
yield return new object[] { engine, @"\p{IsKatakanaPhoneticExtensions}", new[] { 0x31F0, 0x31FF } };
yield return new object[] { engine, @"\p{IsEnclosedCJKLettersandMonths}", new[] { 0x3200, 0x32FF } };
yield return new object[] { engine, @"\p{IsCJKCompatibility}", new[] { 0x3300, 0x33FF } };
Expand All @@ -321,7 +353,32 @@ public static IEnumerable<object[]> NamedBlocksInclusionsExpected_MemberData()
yield return new object[] { engine, @"\p{IsCJKUnifiedIdeographs}", new[] { 0x4E00, 0x9FFF } };
yield return new object[] { engine, @"\p{IsYiSyllables}", new[] { 0xA000, 0xA48F } };
yield return new object[] { engine, @"\p{IsYiRadicals}", new[] { 0xA490, 0xA4CF } };
yield return new object[] { engine, @"\p{IsLisu}", new[] { 0xA4D0, 0xA4FF } };
yield return new object[] { engine, @"\p{IsVai}", new[] { 0xA500, 0xA63F } };
yield return new object[] { engine, @"\p{IsCyrillicExtended-B}", new[] { 0xA640, 0xA69F } };
yield return new object[] { engine, @"\p{IsBamum}", new[] { 0xA6A0, 0xA6FF } };
yield return new object[] { engine, @"\p{IsModifierToneLetters}", new[] { 0xA700, 0xA71F } };
yield return new object[] { engine, @"\p{IsLatinExtended-D}", new[] { 0xA720, 0xA7FF } };
yield return new object[] { engine, @"\p{IsSylotiNagri}", new[] { 0xA800, 0xA82F } };
yield return new object[] { engine, @"\p{IsCommonIndicNumberForms}", new[] { 0xA830, 0xA83F } };
yield return new object[] { engine, @"\p{IsPhags-pa}", new[] { 0xA840, 0xA87F } };
yield return new object[] { engine, @"\p{IsSaurashtra}", new[] { 0xA880, 0xA8DF } };
yield return new object[] { engine, @"\p{IsDevanagariExtended}", new[] { 0xA8E0, 0xA8FF } };
yield return new object[] { engine, @"\p{IsKayahLi}", new[] { 0xA900, 0xA92F } };
yield return new object[] { engine, @"\p{IsRejang}", new[] { 0xA930, 0xA95F } };
yield return new object[] { engine, @"\p{IsHangulJamoExtended-A}", new[] { 0xA960, 0xA97F } };
yield return new object[] { engine, @"\p{IsJavanese}", new[] { 0xA980, 0xA9DF } };
yield return new object[] { engine, @"\p{IsMyanmarExtended-B}", new[] { 0xA9E0, 0xA9FF } };
yield return new object[] { engine, @"\p{IsCham}", new[] { 0xAA00, 0xAA5F } };
yield return new object[] { engine, @"\p{IsMyanmarExtended-A}", new[] { 0xAA60, 0xAA7F } };
yield return new object[] { engine, @"\p{IsTaiViet}", new[] { 0xAA80, 0xAADF } };
yield return new object[] { engine, @"\p{IsMeeteiMayekExtensions}", new[] { 0xAAE0, 0xAAFF } };
yield return new object[] { engine, @"\p{IsEthiopicExtended-A}", new[] { 0xAB00, 0xAB2F } };
yield return new object[] { engine, @"\p{IsLatinExtended-E}", new[] { 0xAB30, 0xAB6F } };
yield return new object[] { engine, @"\p{IsCherokeeSupplement}", new[] { 0xAB70, 0xABBF } };
yield return new object[] { engine, @"\p{IsMeeteiMayek}", new[] { 0xABC0, 0xABFF } };
yield return new object[] { engine, @"\p{IsHangulSyllables}", new[] { 0xAC00, 0xD7AF } };
yield return new object[] { engine, @"\p{IsHangulJamoExtended-B}", new[] { 0xD7B0, 0xD7FF } };
yield return new object[] { engine, @"\p{IsHighSurrogates}", new[] { 0xD800, 0xDB7F } };
yield return new object[] { engine, @"\p{IsHighPrivateUseSurrogates}", new[] { 0xDB80, 0xDBFF } };
yield return new object[] { engine, @"\p{IsLowSurrogates}", new[] { 0xDC00, 0xDFFF } };
Expand All @@ -330,6 +387,7 @@ public static IEnumerable<object[]> NamedBlocksInclusionsExpected_MemberData()
yield return new object[] { engine, @"\p{IsAlphabeticPresentationForms}", new[] { 0xFB00, 0xFB4F } };
yield return new object[] { engine, @"\p{IsArabicPresentationForms-A}", new[] { 0xFB50, 0xFDFF } };
yield return new object[] { engine, @"\p{IsVariationSelectors}", new[] { 0xFE00, 0xFE0F } };
yield return new object[] { engine, @"\p{IsVerticalForms}", new[] { 0xFE10, 0xFE1F } };
yield return new object[] { engine, @"\p{IsCombiningHalfMarks}", new[] { 0xFE20, 0xFE2F } };
yield return new object[] { engine, @"\p{IsCJKCompatibilityForms}", new[] { 0xFE30, 0xFE4F } };
yield return new object[] { engine, @"\p{IsSmallFormVariants}", new[] { 0xFE50, 0xFE6F } };
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,7 @@
<Compile Include="..\..\src\System\Text\RegularExpressions\RegexCaseEquivalences.cs" Link="Production\RegexCaseEquivalences.cs" />
<Compile Include="..\..\src\System\Text\RegularExpressions\RegexCaseBehavior.cs" Link="Production\RegexCaseBehavior.cs" />
<Compile Include="..\..\src\System\Text\RegularExpressions\RegexCharClass.cs" Link="Production\RegexCharClass.cs" />
<Compile Include="..\..\src\System\Text\RegularExpressions\RegexCharClass.Tables.cs" Link="Production\RegexCharClass.Tables.cs" />
<Compile Include="..\..\src\System\Text\RegularExpressions\RegexInterpreterCode.cs" Link="Production\RegexInterpreterCode.cs" />
<Compile Include="..\..\src\System\Text\RegularExpressions\RegexFindOptimizations.cs" Link="Production\RegexFindOptimizations.cs" />
<Compile Include="..\..\src\System\Text\RegularExpressions\RegexNode.cs" Link="Production\RegexNode.cs" />
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
<Project Sdk="Microsoft.NET.Sdk">

<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>net10.0</TargetFramework>
<Nullable>enable</Nullable>
</PropertyGroup>

</Project>
Loading
Loading