[QuickAccent] Add International Phonetic Alphabet characters (#33104)

* Add IPA, everything done except ʡ ʔ ʕ ʢ

* VK_COMMA

* Add comment
This commit is contained in:
PesBandi 2024-06-04 23:14:43 +02:00 committed by GitHub
parent 4badf2d24a
commit a80896d51b
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
4 changed files with 37 additions and 0 deletions

View File

@ -28,6 +28,7 @@ namespace PowerAccent.Core
HE,
HU,
IS,
IPA,
IT,
KU,
LT,
@ -72,6 +73,7 @@ namespace PowerAccent.Core
Language.HE => GetDefaultLetterKeyHE(letter), // Hebrew
Language.HU => GetDefaultLetterKeyHU(letter), // Hungarian
Language.IS => GetDefaultLetterKeyIS(letter), // Iceland
Language.IPA => GetDefaultLetterKeyIPA(letter), // IPA (International phonetic alphabet)
Language.IT => GetDefaultLetterKeyIT(letter), // Italian
Language.KU => GetDefaultLetterKeyKU(letter), // Kurdish
Language.LT => GetDefaultLetterKeyLT(letter), // Lithuanian
@ -119,6 +121,7 @@ namespace PowerAccent.Core
.Union(GetDefaultLetterKeyHE(letter))
.Union(GetDefaultLetterKeyHU(letter))
.Union(GetDefaultLetterKeyIS(letter))
.Union(GetDefaultLetterKeyIPA(letter))
.Union(GetDefaultLetterKeyIT(letter))
.Union(GetDefaultLetterKeyKU(letter))
.Union(GetDefaultLetterKeyLT(letter))
@ -792,5 +795,33 @@ namespace PowerAccent.Core
_ => Array.Empty<string>(),
};
}
// IPA (International Phonetic Alphabet)
private static string[] GetDefaultLetterKeyIPA(LetterKey letter)
{
return letter switch
{
LetterKey.VK_A => new[] { "ɐ", "ɑ", "ɒ" },
LetterKey.VK_B => new[] { "ʙ" },
LetterKey.VK_E => new[] { "ɘ", "ɵ", "ə", "ɛ", "ɜ", "ɞ" },
LetterKey.VK_F => new[] { "ɟ", "ɸ" },
LetterKey.VK_G => new[] { "ɢ", "ɣ" },
LetterKey.VK_H => new[] { "ɦ", "ʜ" },
LetterKey.VK_I => new[] { "ɨ", "ɪ" },
LetterKey.VK_J => new[] { "ʝ" },
LetterKey.VK_L => new[] { "ɬ", "ɮ", "ꞎ", "ɭ", "ʎ", "ʟ", "ɺ" },
LetterKey.VK_N => new[] { "ɳ", "ɲ", "ŋ", "ɴ" },
LetterKey.VK_O => new[] { "ɤ", "ɔ", "ɶ" },
LetterKey.VK_R => new[] { "ʁ", "ɹ", "ɻ", "ɾ", "ɽ", "ʀ" },
LetterKey.VK_S => new[] { "ʃ", "ʂ", "ɕ" },
LetterKey.VK_U => new[] { "ʉ", "ʊ" },
LetterKey.VK_V => new[] { "ʋ", "ⱱ", "ʌ" },
LetterKey.VK_W => new[] { "ɰ", "ɯ" },
LetterKey.VK_Y => new[] { "ʏ" },
LetterKey.VK_Z => new[] { "ʒ", "ʐ", "ʑ" },
LetterKey.VK_COMMA => new[] { "ʡ", "ʔ", "ʕ", "ʢ" },
_ => Array.Empty<string>(),
};
}
}
}

View File

@ -71,6 +71,7 @@
<ComboBoxItem x:Uid="QuickAccent_SelectedLanguage_Hebrew" />
<ComboBoxItem x:Uid="QuickAccent_SelectedLanguage_Hungarian" />
<ComboBoxItem x:Uid="QuickAccent_SelectedLanguage_Icelandic" />
<ComboBoxItem x:Uid="QuickAccent_SelectedLanguage_IPA" />
<ComboBoxItem x:Uid="QuickAccent_SelectedLanguage_Italian" />
<ComboBoxItem x:Uid="QuickAccent_SelectedLanguage_Kurdish" />
<ComboBoxItem x:Uid="QuickAccent_SelectedLanguage_Lithuanian" />

View File

@ -3491,6 +3491,10 @@ Activate by holding the key for the character you want to add an accent to, then
<data name="QuickAccent_SelectedLanguage_Esperanto.Content" xml:space="preserve">
<value>Esperanto</value>
</data>
<data name="QuickAccent_SelectedLanguage_IPA.Content" xml:space="preserve">
<value>IPA</value>
<comment>International Phonetic Alphabet</comment>
</data>
<data name="QuickAccent_SelectedLanguage_Lithuanian.Content" xml:space="preserve">
<value>Lithuanian</value>
</data>

View File

@ -42,6 +42,7 @@ namespace Microsoft.PowerToys.Settings.UI.ViewModels
"HE",
"HU",
"IS",
"IPA",
"IT",
"KU",
"LT",