Sindbad~EG File Manager

Current Path : /usr/home/beeson/MathXpert/Localizer/french/
Upload File :
Current File : /usr/home/beeson/MathXpert/Localizer/french/french_2let.c

/* M. Beeson, for MathXpert.
6.16.99  last modified
5.3.13 changed names of exported functions
2.19.24  added "va"
5.19.24 used strcasecmp unconditionally
11.14.24  added "sa"  and "qu"
*/

#include <string.h>
#include <strings.h> // Required for strcasecmp
#include "english1.h"

/*_______________________________________________________________________*/
int French_two_letter_word(char *buffer)
/* return 0 if buffer contains a two-letter French word that
occurs in MathXpert's menus or status line text.
Return 1 otherwise.  Buffer is presumed to contain
two characters at least.
*/
{ switch(buffer[0])
    { case 'a':
      case 'A':
         if(!strcasecmp(buffer,"au"))
            return 0;
         return 1;
      case 'b':
      case 'B':
         return 1;
      case 'c':
      case 'C':
         if(!strcasecmp(buffer,"ci"))
            return 0;
         if(!strcasecmp(buffer,"ce"))
            return 0;
         return 1;
      case 'd':
      case 'D':
         if(!strcasecmp(buffer,"de"))
            return 0;  /* occurs in 'de Moivre' */
         if(!strcasecmp(buffer,"du"))
            return 0;
         return 1;
      case 'e':
      case 'E':
         if(!strcasecmp(buffer,"en"))
            return 0;
         if(!strcasecmp(buffer,"et"))
            return 0;
         return 1;
      case 'g':
      case 'G':
         return 1;
      case 'i':
      case 'I':
         if(!strcasecmp(buffer,"il"))
            return 0;
         return 1;
      case 'l':
      case 'L':
         if(!strcasecmp(buffer,"ln"))
            return 0;
         if(!strcasecmp(buffer,"la") ||
            !strcasecmp(buffer,"le")
           )
            return 0;
         return 1;
      case 'n':
      case 'N':
         if(!strcasecmp(buffer,"ni"))
            return 0;
         if(!strcasecmp(buffer,"ne"))
            return 0;
         return 1;
      case 'o':
      case 'O':
         if(!strcasecmp(buffer,"ou") ||
            !strcasecmp(buffer,"on") ||
            !strcasecmp(buffer,"où")
           )
            return 0;
         return 1;
      case 'q':
      case 'Q':
         if(!strcasecmp(buffer,"qu"))  // needed for qu'il
            return 0;
         return 1;
      case 's':
      case 'S':
         if(!strcasecmp(buffer,"se"))
            return 0;
         if(!strcasecmp(buffer,"si"))
            return 0;
         if(!strcasecmp(buffer,"sa"))
            return 0;
         return 1;
      case 't':
      case 'T':
         return 1;
      case 'u':
      case 'U':
         if(!strcasecmp(buffer,"un"))
            return 0;
         return 1;
      case 'v':
      case 'V':
         if(!strcasecmp(buffer,"va"))
            return 0;
         return 1;
      case 'w':
      case 'W':
         return 1;
      default:
         return 1;
    }
}

Sindbad File Manager Version 1.0, Coded By Sindbad EG ~ The Terrorists