Skip to content

Commit

Permalink
Minor
Browse files Browse the repository at this point in the history
  • Loading branch information
rampaa committed Feb 9, 2025
1 parent f17496a commit 8ad6cce
Show file tree
Hide file tree
Showing 4 changed files with 92 additions and 95 deletions.
16 changes: 7 additions & 9 deletions JL.Core/Audio/AudioUtils.cs
Original file line number Diff line number Diff line change
Expand Up @@ -21,16 +21,14 @@ public static class AudioUtils
}
};

private static readonly FrozenDictionary<string, string> s_mediaTypeToExtensionDict = new Dictionary<string, string>(6, StringComparer.Ordinal)
private static readonly FrozenDictionary<string, string> s_mediaTypeToExtensionDict = new KeyValuePair<string, string>[6]
{
// ReSharper disable BadExpressionBracesLineBreaks
{ "mpeg", "mp3" },
{ "3gpp", "3gp" },
{ "3gpp2", "3g2" },
{ "vorbis", "ogg" },
{ "vorbis-config", "ogg" },
{ "x-midi", "midi" }
// ReSharper restore BadExpressionBracesLineBreaks
new("mpeg", "mp3"),
new("3gpp", "3gp"),
new("3gpp2", "3g2"),
new("vorbis", "ogg"),
new("vorbis-config", "ogg"),
new("x-midi", "midi")
}.ToFrozenDictionary(StringComparer.Ordinal);

