Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 | 2x | import type {TranslitScheme} from '../types';
/**
* Vietnamese Telex input. The classic showcase for digraph-with-extension:
* type `a` then `a` and the matcher rewrites `a` → `â`; type `a` then `s`
* and the matcher rewrites `a` → `á`.
*
* Modifier digraphs: aa→â ee→ê oo→ô aw→ă ow→ơ uw→ư dd→đ
* Tones (suffix): s→sắc f→huyền r→hỏi x→ngã j→nặng
*/
export const viTelex: TranslitScheme = {
id: 'vi-telex',
name: 'Vietnamese (Telex)',
short: 'VI',
language: 'vi',
script: 'Latn',
kind: 'alphabet',
rules: [
// Trigraphs: modified vowel + tone.
// â family (aa).
{in: 'aas', out: 'ấ'},
{in: 'aaf', out: 'ầ'},
{in: 'aar', out: 'ẩ'},
{in: 'aax', out: 'ẫ'},
{in: 'aaj', out: 'ậ'},
// ê family (ee).
{in: 'ees', out: 'ế'},
{in: 'eef', out: 'ề'},
{in: 'eer', out: 'ể'},
{in: 'eex', out: 'ễ'},
{in: 'eej', out: 'ệ'},
// ô family (oo).
{in: 'oos', out: 'ố'},
{in: 'oof', out: 'ồ'},
{in: 'oor', out: 'ổ'},
{in: 'oox', out: 'ỗ'},
{in: 'ooj', out: 'ộ'},
// ă family (aw).
{in: 'aws', out: 'ắ'},
{in: 'awf', out: 'ằ'},
{in: 'awr', out: 'ẳ'},
{in: 'awx', out: 'ẵ'},
{in: 'awj', out: 'ặ'},
// ơ family (ow).
{in: 'ows', out: 'ớ'},
{in: 'owf', out: 'ờ'},
{in: 'owr', out: 'ở'},
{in: 'owx', out: 'ỡ'},
{in: 'owj', out: 'ợ'},
// ư family (uw).
{in: 'uws', out: 'ứ'},
{in: 'uwf', out: 'ừ'},
{in: 'uwr', out: 'ử'},
{in: 'uwx', out: 'ữ'},
{in: 'uwj', out: 'ự'},
// Digraphs: modifier letters.
{in: 'aa', out: 'â'},
{in: 'ee', out: 'ê'},
{in: 'oo', out: 'ô'},
{in: 'aw', out: 'ă'},
{in: 'ow', out: 'ơ'},
{in: 'uw', out: 'ư'},
{in: 'dd', out: 'đ'},
// Digraphs: bare-vowel + tone.
{in: 'as', out: 'á'},
{in: 'af', out: 'à'},
{in: 'ar', out: 'ả'},
{in: 'ax', out: 'ã'},
{in: 'aj', out: 'ạ'},
{in: 'es', out: 'é'},
{in: 'ef', out: 'è'},
{in: 'er', out: 'ẻ'},
{in: 'ex', out: 'ẽ'},
{in: 'ej', out: 'ẹ'},
{in: 'is', out: 'í'},
{in: 'if', out: 'ì'},
{in: 'ir', out: 'ỉ'},
{in: 'ix', out: 'ĩ'},
{in: 'ij', out: 'ị'},
{in: 'os', out: 'ó'},
{in: 'of', out: 'ò'},
{in: 'or', out: 'ỏ'},
{in: 'ox', out: 'õ'},
{in: 'oj', out: 'ọ'},
{in: 'us', out: 'ú'},
{in: 'uf', out: 'ù'},
{in: 'ur', out: 'ủ'},
{in: 'ux', out: 'ũ'},
{in: 'uj', out: 'ụ'},
{in: 'ys', out: 'ý'},
{in: 'yf', out: 'ỳ'},
{in: 'yr', out: 'ỷ'},
{in: 'yx', out: 'ỹ'},
{in: 'yj', out: 'ỵ'},
],
};
|