Skip to content

Commit a80896d

Browse files
authored
[QuickAccent] Add International Phonetic Alphabet characters (#33104)
* Add IPA, everything done except ʡ ʔ ʕ ʢ * VK_COMMA * Add comment
1 parent 4badf2d commit a80896d

File tree

4 files changed

+37
-0
lines changed

4 files changed

+37
-0
lines changed

src/modules/poweraccent/PowerAccent.Core/Languages.cs

+31
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ public enum Language
2828
HE,
2929
HU,
3030
IS,
31+
IPA,
3132
IT,
3233
KU,
3334
LT,
@@ -72,6 +73,7 @@ public static string[] GetDefaultLetterKey(LetterKey letter, Language lang)
7273
Language.HE => GetDefaultLetterKeyHE(letter), // Hebrew
7374
Language.HU => GetDefaultLetterKeyHU(letter), // Hungarian
7475
Language.IS => GetDefaultLetterKeyIS(letter), // Iceland
76+
Language.IPA => GetDefaultLetterKeyIPA(letter), // IPA (International phonetic alphabet)
7577
Language.IT => GetDefaultLetterKeyIT(letter), // Italian
7678
Language.KU => GetDefaultLetterKeyKU(letter), // Kurdish
7779
Language.LT => GetDefaultLetterKeyLT(letter), // Lithuanian
@@ -119,6 +121,7 @@ private static string[] GetDefaultLetterKeyALL(LetterKey letter)
119121
.Union(GetDefaultLetterKeyHE(letter))
120122
.Union(GetDefaultLetterKeyHU(letter))
121123
.Union(GetDefaultLetterKeyIS(letter))
124+
.Union(GetDefaultLetterKeyIPA(letter))
122125
.Union(GetDefaultLetterKeyIT(letter))
123126
.Union(GetDefaultLetterKeyKU(letter))
124127
.Union(GetDefaultLetterKeyLT(letter))
@@ -792,5 +795,33 @@ private static string[] GetDefaultLetterKeySL(LetterKey letter)
792795
_ => Array.Empty<string>(),
793796
};
794797
}
798+
799+
// IPA (International Phonetic Alphabet)
800+
private static string[] GetDefaultLetterKeyIPA(LetterKey letter)
801+
{
802+
return letter switch
803+
{
804+
LetterKey.VK_A => new[] { "ɐ", "ɑ", "ɒ" },
805+
LetterKey.VK_B => new[] { "ʙ" },
806+
LetterKey.VK_E => new[] { "ɘ", "ɵ", "ə", "ɛ", "ɜ", "ɞ" },
807+
LetterKey.VK_F => new[] { "ɟ", "ɸ" },
808+
LetterKey.VK_G => new[] { "ɢ", "ɣ" },
809+
LetterKey.VK_H => new[] { "ɦ", "ʜ" },
810+
LetterKey.VK_I => new[] { "ɨ", "ɪ" },
811+
LetterKey.VK_J => new[] { "ʝ" },
812+
LetterKey.VK_L => new[] { "ɬ", "ɮ", "ꞎ", "ɭ", "ʎ", "ʟ", "ɺ" },
813+
LetterKey.VK_N => new[] { "ɳ", "ɲ", "ŋ", "ɴ" },
814+
LetterKey.VK_O => new[] { "ɤ", "ɔ", "ɶ" },
815+
LetterKey.VK_R => new[] { "ʁ", "ɹ", "ɻ", "ɾ", "ɽ", "ʀ" },
816+
LetterKey.VK_S => new[] { "ʃ", "ʂ", "ɕ" },
817+
LetterKey.VK_U => new[] { "ʉ", "ʊ" },
818+
LetterKey.VK_V => new[] { "ʋ", "ⱱ", "ʌ" },
819+
LetterKey.VK_W => new[] { "ɰ", "ɯ" },
820+
LetterKey.VK_Y => new[] { "ʏ" },
821+
LetterKey.VK_Z => new[] { "ʒ", "ʐ", "ʑ" },
822+
LetterKey.VK_COMMA => new[] { "ʡ", "ʔ", "ʕ", "ʢ" },
823+
_ => Array.Empty<string>(),
824+
};
825+
}
795826
}
796827
}

src/settings-ui/Settings.UI/SettingsXAML/Views/PowerAccentPage.xaml

+1
Original file line numberDiff line numberDiff line change
@@ -71,6 +71,7 @@
7171
<ComboBoxItem x:Uid="QuickAccent_SelectedLanguage_Hebrew" />
7272
<ComboBoxItem x:Uid="QuickAccent_SelectedLanguage_Hungarian" />
7373
<ComboBoxItem x:Uid="QuickAccent_SelectedLanguage_Icelandic" />
74+
<ComboBoxItem x:Uid="QuickAccent_SelectedLanguage_IPA" />
7475
<ComboBoxItem x:Uid="QuickAccent_SelectedLanguage_Italian" />
7576
<ComboBoxItem x:Uid="QuickAccent_SelectedLanguage_Kurdish" />
7677
<ComboBoxItem x:Uid="QuickAccent_SelectedLanguage_Lithuanian" />

src/settings-ui/Settings.UI/Strings/en-us/Resources.resw

+4
Original file line numberDiff line numberDiff line change
@@ -3491,6 +3491,10 @@ Activate by holding the key for the character you want to add an accent to, then
34913491
<data name="QuickAccent_SelectedLanguage_Esperanto.Content" xml:space="preserve">
34923492
<value>Esperanto</value>
34933493
</data>
3494+
<data name="QuickAccent_SelectedLanguage_IPA.Content" xml:space="preserve">
3495+
<value>IPA</value>
3496+
<comment>International Phonetic Alphabet</comment>
3497+
</data>
34943498
<data name="QuickAccent_SelectedLanguage_Lithuanian.Content" xml:space="preserve">
34953499
<value>Lithuanian</value>
34963500
</data>

src/settings-ui/Settings.UI/ViewModels/PowerAccentViewModel.cs

+1
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,7 @@ public class PowerAccentViewModel : Observable
4242
"HE",
4343
"HU",
4444
"IS",
45+
"IPA",
4546
"IT",
4647
"KU",
4748
"LT",

0 commit comments

Comments
 (0)