private static async ValueTask<AudioResponse?> GetAudioFromUrl(Uri url)
Expand Down
14 changes: 13 additions & 1 deletion JL.Core/Dicts/JMdict/JmdictLoader.cs
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,18 @@ internal static class JmdictLoader
{
private static bool s_canHandleCulture = true;

private static readonly FrozenDictionary<string, string> s_iso6392BTo2T = new KeyValuePair<string, string>[]
{
#pragma warning disable format
// ReSharper disable BadExpressionBracesLineBreaks
new("tib", "bod"), new("cze", "ces"), new("wel", "cym"), new("ger", "deu"), new("gre", "ell"),
new("baq", "eus"), new("per", "fas"), new("fre", "fra"), new("arm", "hye"), new("ice", "isl"),
new("geo", "kat"), new("mac", "mkd"), new("mao", "mri"), new("may", "msa"), new("bur", "mya"),
new("dut", "nld"), new("rum", "ron"), new("slo", "slk"), new("alb", "sqi"), new("chi", "zho")
// ReSharper restore BadExpressionBracesLineBreaks
#pragma warning restore format
}.ToFrozenDictionary(StringComparer.Ordinal);

public static async Task Load(Dict dict)
{
string fullPath = Path.GetFullPath(dict.Path, Utils.ApplicationPath);
Expand Down Expand Up @@ -309,7 +321,7 @@ private static Sense ReadSense(XmlTextReader xmlReader)
{
if (s_canHandleCulture)
{
if (Utils.s_iso6392BTo2T.TryGetValue(lang, out string? langCode))
if (s_iso6392BTo2T.TryGetValue(lang, out string? langCode))
{
lang = langCode;
}
Expand Down
144 changes: 72 additions & 72 deletions JL.Core/Utilities/JapaneseUtils.cs
Original file line number Diff line number Diff line change
Expand Up @@ -53,66 +53,66 @@ public static partial class JapaneseUtils

private static partial Regex KanaRegex { get; }

private static readonly FrozenDictionary<char, string> s_katakanaToHiraganaDict = new Dictionary<char, string>(87)
private static readonly FrozenDictionary<char, string> s_katakanaToHiraganaDict = new KeyValuePair<char, string>[]
{
#pragma warning disable format
// ReSharper disable BadExpressionBracesLineBreaks
{ 'ア', "あ" }, { 'イ', "い" }, { 'ウ', "う" }, { 'エ', "え" }, { 'オ', "お" },
{ 'カ', "か" }, { 'キ', "き" }, { 'ク', "く" }, { 'ケ', "け" }, { 'コ', "こ" },
{ 'サ', "さ" }, { 'シ', "し" }, { 'ス', "す" }, { 'セ', "せ" }, { 'ソ', "そ" },
{ 'タ', "た" }, { 'チ', "ち" }, { 'ツ', "つ" }, { 'テ', "て" }, { 'ト', "と" },
{ 'ナ', "な" }, { 'ニ', "に" }, { 'ヌ', "ぬ" }, { 'ネ', "ね" }, { 'ノ', "の" },
{ 'ハ', "は" }, { 'ヒ', "ひ" }, { 'フ', "ふ" }, { 'ヘ', "へ" }, { 'ホ', "ほ" },
{ 'マ', "ま" }, { 'ミ', "み" }, { 'ム', "む" }, { 'メ', "め" }, { 'モ', "も" },
{ 'ラ', "ら" }, { 'リ', "り" }, { 'ル', "る" }, { 'レ', "れ" }, { 'ロ', "ろ" },
new('ア', "あ"), new('イ', "い"), new('ウ', "う"), new('エ', "え"), new('オ', "お"),
new('カ', "か"), new('キ', "き"), new('ク', "く"), new('ケ', "け"), new('コ', "こ"),
new('サ', "さ"), new('シ', "し"), new('ス', "す"), new('セ', "せ"), new('ソ', "そ"),
new('タ', "た"), new('チ', "ち"), new('ツ', "つ"), new('テ', "て"), new('ト', "と"),
new('ナ', "な"), new('ニ', "に"), new('ヌ', "ぬ"), new('ネ', "ね"), new('ノ', "の"),
new('ハ', "は"), new('ヒ', "ひ"), new('フ', "ふ"), new('ヘ', "へ"), new('ホ', "ほ"),
new('マ', "ま"), new('ミ', "み"), new('ム', "む"), new('メ', "め"), new('モ', "も"),
new('ラ', "ら"), new('リ', "り"), new('ル', "る"), new('レ', "れ"), new('ロ', "ろ"),

{ 'ガ', "が" }, { 'ギ', "ぎ" }, { 'グ', "ぐ" }, { 'ゲ', "げ" }, { 'ゴ', "ご" },
{ 'ザ', "ざ" }, { 'ジ', "じ" }, { 'ズ', "ず" }, { 'ゼ', "ぜ" }, { 'ゾ', "ぞ" },
{ 'ダ', "だ" }, { 'ヂ', "ぢ" }, { 'ヅ', "づ" }, { 'デ', "で" }, { 'ド', "ど" },
{ 'バ', "ば" }, { 'ビ', "び" }, { 'ブ', "ぶ" }, { 'ベ', "べ" }, { 'ボ', "ぼ" },
{ 'パ', "ぱ" }, { 'ピ', "ぴ" }, { 'プ', "ぷ" }, { 'ペ', "ぺ" }, { 'ポ', "ぽ" },
new('ガ', "が"), new('ギ', "ぎ"), new('グ', "ぐ"), new('ゲ', "げ"), new('ゴ', "ご"),
new('ザ', "ざ"), new('ジ', "じ"), new('ズ', "ず"), new('ゼ', "ぜ"), new('ゾ', "ぞ"),
new('ダ', "だ"), new('ヂ', "ぢ"), new('ヅ', "づ"), new('デ', "で"), new('ド', "ど"),
new('バ', "ば"), new('ビ', "び"), new('ブ', "ぶ"), new('ベ', "べ"), new('ボ', "ぼ"),
new('パ', "ぱ"), new('ピ', "ぴ"), new('プ', "ぷ"), new('ペ', "ぺ"), new('ポ', "ぽ"),

{ 'ワ', "わ" }, { 'ヲ', "を" },
{ 'ヤ', "や" }, { 'ユ', "ゆ" }, { 'ヨ', "よ" },
{ 'ン', "ん" },
new('ワ', "わ"), new('ヲ', "を"),
new('ヤ', "や"), new('ユ', "ゆ"), new('ヨ', "よ"),
new('ン', "ん"),

{ 'ァ', "ぁ" }, { 'ィ', "ぃ" }, { 'ゥ', "ぅ" }, { 'ェ', "ぇ" }, { 'ォ', "ぉ" },
{ 'ャ', "ゃ" }, { 'ュ', "ゅ" }, { 'ョ', "ょ" },
new('ァ', "ぁ"), new('ィ', "ぃ"), new('ゥ', "ぅ"), new('ェ', "ぇ"), new('ォ', "ぉ"),
new('ャ', "ゃ"), new('ュ', "ゅ"), new('ョ', "ょ"),

{ 'ヮ', "ゎ" },
new('ヮ', "ゎ"),

{ 'ヴ', "ゔ" }, { 'ヽ', "ゝ" }, { 'ヾ', "ゞ" }, { 'ッ', "っ" },
new('ヴ', "ゔ"), new('ヽ', "ゝ"), new('ヾ', "ゞ"), new('ッ', "っ"),

{ 'ヸ', "ゐ゙" }, { 'ヹ', "ゑ゙" }, { 'ヺ', "を゙" }
new('ヸ', "ゐ゙"), new('ヹ', "ゑ゙"), new('ヺ', "を゙")
// ReSharper restore BadExpressionBracesLineBreaks
#pragma warning restore format
}.ToFrozenDictionary();

private static readonly FrozenDictionary<string, char> s_kanaFinalVowelDict = new Dictionary<string, char>(87, StringComparer.Ordinal)
private static readonly FrozenDictionary<string, char> s_kanaFinalVowelDict = new KeyValuePair<string, char>[]
{
#pragma warning disable format
// ReSharper disable BadExpressionBracesLineBreaks
//Hiragana
{ "あ", 'あ' }, { "か", 'あ' }, { "さ", 'あ' }, { "た", 'あ' }, { "な", 'あ' }, { "は", 'あ' },
{ "ま", 'あ' }, { "ら", 'あ' }, { "が", 'あ' }, { "ざ", 'あ' }, { "だ", 'あ' }, { "ば", 'あ' },
{ "ぱ", 'あ' }, { "わ", 'あ' }, { "や", 'あ' }, { "ぁ", 'あ' }, { "ゃ", 'あ' }, { "ゕ", 'あ' },
{ "ゎ", 'あ' },

{ "い", 'い' }, { "き", 'い' }, { "し", 'い' }, { "ち", 'い' }, { "に", 'い' }, { "ひ", 'い' },
{ "み", 'い' }, { "り", 'い' }, { "ぎ", 'い' }, { "じ", 'い' }, { "ぢ", 'い' }, { "び", 'い' },
{ "ぴ", 'い' }, { "ぃ", 'い' }, { "ゐ", 'い' }, { "ゐ゙", 'い' },

{ "う", 'う' }, { "く", 'う' }, { "す", 'う' }, { "つ", 'う' }, { "ぬ", 'う' }, { "ふ", 'う' },
{ "む", 'う' }, { "る", 'う' }, { "ぐ", 'う' }, { "ず", 'う' }, { "づ", 'う' }, { "ぶ", 'う' },
{ "ぷ", 'う' }, { "ゆ", 'う' }, { "ぅ", 'う' }, { "ゅ", 'う' }, { "ゔ", 'う' },

{ "え", 'え' }, { "け", 'え' }, { "せ", 'え' }, { "て", 'え' }, { "ね", 'え' }, { "へ", 'え' },
{ "め", 'え' }, { "れ", 'え' }, { "げ", 'え' }, { "ぜ", 'え' }, { "で", 'え' }, { "べ", 'え' },
{ "ぺ", 'え' }, { "ぇ", 'え' }, { "ゖ", 'え' }, { "ゑ", 'え' }, { "ゑ゙", 'え' },

{ "お", 'お' }, { "こ", 'お' }, { "そ", 'お' }, { "と", 'お' }, { "の", 'お' }, { "ほ", 'お' },
{ "も", 'お' }, { "ろ", 'お' }, { "ご", 'お' }, { "ぞ", 'お' }, { "ど", 'お' }, { "ぼ", 'お' },
{ "ぽ", 'お' }, { "を", 'お' }, { "よ", 'お' }, { "ぉ", 'お' }, { "ょ", 'お' }, { "を゙", 'お' }
new("あ", 'あ'), new("か", 'あ'), new("さ", 'あ'), new("た", 'あ'), new("な", 'あ'), new("は", 'あ'),
new("ま", 'あ'), new("ら", 'あ'), new("が", 'あ'), new("ざ", 'あ'), new("だ", 'あ'), new("ば", 'あ'),
new("ぱ", 'あ'), new("わ", 'あ'), new("や", 'あ'), new("ぁ", 'あ'), new("ゃ", 'あ'), new("ゕ", 'あ'),
new("ゎ", 'あ'),

new("い", 'い'), new("き", 'い'), new("し", 'い'), new("ち", 'い'), new("に", 'い'), new("ひ", 'い'),
new("み", 'い'), new("り", 'い'), new("ぎ", 'い'), new("じ", 'い'), new("ぢ", 'い'), new("び", 'い'),
new("ぴ", 'い'), new("ぃ", 'い'), new("ゐ", 'い'), new("ゐ゙", 'い'),

new("う", 'う'), new("く", 'う'), new("す", 'う'), new("つ", 'う'), new("ぬ", 'う'), new("ふ", 'う'),
new("む", 'う'), new("る", 'う'), new("ぐ", 'う'), new("ず", 'う'), new("づ", 'う'), new("ぶ", 'う'),
new("ぷ", 'う'), new("ゆ", 'う'), new("ぅ", 'う'), new("ゅ", 'う'), new("ゔ", 'う'),

new("え", 'え'), new("け", 'え'), new("せ", 'え'), new("て", 'え'), new("ね", 'え'), new("へ", 'え'),
new("め", 'え'), new("れ", 'え'), new("げ", 'え'), new("ぜ", 'え'), new("で", 'え'), new("べ", 'え'),
new("ぺ", 'え'), new("ぇ", 'え'), new("ゖ", 'え'), new("ゑ", 'え'), new("ゑ゙", 'え'),

new("お", 'お'), new("こ", 'お'), new("そ", 'お'), new("と", 'お'), new("の", 'お'), new("ほ", 'お'),
new("も", 'お'), new("ろ", 'お'), new("ご", 'お'), new("ぞ", 'お'), new("ど", 'お'), new("ぼ", 'お'),
new("ぽ", 'お'), new("を", 'お'), new("よ", 'お'), new("ぉ", 'お'), new("ょ", 'お'), new("を゙", 'お')
// ReSharper restore BadExpressionBracesLineBreaks
#pragma warning restore format
}.ToFrozenDictionary(StringComparer.Ordinal);
Expand Down Expand Up @@ -144,37 +144,37 @@ public static partial class JapaneseUtils
'\n'
];

private static readonly FrozenDictionary<char, char> s_leftToRightBracketDict = new Dictionary<char, char>(28)
private static readonly FrozenDictionary<char, char> s_leftToRightBracketDict = new KeyValuePair<char, char>[]
{
// ReSharper disable BadExpressionBracesLineBreaks
{ '「', '」' },
{ '『', '』' },
{ '【', '】' },
{ '《', '》' },
{ '〔', '〕' },
{ '(', ')' },
{ '[', ']' },
{ '〈', '〉' },
{ '{', '}' },
{ '<', '>' },
{ '〝', '〟' },
{ '"', '"' },
{ ''', ''' },
{ '「', '」' },
{ '⟨', '⟩' },
{ '(', ')' },
{ '[', ']' },
{ '{', '}' },
{ '︗', '︘' },
{ '﹁', '﹂' },
{ '﹃', '﹄' },
{ '︵', '︶' },
{ '﹇', '﹈' },
{ '︷', '︸' },
{ '︹', '︺' },
{ '︻', '︼' },
{ '︽', '︾' },
{ '︿', '﹀' }
new('「', '」'),
new('『', '』'),
new('【', '】'),
new('《', '》'),
new('〔', '〕'),
new('(', ')'),
new('[', ']'),
new('〈', '〉'),
new('{', '}'),
new('<', '>'),
new('〝', '〟'),
new('"', '"'),
new(''', '''),
new('「', '」'),
new('⟨', '⟩'),
new('(', ')'),
new('[', ']'),
new('{', '}'),
new('︗', '︘'),
new('﹁', '﹂'),
new('﹃', '﹄'),
new('︵', '︶'),
new('﹇', '﹈'),
new('︷', '︸'),
new('︹', '︺'),
new('︻', '︼'),
new('︽', '︾'),
new('︿', '﹀')
// ReSharper restore BadExpressionBracesLineBreaks
}.ToFrozenDictionary();

Expand Down
13 changes: 0 additions & 13 deletions JL.Core/Utilities/Utils.cs
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
using System.Collections.Frozen;
using System.Globalization;
using System.Security.Cryptography;
using System.Text.Encodings.Web;
Expand Down Expand Up @@ -111,18 +110,6 @@ public static partial class Utils
}
};

internal static readonly FrozenDictionary<string, string> s_iso6392BTo2T = new Dictionary<string, string>(20, StringComparer.Ordinal)
{
#pragma warning disable format
// ReSharper disable BadExpressionBracesLineBreaks
{ "tib", "bod" }, { "cze", "ces" }, { "wel", "cym" }, { "ger", "deu" }, { "gre", "ell" },
{ "baq", "eus" }, { "per", "fas" }, { "fre", "fra" }, { "arm", "hye" }, { "ice", "isl" },
{ "geo", "kat" }, { "mac", "mkd" }, { "mao", "mri" }, { "may", "msa" }, { "bur", "mya" },
{ "dut", "nld" }, { "rum", "ron" }, { "slo", "slk" }, { "alb", "sqi" }, { "chi", "zho" }
// ReSharper restore BadExpressionBracesLineBreaks
#pragma warning restore format
}.ToFrozenDictionary(StringComparer.Ordinal);

#pragma warning disable CA5351
internal static string GetMd5String(ReadOnlySpan<byte> bytes)
{
Expand Down

0 comments on commit 8ad6cce

Please sign in to comment.