Mandarin // Add Shintsuu layout.

This commit is contained in:
ShikiSuen 2022-02-11 18:42:24 +08:00
parent d315dc80a3
commit abac16f757
5 changed files with 72 additions and 10 deletions

View File

@ -1097,6 +1097,55 @@ static BopomofoKeyboardLayout* CreateIBMLayout() {
return new BopomofoKeyboardLayout(ktcm, "IBM"); return new BopomofoKeyboardLayout(ktcm, "IBM");
} }
static BopomofoKeyboardLayout* CreateShintsuuLayout() {
std::vector<BPMF::Component> vec;
BopomofoKeyToComponentMap ktcm;
ASSIGNKEY1(ktcm, vec, '1', BPMF::Tone5);
ASSIGNKEY1(ktcm, vec, '2', BPMF::Tone2);
ASSIGNKEY1(ktcm, vec, '3', BPMF::Tone3);
ASSIGNKEY1(ktcm, vec, '4', BPMF::Tone4);
ASSIGNKEY1(ktcm, vec, '5', BPMF::AI);
ASSIGNKEY1(ktcm, vec, '6', BPMF::AO);
ASSIGNKEY1(ktcm, vec, '7', BPMF::AN);
ASSIGNKEY1(ktcm, vec, '8', BPMF::EN);
ASSIGNKEY1(ktcm, vec, '9', BPMF::ANG);
ASSIGNKEY1(ktcm, vec, '0', BPMF::ENG);
ASSIGNKEY1(ktcm, vec, '-', BPMF::ERR);
ASSIGNKEY1(ktcm, vec, ';', BPMF::E);
ASSIGNKEY1(ktcm, vec, ',', BPMF::ZH);
ASSIGNKEY1(ktcm, vec, '.', BPMF::CH);
ASSIGNKEY1(ktcm, vec, '/', BPMF::SH);
ASSIGNKEY1(ktcm, vec, 'a', BPMF::A);
ASSIGNKEY1(ktcm, vec, 'b', BPMF::B);
ASSIGNKEY1(ktcm, vec, 'c', BPMF::C);
ASSIGNKEY1(ktcm, vec, 'd', BPMF::D);
ASSIGNKEY1(ktcm, vec, 'e', BPMF::ER);
ASSIGNKEY1(ktcm, vec, 'f', BPMF::F);
ASSIGNKEY1(ktcm, vec, 'g', BPMF::G);
ASSIGNKEY1(ktcm, vec, 'h', BPMF::H);
ASSIGNKEY1(ktcm, vec, 'i', BPMF::EI);
ASSIGNKEY1(ktcm, vec, 'j', BPMF::J);
ASSIGNKEY1(ktcm, vec, 'k', BPMF::K);
ASSIGNKEY1(ktcm, vec, 'l', BPMF::L);
ASSIGNKEY1(ktcm, vec, 'm', BPMF::M);
ASSIGNKEY1(ktcm, vec, 'n', BPMF::N);
ASSIGNKEY1(ktcm, vec, 'o', BPMF::O);
ASSIGNKEY1(ktcm, vec, 'p', BPMF::P);
ASSIGNKEY1(ktcm, vec, 'q', BPMF::Q);
ASSIGNKEY1(ktcm, vec, 'r', BPMF::R);
ASSIGNKEY1(ktcm, vec, 's', BPMF::S);
ASSIGNKEY1(ktcm, vec, 't', BPMF::T);
ASSIGNKEY1(ktcm, vec, 'u', BPMF::OU);
ASSIGNKEY1(ktcm, vec, 'v', BPMF::UE);
ASSIGNKEY1(ktcm, vec, 'w', BPMF::U);
ASSIGNKEY1(ktcm, vec, 'x', BPMF::X);
ASSIGNKEY1(ktcm, vec, 'y', BPMF::I);
ASSIGNKEY1(ktcm, vec, 'z', BPMF::Z);
return new BopomofoKeyboardLayout(ktcm, "Shintsuu");
}
static BopomofoKeyboardLayout* CreateETenLayout() { static BopomofoKeyboardLayout* CreateETenLayout() {
std::vector<BPMF::Component> vec; std::vector<BPMF::Component> vec;
BopomofoKeyToComponentMap ktcm; BopomofoKeyToComponentMap ktcm;
@ -1242,6 +1291,11 @@ const BopomofoKeyboardLayout* BopomofoKeyboardLayout::IBMLayout() {
return layout; return layout;
} }
const BopomofoKeyboardLayout* BopomofoKeyboardLayout::ShintsuuLayout() {
static BopomofoKeyboardLayout* layout = CreateShintsuuLayout();
return layout;
}
const BopomofoKeyboardLayout* BopomofoKeyboardLayout::HanyuPinyinLayout() { const BopomofoKeyboardLayout* BopomofoKeyboardLayout::HanyuPinyinLayout() {
static BopomofoKeyboardLayout* layout = CreateHanyuPinyinLayout(); static BopomofoKeyboardLayout* layout = CreateHanyuPinyinLayout();
return layout; return layout;

View File

@ -213,6 +213,7 @@ public:
static const BopomofoKeyboardLayout* HsuLayout(); static const BopomofoKeyboardLayout* HsuLayout();
static const BopomofoKeyboardLayout* ETen26Layout(); static const BopomofoKeyboardLayout* ETen26Layout();
static const BopomofoKeyboardLayout* IBMLayout(); static const BopomofoKeyboardLayout* IBMLayout();
static const BopomofoKeyboardLayout* ShintsuuLayout();
static const BopomofoKeyboardLayout* HanyuPinyinLayout(); static const BopomofoKeyboardLayout* HanyuPinyinLayout();
BopomofoKeyboardLayout(const BopomofoKeyToComponentMap& ktcm, BopomofoKeyboardLayout(const BopomofoKeyToComponentMap& ktcm,

View File

@ -179,12 +179,15 @@ static NSString *const kGraphVizOutputfile = @"/tmp/vChewing-visualization.dot";
case KeyboardLayoutEten26: case KeyboardLayoutEten26:
_bpmfReadingBuffer->setKeyboardLayout(BopomofoKeyboardLayout::ETen26Layout()); _bpmfReadingBuffer->setKeyboardLayout(BopomofoKeyboardLayout::ETen26Layout());
break; break;
case KeyboardLayoutHanyuPinyin:
_bpmfReadingBuffer->setKeyboardLayout(BopomofoKeyboardLayout::HanyuPinyinLayout());
break;
case KeyboardLayoutIBM: case KeyboardLayoutIBM:
_bpmfReadingBuffer->setKeyboardLayout(BopomofoKeyboardLayout::IBMLayout()); _bpmfReadingBuffer->setKeyboardLayout(BopomofoKeyboardLayout::IBMLayout());
break; break;
case KeyboardLayoutShintsuu:
_bpmfReadingBuffer->setKeyboardLayout(BopomofoKeyboardLayout::ShintsuuLayout());
break;
case KeyboardLayoutHanyuPinyin:
_bpmfReadingBuffer->setKeyboardLayout(BopomofoKeyboardLayout::HanyuPinyinLayout());
break;
default: default:
_bpmfReadingBuffer->setKeyboardLayout(BopomofoKeyboardLayout::StandardLayout()); _bpmfReadingBuffer->setKeyboardLayout(BopomofoKeyboardLayout::StandardLayout());
Preferences.keyboardLayout = KeyboardLayoutStandard; Preferences.keyboardLayout = KeyboardLayoutStandard;

View File

@ -154,8 +154,9 @@ struct ComposingBufferSize {
case eten = 1 case eten = 1
case hsu = 2 case hsu = 2
case eten26 = 3 case eten26 = 3
case hanyuPinyin = 4 case IBM = 4
case IBM = 5 case shintsuu = 5
case hanyuPinyin = 10
var name: String { var name: String {
switch (self) { switch (self) {
@ -167,10 +168,12 @@ struct ComposingBufferSize {
return "Hsu" return "Hsu"
case .eten26: case .eten26:
return "ETen26" return "ETen26"
case .hanyuPinyin:
return "HanyuPinyin"
case .IBM: case .IBM:
return "IBM" return "IBM"
case .shintsuu:
return "Shintsuu"
case .hanyuPinyin:
return "HanyuPinyin"
} }
} }
} }

View File

@ -594,8 +594,9 @@
<menuItem title="ETen" tag="1" id="7"/> <menuItem title="ETen" tag="1" id="7"/>
<menuItem title="Hsu" tag="2" id="8"/> <menuItem title="Hsu" tag="2" id="8"/>
<menuItem title="ETen26" tag="3" id="9"/> <menuItem title="ETen26" tag="3" id="9"/>
<menuItem title="IBM" tag="5" id="137"/> <menuItem title="IBM" tag="4" id="137"/>
<menuItem title="Hanyu Pinyin" tag="4" id="10"/> <menuItem title="Shintsuu" tag="5" id="7fV-x8-WHQ"/>
<menuItem title="Hanyu Pinyin" tag="10" id="10"/>
</items> </items>
</menu> </menu>
<connections> <connections>