Browse Source

Move the NUM_ comments to the relevant defines.

master
Reece H. Dunn 5 years ago
parent
commit
62e8efad66
1 changed files with 27 additions and 54 deletions
  1. 27
    54
      src/libespeak-ng/translate.h

+ 27
- 54
src/libespeak-ng/translate.h View File

@@ -1,7 +1,7 @@
/*
* Copyright (C) 2005 to 2014 by Jonathan Duddington
* email: [email protected]
* Copyright (C) 2015-2017 Reece H. Dunn
* Copyright (C) 2015-2017, 2020 Reece H. Dunn
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -438,31 +438,32 @@ typedef struct {
unsigned char *length_mods;
unsigned char *length_mods0;

#define NUM_THOUS_SPACE 0x00000004
#define NUM_DECIMAL_COMMA 0x00000008
#define NUM_SWAP_TENS 0x00000010
#define NUM_AND_UNITS 0x00000020
#define NUM_HUNDRED_AND 0x00000040
#define NUM_SINGLE_AND 0x00000080
#define NUM_SINGLE_STRESS 0x00000100
#define NUM_SINGLE_VOWEL 0x00000200
#define NUM_OMIT_1_HUNDRED 0x00000400
#define NUM_1900 0x00000800
#define NUM_ALLOW_SPACE 0x00001000
#define NUM_DFRACTION_BITS 0x0000e000
#define NUM_ORDINAL_DOT 0x00010000
#define NUM_NOPAUSE 0x00020000
#define NUM_AND_HUNDRED 0x00040000
#define NUM_THOUSAND_AND 0x00080000
#define NUM_VIGESIMAL 0x00100000
#define NUM_OMIT_1_THOUSAND 0x00200000
#define NUM_ZERO_HUNDRED 0x00400000
#define NUM_HUNDRED_AND_DIGIT 0x00800000
#define NUM_ROMAN 0x01000000
#define NUM_ROMAN_CAPITALS 0x02000000
#define NUM_ROMAN_AFTER 0x04000000
#define NUM_ROMAN_ORDINAL 0x08000000
#define NUM_SINGLE_STRESS_L 0x10000000
#define NUM_ROUTINE_BITS 0x00000003 // which numbers routine to use.
#define NUM_THOUS_SPACE 0x00000004 // thousands separator must be space
#define NUM_DECIMAL_COMMA 0x00000008 // , decimal separator, not .
#define NUM_SWAP_TENS 0x00000010 // use three-and-twenty rather than twenty-three
#define NUM_AND_UNITS 0x00000020 // 'and' between tens and units
#define NUM_HUNDRED_AND 0x00000040 // add "and" after hundred or thousand
#define NUM_SINGLE_AND 0x00000080 // don't have "and" both after hundreds and also between tens and units
#define NUM_SINGLE_STRESS 0x00000100 // only one primary stress in tens+units
#define NUM_SINGLE_VOWEL 0x00000200 // only one vowel betwen tens and units
#define NUM_OMIT_1_HUNDRED 0x00000400 // omit "one" before "hundred"
#define NUM_1900 0x00000800 // say 19** as nineteen hundred
#define NUM_ALLOW_SPACE 0x00001000 // allow space as thousands separator (in addition to langopts.thousands_sep)
#define NUM_DFRACTION_BITS 0x0000e000 // post-decimal-digits 0=single digits, 1=(LANG=it) 2=(LANG=pl) 3=(LANG=ro)
#define NUM_ORDINAL_DOT 0x00010000 // dot after number indicates ordinal
#define NUM_NOPAUSE 0x00020000 // don't add pause after a number
#define NUM_AND_HUNDRED 0x00040000 // 'and' before hundreds
#define NUM_THOUSAND_AND 0x00080000 // 'and' after thousands if there are no hundreds
#define NUM_VIGESIMAL 0x00100000 // vigesimal number, if tens are not found
#define NUM_OMIT_1_THOUSAND 0x00200000 // omit "one" before "thousand"
#define NUM_ZERO_HUNDRED 0x00400000 // say "zero" before hundred
#define NUM_HUNDRED_AND_DIGIT 0x00800000 // add "and" after hundreds and thousands, only if there are digits and no tens
#define NUM_ROMAN 0x01000000 // recognize roman numbers
#define NUM_ROMAN_CAPITALS 0x02000000 // Roman numbers only if upper case
#define NUM_ROMAN_AFTER 0x04000000 // say "roman" after the number, not before
#define NUM_ROMAN_ORDINAL 0x08000000 // Roman numbers are ordinal numbers
#define NUM_SINGLE_STRESS_L 0x10000000 // only one primary stress in tens+units (on the tens)

#define NUM_DFRACTION_1 0x00002000
#define NUM_DFRACTION_2 0x00004000
@@ -472,34 +473,6 @@ typedef struct {
#define NUM_DFRACTION_6 0x0000c000
#define NUM_DFRACTION_7 0x0000e000 // lang=si, alternative form of number for decimal fraction digits (except the last)

// bits0-1=which numbers routine to use.
// bit2= thousands separator must be space
// bit3= , decimal separator, not .
// bit4=use three-and-twenty rather than twenty-three
// bit5='and' between tens and units
// bit6=add "and" after hundred or thousand
// bit7=don't have "and" both after hundreds and also between tens and units
// bit8=only one primary stress in tens+units
// bit9=only one vowel betwen tens and units
// bit10=omit "one" before "hundred"
// bit11=say 19** as nineteen hundred
// bit12=allow space as thousands separator (in addition to langopts.thousands_sep)
// bits13-15 post-decimal-digits 0=single digits, 1=(LANG=it) 2=(LANG=pl) 3=(LANG=ro)

// bit16= dot after number indicates ordinal
// bit17= don't add pause after a number
// bit18= 'and' before hundreds
// bit19= 'and' after thousands if there are no hundreds
// bit20= vigesimal number, if tens are not found
// bit21= omit "one" before "thousand"
// bit22= say "zero" before hundred
// bit23= add "and" after hundreds and thousands, only if there are digits and no tens

// bit24= recognize roman numbers
// bit25= Roman numbers only if upper case
// bit26= say "roman" after the number, not before
// bit27= Roman numbers are ordinal numbers
// bit28= only one primary stress in tens+units (on the tens)
int numbers;

#define NUM2_THOUSANDS_VAR1 0x40

Loading…
Cancel
Save