Initial population

This commit is contained in:
Jon
2026-03-07 19:22:22 -06:00
parent 647f55feb9
commit cae1a3ec46
108 changed files with 28484 additions and 0 deletions

View File

@@ -0,0 +1,376 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace JRCookbookBusiness
{
public static class clsDiacriticRemover
{
private static Char[] mc_Convert;
/// <summary>
/// This function is ultra fast because it uses a lookup table.
/// This function does not depend on Windows functionality. It also works on Linux.
/// This function removes all diacritics, accents, etc.
/// For example "Crème Brûlée mit Soße" is converted to "Creme Brulee mit Sosse".
/// </summary>
public static String RemoveDiacritics(String s_Text)
{
StringBuilder i_Out = new StringBuilder(s_Text.Length);
foreach (Char c_Char in s_Text)
{
/* This switch statement is optional!
switch (c_Char)
{
// If you like you can add your own conversions, like here for German.
// Otherwise remove this switch and 'ä' will be translated to 'a', etc.
case 'ä': i_Out.Append("ae"); continue;
case 'ö': i_Out.Append("oe"); continue;
case 'ü': i_Out.Append("ue"); continue;
case 'Ä': i_Out.Append("Ae"); continue;
case 'Ö': i_Out.Append("Oe"); continue;
case 'Ü': i_Out.Append("Ue"); continue;
case 'ß': i_Out.Append("ss"); continue;
} */
if (c_Char < mc_Convert.Length)
i_Out.Append(mc_Convert[c_Char]);
else
i_Out.Append(c_Char);
}
return i_Out.ToString();
}
// static constructor
// See https://www.compart.com/en/unicode/U+0180
static clsDiacriticRemover()
{
mc_Convert = new Char[0x270];
// Fill char array with translation of each character to itself
for (int i = 0; i < 0x270; i++)
{
mc_Convert[i] = (Char)i;
}
// Store the replacements for 310 special characters
#region Fill mc_Convert
mc_Convert[0x0C0] = 'A'; // À
mc_Convert[0x0C1] = 'A'; // Á
mc_Convert[0x0C2] = 'A'; // Â
mc_Convert[0x0C3] = 'A'; // Ã
mc_Convert[0x0C4] = 'A'; // Ä
mc_Convert[0x0C5] = 'A'; // Å
mc_Convert[0x0C6] = 'A'; // Æ
mc_Convert[0x0C7] = 'C'; // Ç
mc_Convert[0x0C8] = 'E'; // È
mc_Convert[0x0C9] = 'E'; // É
mc_Convert[0x0CA] = 'E'; // Ê
mc_Convert[0x0CB] = 'E'; // Ë
mc_Convert[0x0CC] = 'I'; // Ì
mc_Convert[0x0CD] = 'I'; // Í
mc_Convert[0x0CE] = 'I'; // Î
mc_Convert[0x0CF] = 'I'; // Ï
mc_Convert[0x0D0] = 'D'; // Ð
mc_Convert[0x0D1] = 'N'; // Ñ
mc_Convert[0x0D2] = 'O'; // Ò
mc_Convert[0x0D3] = 'O'; // Ó
mc_Convert[0x0D4] = 'O'; // Ô
mc_Convert[0x0D5] = 'O'; // Õ
mc_Convert[0x0D6] = 'O'; // Ö
mc_Convert[0x0D8] = 'O'; // Ø
mc_Convert[0x0D9] = 'U'; // Ù
mc_Convert[0x0DA] = 'U'; // Ú
mc_Convert[0x0DB] = 'U'; // Û
mc_Convert[0x0DC] = 'U'; // Ü
mc_Convert[0x0DD] = 'Y'; // Ý
mc_Convert[0x0DF] = 's'; // ß
mc_Convert[0x0E0] = 'a'; // à
mc_Convert[0x0E1] = 'a'; // á
mc_Convert[0x0E2] = 'a'; // â
mc_Convert[0x0E3] = 'a'; // ã
mc_Convert[0x0E4] = 'a'; // ä
mc_Convert[0x0E5] = 'a'; // å
mc_Convert[0x0E6] = 'a'; // æ
mc_Convert[0x0E7] = 'c'; // ç
mc_Convert[0x0E8] = 'e'; // è
mc_Convert[0x0E9] = 'e'; // é
mc_Convert[0x0EA] = 'e'; // ê
mc_Convert[0x0EB] = 'e'; // ë
mc_Convert[0x0EC] = 'i'; // ì
mc_Convert[0x0ED] = 'i'; // í
mc_Convert[0x0EE] = 'i'; // î
mc_Convert[0x0EF] = 'i'; // ï
mc_Convert[0x0F1] = 'n'; // ñ
mc_Convert[0x0F2] = 'o'; // ò
mc_Convert[0x0F3] = 'o'; // ó
mc_Convert[0x0F4] = 'o'; // ô
mc_Convert[0x0F5] = 'o'; // õ
mc_Convert[0x0F6] = 'o'; // ö
mc_Convert[0x0F8] = 'o'; // ø
mc_Convert[0x0F9] = 'u'; // ù
mc_Convert[0x0FA] = 'u'; // ú
mc_Convert[0x0FB] = 'u'; // û
mc_Convert[0x0FC] = 'u'; // ü
mc_Convert[0x0FD] = 'y'; // ý
mc_Convert[0x0FF] = 'y'; // ÿ
mc_Convert[0x100] = 'A'; // Ā
mc_Convert[0x101] = 'a'; // ā
mc_Convert[0x102] = 'A'; // Ă
mc_Convert[0x103] = 'a'; // ă
mc_Convert[0x104] = 'A'; // Ą
mc_Convert[0x105] = 'a'; // ą
mc_Convert[0x106] = 'C'; // Ć
mc_Convert[0x107] = 'c'; // ć
mc_Convert[0x108] = 'C'; // Ĉ
mc_Convert[0x109] = 'c'; // ĉ
mc_Convert[0x10A] = 'C'; // Ċ
mc_Convert[0x10B] = 'c'; // ċ
mc_Convert[0x10C] = 'C'; // Č
mc_Convert[0x10D] = 'c'; // č
mc_Convert[0x10E] = 'D'; // Ď
mc_Convert[0x10F] = 'd'; // ď
mc_Convert[0x110] = 'D'; // Đ
mc_Convert[0x111] = 'd'; // đ
mc_Convert[0x112] = 'E'; // Ē
mc_Convert[0x113] = 'e'; // ē
mc_Convert[0x114] = 'E'; // Ĕ
mc_Convert[0x115] = 'e'; // ĕ
mc_Convert[0x116] = 'E'; // Ė
mc_Convert[0x117] = 'e'; // ė
mc_Convert[0x118] = 'E'; // Ę
mc_Convert[0x119] = 'e'; // ę
mc_Convert[0x11A] = 'E'; // Ě
mc_Convert[0x11B] = 'e'; // ě
mc_Convert[0x11C] = 'G'; // Ĝ
mc_Convert[0x11D] = 'g'; // ĝ
mc_Convert[0x11E] = 'G'; // Ğ
mc_Convert[0x11F] = 'g'; // ğ
mc_Convert[0x120] = 'G'; // Ġ
mc_Convert[0x121] = 'g'; // ġ
mc_Convert[0x122] = 'G'; // Ģ
mc_Convert[0x123] = 'g'; // ģ
mc_Convert[0x124] = 'H'; // Ĥ
mc_Convert[0x125] = 'h'; // ĥ
mc_Convert[0x126] = 'H'; // Ħ
mc_Convert[0x127] = 'h'; // ħ
mc_Convert[0x128] = 'I'; // Ĩ
mc_Convert[0x129] = 'i'; // ĩ
mc_Convert[0x12A] = 'I'; // Ī
mc_Convert[0x12B] = 'i'; // ī
mc_Convert[0x12C] = 'I'; // Ĭ
mc_Convert[0x12D] = 'i'; // ĭ
mc_Convert[0x12E] = 'I'; // Į
mc_Convert[0x12F] = 'i'; // į
mc_Convert[0x130] = 'I'; // İ
mc_Convert[0x131] = 'i'; // ı
mc_Convert[0x134] = 'J'; // Ĵ
mc_Convert[0x135] = 'j'; // ĵ
mc_Convert[0x136] = 'K'; // Ķ
mc_Convert[0x137] = 'k'; // ķ
mc_Convert[0x138] = 'K'; // ĸ
mc_Convert[0x139] = 'L'; // Ĺ
mc_Convert[0x13A] = 'l'; // ĺ
mc_Convert[0x13B] = 'L'; // Ļ
mc_Convert[0x13C] = 'l'; // ļ
mc_Convert[0x13D] = 'L'; // Ľ
mc_Convert[0x13E] = 'l'; // ľ
mc_Convert[0x13F] = 'L'; // Ŀ
mc_Convert[0x140] = 'l'; // ŀ
mc_Convert[0x141] = 'L'; // Ł
mc_Convert[0x142] = 'l'; // ł
mc_Convert[0x143] = 'N'; // Ń
mc_Convert[0x144] = 'n'; // ń
mc_Convert[0x145] = 'N'; // Ņ
mc_Convert[0x146] = 'n'; // ņ
mc_Convert[0x147] = 'N'; // Ň
mc_Convert[0x148] = 'n'; // ň
mc_Convert[0x149] = 'n'; // ʼn
mc_Convert[0x14C] = 'O'; // Ō
mc_Convert[0x14D] = 'o'; // ō
mc_Convert[0x14E] = 'O'; // Ŏ
mc_Convert[0x14F] = 'o'; // ŏ
mc_Convert[0x150] = 'O'; // Ő
mc_Convert[0x151] = 'o'; // ő
mc_Convert[0x152] = 'O'; // Œ
mc_Convert[0x153] = 'o'; // œ
mc_Convert[0x154] = 'R'; // Ŕ
mc_Convert[0x155] = 'r'; // ŕ
mc_Convert[0x156] = 'R'; // Ŗ
mc_Convert[0x157] = 'r'; // ŗ
mc_Convert[0x158] = 'R'; // Ř
mc_Convert[0x159] = 'r'; // ř
mc_Convert[0x15A] = 'S'; // Ś
mc_Convert[0x15B] = 's'; // ś
mc_Convert[0x15C] = 'S'; // Ŝ
mc_Convert[0x15D] = 's'; // ŝ
mc_Convert[0x15E] = 'S'; // Ş
mc_Convert[0x15F] = 's'; // ş
mc_Convert[0x160] = 'S'; // Š
mc_Convert[0x161] = 's'; // š
mc_Convert[0x162] = 'T'; // Ţ
mc_Convert[0x163] = 't'; // ţ
mc_Convert[0x164] = 'T'; // Ť
mc_Convert[0x165] = 't'; // ť
mc_Convert[0x166] = 'T'; // Ŧ
mc_Convert[0x167] = 't'; // ŧ
mc_Convert[0x168] = 'U'; // Ũ
mc_Convert[0x169] = 'u'; // ũ
mc_Convert[0x16A] = 'U'; // Ū
mc_Convert[0x16B] = 'u'; // ū
mc_Convert[0x16C] = 'U'; // Ŭ
mc_Convert[0x16D] = 'u'; // ŭ
mc_Convert[0x16E] = 'U'; // Ů
mc_Convert[0x16F] = 'u'; // ů
mc_Convert[0x170] = 'U'; // Ű
mc_Convert[0x171] = 'u'; // ű
mc_Convert[0x172] = 'U'; // Ų
mc_Convert[0x173] = 'u'; // ų
mc_Convert[0x174] = 'W'; // Ŵ
mc_Convert[0x175] = 'w'; // ŵ
mc_Convert[0x176] = 'Y'; // Ŷ
mc_Convert[0x177] = 'y'; // ŷ
mc_Convert[0x178] = 'Y'; // Ÿ
mc_Convert[0x179] = 'Z'; // Ź
mc_Convert[0x17A] = 'z'; // ź
mc_Convert[0x17B] = 'Z'; // Ż
mc_Convert[0x17C] = 'z'; // ż
mc_Convert[0x17D] = 'Z'; // Ž
mc_Convert[0x17E] = 'z'; // ž
mc_Convert[0x180] = 'b'; // ƀ
mc_Convert[0x189] = 'D'; // Ɖ
mc_Convert[0x191] = 'F'; // Ƒ
mc_Convert[0x192] = 'f'; // ƒ
mc_Convert[0x193] = 'G'; // Ɠ
mc_Convert[0x197] = 'I'; // Ɨ
mc_Convert[0x198] = 'K'; // Ƙ
mc_Convert[0x199] = 'k'; // ƙ
mc_Convert[0x19A] = 'l'; // ƚ
mc_Convert[0x19F] = 'O'; // Ɵ
mc_Convert[0x1A0] = 'O'; // Ơ
mc_Convert[0x1A1] = 'o'; // ơ
mc_Convert[0x1AB] = 't'; // ƫ
mc_Convert[0x1AC] = 'T'; // Ƭ
mc_Convert[0x1AD] = 't'; // ƭ
mc_Convert[0x1AE] = 'T'; // Ʈ
mc_Convert[0x1AF] = 'U'; // Ư
mc_Convert[0x1B0] = 'u'; // ư
mc_Convert[0x1B6] = 'z'; // ƶ
mc_Convert[0x1CD] = 'A'; // Ǎ
mc_Convert[0x1CE] = 'a'; // ǎ
mc_Convert[0x1CF] = 'I'; // Ǐ
mc_Convert[0x1D0] = 'i'; // ǐ
mc_Convert[0x1D1] = 'O'; // Ǒ
mc_Convert[0x1D2] = 'o'; // ǒ
mc_Convert[0x1D3] = 'U'; // Ǔ
mc_Convert[0x1D4] = 'u'; // ǔ
mc_Convert[0x1D5] = 'U'; // Ǖ
mc_Convert[0x1D6] = 'u'; // ǖ
mc_Convert[0x1D7] = 'U'; // Ǘ
mc_Convert[0x1D8] = 'u'; // ǘ
mc_Convert[0x1D9] = 'U'; // Ǚ
mc_Convert[0x1DA] = 'u'; // ǚ
mc_Convert[0x1DB] = 'U'; // Ǜ
mc_Convert[0x1DC] = 'u'; // ǜ
mc_Convert[0x1DE] = 'A'; // Ǟ
mc_Convert[0x1DF] = 'a'; // ǟ
mc_Convert[0x1E0] = 'A'; // Ǡ
mc_Convert[0x1E1] = 'a'; // ǡ
mc_Convert[0x1E2] = 'A'; // Ǣ
mc_Convert[0x1E3] = 'a'; // ǣ
mc_Convert[0x1E4] = 'G'; // Ǥ
mc_Convert[0x1E5] = 'g'; // ǥ
mc_Convert[0x1E6] = 'G'; // Ǧ
mc_Convert[0x1E7] = 'g'; // ǧ
mc_Convert[0x1E8] = 'K'; // Ǩ
mc_Convert[0x1E9] = 'k'; // ǩ
mc_Convert[0x1EA] = 'O'; // Ǫ
mc_Convert[0x1EB] = 'o'; // ǫ
mc_Convert[0x1EC] = 'O'; // Ǭ
mc_Convert[0x1ED] = 'o'; // ǭ
mc_Convert[0x1F0] = 'j'; // ǰ
mc_Convert[0x1F4] = 'G'; // Ǵ
mc_Convert[0x1F5] = 'g'; // ǵ
mc_Convert[0x1F8] = 'N'; // Ǹ
mc_Convert[0x1F9] = 'n'; // ǹ
mc_Convert[0x1FA] = 'A'; // Ǻ
mc_Convert[0x1FB] = 'a'; // ǻ
mc_Convert[0x1FC] = 'A'; // Ǽ
mc_Convert[0x1FD] = 'a'; // ǽ
mc_Convert[0x1FE] = 'O'; // Ǿ
mc_Convert[0x1FF] = 'o'; // ǿ
mc_Convert[0x200] = 'A'; // Ȁ
mc_Convert[0x201] = 'a'; // ȁ
mc_Convert[0x202] = 'A'; // Ȃ
mc_Convert[0x203] = 'A'; // ȃ
mc_Convert[0x204] = 'E'; // Ȅ
mc_Convert[0x205] = 'e'; // ȅ
mc_Convert[0x206] = 'E'; // Ȇ
mc_Convert[0x207] = 'e'; // ȇ
mc_Convert[0x208] = 'I'; // Ȉ
mc_Convert[0x209] = 'i'; // ȉ
mc_Convert[0x20A] = 'I'; // Ȋ
mc_Convert[0x20B] = 'i'; // ȋ
mc_Convert[0x20C] = 'O'; // Ȍ
mc_Convert[0x20D] = 'o'; // ȍ
mc_Convert[0x20E] = 'O'; // Ȏ
mc_Convert[0x20F] = 'o'; // ȏ
mc_Convert[0x210] = 'R'; // Ȑ
mc_Convert[0x211] = 'r'; // ȑ
mc_Convert[0x212] = 'R'; // Ȓ
mc_Convert[0x213] = 'r'; // ȓ
mc_Convert[0x214] = 'U'; // Ȕ
mc_Convert[0x215] = 'u'; // ȕ
mc_Convert[0x216] = 'U'; // Ȗ
mc_Convert[0x217] = 'u'; // ȗ
mc_Convert[0x218] = 'S'; // Ș
mc_Convert[0x219] = 's'; // ș
mc_Convert[0x21A] = 'T'; // Ț
mc_Convert[0x21B] = 't'; // ț
mc_Convert[0x21E] = 'H'; // Ȟ
mc_Convert[0x21F] = 'h'; // ȟ
mc_Convert[0x224] = 'Z'; // Ȥ
mc_Convert[0x225] = 'z'; // ȥ
mc_Convert[0x226] = 'A'; // Ȧ
mc_Convert[0x227] = 'a'; // ȧ
mc_Convert[0x228] = 'E'; // Ȩ
mc_Convert[0x229] = 'e'; // ȩ
mc_Convert[0x22A] = 'O'; // Ȫ
mc_Convert[0x22B] = 'o'; // ȫ
mc_Convert[0x22C] = 'O'; // Ȭ
mc_Convert[0x22D] = 'o'; // ȭ
mc_Convert[0x22E] = 'O'; // Ȯ
mc_Convert[0x22F] = 'o'; // ȯ
mc_Convert[0x230] = 'O'; // Ȱ
mc_Convert[0x231] = 'o'; // ȱ
mc_Convert[0x232] = 'Y'; // Ȳ
mc_Convert[0x233] = 'y'; // ȳ
mc_Convert[0x234] = 'l'; // ȴ
mc_Convert[0x235] = 'n'; // ȵ
mc_Convert[0x23A] = 'A'; // Ⱥ
mc_Convert[0x23B] = 'C'; // Ȼ
mc_Convert[0x23C] = 'c'; // ȼ
mc_Convert[0x23D] = 'L'; // Ƚ
mc_Convert[0x23E] = 'T'; // Ⱦ
mc_Convert[0x23F] = 's'; // ȿ
mc_Convert[0x240] = 'z'; // ɀ
mc_Convert[0x243] = 'B'; // Ƀ
mc_Convert[0x244] = 'U'; // Ʉ
mc_Convert[0x246] = 'E'; // Ɇ
mc_Convert[0x247] = 'e'; // ɇ
mc_Convert[0x248] = 'J'; // Ɉ
mc_Convert[0x249] = 'j'; // ɉ
mc_Convert[0x24C] = 'R'; // Ɍ
mc_Convert[0x24D] = 'r'; // ɍ
mc_Convert[0x24E] = 'Y'; // Ɏ
mc_Convert[0x24F] = 'y'; // ɏ
mc_Convert[0x261] = 'g'; // ɡ
#endregion
}
}
}