Skip to content

Commit

Permalink
add English tone exceptions
Browse files Browse the repository at this point in the history
  • Loading branch information
dinhngtu committed Jan 5, 2024
1 parent 153e79f commit 26be6ea
Show file tree
Hide file tree
Showing 3 changed files with 145 additions and 0 deletions.
132 changes: 132 additions & 0 deletions Telex/TelexData.h
Original file line number Diff line number Diff line change
Expand Up @@ -412,6 +412,138 @@ MAKE_SORTED_MAP(
P2(L'\x1ef9', L"yx"), //
);

MAKE_SORTED_SET(
WConStr,
tone_exceptions_en,
L"airs", //
L"arms", //
L"auras", //
L"axis", //
L"barns", //
L"bars", //
L"beefs", //
L"beers", //
L"boars", //
L"boors", //
L"bores", //
L"boxer", //
L"boxers", //
L"boxes", //
L"burns", //
L"bursar", //
L"burst", //
L"cars", //
L"chairs", //
L"charms", //
L"chars", //
L"cheers", //
L"chefs", //
L"chiefest", //
L"choirs", //
L"chores", //
L"churns", //
L"cores", //
L"corns", //
L"corset", //
L"curst", //
L"darns", //
L"deers", //
L"defends", //
L"defer", //
L"defers", //
L"denser", //
L"deters", //
L"doers", //
L"donors", //
L"doors", //
L"genres", //
L"germs", //
L"goofs", //
L"gores", //
L"hairs", //
L"hangars", //
L"harms", //
L"heros", //
L"hers", //
L"honors", //
L"hoofs", //
L"horns", //
L"horse", //
L"ifs", //
L"irs", //
L"korans", //
L"lairs", //
L"leers", //
L"lepers", //
L"liars", //
L"loafs", //
L"loser", //
L"losers", //
L"major", //
L"majors", //
L"mars", //
L"meres", //
L"merest", //
L"meters", //
L"metres", //
L"moors", //
L"morns", //
L"morons", //
L"motors", //
L"norms", //
L"oafs", //
L"oars", //
L"ores", //
L"pairs", //
L"pars", //
L"peers", //
L"perjure", //
L"perjures", //
L"peruse", //
L"pesters", //
L"peters", //
L"pores", //
L"purees", //
L"queers", //
L"reefs", //
L"refer", //
L"refers", //
L"refuse", //
L"roars", //
L"roofs", //
L"rosary", //
L"rotors", //
L"saris", //
L"sexes", //
L"sirs", //
L"soars", //
L"sofas", //
L"sores", //
L"sorest", //
L"surf", //
L"surfs", //
L"tars", //
L"taxis", //
L"tenser", //
L"terms", //
L"terse", //
L"terser", //
L"testers", //
L"thirst", //
L"thorns", //
L"torsi", //
L"torso", //
L"tureens", //
L"turf", //
L"turfs", //
L"turns", //
L"urns", //
L"veers", //
L"verse", //
L"vexes", //
L"virus", //
);

} // namespace Telex
} // namespace VietType

Expand Down
5 changes: 5 additions & 0 deletions Telex/TelexEngine.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -561,6 +561,11 @@ TelexStates TelexEngine::Commit() {
return _state;
}

if (tone_exceptions_en.find(_keyBuffer) != tone_exceptions_en.end()) {
_state = TelexStates::CommittedInvalid;
return _state;
}

// validate c1
auto c1_it = valid_c1.find(_c1);
if (c1_it == valid_c1.end()) {
Expand Down
8 changes: 8 additions & 0 deletions VietTypeUnitTests/TestTelex.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -679,6 +679,14 @@ TEST_CLASS(TestTelex) {
TelexEngine e(config1);
TestValidWord(e, L"to\xe0n", L"toanf");
}

// test tone exceptions
TEST_METHOD(TestExceptionVirus) {
auto config1 = config;
config1.oa_uy_tone1 = false;
TelexEngine e(config1);
TestInvalidWord(e, L"virus", L"virus");
}
};

}

0 comments on commit 26be6ea

Please sign in to comment.