|
|
|
|
|
|
|
|
tr->stress_lengths[ix] = stress_lengths2[ix]; |
|
|
tr->stress_lengths[ix] = stress_lengths2[ix]; |
|
|
} |
|
|
} |
|
|
memset(&(tr->langopts),0,sizeof(tr->langopts)); |
|
|
memset(&(tr->langopts),0,sizeof(tr->langopts)); |
|
|
|
|
|
tr->langopts.max_lengthmod = 500; |
|
|
|
|
|
|
|
|
tr->langopts.stress_rule = 2; |
|
|
|
|
|
|
|
|
tr->langopts.stress_rule = STRESSPOSN_2R; |
|
|
tr->langopts.unstressed_wd1 = 1; |
|
|
tr->langopts.unstressed_wd1 = 1; |
|
|
tr->langopts.unstressed_wd2 = 3; |
|
|
tr->langopts.unstressed_wd2 = 3; |
|
|
tr->langopts.param[LOPT_SONORANT_MIN] = 95; |
|
|
tr->langopts.param[LOPT_SONORANT_MIN] = 95; |
|
|
|
|
|
|
|
|
static const short stress_lengths_af[8] = {170,140, 220,220, 0, 0, 250,270}; |
|
|
static const short stress_lengths_af[8] = {170,140, 220,220, 0, 0, 250,270}; |
|
|
SetupTranslator(tr,stress_lengths_af,NULL); |
|
|
SetupTranslator(tr,stress_lengths_af,NULL); |
|
|
|
|
|
|
|
|
tr->langopts.stress_rule = 0; |
|
|
|
|
|
|
|
|
tr->langopts.stress_rule = STRESSPOSN_1L; |
|
|
tr->langopts.vowel_pause = 0x30; |
|
|
tr->langopts.vowel_pause = 0x30; |
|
|
tr->langopts.param[LOPT_DIERESES] = 1; |
|
|
tr->langopts.param[LOPT_DIERESES] = 1; |
|
|
tr->langopts.param[LOPT_PREFIXES] = 1; |
|
|
tr->langopts.param[LOPT_PREFIXES] = 1; |
|
|
|
|
|
|
|
|
SetupTranslator(tr,stress_lengths_bn,stress_amps_bn); |
|
|
SetupTranslator(tr,stress_lengths_bn,stress_amps_bn); |
|
|
tr->langopts.length_mods0 = tr->langopts.length_mods; // don't lengthen vowels in the last syllable |
|
|
tr->langopts.length_mods0 = tr->langopts.length_mods; // don't lengthen vowels in the last syllable |
|
|
|
|
|
|
|
|
tr->langopts.stress_rule = 0; |
|
|
|
|
|
|
|
|
tr->langopts.stress_rule = STRESSPOSN_1L; |
|
|
tr->langopts.stress_flags = 0x10004; // use 'diminished' for unstressed final syllable |
|
|
tr->langopts.stress_flags = 0x10004; // use 'diminished' for unstressed final syllable |
|
|
tr->letter_bits_offset = OFFSET_BENGALI; |
|
|
tr->letter_bits_offset = OFFSET_BENGALI; |
|
|
SetIndicLetters(tr); // call this after setting OFFSET_BENGALI |
|
|
SetIndicLetters(tr); // call this after setting OFFSET_BENGALI |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
tr->charset_a0 = charsets[14]; // ISO-8859-14 |
|
|
tr->charset_a0 = charsets[14]; // ISO-8859-14 |
|
|
// tr->langopts.length_mods0 = tr->langopts.length_mods; // don't lengthen vowels in the last syllable |
|
|
// tr->langopts.length_mods0 = tr->langopts.length_mods; // don't lengthen vowels in the last syllable |
|
|
tr->langopts.stress_rule = 2; |
|
|
|
|
|
|
|
|
tr->langopts.stress_rule = STRESSPOSN_2R; |
|
|
// tr->langopts.intonation_group = 4; |
|
|
// tr->langopts.intonation_group = 4; |
|
|
|
|
|
|
|
|
// 'diminished' is an unstressed final syllable |
|
|
// 'diminished' is an unstressed final syllable |
|
|
|
|
|
|
|
|
static const short stress_lengths_da[8] = {160,140, 200,200, 0,0, 220,210}; |
|
|
static const short stress_lengths_da[8] = {160,140, 200,200, 0,0, 220,210}; |
|
|
SetupTranslator(tr,stress_lengths_da,NULL); |
|
|
SetupTranslator(tr,stress_lengths_da,NULL); |
|
|
|
|
|
|
|
|
tr->langopts.stress_rule = 0; |
|
|
|
|
|
|
|
|
tr->langopts.stress_rule = STRESSPOSN_1L; |
|
|
SetLetterVowel(tr,'y'); |
|
|
SetLetterVowel(tr,'y'); |
|
|
tr->langopts.numbers = NUM_DECIMAL_COMMA | NUM_SWAP_TENS | NUM_HUNDRED_AND | NUM_OMIT_1_HUNDRED | NUM_ORDINAL_DOT | NUM_1900; |
|
|
tr->langopts.numbers = NUM_DECIMAL_COMMA | NUM_SWAP_TENS | NUM_HUNDRED_AND | NUM_OMIT_1_HUNDRED | NUM_ORDINAL_DOT | NUM_1900; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
case L('d','e'): |
|
|
case L('d','e'): |
|
|
{ |
|
|
{ |
|
|
static const short stress_lengths_de[8] = {150,130, 200,200, 0, 0, 260,275}; |
|
|
static const short stress_lengths_de[8] = {150,130, 200,200, 0, 0, 260,275}; |
|
|
tr->langopts.stress_rule = 0; |
|
|
|
|
|
|
|
|
tr->langopts.stress_rule = STRESSPOSN_1L; |
|
|
tr->langopts.word_gap = 0x8; // don't use linking phonemes |
|
|
tr->langopts.word_gap = 0x8; // don't use linking phonemes |
|
|
tr->langopts.vowel_pause = 0x30; |
|
|
tr->langopts.vowel_pause = 0x30; |
|
|
tr->langopts.param[LOPT_PREFIXES] = 1; |
|
|
tr->langopts.param[LOPT_PREFIXES] = 1; |
|
|
|
|
|
|
|
|
static const short stress_lengths_en[8] = {182,140, 220,220, 0,0, 248,275}; |
|
|
static const short stress_lengths_en[8] = {182,140, 220,220, 0,0, 248,275}; |
|
|
SetupTranslator(tr,stress_lengths_en,NULL); |
|
|
SetupTranslator(tr,stress_lengths_en,NULL); |
|
|
|
|
|
|
|
|
tr->langopts.stress_rule = 0; |
|
|
|
|
|
|
|
|
tr->langopts.stress_rule = STRESSPOSN_1L; |
|
|
tr->langopts.numbers = NUM_HUNDRED_AND | NUM_ROMAN | NUM_1900; |
|
|
tr->langopts.numbers = NUM_HUNDRED_AND | NUM_ROMAN | NUM_1900; |
|
|
tr->langopts.param[LOPT_COMBINE_WORDS] = 2; // allow "mc" to cmbine with the following word |
|
|
tr->langopts.param[LOPT_COMBINE_WORDS] = 2; // allow "mc" to cmbine with the following word |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
SetLetterBits(tr,LETTERGP_Y,el_fvowels); // front vowels: ε η ι υ |
|
|
SetLetterBits(tr,LETTERGP_Y,el_fvowels); // front vowels: ε η ι υ |
|
|
|
|
|
|
|
|
tr->langopts.length_mods0 = tr->langopts.length_mods; // don't lengthen vowels in the last syllable |
|
|
tr->langopts.length_mods0 = tr->langopts.length_mods; // don't lengthen vowels in the last syllable |
|
|
tr->langopts.stress_rule = 2; |
|
|
|
|
|
|
|
|
tr->langopts.stress_rule = STRESSPOSN_2R; |
|
|
tr->langopts.stress_flags = 0x6; // mark unstressed final syllables as diminished |
|
|
tr->langopts.stress_flags = 0x6; // mark unstressed final syllables as diminished |
|
|
tr->langopts.unstressed_wd1 = 0; |
|
|
tr->langopts.unstressed_wd1 = 0; |
|
|
tr->langopts.unstressed_wd2 = 2; |
|
|
tr->langopts.unstressed_wd2 = 2; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
tr->langopts.word_gap = 1; |
|
|
tr->langopts.word_gap = 1; |
|
|
tr->langopts.vowel_pause = 2; |
|
|
tr->langopts.vowel_pause = 2; |
|
|
tr->langopts.stress_rule = 2; |
|
|
|
|
|
|
|
|
tr->langopts.stress_rule = STRESSPOSN_2R; |
|
|
tr->langopts.stress_flags = 0x6 | 0x10; |
|
|
tr->langopts.stress_flags = 0x6 | 0x10; |
|
|
tr->langopts.unstressed_wd1 = 3; |
|
|
tr->langopts.unstressed_wd1 = 3; |
|
|
tr->langopts.unstressed_wd2 = 2; |
|
|
tr->langopts.unstressed_wd2 = 2; |
|
|
|
|
|
|
|
|
SetupTranslator(tr,stress_lengths_es,stress_amps_es); |
|
|
SetupTranslator(tr,stress_lengths_es,stress_amps_es); |
|
|
|
|
|
|
|
|
tr->langopts.length_mods0 = tr->langopts.length_mods; // don't lengthen vowels in the last syllable |
|
|
tr->langopts.length_mods0 = tr->langopts.length_mods; // don't lengthen vowels in the last syllable |
|
|
tr->langopts.stress_rule = 2; |
|
|
|
|
|
|
|
|
tr->langopts.stress_rule = STRESSPOSN_2R; |
|
|
|
|
|
|
|
|
// stress last syllable if it doesn't end in vowel or "s" or "n" |
|
|
// stress last syllable if it doesn't end in vowel or "s" or "n" |
|
|
// 'diminished' is an unstressed final syllable |
|
|
// 'diminished' is an unstressed final syllable |
|
|
|
|
|
|
|
|
static const short stress_lengths_eu[8] = {200, 200, 200, 200, 0, 0, 210, 230}; // very weak stress |
|
|
static const short stress_lengths_eu[8] = {200, 200, 200, 200, 0, 0, 210, 230}; // very weak stress |
|
|
static const unsigned char stress_amps_eu[8] = {16,16, 18,18, 18,18, 18,18 }; |
|
|
static const unsigned char stress_amps_eu[8] = {16,16, 18,18, 18,18, 18,18 }; |
|
|
SetupTranslator(tr,stress_lengths_eu,stress_amps_eu); |
|
|
SetupTranslator(tr,stress_lengths_eu,stress_amps_eu); |
|
|
tr->langopts.stress_rule = 1; // ?? second syllable ?? |
|
|
|
|
|
|
|
|
tr->langopts.stress_rule = STRESSPOSN_2L; // ?? second syllable ?? |
|
|
tr->langopts.numbers = NUM_SINGLE_STRESS + NUM_DECIMAL_COMMA | NUM_AND_UNITS | NUM_HUNDRED_AND | NUM_OMIT_1_HUNDRED | NUM_VIGESIMAL; |
|
|
tr->langopts.numbers = NUM_SINGLE_STRESS + NUM_DECIMAL_COMMA | NUM_AND_UNITS | NUM_HUNDRED_AND | NUM_OMIT_1_HUNDRED | NUM_VIGESIMAL; |
|
|
} |
|
|
} |
|
|
break; |
|
|
break; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
SetupTranslator(tr,stress_lengths_fi,stress_amps_fi); |
|
|
SetupTranslator(tr,stress_lengths_fi,stress_amps_fi); |
|
|
|
|
|
|
|
|
tr->langopts.stress_rule = 0; |
|
|
|
|
|
|
|
|
tr->langopts.stress_rule = STRESSPOSN_1L; |
|
|
tr->langopts.stress_flags = 0x56; // move secondary stress from light to a following heavy syllable |
|
|
tr->langopts.stress_flags = 0x56; // move secondary stress from light to a following heavy syllable |
|
|
tr->langopts.param[LOPT_IT_DOUBLING] = 1; |
|
|
tr->langopts.param[LOPT_IT_DOUBLING] = 1; |
|
|
tr->langopts.long_stop = 130; |
|
|
tr->langopts.long_stop = 130; |
|
|
|
|
|
|
|
|
static const unsigned char stress_amps_fr[8] = {18,16, 20,20, 20,22, 22,21 }; |
|
|
static const unsigned char stress_amps_fr[8] = {18,16, 20,20, 20,22, 22,21 }; |
|
|
|
|
|
|
|
|
SetupTranslator(tr,stress_lengths_fr,stress_amps_fr); |
|
|
SetupTranslator(tr,stress_lengths_fr,stress_amps_fr); |
|
|
tr->langopts.stress_rule = 3; // stress on final syllable |
|
|
|
|
|
|
|
|
tr->langopts.stress_rule = STRESSPOSN_1R; // stress on final syllable |
|
|
tr->langopts.stress_flags = 0x0024; // don't use secondary stress |
|
|
tr->langopts.stress_flags = 0x0024; // don't use secondary stress |
|
|
tr->langopts.param[LOPT_IT_LENGTHEN] = 1; // remove lengthen indicator from unstressed syllables |
|
|
tr->langopts.param[LOPT_IT_LENGTHEN] = 1; // remove lengthen indicator from unstressed syllables |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
} |
|
|
break; |
|
|
break; |
|
|
|
|
|
|
|
|
#ifdef deleted |
|
|
|
|
|
case L('g','a'): // Irish Gaelic |
|
|
|
|
|
{ |
|
|
|
|
|
tr->langopts.stress_rule = 1; |
|
|
|
|
|
} |
|
|
|
|
|
break; |
|
|
|
|
|
#endif |
|
|
|
|
|
|
|
|
|
|
|
case L('h','i'): // Hindi |
|
|
case L('h','i'): // Hindi |
|
|
case L('n','e'): // Nepali |
|
|
case L('n','e'): // Nepali |
|
|
case L('p','a'): // Punjabi |
|
|
case L('p','a'): // Punjabi |
|
|
|
|
|
|
|
|
SetupTranslator(tr,stress_lengths_hr,stress_amps_hr); |
|
|
SetupTranslator(tr,stress_lengths_hr,stress_amps_hr); |
|
|
tr->charset_a0 = charsets[2]; // ISO-8859-2 |
|
|
tr->charset_a0 = charsets[2]; // ISO-8859-2 |
|
|
|
|
|
|
|
|
tr->langopts.stress_rule = 0; |
|
|
|
|
|
|
|
|
tr->langopts.stress_rule = STRESSPOSN_1L; |
|
|
tr->langopts.stress_flags = 0x10; |
|
|
tr->langopts.stress_flags = 0x10; |
|
|
tr->langopts.param[LOPT_REGRESSIVE_VOICING] = 0x3; |
|
|
tr->langopts.param[LOPT_REGRESSIVE_VOICING] = 0x3; |
|
|
tr->langopts.max_initial_consonants = 5; |
|
|
tr->langopts.max_initial_consonants = 5; |
|
|
|
|
|
|
|
|
tr->charset_a0 = charsets[2]; // ISO-8859-2 |
|
|
tr->charset_a0 = charsets[2]; // ISO-8859-2 |
|
|
|
|
|
|
|
|
tr->langopts.vowel_pause = 0x20; |
|
|
tr->langopts.vowel_pause = 0x20; |
|
|
tr->langopts.stress_rule = 0; |
|
|
|
|
|
|
|
|
tr->langopts.stress_rule = STRESSPOSN_1L; |
|
|
tr->langopts.stress_flags = 0x8036; |
|
|
tr->langopts.stress_flags = 0x8036; |
|
|
tr->langopts.unstressed_wd1 = 2; |
|
|
tr->langopts.unstressed_wd1 = 2; |
|
|
// tr->langopts.param[LOPT_REGRESSIVE_VOICING] = 0x4; // don't propagate over word boundaries |
|
|
// tr->langopts.param[LOPT_REGRESSIVE_VOICING] = 0x4; // don't propagate over word boundaries |
|
|
tr->langopts.param[LOPT_IT_DOUBLING] = 1; |
|
|
tr->langopts.param[LOPT_IT_DOUBLING] = 1; |
|
|
tr->langopts.param[LOPT_COMBINE_WORDS] = 99; // combine some prepositions with the following word |
|
|
|
|
|
|
|
|
// tr->langopts.param[LOPT_COMBINE_WORDS] = 9; // combine some prepositions with the following word |
|
|
|
|
|
|
|
|
tr->langopts.numbers = NUM_DECIMAL_COMMA | NUM_ALLOW_SPACE | NUM_DFRACTION_5 | NUM_ROMAN | NUM_ROMAN_ORDINAL | NUM_ROMAN_CAPITALS | NUM_ORDINAL_DOT | NUM_OMIT_1_HUNDRED; |
|
|
tr->langopts.numbers = NUM_DECIMAL_COMMA | NUM_ALLOW_SPACE | NUM_DFRACTION_5 | NUM_ROMAN | NUM_ROMAN_ORDINAL | NUM_ROMAN_CAPITALS | NUM_ORDINAL_DOT | NUM_OMIT_1_HUNDRED; |
|
|
tr->langopts.min_roman = 1; |
|
|
tr->langopts.min_roman = 1; |
|
|
|
|
|
|
|
|
0x40,0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x49,0x4a,0x4b,0x4c,0x4d,0x4e,0x4f,0x50,0x51,0x52,0x53,0x54,0x56,0}; |
|
|
0x40,0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x49,0x4a,0x4b,0x4c,0x4d,0x4e,0x4f,0x50,0x51,0x52,0x53,0x54,0x56,0}; |
|
|
|
|
|
|
|
|
SetupTranslator(tr,stress_lengths_hy,NULL); |
|
|
SetupTranslator(tr,stress_lengths_hy,NULL); |
|
|
tr->langopts.stress_rule = 3; // default stress on final syllable |
|
|
|
|
|
|
|
|
tr->langopts.stress_rule = STRESSPOSN_1R; // default stress on final syllable |
|
|
|
|
|
|
|
|
tr->letter_bits_offset = OFFSET_ARMENIAN; |
|
|
tr->letter_bits_offset = OFFSET_ARMENIAN; |
|
|
memset(tr->letter_bits,0,sizeof(tr->letter_bits)); |
|
|
memset(tr->letter_bits,0,sizeof(tr->letter_bits)); |
|
|
|
|
|
|
|
|
static const unsigned char stress_amps_id[8] = {16,18, 18,18, 20,22, 22,21 }; |
|
|
static const unsigned char stress_amps_id[8] = {16,18, 18,18, 20,22, 22,21 }; |
|
|
|
|
|
|
|
|
SetupTranslator(tr,stress_lengths_id,stress_amps_id); |
|
|
SetupTranslator(tr,stress_lengths_id,stress_amps_id); |
|
|
tr->langopts.stress_rule = 2; |
|
|
|
|
|
|
|
|
tr->langopts.stress_rule = STRESSPOSN_2R; |
|
|
tr->langopts.numbers = NUM_DECIMAL_COMMA | NUM_ALLOW_SPACE | NUM_ROMAN; |
|
|
tr->langopts.numbers = NUM_DECIMAL_COMMA | NUM_ALLOW_SPACE | NUM_ROMAN; |
|
|
tr->langopts.stress_flags = 0x6 | 0x10; |
|
|
tr->langopts.stress_flags = 0x6 | 0x10; |
|
|
tr->langopts.accents = 2; // "capital" after letter name |
|
|
tr->langopts.accents = 2; // "capital" after letter name |
|
|
|
|
|
|
|
|
static const wchar_t is_lettergroup_B[] = {'c','f','h','k','p','t','x',0xfe,0}; // voiceless conants, including 'þ' ?? 's' |
|
|
static const wchar_t is_lettergroup_B[] = {'c','f','h','k','p','t','x',0xfe,0}; // voiceless conants, including 'þ' ?? 's' |
|
|
|
|
|
|
|
|
SetupTranslator(tr,stress_lengths_is,NULL); |
|
|
SetupTranslator(tr,stress_lengths_is,NULL); |
|
|
tr->langopts.stress_rule = 0; |
|
|
|
|
|
|
|
|
tr->langopts.stress_rule = STRESSPOSN_1L; |
|
|
tr->langopts.stress_flags = 0x10; |
|
|
tr->langopts.stress_flags = 0x10; |
|
|
tr->langopts.param[LOPT_IT_LENGTHEN] = 0x11; // remove lengthen indicator from unstressed vowels |
|
|
tr->langopts.param[LOPT_IT_LENGTHEN] = 0x11; // remove lengthen indicator from unstressed vowels |
|
|
tr->langopts.param[LOPT_REDUCE] = 2; |
|
|
tr->langopts.param[LOPT_REDUCE] = 2; |
|
|
|
|
|
|
|
|
SetupTranslator(tr,stress_lengths_it,stress_amps_it); |
|
|
SetupTranslator(tr,stress_lengths_it,stress_amps_it); |
|
|
|
|
|
|
|
|
tr->langopts.length_mods0 = tr->langopts.length_mods; // don't lengthen vowels in the last syllable |
|
|
tr->langopts.length_mods0 = tr->langopts.length_mods; // don't lengthen vowels in the last syllable |
|
|
tr->langopts.stress_rule = 2; |
|
|
|
|
|
|
|
|
tr->langopts.stress_rule = STRESSPOSN_2R; |
|
|
tr->langopts.stress_flags = 0x10 | 0x20000; |
|
|
tr->langopts.stress_flags = 0x10 | 0x20000; |
|
|
tr->langopts.vowel_pause = 1; |
|
|
tr->langopts.vowel_pause = 1; |
|
|
tr->langopts.unstressed_wd1 = 2; |
|
|
tr->langopts.unstressed_wd1 = 2; |
|
|
|
|
|
|
|
|
static const wchar_t jbo_punct_within_word[] = {'.',',','\'',0x2c8,0}; // allow period and comma within a word, also stress marker (from LOPT_CAPS_IN_WORD) |
|
|
static const wchar_t jbo_punct_within_word[] = {'.',',','\'',0x2c8,0}; // allow period and comma within a word, also stress marker (from LOPT_CAPS_IN_WORD) |
|
|
|
|
|
|
|
|
SetupTranslator(tr,stress_lengths_jbo,NULL); |
|
|
SetupTranslator(tr,stress_lengths_jbo,NULL); |
|
|
tr->langopts.stress_rule = 2; |
|
|
|
|
|
|
|
|
tr->langopts.stress_rule = STRESSPOSN_2R; |
|
|
tr->langopts.vowel_pause = 0x20c; // pause before a word which starts with a vowel, or after a word which ends in a consonant |
|
|
tr->langopts.vowel_pause = 0x20c; // pause before a word which starts with a vowel, or after a word which ends in a consonant |
|
|
// tr->langopts.word_gap = 1; |
|
|
// tr->langopts.word_gap = 1; |
|
|
tr->punct_within_word = jbo_punct_within_word; |
|
|
tr->punct_within_word = jbo_punct_within_word; |
|
|
tr->langopts.param[LOPT_CAPS_IN_WORD] = 2; // capitals indicate stressed syllables |
|
|
tr->langopts.param[LOPT_CAPS_IN_WORD] = 2; // capitals indicate stressed syllables |
|
|
SetLetterVowel(tr,'y'); |
|
|
SetLetterVowel(tr,'y'); |
|
|
|
|
|
tr->langopts.max_lengthmod = 368; |
|
|
} |
|
|
} |
|
|
break; |
|
|
break; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
case L('l','a'): //Latin |
|
|
case L('l','a'): //Latin |
|
|
{ |
|
|
{ |
|
|
tr->charset_a0 = charsets[4]; // ISO-8859-4, includes a,e,i,o,u-macron |
|
|
tr->charset_a0 = charsets[4]; // ISO-8859-4, includes a,e,i,o,u-macron |
|
|
tr->langopts.stress_rule = 2; |
|
|
|
|
|
|
|
|
tr->langopts.stress_rule = STRESSPOSN_2R; |
|
|
tr->langopts.stress_flags = 0x20; |
|
|
tr->langopts.stress_flags = 0x20; |
|
|
tr->langopts.unstressed_wd1 = 0; |
|
|
tr->langopts.unstressed_wd1 = 0; |
|
|
tr->langopts.unstressed_wd2 = 2; |
|
|
tr->langopts.unstressed_wd2 = 2; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
SetupTranslator(tr,stress_lengths_lv,stress_amps_lv); |
|
|
SetupTranslator(tr,stress_lengths_lv,stress_amps_lv); |
|
|
|
|
|
|
|
|
tr->langopts.stress_rule = 0; |
|
|
|
|
|
|
|
|
tr->langopts.stress_rule = STRESSPOSN_1L; |
|
|
tr->langopts.spelling_stress = 1; |
|
|
tr->langopts.spelling_stress = 1; |
|
|
tr->charset_a0 = charsets[4]; // ISO-8859-4 |
|
|
tr->charset_a0 = charsets[4]; // ISO-8859-4 |
|
|
tr->langopts.numbers = NUM_DECIMAL_COMMA | NUM_OMIT_1_HUNDRED | NUM_DFRACTION_4 | NUM_ORDINAL_DOT; |
|
|
tr->langopts.numbers = NUM_DECIMAL_COMMA | NUM_OMIT_1_HUNDRED | NUM_DFRACTION_4 | NUM_ORDINAL_DOT; |
|
|
|
|
|
|
|
|
tr->charset_a0 = charsets[5]; // ISO-8859-5 |
|
|
tr->charset_a0 = charsets[5]; // ISO-8859-5 |
|
|
tr->letter_groups[0] = vowels_cyrillic; |
|
|
tr->letter_groups[0] = vowels_cyrillic; |
|
|
|
|
|
|
|
|
tr->langopts.stress_rule = 4; // antipenultimate |
|
|
|
|
|
|
|
|
tr->langopts.stress_rule = STRESSPOSN_3R; // antipenultimate |
|
|
tr->langopts.numbers = NUM_DECIMAL_COMMA | NUM_AND_UNITS | NUM_OMIT_1_HUNDRED | NUM_DFRACTION_2; |
|
|
tr->langopts.numbers = NUM_DECIMAL_COMMA | NUM_AND_UNITS | NUM_OMIT_1_HUNDRED | NUM_DFRACTION_2; |
|
|
tr->langopts.numbers2 = 0x8a; // variant numbers before thousands,milliards |
|
|
tr->langopts.numbers2 = 0x8a; // variant numbers before thousands,milliards |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
{ |
|
|
{ |
|
|
static const short stress_lengths_nl[8] = {160,135, 210,210, 0, 0, 260,280}; |
|
|
static const short stress_lengths_nl[8] = {160,135, 210,210, 0, 0, 260,280}; |
|
|
|
|
|
|
|
|
tr->langopts.stress_rule = 0; |
|
|
|
|
|
|
|
|
tr->langopts.stress_rule = STRESSPOSN_1L; |
|
|
tr->langopts.vowel_pause = 1; |
|
|
tr->langopts.vowel_pause = 1; |
|
|
tr->langopts.param[LOPT_DIERESES] = 1; |
|
|
tr->langopts.param[LOPT_DIERESES] = 1; |
|
|
tr->langopts.param[LOPT_PREFIXES] = 1; |
|
|
tr->langopts.param[LOPT_PREFIXES] = 1; |
|
|
|
|
|
|
|
|
static const short stress_lengths_no[8] = {160,140, 200,200, 0,0, 220,210}; |
|
|
static const short stress_lengths_no[8] = {160,140, 200,200, 0,0, 220,210}; |
|
|
|
|
|
|
|
|
SetupTranslator(tr,stress_lengths_no,NULL); |
|
|
SetupTranslator(tr,stress_lengths_no,NULL); |
|
|
tr->langopts.stress_rule = 0; |
|
|
|
|
|
|
|
|
tr->langopts.stress_rule = STRESSPOSN_1L; |
|
|
SetLetterVowel(tr,'y'); |
|
|
SetLetterVowel(tr,'y'); |
|
|
tr->langopts.numbers = NUM_DECIMAL_COMMA | NUM_HUNDRED_AND | NUM_ALLOW_SPACE | NUM_1900 + NUM_ORDINAL_DOT; |
|
|
tr->langopts.numbers = NUM_DECIMAL_COMMA | NUM_HUNDRED_AND | NUM_ALLOW_SPACE | NUM_1900 + NUM_ORDINAL_DOT; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
static const short stress_lengths_om[8] = {200,200, 200,200, 0,0, 200,200}; |
|
|
static const short stress_lengths_om[8] = {200,200, 200,200, 0,0, 200,200}; |
|
|
|
|
|
|
|
|
SetupTranslator(tr,stress_lengths_om,stress_amps_om); |
|
|
SetupTranslator(tr,stress_lengths_om,stress_amps_om); |
|
|
tr->langopts.stress_rule = 2; |
|
|
|
|
|
tr->langopts.stress_flags = 2 + NUM_SWAP_TENS | NUM_THOUS_SPACE | NUM_NOPAUSE; //?? |
|
|
|
|
|
|
|
|
tr->langopts.stress_rule = STRESSPOSN_2R; |
|
|
|
|
|
tr->langopts.stress_flags = 0x16 + 0x80000; |
|
|
} |
|
|
} |
|
|
break; |
|
|
break; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
SetupTranslator(tr,stress_lengths_pl,stress_amps_pl); |
|
|
SetupTranslator(tr,stress_lengths_pl,stress_amps_pl); |
|
|
|
|
|
|
|
|
tr->charset_a0 = charsets[2]; // ISO-8859-2 |
|
|
tr->charset_a0 = charsets[2]; // ISO-8859-2 |
|
|
tr->langopts.stress_rule = 2; |
|
|
|
|
|
|
|
|
tr->langopts.stress_rule = STRESSPOSN_2R; |
|
|
tr->langopts.stress_flags = 0x6; // mark unstressed final syllables as diminished |
|
|
tr->langopts.stress_flags = 0x6; // mark unstressed final syllables as diminished |
|
|
tr->langopts.param[LOPT_REGRESSIVE_VOICING] = 0x8; |
|
|
tr->langopts.param[LOPT_REGRESSIVE_VOICING] = 0x8; |
|
|
tr->langopts.max_initial_consonants = 7; // for example: wchrzczony :) |
|
|
tr->langopts.max_initial_consonants = 7; // for example: wchrzczony :) |
|
|
|
|
|
|
|
|
SetupTranslator(tr,stress_lengths_pt,stress_amps_pt); |
|
|
SetupTranslator(tr,stress_lengths_pt,stress_amps_pt); |
|
|
tr->langopts.length_mods0 = tr->langopts.length_mods; // don't lengthen vowels in the last syllable |
|
|
tr->langopts.length_mods0 = tr->langopts.length_mods; // don't lengthen vowels in the last syllable |
|
|
|
|
|
|
|
|
tr->langopts.stress_rule = 3; // stress on final syllable |
|
|
|
|
|
|
|
|
tr->langopts.stress_rule = STRESSPOSN_1R; // stress on final syllable |
|
|
tr->langopts.stress_flags = 0x6 | 0x10 | 0x20000; |
|
|
tr->langopts.stress_flags = 0x6 | 0x10 | 0x20000; |
|
|
tr->langopts.numbers = NUM_DECIMAL_COMMA | NUM_DFRACTION_2 | NUM_HUNDRED_AND | NUM_AND_UNITS | NUM_ROMAN; |
|
|
tr->langopts.numbers = NUM_DECIMAL_COMMA | NUM_DFRACTION_2 | NUM_HUNDRED_AND | NUM_AND_UNITS | NUM_ROMAN; |
|
|
SetLetterVowel(tr,'y'); |
|
|
SetLetterVowel(tr,'y'); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
SetupTranslator(tr,stress_lengths_ro,stress_amps_ro); |
|
|
SetupTranslator(tr,stress_lengths_ro,stress_amps_ro); |
|
|
|
|
|
|
|
|
tr->langopts.stress_rule = 2; |
|
|
|
|
|
|
|
|
tr->langopts.stress_rule = STRESSPOSN_2R; |
|
|
tr->langopts.stress_flags = 0x100 + 0x6; |
|
|
tr->langopts.stress_flags = 0x100 + 0x6; |
|
|
|
|
|
|
|
|
tr->charset_a0 = charsets[2]; // ISO-8859-2 |
|
|
tr->charset_a0 = charsets[2]; // ISO-8859-2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
case L('r','w'): // Kiryarwanda |
|
|
case L('r','w'): // Kiryarwanda |
|
|
{ |
|
|
{ |
|
|
tr->langopts.stress_rule = 2; |
|
|
|
|
|
|
|
|
tr->langopts.stress_rule = STRESSPOSN_2R; |
|
|
tr->langopts.stress_flags = 0x16; |
|
|
tr->langopts.stress_flags = 0x16; |
|
|
tr->langopts.length_mods0 = tr->langopts.length_mods; // don't lengthen vowels in the last syllable |
|
|
tr->langopts.length_mods0 = tr->langopts.length_mods; // don't lengthen vowels in the last syllable |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
SetupTranslator(tr,stress_lengths_sk,stress_amps_sk); |
|
|
SetupTranslator(tr,stress_lengths_sk,stress_amps_sk); |
|
|
tr->charset_a0 = charsets[2]; // ISO-8859-2 |
|
|
tr->charset_a0 = charsets[2]; // ISO-8859-2 |
|
|
|
|
|
|
|
|
tr->langopts.stress_rule = 0; |
|
|
|
|
|
|
|
|
tr->langopts.stress_rule = STRESSPOSN_1L; |
|
|
tr->langopts.stress_flags = 0x16; |
|
|
tr->langopts.stress_flags = 0x16; |
|
|
tr->langopts.param[LOPT_REGRESSIVE_VOICING] = 0x3; |
|
|
tr->langopts.param[LOPT_REGRESSIVE_VOICING] = 0x3; |
|
|
tr->langopts.max_initial_consonants = 5; |
|
|
tr->langopts.max_initial_consonants = 5; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
tr->langopts.numbers = NUM_OMIT_1_HUNDRED | NUM_DFRACTION_2 | NUM_ROMAN; |
|
|
tr->langopts.numbers = NUM_OMIT_1_HUNDRED | NUM_DFRACTION_2 | NUM_ROMAN; |
|
|
tr->langopts.numbers2 = 0x100; |
|
|
tr->langopts.numbers2 = 0x100; |
|
|
tr->langopts.thousands_sep = 0; //no thousands separator |
|
|
|
|
|
|
|
|
tr->langopts.thousands_sep = STRESSPOSN_1L; //no thousands separator |
|
|
tr->langopts.decimal_sep = ','; |
|
|
tr->langopts.decimal_sep = ','; |
|
|
|
|
|
|
|
|
if(name2 == L('c','s')) |
|
|
if(name2 == L('c','s')) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
SetupTranslator(tr,stress_lengths_sq,stress_amps_sq); |
|
|
SetupTranslator(tr,stress_lengths_sq,stress_amps_sq); |
|
|
|
|
|
|
|
|
tr->langopts.stress_rule = 2; |
|
|
|
|
|
|
|
|
tr->langopts.stress_rule = STRESSPOSN_2R; |
|
|
tr->langopts.stress_flags = 0x16 + 0x100; |
|
|
tr->langopts.stress_flags = 0x16 + 0x100; |
|
|
SetLetterVowel(tr,'y'); |
|
|
SetLetterVowel(tr,'y'); |
|
|
tr->langopts.numbers = NUM_DECIMAL_COMMA | NUM_HUNDRED_AND | NUM_AND_UNITS | NUM_DFRACTION_4; |
|
|
tr->langopts.numbers = NUM_DECIMAL_COMMA | NUM_HUNDRED_AND | NUM_AND_UNITS | NUM_DFRACTION_4; |
|
|
|
|
|
|
|
|
static const short stress_lengths_sv[8] = {160,135, 220,220, 0,0, 250,280}; |
|
|
static const short stress_lengths_sv[8] = {160,135, 220,220, 0,0, 250,280}; |
|
|
SetupTranslator(tr,stress_lengths_sv,stress_amps_sv); |
|
|
SetupTranslator(tr,stress_lengths_sv,stress_amps_sv); |
|
|
|
|
|
|
|
|
tr->langopts.stress_rule = 0; |
|
|
|
|
|
|
|
|
tr->langopts.stress_rule = STRESSPOSN_1L; |
|
|
SetLetterVowel(tr,'y'); |
|
|
SetLetterVowel(tr,'y'); |
|
|
tr->langopts.numbers = NUM_SINGLE_STRESS + NUM_DECIMAL_COMMA | NUM_ALLOW_SPACE | NUM_1900; |
|
|
tr->langopts.numbers = NUM_SINGLE_STRESS + NUM_DECIMAL_COMMA | NUM_ALLOW_SPACE | NUM_1900; |
|
|
tr->langopts.accents = 1; |
|
|
tr->langopts.accents = 1; |
|
|
|
|
|
|
|
|
tr->langopts.length_mods0 = tr->langopts.length_mods; // don't lengthen vowels in the last syllable |
|
|
tr->langopts.length_mods0 = tr->langopts.length_mods; // don't lengthen vowels in the last syllable |
|
|
|
|
|
|
|
|
tr->langopts.vowel_pause = 1; |
|
|
tr->langopts.vowel_pause = 1; |
|
|
tr->langopts.stress_rule = 2; |
|
|
|
|
|
|
|
|
tr->langopts.stress_rule = STRESSPOSN_2R; |
|
|
tr->langopts.stress_flags = 0x6 | 0x10; |
|
|
tr->langopts.stress_flags = 0x6 | 0x10; |
|
|
|
|
|
|
|
|
tr->langopts.numbers = NUM_AND_UNITS | NUM_HUNDRED_AND | NUM_SINGLE_AND | NUM_OMIT_1_HUNDRED; |
|
|
tr->langopts.numbers = NUM_AND_UNITS | NUM_HUNDRED_AND | NUM_SINGLE_AND | NUM_OMIT_1_HUNDRED; |
|
|
|
|
|
|
|
|
SetupTranslator(tr,stress_lengths_ta,stress_amps_ta); |
|
|
SetupTranslator(tr,stress_lengths_ta,stress_amps_ta); |
|
|
tr->langopts.length_mods0 = tr->langopts.length_mods; // don't lengthen vowels in the last syllable |
|
|
tr->langopts.length_mods0 = tr->langopts.length_mods; // don't lengthen vowels in the last syllable |
|
|
|
|
|
|
|
|
tr->langopts.stress_rule = 0; |
|
|
|
|
|
|
|
|
tr->langopts.stress_rule = STRESSPOSN_1L; |
|
|
tr->langopts.stress_flags = 0x10004; // use 'diminished' for unstressed final syllable |
|
|
tr->langopts.stress_flags = 0x10004; // use 'diminished' for unstressed final syllable |
|
|
tr->langopts.break_numbers = 0x24a8; // 1000, 100,000 10,000,000 |
|
|
tr->langopts.break_numbers = 0x24a8; // 1000, 100,000 10,000,000 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
SetupTranslator(tr,stress_lengths_vi,stress_amps_vi); |
|
|
SetupTranslator(tr,stress_lengths_vi,stress_amps_vi); |
|
|
tr->langopts.length_mods0 = tr->langopts.length_mods; // don't lengthen vowels in the last syllable |
|
|
tr->langopts.length_mods0 = tr->langopts.length_mods; // don't lengthen vowels in the last syllable |
|
|
|
|
|
|
|
|
tr->langopts.stress_rule = 0; |
|
|
|
|
|
|
|
|
tr->langopts.stress_rule = STRESSPOSN_1L; |
|
|
tr->langopts.word_gap = 0x21; // length of a final vowel is less dependent on the next consonant, don't merge consonant with next word |
|
|
tr->langopts.word_gap = 0x21; // length of a final vowel is less dependent on the next consonant, don't merge consonant with next word |
|
|
// tr->langopts.vowel_pause = 4; |
|
|
// tr->langopts.vowel_pause = 4; |
|
|
tr->letter_groups[0] = vowels_vi; |
|
|
tr->letter_groups[0] = vowels_vi; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
SetupTranslator(tr,stress_lengths_zh,stress_amps_zh); |
|
|
SetupTranslator(tr,stress_lengths_zh,stress_amps_zh); |
|
|
|
|
|
|
|
|
tr->langopts.stress_rule = 3; // stress on final syllable of a "word" |
|
|
|
|
|
|
|
|
tr->langopts.stress_rule = STRESSPOSN_1R; // stress on final syllable of a "word" |
|
|
tr->langopts.stress_flags = 2; // don't automatically set diminished stress (may be set in the intonation module) |
|
|
tr->langopts.stress_flags = 2; // don't automatically set diminished stress (may be set in the intonation module) |
|
|
tr->langopts.vowel_pause = 0; |
|
|
tr->langopts.vowel_pause = 0; |
|
|
tr->langopts.tone_language = 1; // Tone language, use CalcPitches_Tone() rather than CalcPitches() |
|
|
tr->langopts.tone_language = 1; // Tone language, use CalcPitches_Tone() rather than CalcPitches() |