Example #1
0
static void applemac_enc(int index)
{
char *s;
	s = applemac_2_ansi[index];
	if (s[0]!='0'){
		fprintRTF("\\'%s",s);
		return;
	}
	s = applemac_2_sym[index];
	if (s[0]!='0'){
		int num=RtfFontNumber("Symbol");
		fprintRTF("{\\f%d\\'%s}",num,s);
		return;
	}
	if (0xDE) { /* U+64257 LATIN SMALL LIGATURE FI */ 
		fprintRTF("fi");
		return;
	}
	if (index + 128 == 0xDF) { /* U+64258 LATIN SMALL LIGATURE FL */ 
		fprintRTF("fl");
		return;
	}
	if (index + 128 == 0xF0) { /* U+65535 unknown */ 
/*		fprintRTF("TRANSLATION");*/
		return;
	}
	if (index + 128 == 0xF5) { /* U+305 LATIN SMALL LETTER DOTLESS I */ 
		fprintRTF("i");
		return;
	}
	if (index + 128 == 0xF9) { /* U+728 BREVE */ 
		int num = RtfFontNumber("MT Extra");
		fprintRTF("{\\f%d\\'28}", num);
		return;
	}
	if (index + 128 == 0xFA) { /* U+729 DOT ABOVE */ 
		put_dot_char(' ');
		return;
	}
	if (index + 128 == 0xFB) { /* U+730 RING ABOVE */ 
		put_ring_char(' ');
		return;
	}
	if (index + 128 == 0xFD) { /* U+733 DOUBLE ACUTE ACCENT */ 
/*		fprintRTF("TRANSLATION");*/
		return;
	}
	if (index + 128 == 0xFE) { /* U+731 OGONEK */ 
/*		fprintRTF("TRANSLATION");*/
		return;
	}
	if (index + 128 == 0xFF) { /* U+711 CARON */ 
/*		fprintRTF("TRANSLATION");*/
		return;
	}
}
Example #2
0
/******************************************************************************
 purpose: converts symbols with grave accents (\`{a}) from LaTeX to RTF
 ******************************************************************************/
void CmdGraveChar(int code)
{
    int n = RtfFontNumber("STIXGeneral");
    char *cParam = getBraceParam();

    if (strstr(cParam, "\\i")) {
        fprintRTF("\\'ec");
        free(cParam);
        return;
    }

    switch (cParam[0]) {
        case 'A':
            fprintRTF("\\'c0");
            break;
        case 'E':
            fprintRTF("\\'c8");
            break;
        case 'I':
            fprintRTF("\\'cc");
            break;
        case 'O':
            fprintRTF("\\'d2");
            break;
        case 'U':
            fprintRTF("\\'d9");
            break;
        case 'a':
            fprintRTF("\\'e0");
            break;
        case 'e':
            fprintRTF("\\'e8");
            break;
        case 'i':
            fprintRTF("\\'ec");
            break;
        case 'o':
            fprintRTF("\\'f2");
            break;
        case 'u':
            fprintRTF("\\'f9");
            break;
        case 'N':
            fprintRTF("\\u504N");
            break;            
        case 'n':
            fprintRTF("\\u505n");
            break;
        case '\0':
            fprintRTF(" \\u768\\'60");
            break;
        default:
            fprintRTF("{\\f%d",n);
            fprintRTF("\\u768\\'60}");  /* unicode combining character 0x0300 */
            ConvertString(cParam);
            break;  
    }

    free(cParam);
}
Example #3
0
/*****************************************************************************
 purpose: converts \U{i} ... probably specific to ot2
 ******************************************************************************/
void CmdWideBreveChar(int code)
{
    int n = RtfFontNumber("STIXGeneral");
    char *cParam = getBraceParam();
    
    switch (cParam[0]) {
        case 'U':
            CmdUnicodeChar(0x040E);
            break;
        case 'I':
            CmdUnicodeChar(0x0419);
            break;
        case 'i':
            CmdUnicodeChar(0x0439);
            break;
        case 'u':
            CmdUnicodeChar(0x0439);
            break;
        default:
            fprintRTF("{\\f%d",n);
            fprintRTF("\\u774u}");  /* unicode combining character 0x0306 */
            ConvertString(cParam);
            break;
    }
        
    free(cParam);
}
Example #4
0
static void latin9_enc(int index)
{
char *s;
	s = latin9_2_ansi[index];
	if (s[0]!='0'){
		fprintRTF("\\'%s",s);
		return;
	}
	s = latin9_2_sym[index];
	if (s[0]!='0'){
		int sym=RtfFontNumber("Symbol");
		fprintRTF("{\\f%d\\'%s}",sym,s);
		return;
	}
	if (index + 128 == 0xA4) { /* U+8364 unknown */ 
/*		fprintRTF("TRANSLATION");*/
		return;
	}
	if (index + 128 == 0xB4) { /* U+381 LATIN CAPITAL LETTER Z WITH CARON */ 
/*		fprintRTF("TRANSLATION");*/
		return;
	}
	if (index + 128 == 0xB8) { /* U+382 LATIN SMALL LETTER Z WITH CARON */ 
/*		fprintRTF("TRANSLATION");*/
		return;
	}
}
Example #5
0
static void put_dot_char(char c)
{
	int num = RtfFontNumber("MT Extra");
	fprintRTF("{\\field{\\*\\fldinst  EQ \\\\O(%c",c);
	fprintRTF("%c\\\\S(\\f%d\\'26))}", g_field_separator, num);
	fprintRTF("{\\fldrslt }}");
}
Example #6
0
/******************************************************************************
 purpose: converts \H{o}
 ******************************************************************************/
void CmdDoubleAcuteChar(int code)
{
    int n = RtfFontNumber("STIXGeneral");
    char *cParam = getBraceParam();

    switch (cParam[0]) {
        case 'O':
            putUnicodeChar(0x01,0x50,'O');
            break;
        case 'o':
            putUnicodeChar(0x01,0x51,'o');
            break;
        case 'U':
            putUnicodeChar(0x01,0x70,'U');
            break;
        case 'u':
            putUnicodeChar(0x01,0x71,'u');
            break;
        case '\0':
            putUnicodeChar(0x02,0xDD,'"');
            break;
        default:
            fprintRTF("{\\f%d",n);
            fprintRTF("\\u779\"}");  /* unicode combining character 0x030B */
            ConvertString(cParam);
            break;  
    }
    
    free(cParam);
}
Example #7
0
static void put_breve_char(char c)
{
	int num = RtfFontNumber("MT Extra");	
	int upsize = CurrentFontSize()/2;
	fprintRTF("{\\field{\\*\\fldinst  EQ \\\\O(%c",c);
	fprintRTF("%c\\\\S(\\up%d\\f%d \\\\())}", g_field_separator, upsize, num);
	fprintRTF("{\\fldrslt }}");
}
Example #8
0
/******************************************************************************
 purpose: converts \.{o} and \dot{o} from LaTeX to RTF
          need something that looks like \\O(a,\\S(\f2\'26)) in RTF file
 ******************************************************************************/
void CmdDotChar(int code)
{
    int n = RtfFontNumber("STIXGeneral");
    char *cParam = getBraceParam();
        
    switch (cParam[0]) {
        case 'A':
            fprintRTF("\\u550A");
            break;  
        case 'a':
            fprintRTF("\\u551a");
            break;  
        case 'C':
            fprintRTF("\\u266C");
            break;              
        case 'c':
            fprintRTF("\\u267c");
            break;              
        case 'E':
            fprintRTF("\\u278E");
            break;              
        case 'e':
            fprintRTF("\\u279e");
            break;              
        case 'G':
            fprintRTF("\\u288G");
            break;              
        case 'g':
            fprintRTF("\\u289g");
            break;              
        case 'I':
            fprintRTF("\\u304I");
            break;              
        case 'O':
            fprintRTF("\\u558O");
            break;              
        case 'o':
            fprintRTF("\\u559o");
            break;              
        case 'Z':
            fprintRTF("\\u379Z");
            break;              
        case 'z':
            fprintRTF("\\u380z");
            break;
        case '\0':
            putUnicodeChar(0x02,0xD9,'.');
            break;
        default:
            fprintRTF("{\\f%d",n);
            fprintRTF("\\u775.}"); /* unicode combining character 0x0307 */
            ConvertString(cParam);
            break;  
    }

    free(cParam);
}
Example #9
0
/*****************************************************************************
 purpose: converts \vec{o} from LaTeX to RTF
 ******************************************************************************/
void CmdVecChar(int code)
{
    int n = RtfFontNumber("STIXGeneral");
    char *cParam = getBraceParam();
    fprintRTF("{\\f%d ",n);
    putUnicodeChar(0x20,0xD7,'-');  /* COMBINING RIGHT ARROW ABOVE */
    fprintRTF("}");
    ConvertString(cParam);
    free(cParam);
}
Example #10
0
static void cp850_enc(int index)
{
char *s;
	s = cp850_2_ansi[index];
	if (s[0]!='0'){
		fprintRTF("\\'%s",s);
		return;
	}
	s = cp850_2_sym[index];
	if (s[0]!='0'){
		int sym=RtfFontNumber("Symbol");
		fprintRTF("{\\f%d\\'%s}",sym,s);
		return;
	}
	if (index + 128 == 0xB0) { /* U+9617 LIGHT SHADE */ 
/*		fprintRTF("TRANSLATION");*/
		return;
	}
	if (index + 128 == 0xB1) { /* U+9618 MEDIUM SHADE */ 
/*		fprintRTF("TRANSLATION");*/
		return;
	}
	if (index + 128 == 0xB2) { /* U+9619 DARK SHADE */ 
/*		fprintRTF("TRANSLATION");*/
		return;
	}
	if (index + 128 == 0xD5) { /* U+305 LATIN SMALL LETTER DOTLESS I */ 
		fprintRTF("i");
		return;
	}
	if (index + 128 == 0xDB) { /* U+9608 FULL BLOCK */ 
/*		fprintRTF("TRANSLATION");*/
		return;
	}
	if (index + 128 == 0xDC) { /* U+9604 LOWER HALF BLOCK */ 
/*		fprintRTF("TRANSLATION");*/
		return;
	}
	if (index + 128 == 0xDF) { /* U+9600 UPPER HALF BLOCK */ 
/*		fprintRTF("TRANSLATION");*/
		return;
	}
	if (index + 128 == 0xF7) { /* U+731 OGONEK */ 
/*		fprintRTF("TRANSLATION");*/
		return;
	}
	if (index + 128 == 0xFA) { /* U+729 DOT ABOVE */ 
		put_dot_char(' ');
		return;
	}
	if (index + 128 == 0xFE) { /* U+9632 BLACK SQUARE */ 
/*		fprintRTF("TRANSLATION");*/
		return;
	}
}
Example #11
0
/*****************************************************************************
 purpose: converts \u{o} and \breve{o} 
 ******************************************************************************/
void CmdBreveChar(int code)
{
    int n = RtfFontNumber("STIXGeneral");
    char *cParam = getBraceParam();
    
    switch (cParam[0]) {
        case 'A':
            putUnicodeChar(0x01,0x02,'A');
            break;
        case 'a':
            putUnicodeChar(0x01,0x03,'a');
            break;
        case 'E':
            putUnicodeChar(0x01,0x14,'E');
            break;
        case 'e':
            putUnicodeChar(0x01,0x15,'e');
            break;
        case 'G':
            putUnicodeChar(0x01,0x1e,'G');
            break;
        case 'g':
            putUnicodeChar(0x01,0x1f,'g');
            break;
        case 'I':
            putUnicodeChar(0x01,0x2c,'I');
            break;
        case 'i':
            putUnicodeChar(0x01,0x2d,'i');
            break;
        case 'O':
            putUnicodeChar(0x01,0x4e,'O');
            break;
        case 'o':
            putUnicodeChar(0x01,0x4f,'o');
            break;
        case 'U':
            putUnicodeChar(0x01,0x6c,'U');
            break;
        case 'c':
            putUnicodeChar(0x01,0x0D,'c');
            break;
        case '\0':
            putUnicodeChar(0x02,0xD8,'u');
            break;
        default:
            fprintRTF("{\\f%d",n);
            fprintRTF("\\u774u}");  /* unicode combining character 0x0306 */
            ConvertString(cParam);
            break;  
    }

    free(cParam);
}
Example #12
0
static void latin5_enc(int index)
{
char *s;
	s = latin5_2_ansi[index];
	if (s[0]!='0'){
		fprintRTF("\\'%s",s);
		return;
	}
	s = latin5_2_sym[index];
	if (s[0]!='0'){
		int sym=RtfFontNumber("Symbol");
		fprintRTF("{\\f%d\\'%s}",sym,s);
		return;
	}
	if (index + 128 == 0xD0) { /* U+286 LATIN CAPITAL LETTER G WITH BREVE */ 
		put_breve_char('G');
		return;
	}
	if (index + 128 == 0xDD) { /* U+304 LATIN CAPITAL LETTER I WITH DOT ABOVE */ 
		put_dot_char('I');
		return;
	}
	if (index + 128 == 0xDE) { /* U+350 LATIN CAPITAL LETTER S WITH CEDILLA */ 
		put_cedilla_char('S');
		return;
	}
	if (index + 128 == 0xEA) { /* U+281 LATIN SMALL LETTER E WITH OGONEK */ 
/*		fprintRTF("TRANSLATION");*/
		return;
	}
	if (index + 128 == 0xEC) { /* U+279 LATIN SMALL LETTER E WITH DOT ABOVE */ 
		put_dot_char('e');
		return;
	}
	if (index + 128 == 0xEF) { /* U+299 LATIN SMALL LETTER I WITH MACRON */ 
		put_macron_char('i');
		return;
	}
	if (index + 128 == 0xF0) { /* U+287 LATIN SMALL LETTER G WITH BREVE */ 
		put_breve_char('g');
		return;
	}
	if (index + 128 == 0xFD) { /* U+305 LATIN SMALL LETTER DOTLESS I */ 
		fprintRTF("i");
		return;
	}
	if (index + 128 == 0xFE) { /* U+351 LATIN SMALL LETTER S WITH CEDILLA */ 
		put_cedilla_char('s');
		return;
	}
}
Example #13
0
/******************************************************************************
 purpose: converts \~{n} from LaTeX to RTF
 ******************************************************************************/
void CmdTildeChar(int code)
{
    int n = RtfFontNumber("STIXGeneral");
    char *cParam = getBraceParam();
    
    if (strstr(cParam, "\\i")) {
        fprintRTF("\\u297i");
        free(cParam);
        return;
    }

    switch (cParam[0]) {
        case 'A':
            fprintRTF("\\'c3");
            break;
        case 'O':
            fprintRTF("\\'d5");
            break;
        case 'a':
            fprintRTF("\\'e3");
            break;
        case 'o':
            fprintRTF("\\'f5");
            break;
        case 'n':
            fprintRTF("\\'f1");
            break;
        case 'N':
            fprintRTF("\\'d1");
            break;
        case 'I':
            fprintRTF("\\u296I");
            break;
        case 'U':
            fprintRTF("\\u360U");
            break;
        case 'u':
            fprintRTF("\\u361u");
            break;
        case '\0':
            fprintRTF("\\'7e");
            break;
        default:
            fprintRTF("{\\f%d",n);
            fprintRTF("\\u771\\'7e}");  /* unicode combining character 0x0303 */
            ConvertString(cParam);
            break;  
    }
        
    free(cParam);
}
Example #14
0
static void latin1_enc(int index)
{
char *s;
	s = latin1_2_ansi[index];
	if (s[0]!='0'){
		fprintRTF("\\'%s",s);
		return;
	}
	s = latin1_2_sym[index];
	if (s[0]!='0'){
		int sym=RtfFontNumber("Symbol");
		fprintRTF("{\\f%d\\'%s}",sym,s);
		return;
	}
}
Example #15
0
/******************************************************************************
 purpose: converts \r accents from LaTeX to RTF
 ******************************************************************************/
void CmdRingChar(int code)
{
    int n = RtfFontNumber("STIXGeneral");
    char *cParam;

	if (code == 1) {
		char c, d;
		c = getTexChar();
		d = getTexChar();
		if (c!='2' || d != '3')	{
			fprintf(stderr, "sorry only \\accent23 is supported \n");
			return;
		}
	}

    cParam = getBraceParam();
	    
    switch (cParam[0]) {
        case 'A':
            fprintRTF("\\'c5");
            break;
        case 'a':
            fprintRTF("\\'e5");
            break;
        case 'U':
            putUnicodeChar(0x01,0x6E,'U');
            break;
        case 'u':
            putUnicodeChar(0x01,0x6F,'u');
            break;
        case 'w':
            putUnicodeChar(0x01,0x98,'w');
            break;
        case 'y':
            putUnicodeChar(0x01,0x99,'y');
            break;
        case '\0':
            fprintRTF("\\'b0");
            break;
        default:
            fprintRTF("{\\f%d",n);
            fprintRTF("\\u778\\'b0}");  /* unicode combining character 0x030A */
            ConvertString(cParam);
            break;  
    }
        
    free(cParam);
}
Example #16
0
static void cp1252_enc(int index)
{
char *s;
	s = cp1252_2_ansi[index];
	if (s[0]!='0'){
		fprintRTF("\\'%s",s);
		return;
	}
	s = cp1252_2_sym[index];
	if (s[0]!='0'){
		int sym=RtfFontNumber("Symbol");
		fprintRTF("{\\f%d\\'%s}",sym,s);
		return;
	}
	if (index + 128 == 0x80) { /* U+65535 unknown */ 
/*		fprintRTF("TRANSLATION");*/
		return;
	}
	if (index + 128 == 0x81) { /* U+65535 unknown */ 
/*		fprintRTF("TRANSLATION");*/
		return;
	}
	if (index + 128 == 0x8D) { /* U+65535 unknown */ 
/*		fprintRTF("TRANSLATION");*/
		return;
	}
	if (index + 128 == 0x8E) { /* U+65535 unknown */ 
/*		fprintRTF("TRANSLATION");*/
		return;
	}
	if (index + 128 == 0x8F) { /* U+65535 unknown */ 
/*		fprintRTF("TRANSLATION");*/
		return;
	}
	if (index + 128 == 0x90) { /* U+65535 unknown */ 
/*		fprintRTF("TRANSLATION");*/
		return;
	}
	if (index + 128 == 0x9D) { /* U+65535 unknown */ 
/*		fprintRTF("TRANSLATION");*/
		return;
	}
	if (index + 128 == 0x9E) { /* U+65535 unknown */ 
/*		fprintRTF("TRANSLATION");*/
		return;
	}
}
Example #17
0
static void decmulti_enc(int index)
{
char *s;
	s = decmulti_2_ansi[index];
	if (s[0]!='0'){
		fprintRTF("\\'%s",s);
		return;
	}
	s = decmulti_2_sym[index];
	if (s[0]!='0'){
		int sym=RtfFontNumber("Symbol");
		fprintRTF("{\\f%d\\'%s}",sym,s);
		return;
	}
	if (index + 128 == 0xA0) { /* U+65535 unknown */ 
/*		fprintRTF("TRANSLATION");*/
		return;
	}
	if (index + 128 == 0xA4) { /* U+65535 unknown */ 
/*		fprintRTF("TRANSLATION");*/
		return;
	}
	if (index + 128 == 0xA6) { /* U+65535 unknown */ 
/*		fprintRTF("TRANSLATION");*/
		return;
	}
	if (index + 128 == 0xAC) { /* U+65535 unknown */ 
/*		fprintRTF("TRANSLATION");*/
		return;
	}
	if (index + 128 == 0xAD) { /* U+65535 unknown */ 
/*		fprintRTF("TRANSLATION");*/
		return;
	}
	if (index + 128 == 0xAE) { /* U+65535 unknown */ 
/*		fprintRTF("TRANSLATION");*/
		return;
	}
	if (index + 128 == 0xAF) { /* U+65535 unknown */ 
/*		fprintRTF("TRANSLATION");*/
		return;
	}
	if (index + 128 == 0xB4) { /* U+65535 unknown */ 
/*		fprintRTF("TRANSLATION");*/
		return;
	}
	if (index + 128 == 0xB8) { /* U+65535 unknown */ 
/*		fprintRTF("TRANSLATION");*/
		return;
	}
	if (index + 128 == 0xBE) { /* U+65535 unknown */ 
/*		fprintRTF("TRANSLATION");*/
		return;
	}
	if (index + 128 == 0xD0) { /* U+65535 unknown */ 
/*		fprintRTF("TRANSLATION");*/
		return;
	}
	if (index + 128 == 0xDE) { /* U+65535 unknown */ 
/*		fprintRTF("TRANSLATION");*/
		return;
	}
	if (index + 128 == 0xF0) { /* U+65535 unknown */ 
/*		fprintRTF("TRANSLATION");*/
		return;
	}
	if (index + 128 == 0xFE) { /* U+65535 unknown */ 
/*		fprintRTF("TRANSLATION");*/
		return;
	}
	if (index + 128 == 0xFF) { /* U+65535 unknown */ 
/*		fprintRTF("TRANSLATION");*/
		return;
	}
}
Example #18
0
/******************************************************************************
 purpose: converts symbols with acute accents (\'{a}) from LaTeX to RTF
 ******************************************************************************/
void CmdAcuteChar(int code)
{
    int n = RtfFontNumber("STIXGeneral");
    char *cParam = getBraceParam();

    if (strstr(cParam, "\\i")) {
        fprintRTF("\\'ed");
        free(cParam);
        return;
    }

    switch (cParam[0]) {
        case 'A':
            fprintRTF("\\'c1");
            break;
        case 'E':
            fprintRTF("\\'c9");
            break;
        case 'I':
            fprintRTF("\\'cd");
            break;
        case 'O':
            fprintRTF("\\'d3");
            break;
        case 'U':
            fprintRTF("\\'da");
            break;
        case 'a':
            fprintRTF("\\'e1");
            break;
        case 'e':
            fprintRTF("\\'e9");
            break;
        case 'i':
            fprintRTF("\\'ed");
            break;
        case 'o':
            fprintRTF("\\'f3");
            break;
        case 'u':
            fprintRTF("\\'fa");
            break;
        case 'y':
            fprintRTF("\\'fd");
            break;
        case 'Y':
            fprintRTF("\\'dd");
            break;  
        case 'C':
            fprintRTF("\\u262C");
            break;
        case 'c':
            fprintRTF("\\u263c");
            break;
        case 'G':
            fprintRTF("\\u500G");
            break;
        case 'g':
            fprintRTF("\\u501g");
            break;
        case 'L':
            fprintRTF("\\u313L");
            break;
        case 'l':
            fprintRTF("\\u314l");
            break;
        case 'N':
            fprintRTF("\\u323N");
            break;
        case 'n':
            fprintRTF("\\u324n");
            break;
        case 'R':
            fprintRTF("\\u340R");
            break;
        case 'r':
            fprintRTF("\\u341r");
            break;
        case 'S':
            fprintRTF("\\u346S");
            break;
        case 's':
            fprintRTF("\\u347s");
            break;
        case 'Z':
            fprintRTF("\\u377Z");
            break;
        case 'z':
            fprintRTF("\\u378z");
            break;
        case '\0':
            fprintRTF("\\'b4");
            break;
        default:
            fprintRTF("{\\f%d",n);
            fprintRTF("\\u769\\'b4}");   /* unicode combining character 0x0301 */
            ConvertString(cParam);
            break;  
    }
            
    free(cParam);
}
Example #19
0
/******************************************************************************
 purpose: converts special symbols from LaTeX to RTF
 ******************************************************************************/
void CmdMacronChar(int code)
{
    int n = RtfFontNumber("STIXGeneral");
    char *cParam = getBraceParam();

    if (strstr(cParam, "\\i")) {
        putUnicodeChar(0x01,0x2B,'i');
        free(cParam);
        return;
    }

    switch (cParam[0]) {
        case 'A':
            putUnicodeChar(0x01,0x00,'A');
            break;
        case 'a':
            putUnicodeChar(0x01,0x01,'a');
            break;
        case 'E':
            putUnicodeChar(0x01,0x12,'E');
            break;
        case 'e':
            putUnicodeChar(0x01,0x13,'e');
            break;
        case 'I':
            putUnicodeChar(0x01,0x2A,'l');
            break;
        case 'i':
            putUnicodeChar(0x01,0x2B,'i');
            break;
        case 'G':
            putUnicodeChar(0x1E,0x20,'G');
            break;
        case 'g':
            putUnicodeChar(0x1E,0x21,'g');
            break;
        case 'O':
            putUnicodeChar(0x01,0x4C,'O');
            break;
        case 'o':
            putUnicodeChar(0x01,0x4D,'o');
            break;
        case 'U':
            putUnicodeChar(0x01,0x6A,'U');
            break;
        case 'u':
            putUnicodeChar(0x01,0x6B,'u');
            break;
        case 'Y':
            putUnicodeChar(0x02,0x32,'Y');
            break;
        case 'y':
            putUnicodeChar(0x02,0x33,'y');
            break;
        case '\0':
            fprintRTF("\\'5f");
            break;
        default:
            fprintRTF("{\\f%d",n);
            fprintRTF("\\u772\\'5f}");  /* unicode combining character 0x0304 */
            ConvertString(cParam);
            break;  
    }

    free(cParam);
}
Example #20
0
static void cp1250_enc(int index)
{
char *s;
	s = cp1250_2_ansi[index];
	if (s[0]!='0'){
		fprintRTF("\\'%s",s);
		return;
	}
	s = cp1250_2_sym[index];
	if (s[0]!='0'){
		int sym=RtfFontNumber("Symbol");
		fprintRTF("{\\f%d\\'%s}",sym,s);
		return;
	}
	if (index + 128 == 0x80) { /* U+65535 unknown */ 
/*		fprintRTF("TRANSLATION");*/
		return;
	}
	if (index + 128 == 0x81) { /* U+65535 unknown */ 
/*		fprintRTF("TRANSLATION");*/
		return;
	}
	if (index + 128 == 0x83) { /* U+65535 unknown */ 
/*		fprintRTF("TRANSLATION");*/
		return;
	}
	if (index + 128 == 0x88) { /* U+65535 unknown */ 
/*		fprintRTF("TRANSLATION");*/
		return;
	}
	if (index + 128 == 0x8C) { /* U+346 LATIN CAPITAL LETTER S WITH ACUTE */ 
		put_acute_char('S');
		return;
	}
	if (index + 128 == 0x8D) { /* U+356 LATIN CAPITAL LETTER T WITH CARON */ 
/*		fprintRTF("TRANSLATION");*/
		return;
	}
	if (index + 128 == 0x8E) { /* U+381 LATIN CAPITAL LETTER Z WITH CARON */ 
/*		fprintRTF("TRANSLATION");*/
		return;
	}
	if (index + 128 == 0x8F) { /* U+377 LATIN CAPITAL LETTER Z WITH ACUTE */ 
		put_acute_char('Z');
		return;
	}
	if (index + 128 == 0x90) { /* U+65535 unknown */ 
/*		fprintRTF("TRANSLATION");*/
		return;
	}
	if (index + 128 == 0x98) { /* U+65535 unknown */ 
/*		fprintRTF("TRANSLATION");*/
		return;
	}
	if (index + 128 == 0x9C) { /* U+347 LATIN SMALL LETTER S WITH ACUTE */ 
		put_acute_char('s');
		return;
	}
	if (index + 128 == 0x9D) { /* U+357 LATIN SMALL LETTER T WITH CARON */ 
/*		fprintRTF("TRANSLATION");*/
		return;
	}
	if (index + 128 == 0x9E) { /* U+382 LATIN SMALL LETTER Z WITH CARON */ 
/*		fprintRTF("TRANSLATION");*/
		return;
	}
	if (index + 128 == 0x9F) { /* U+378 LATIN SMALL LETTER Z WITH ACUTE */ 
		put_acute_char('z');
		return;
	}
	if (index + 128 == 0xA1) { /* U+711 CARON */ 
/*		fprintRTF("TRANSLATION");*/
		return;
	}
	if (index + 128 == 0xA2) { /* U+728 BREVE */ 
		int num = RtfFontNumber("MT Extra");
		fprintRTF("{\\f%d\\'28}", num);
		return;
	}
	if (index + 128 == 0xA3) { /* U+321 LATIN CAPITAL LETTER L WITH STROKE */ 
/*		fprintRTF("TRANSLATION");*/
		return;
	}
	if (index + 128 == 0xA5) { /* U+260 LATIN CAPITAL LETTER A WITH OGONEK */ 
/*		fprintRTF("TRANSLATION");*/
		return;
	}
	if (index + 128 == 0xAA) { /* U+350 LATIN CAPITAL LETTER S WITH CEDILLA */ 
		put_cedilla_char('S');
		return;
	}
	if (index + 128 == 0xAC) { /* U+65535 unknown */ 
/*		fprintRTF("TRANSLATION");*/
		return;
	}
	if (index + 128 == 0xAF) { /* U+379 LATIN CAPITAL LETTER Z WITH DOT ABOVE */ 
		put_dot_char('Z');
		return;
	}
	if (index + 128 == 0xB2) { /* U+731 OGONEK */ 
/*		fprintRTF("TRANSLATION");*/
		return;
	}
	if (index + 128 == 0xB3) { /* U+322 LATIN SMALL LETTER L WITH STROKE */ 
/*		fprintRTF("TRANSLATION");*/
		return;
	}
	if (index + 128 == 0xB9) { /* U+261 LATIN SMALL LETTER A WITH OGONEK */ 
/*		fprintRTF("TRANSLATION");*/
		return;
	}
	if (index + 128 == 0xBA) { /* U+351 LATIN SMALL LETTER S WITH CEDILLA */ 
		put_cedilla_char('s');
		return;
	}
	if (index + 128 == 0xBC) { /* U+317 LATIN CAPITAL LETTER L WITH CARON */ 
/*		fprintRTF("TRANSLATION");*/
		return;
	}
	if (index + 128 == 0xBD) { /* U+733 DOUBLE ACUTE ACCENT */ 
/*		fprintRTF("TRANSLATION");*/
		return;
	}
	if (index + 128 == 0xBE) { /* U+318 LATIN SMALL LETTER L WITH CARON */ 
/*		fprintRTF("TRANSLATION");*/
		return;
	}
	if (index + 128 == 0xBF) { /* U+380 LATIN SMALL LETTER Z WITH DOT ABOVE */ 
		put_dot_char('z');
		return;
	}
	if (index + 128 == 0xC0) { /* U+340 LATIN CAPITAL LETTER R WITH ACUTE */ 
		put_acute_char('R');
		return;
	}
	if (index + 128 == 0xC3) { /* U+258 LATIN CAPITAL LETTER A WITH BREVE */ 
		put_breve_char('A');
		return;
	}
	if (index + 128 == 0xC5) { /* U+313 LATIN CAPITAL LETTER L WITH ACUTE */ 
		put_acute_char('L');
		return;
	}
	if (index + 128 == 0xC6) { /* U+262 LATIN CAPITAL LETTER C WITH ACUTE */ 
		put_acute_char('C');
		return;
	}
	if (index + 128 == 0xC8) { /* U+268 LATIN CAPITAL LETTER C WITH CARON */ 
/*		fprintRTF("TRANSLATION");*/
		return;
	}
	if (index + 128 == 0xCA) { /* U+280 LATIN CAPITAL LETTER E WITH OGONEK */ 
/*		fprintRTF("TRANSLATION");*/
		return;
	}
	if (index + 128 == 0xCC) { /* U+282 LATIN CAPITAL LETTER E WITH CARON */ 
/*		fprintRTF("TRANSLATION");*/
		return;
	}
	if (index + 128 == 0xCF) { /* U+270 LATIN CAPITAL LETTER D WITH CARON */ 
/*		fprintRTF("TRANSLATION");*/
		return;
	}
	if (index + 128 == 0xD0) { /* U+272 LATIN CAPITAL LETTER D WITH STROKE */ 
/*		fprintRTF("TRANSLATION");*/
		return;
	}
	if (index + 128 == 0xD1) { /* U+323 LATIN CAPITAL LETTER N WITH ACUTE */ 
		put_acute_char('N');
		return;
	}
	if (index + 128 == 0xD2) { /* U+327 LATIN CAPITAL LETTER N WITH CARON */ 
/*		fprintRTF("TRANSLATION");*/
		return;
	}
	if (index + 128 == 0xD5) { /* U+336 LATIN CAPITAL LETTER O WITH DOUBLE ACUTE */ 
/*		fprintRTF("TRANSLATION");*/
		return;
	}
	if (index + 128 == 0xD8) { /* U+344 LATIN CAPITAL LETTER R WITH CARON */ 
/*		fprintRTF("TRANSLATION");*/
		return;
	}
	if (index + 128 == 0xD9) { /* U+366 LATIN CAPITAL LETTER U WITH RING ABOVE */ 
		put_ring_char('U');
		return;
	}
	if (index + 128 == 0xDB) { /* U+368 LATIN CAPITAL LETTER U WITH DOUBLE ACUTE */ 
/*		fprintRTF("TRANSLATION");*/
		return;
	}
	if (index + 128 == 0xDE) { /* U+354 LATIN CAPITAL LETTER T WITH CEDILLA */ 
		put_cedilla_char('T');
		return;
	}
	if (index + 128 == 0xE0) { /* U+341 LATIN SMALL LETTER R WITH ACUTE */ 
		put_acute_char('r');
		return;
	}
	if (index + 128 == 0xE3) { /* U+259 LATIN SMALL LETTER A WITH BREVE */ 
		put_breve_char('a');
		return;
	}
	if (index + 128 == 0xE5) { /* U+314 LATIN SMALL LETTER L WITH ACUTE */ 
		put_acute_char('l');
		return;
	}
	if (index + 128 == 0xE6) { /* U+263 LATIN SMALL LETTER C WITH ACUTE */ 
		put_acute_char('c');
		return;
	}
	if (index + 128 == 0xE8) { /* U+269 LATIN SMALL LETTER C WITH CARON */ 
/*		fprintRTF("TRANSLATION");*/
		return;
	}
	if (index + 128 == 0xEA) { /* U+281 LATIN SMALL LETTER E WITH OGONEK */ 
/*		fprintRTF("TRANSLATION");*/
		return;
	}
	if (index + 128 == 0xEC) { /* U+283 LATIN SMALL LETTER E WITH CARON */ 
/*		fprintRTF("TRANSLATION");*/
		return;
	}
	if (index + 128 == 0xEF) { /* U+271 LATIN SMALL LETTER D WITH CARON */ 
/*		fprintRTF("TRANSLATION");*/
		return;
	}
	if (index + 128 == 0xF0) { /* U+273 LATIN SMALL LETTER D WITH STROKE */ 
/*		fprintRTF("TRANSLATION");*/
		return;
	}
	if (index + 128 == 0xF1) { /* U+324 LATIN SMALL LETTER N WITH ACUTE */ 
		put_acute_char('n');
		return;
	}
	if (index + 128 == 0xF2) { /* U+328 LATIN SMALL LETTER N WITH CARON */ 
/*		fprintRTF("TRANSLATION");*/
		return;
	}
	if (index + 128 == 0xF5) { /* U+337 LATIN SMALL LETTER O WITH DOUBLE ACUTE */ 
/*		fprintRTF("TRANSLATION");*/
		return;
	}
	if (index + 128 == 0xF8) { /* U+345 LATIN SMALL LETTER R WITH CARON */ 
/*		fprintRTF("TRANSLATION");*/
		return;
	}
	if (index + 128 == 0xF9) { /* U+367 LATIN SMALL LETTER U WITH RING ABOVE */ 
		put_ring_char('u');
		return;
	}
	if (index + 128 == 0xFB) { /* U+369 LATIN SMALL LETTER U WITH DOUBLE ACUTE */ 
/*		fprintRTF("TRANSLATION");*/
		return;
	}
	if (index + 128 == 0xFE) { /* U+355 LATIN SMALL LETTER T WITH CEDILLA */ 
		put_cedilla_char('t');
		return;
	}
	if (index + 128 == 0xFF) { /* U+729 DOT ABOVE */ 
		put_dot_char(' ');
		return;
	}
}
Example #21
0
static void cp865_enc(int index)
{
char *s;
	s = cp865_2_ansi[index];
	if (s[0]!='0'){
		fprintRTF("\\'%s",s);
		return;
	}
	s = cp865_2_sym[index];
	if (s[0]!='0'){
		int sym=RtfFontNumber("Symbol");
		fprintRTF("{\\f%d\\'%s}",sym,s);
		return;
	}
	if (index + 128 == 0x9E) { /* U+8359 PESETA SIGN */ 
/*		fprintRTF("TRANSLATION");*/
		return;
	}
	if (index + 128 == 0xA9) { /* U+8976 REVERSED NOT SIGN */ 
/*		fprintRTF("TRANSLATION");*/
		return;
	}
	if (index + 128 == 0xB0) { /* U+9617 LIGHT SHADE */ 
/*		fprintRTF("TRANSLATION");*/
		return;
	}
	if (index + 128 == 0xB1) { /* U+9618 MEDIUM SHADE */ 
/*		fprintRTF("TRANSLATION");*/
		return;
	}
	if (index + 128 == 0xB2) { /* U+9619 DARK SHADE */ 
/*		fprintRTF("TRANSLATION");*/
		return;
	}
	if (index + 128 == 0xDB) { /* U+9608 FULL BLOCK */ 
/*		fprintRTF("TRANSLATION");*/
		return;
	}
	if (index + 128 == 0xDC) { /* U+9604 LOWER HALF BLOCK */ 
/*		fprintRTF("TRANSLATION");*/
		return;
	}
	if (index + 128 == 0xDD) { /* U+9612 LEFT HALF BLOCK */ 
/*		fprintRTF("TRANSLATION");*/
		return;
	}
	if (index + 128 == 0xDE) { /* U+9616 RIGHT HALF BLOCK */ 
/*		fprintRTF("TRANSLATION");*/
		return;
	}
	if (index + 128 == 0xDF) { /* U+9600 UPPER HALF BLOCK */ 
/*		fprintRTF("TRANSLATION");*/
		return;
	}
	if (index + 128 == 0xF8) { /* U+8728 RING OPERATOR */ 
/*		fprintRTF("TRANSLATION");*/
		return;
	}
	if (index + 128 == 0xFA) { /* U+8729 BULLET OPERATOR */ 
/*		fprintRTF("TRANSLATION");*/
		return;
	}
	if (index + 128 == 0xFC) { /* U+8319 SUPERSCRIPT LATIN SMALL LETTER N */ 
/*		fprintRTF("TRANSLATION");*/
		return;
	}
	if (index + 128 == 0xFE) { /* U+9632 BLACK SQUARE */ 
/*		fprintRTF("TRANSLATION");*/
		return;
	}
}
Example #22
0
/******************************************************************************
 purpose: \^{o} and \hat{o} symbols from LaTeX to RTF
 ******************************************************************************/
void CmdHatChar(int code)
{
    int n = RtfFontNumber("STIXGeneral");
    char *cParam = getBraceParam();
        
    switch (cParam[0]) {
        case 'a':
            fprintRTF("\\'e2");
            break;
        case 'A':
            fprintRTF("\\'c2");
            break;
        case 'e':
            fprintRTF("\\'ea");
            break;
        case 'E':
            fprintRTF("\\'ca");
            break;
        case 'i':
            fprintRTF("\\'ee");
            break;
        case 'I':
            fprintRTF("\\'ce");
            break;
        case 'o':
            fprintRTF("\\'f4");
            break;
        case 'O':
            fprintRTF("\\'d4");
            break;
        case 'u':
            fprintRTF("\\'fb");
            break;
        case 'U':
            fprintRTF("\\'db");
            break;
        case 'C':
            fprintRTF("\\u264C");
            break;
        case 'c':
            fprintRTF("\\u265c");
            break;
        case 'G':
            fprintRTF("\\u284G");
            break;
        case 'g':
            fprintRTF("\\u285g");
            break;
        case 'H':
            fprintRTF("\\u292H");
            break;
        case 'h':
            fprintRTF("\\u293h");
            break;
        case 'J':
            fprintRTF("\\u308J");
            break;
        case 'S':
            fprintRTF("\\u348S");
            break;
        case 's':
            fprintRTF("\\u349s");
            break;
        case 'W':
            fprintRTF("\\u372W");
            break;
        case 'w':
            fprintRTF("\\u373w");
            break;
        case 'Y':
            fprintRTF("\\u374Y");
            break;
        case 'y':
            fprintRTF("\\u375y");
            break;
        case '\0':
            fprintRTF("\\'5e");
            break;
        default:
            fprintRTF("{\\f%d",n);
            fprintRTF("\\u770\\'5e}");  /* unicode combining character 0x0302 */
            ConvertString(cParam);
            break;  
    }
        
    free(cParam);
}
Example #23
0
static void cp852_enc(int index)
{
char *s;
	s = cp852_2_ansi[index];
	if (s[0]!='0'){
		fprintRTF("\\'%s",s);
		return;
	}
	s = cp852_2_sym[index];
	if (s[0]!='0'){
		int sym=RtfFontNumber("Symbol");
		fprintRTF("{\\f%d\\'%s}",sym,s);
		return;
	}
	if (index + 128 == 0x85) { /* U+367 LATIN SMALL LETTER U WITH RING ABOVE */ 
		put_ring_char('u');
		return;
	}
	if (index + 128 == 0x86) { /* U+263 LATIN SMALL LETTER C WITH ACUTE */ 
		put_acute_char('c');
		return;
	}
	if (index + 128 == 0x88) { /* U+322 LATIN SMALL LETTER L WITH STROKE */ 
/*		fprintRTF("TRANSLATION");*/
		return;
	}
	if (index + 128 == 0x8A) { /* U+336 LATIN CAPITAL LETTER O WITH DOUBLE ACUTE */ 
/*		fprintRTF("TRANSLATION");*/
		return;
	}
	if (index + 128 == 0x8B) { /* U+337 LATIN SMALL LETTER O WITH DOUBLE ACUTE */ 
/*		fprintRTF("TRANSLATION");*/
		return;
	}
	if (index + 128 == 0x8D) { /* U+377 LATIN CAPITAL LETTER Z WITH ACUTE */ 
		put_acute_char('Z');
		return;
	}
	if (index + 128 == 0x8F) { /* U+262 LATIN CAPITAL LETTER C WITH ACUTE */ 
		put_acute_char('C');
		return;
	}
	if (index + 128 == 0x91) { /* U+313 LATIN CAPITAL LETTER L WITH ACUTE */ 
		put_acute_char('L');
		return;
	}
	if (index + 128 == 0x92) { /* U+314 LATIN SMALL LETTER L WITH ACUTE */ 
		put_acute_char('l');
		return;
	}
	if (index + 128 == 0x95) { /* U+317 LATIN CAPITAL LETTER L WITH CARON */ 
/*		fprintRTF("TRANSLATION");*/
		return;
	}
	if (index + 128 == 0x96) { /* U+318 LATIN SMALL LETTER L WITH CARON */ 
/*		fprintRTF("TRANSLATION");*/
		return;
	}
	if (index + 128 == 0x97) { /* U+346 LATIN CAPITAL LETTER S WITH ACUTE */ 
		put_acute_char('S');
		return;
	}
	if (index + 128 == 0x98) { /* U+347 LATIN SMALL LETTER S WITH ACUTE */ 
		put_acute_char('s');
		return;
	}
	if (index + 128 == 0x9B) { /* U+356 LATIN CAPITAL LETTER T WITH CARON */ 
/*		fprintRTF("TRANSLATION");*/
		return;
	}
	if (index + 128 == 0x9C) { /* U+357 LATIN SMALL LETTER T WITH CARON */ 
/*		fprintRTF("TRANSLATION");*/
		return;
	}
	if (index + 128 == 0x9D) { /* U+321 LATIN CAPITAL LETTER L WITH STROKE */ 
/*		fprintRTF("TRANSLATION");*/
		return;
	}
	if (index + 128 == 0x9F) { /* U+269 LATIN SMALL LETTER C WITH CARON */ 
/*		fprintRTF("TRANSLATION");*/
		return;
	}
	if (index + 128 == 0xA4) { /* U+260 LATIN CAPITAL LETTER A WITH OGONEK */ 
/*		fprintRTF("TRANSLATION");*/
		return;
	}
	if (index + 128 == 0xA5) { /* U+261 LATIN SMALL LETTER A WITH OGONEK */ 
/*		fprintRTF("TRANSLATION");*/
		return;
	}
	if (index + 128 == 0xA6) { /* U+381 LATIN CAPITAL LETTER Z WITH CARON */ 
/*		fprintRTF("TRANSLATION");*/
		return;
	}
	if (index + 128 == 0xA7) { /* U+382 LATIN SMALL LETTER Z WITH CARON */ 
/*		fprintRTF("TRANSLATION");*/
		return;
	}
	if (index + 128 == 0xA8) { /* U+280 LATIN CAPITAL LETTER E WITH OGONEK */ 
/*		fprintRTF("TRANSLATION");*/
		return;
	}
	if (index + 128 == 0xA9) { /* U+281 LATIN SMALL LETTER E WITH OGONEK */ 
/*		fprintRTF("TRANSLATION");*/
		return;
	}
	if (index + 128 == 0xAA) { /* U+65535 unknown */ 
/*		fprintRTF("TRANSLATION");*/
		return;
	}
	if (index + 128 == 0xAB) { /* U+378 LATIN SMALL LETTER Z WITH ACUTE */ 
		put_acute_char('z');
		return;
	}
	if (index + 128 == 0xAC) { /* U+268 LATIN CAPITAL LETTER C WITH CARON */ 
/*		fprintRTF("TRANSLATION");*/
		return;
	}
	if (index + 128 == 0xAD) { /* U+351 LATIN SMALL LETTER S WITH CEDILLA */ 
		put_cedilla_char('s');
		return;
	}
	if (index + 128 == 0xB0) { /* U+9617 LIGHT SHADE */ 
/*		fprintRTF("TRANSLATION");*/
		return;
	}
	if (index + 128 == 0xB1) { /* U+9618 MEDIUM SHADE */ 
/*		fprintRTF("TRANSLATION");*/
		return;
	}
	if (index + 128 == 0xB2) { /* U+9619 DARK SHADE */ 
/*		fprintRTF("TRANSLATION");*/
		return;
	}
	if (index + 128 == 0xB7) { /* U+282 LATIN CAPITAL LETTER E WITH CARON */ 
/*		fprintRTF("TRANSLATION");*/
		return;
	}
	if (index + 128 == 0xB8) { /* U+350 LATIN CAPITAL LETTER S WITH CEDILLA */ 
		put_cedilla_char('S');
		return;
	}
	if (index + 128 == 0xBD) { /* U+379 LATIN CAPITAL LETTER Z WITH DOT ABOVE */ 
		put_dot_char('Z');
		return;
	}
	if (index + 128 == 0xBE) { /* U+380 LATIN SMALL LETTER Z WITH DOT ABOVE */ 
		put_dot_char('z');
		return;
	}
	if (index + 128 == 0xC6) { /* U+258 LATIN CAPITAL LETTER A WITH BREVE */ 
		put_breve_char('A');
		return;
	}
	if (index + 128 == 0xC7) { /* U+259 LATIN SMALL LETTER A WITH BREVE */ 
		put_breve_char('a');
		return;
	}
	if (index + 128 == 0xD0) { /* U+273 LATIN SMALL LETTER D WITH STROKE */ 
/*		fprintRTF("TRANSLATION");*/
		return;
	}
	if (index + 128 == 0xD1) { /* U+272 LATIN CAPITAL LETTER D WITH STROKE */ 
/*		fprintRTF("TRANSLATION");*/
		return;
	}
	if (index + 128 == 0xD2) { /* U+270 LATIN CAPITAL LETTER D WITH CARON */ 
/*		fprintRTF("TRANSLATION");*/
		return;
	}
	if (index + 128 == 0xD4) { /* U+271 LATIN SMALL LETTER D WITH CARON */ 
/*		fprintRTF("TRANSLATION");*/
		return;
	}
	if (index + 128 == 0xD5) { /* U+327 LATIN CAPITAL LETTER N WITH CARON */ 
/*		fprintRTF("TRANSLATION");*/
		return;
	}
	if (index + 128 == 0xD8) { /* U+283 LATIN SMALL LETTER E WITH CARON */ 
/*		fprintRTF("TRANSLATION");*/
		return;
	}
	if (index + 128 == 0xDB) { /* U+9608 FULL BLOCK */ 
/*		fprintRTF("TRANSLATION");*/
		return;
	}
	if (index + 128 == 0xDC) { /* U+9604 LOWER HALF BLOCK */ 
/*		fprintRTF("TRANSLATION");*/
		return;
	}
	if (index + 128 == 0xDD) { /* U+354 LATIN CAPITAL LETTER T WITH CEDILLA */ 
		put_cedilla_char('T');
		return;
	}
	if (index + 128 == 0xDE) { /* U+366 LATIN CAPITAL LETTER U WITH RING ABOVE */ 
		put_ring_char('U');
		return;
	}
	if (index + 128 == 0xDF) { /* U+9600 UPPER HALF BLOCK */ 
/*		fprintRTF("TRANSLATION");*/
		return;
	}
	if (index + 128 == 0xE3) { /* U+323 LATIN CAPITAL LETTER N WITH ACUTE */ 
		put_acute_char('N');
		return;
	}
	if (index + 128 == 0xE4) { /* U+324 LATIN SMALL LETTER N WITH ACUTE */ 
		put_acute_char('n');
		return;
	}
	if (index + 128 == 0xE5) { /* U+328 LATIN SMALL LETTER N WITH CARON */ 
/*		fprintRTF("TRANSLATION");*/
		return;
	}
	if (index + 128 == 0xE8) { /* U+340 LATIN CAPITAL LETTER R WITH ACUTE */ 
		put_acute_char('R');
		return;
	}
	if (index + 128 == 0xEA) { /* U+341 LATIN SMALL LETTER R WITH ACUTE */ 
		put_acute_char('r');
		return;
	}
	if (index + 128 == 0xEB) { /* U+368 LATIN CAPITAL LETTER U WITH DOUBLE ACUTE */ 
/*		fprintRTF("TRANSLATION");*/
		return;
	}
	if (index + 128 == 0xEE) { /* U+355 LATIN SMALL LETTER T WITH CEDILLA */ 
		put_cedilla_char('t');
		return;
	}
	if (index + 128 == 0xF1) { /* U+733 DOUBLE ACUTE ACCENT */ 
/*		fprintRTF("TRANSLATION");*/
		return;
	}
	if (index + 128 == 0xF3) { /* U+711 CARON */ 
/*		fprintRTF("TRANSLATION");*/
		return;
	}
	if (index + 128 == 0xF4) { /* U+728 BREVE */ 
		int num = RtfFontNumber("MT Extra");
		fprintRTF("{\\f%d\\'28}", num);
		return;
	}
	if (index + 128 == 0xF7) { /* U+731 OGONEK */ 
/*		fprintRTF("TRANSLATION");*/
		return;
	}
	if (index + 128 == 0xFA) { /* U+729 DOT ABOVE */ 
		put_dot_char(' ');
		return;
	}
	if (index + 128 == 0xFB) { /* U+369 LATIN SMALL LETTER U WITH DOUBLE ACUTE */ 
/*		fprintRTF("TRANSLATION");*/
		return;
	}
	if (index + 128 == 0xFC) { /* U+344 LATIN CAPITAL LETTER R WITH CARON */ 
/*		fprintRTF("TRANSLATION");*/
		return;
	}
	if (index + 128 == 0xFD) { /* U+345 LATIN SMALL LETTER R WITH CARON */ 
/*		fprintRTF("TRANSLATION");*/
		return;
	}
	if (index + 128 == 0xFE) { /* U+9632 BLACK SQUARE */ 
/*		fprintRTF("TRANSLATION");*/
		return;
	}
}
Example #24
0
/*****************************************************************************
 purpose: converts \c{c} from LaTeX to RTF
 ******************************************************************************/
void CmdCedillaChar(int code)
{
    int n = RtfFontNumber("STIXGeneral");
    char *cParam = getBraceParam();
    
    switch (cParam[0]) {
        case 'C':
            fprintRTF("\\'c7");
            break;
        case 'c':
            fprintRTF("\\'e7");
            break;
        case 'G':
            putUnicodeChar(0x01,0x22,'G');
            break;
        case 'g':
            putUnicodeChar(0x01,0x23,'g');
            break;
        case 'K':
            putUnicodeChar(0x01,0x36,'K');
            break;
        case 'k':
            putUnicodeChar(0x01,0x37,'k');
            break;
        case 'L':
            putUnicodeChar(0x01,0x3B,'L');
            break;
        case 'l':
            putUnicodeChar(0x01,0x3C,'l');
            break;
        case 'N':
            putUnicodeChar(0x01,0x45,'N');
            break;
        case 'n':
            putUnicodeChar(0x01,0x46,'n');
            break;
        case 'R':
            putUnicodeChar(0x01,0x56,'R');
            break;
        case 'r':
            putUnicodeChar(0x01,0x57,'r');
            break;
        case 'S':
            putUnicodeChar(0x01,0x5E,'S');
            break;
        case 's':
            putUnicodeChar(0x01,0x5F,'s');
            break;
        case 'T':
            putUnicodeChar(0x01,0x62,'T');
            break;
        case 't':
            putUnicodeChar(0x01,0x63,'t');
            break;
        case 'E':
            putUnicodeChar(0x02,0x28,'E');
            break;
        case 'e':
            putUnicodeChar(0x02,0x29,'e');
            break;
        case '\0':
            fprintRTF("\\'b8");
            break;
        default:
            fprintRTF("{\\f%d",n);
            fprintRTF("\\u807\\'b8}");  /* unicode combining character 0x0327 */
            ConvertString(cParam);
            break;  
    }

    free(cParam);
}
Example #25
0
static void next_enc(int index)
{
char *s;
	s = next_2_ansi[index];
	if (s[0]!='0'){
		fprintRTF("\\'%s",s);
		return;
	}
	s = next_2_sym[index];
	if (s[0]!='0'){
		int sym=RtfFontNumber("Symbol");
		fprintRTF("{\\f%d\\'%s}",sym,s);
		return;
	}
	if (index + 128 == 0xAE) { /* U+64257 LATIN SMALL LIGATURE FI */ 
		fprintRTF("fi");
		return;
	}
	if (index + 128 == 0xAF) { /* U+64258 LATIN SMALL LIGATURE FL */ 
		fprintRTF("fl");
		return;
	}
	if (index + 128 == 0xC1) { /* U+715 MODIFIER LETTER GRAVE ACCENT */ 
/*		fprintRTF("TRANSLATION");*/
		return;
	}
	if (index + 128 == 0xC6) { /* U+728 BREVE */ 
		int num = RtfFontNumber("MT Extra");
		fprintRTF("{\\f%d\\'28}", num);
		return;
	}
	if (index + 128 == 0xC7) { /* U+729 DOT ABOVE */ 
		put_dot_char(' ');
		return;
	}
	if (index + 128 == 0xCA) { /* U+730 RING ABOVE */ 
		put_ring_char(' ');
		return;
	}
	if (index + 128 == 0xCD) { /* U+733 DOUBLE ACUTE ACCENT */ 
/*		fprintRTF("TRANSLATION");*/
		return;
	}
	if (index + 128 == 0xCE) { /* U+731 OGONEK */ 
/*		fprintRTF("TRANSLATION");*/
		return;
	}
	if (index + 128 == 0xCF) { /* U+711 CARON */ 
/*		fprintRTF("TRANSLATION");*/
		return;
	}
	if (index + 128 == 0xE8) { /* U+321 LATIN CAPITAL LETTER L WITH STROKE */ 
/*		fprintRTF("TRANSLATION");*/
		return;
	}
	if (index + 128 == 0xF5) { /* U+305 LATIN SMALL LETTER DOTLESS I */ 
		fprintRTF("i");
		return;
	}
	if (index + 128 == 0xF8) { /* U+322 LATIN SMALL LETTER L WITH STROKE */ 
/*		fprintRTF("TRANSLATION");*/
		return;
	}
	if (index + 128 == 0xFE) { /* U+65535 unknown */ 
/*		fprintRTF("TRANSLATION");*/
		return;
	}
	if (index + 128 == 0xFF) { /* U+65535 unknown */ 
/*		fprintRTF("TRANSLATION");*/
		return;
	}
}
Example #26
0
/*****************************************************************************
 purpose : converts characters with diaeresis, e.g., \"{a} or \ddot{a}
 ******************************************************************************/
void CmdUmlauteChar(int code)
{
    int n = RtfFontNumber("STIXGeneral");
    char *cParam = getBraceParam();

    if (strstr(cParam, "\\i")) {
        fprintRTF("\\'ef");
        free(cParam);
        return;
    }

    switch (cParam[0]) {
        case 'A':
            fprintRTF("\\'c4");
            break;
        case 'E':
            fprintRTF("\\'cb");
            break;
        case 'I':
            fprintRTF("\\'cf");
            break;
        case 'O':
            fprintRTF("\\'d6");
            break;
        case 'U':
            fprintRTF("\\'dc");
            break;
        case 'a':
            fprintRTF("\\'e4");
            break;
        case 'e':
            fprintRTF("\\'eb");
            break;
        case 'i':
            fprintRTF("\\'ef");
            break;
        case 'o':
            fprintRTF("\\'f6");
            break;
        case 'u':
            fprintRTF("\\'fc");
            break;
        case 'y':
            fprintRTF("\\'ff");
            break;
        case 'Y':
            putUnicodeChar(0x01,0x78,'Y');
            break;
        case 'H':
            putUnicodeChar(0x1E,0x26,'H');
            break;
        case 'h':
            putUnicodeChar(0x1E,0x27,'h');
            break;
        case 'W':
            putUnicodeChar(0x1E,0x83,'W');
            break;
        case 'w':
            putUnicodeChar(0x1E,0x84,'w');
            break;
        case 'X':
            putUnicodeChar(0x1E,0x8C,'X');
            break;
        case 'x':
            putUnicodeChar(0x1E,0x8D,'x');
            break;
        case 't':
            putUnicodeChar(0x1E,0x97,'t');
            break;
        case '\0':
            fprintRTF(" \\u776.");
            break;
        default:
            fprintRTF("{\\f%d",n);
            fprintRTF("\\u776.}");   /* unicode combining character 0x308*/
            ConvertString(cParam);
            break;  
    }

    free(cParam);
}
Example #27
0
static void latin4_enc(int index)
{
char *s;
	s = latin4_2_ansi[index];
	if (s[0]!='0'){
		fprintRTF("\\'%s",s);
		return;
	}
	s = latin4_2_sym[index];
	if (s[0]!='0'){
		int sym=RtfFontNumber("Symbol");
		fprintRTF("{\\f%d\\'%s}",sym,s);
		return;
	}
	if (index + 128 == 0xA1) { /* U+260 LATIN CAPITAL LETTER A WITH OGONEK */ 
/*		fprintRTF("TRANSLATION");*/
		return;
	}
	if (index + 128 == 0xA2) { /* U+312 LATIN SMALL LETTER KRA */ 
/*		fprintRTF("TRANSLATION");*/
		return;
	}
	if (index + 128 == 0xA3) { /* U+342 LATIN CAPITAL LETTER R WITH CEDILLA */ 
		put_cedilla_char('R');
		return;
	}
	if (index + 128 == 0xA5) { /* U+296 LATIN CAPITAL LETTER I WITH TILDE */ 
		put_tilde_char('I');
		return;
	}
	if (index + 128 == 0xA6) { /* U+315 LATIN CAPITAL LETTER L WITH CEDILLA */ 
		put_cedilla_char('L');
		return;
	}
	if (index + 128 == 0xAA) { /* U+274 LATIN CAPITAL LETTER E WITH MACRON */ 
		put_macron_char('E');
		return;
	}
	if (index + 128 == 0xAB) { /* U+290 LATIN CAPITAL LETTER G WITH CEDILLA */ 
		put_cedilla_char('G');
		return;
	}
	if (index + 128 == 0xAC) { /* U+358 LATIN CAPITAL LETTER T WITH STROKE */ 
/*		fprintRTF("TRANSLATION");*/
		return;
	}
	if (index + 128 == 0xAE) { /* U+381 LATIN CAPITAL LETTER Z WITH CARON */ 
/*		fprintRTF("TRANSLATION");*/
		return;
	}
	if (index + 128 == 0xB1) { /* U+261 LATIN SMALL LETTER A WITH OGONEK */ 
/*		fprintRTF("TRANSLATION");*/
		return;
	}
	if (index + 128 == 0xB2) { /* U+731 OGONEK */ 
/*		fprintRTF("TRANSLATION");*/
		return;
	}
	if (index + 128 == 0xB3) { /* U+343 LATIN SMALL LETTER R WITH CEDILLA */ 
		put_cedilla_char('r');
		return;
	}
	if (index + 128 == 0xB5) { /* U+297 LATIN SMALL LETTER I WITH TILDE */ 
		put_tilde_char('i');
		return;
	}
	if (index + 128 == 0xB6) { /* U+316 LATIN SMALL LETTER L WITH CEDILLA */ 
		put_cedilla_char('l');
		return;
	}
	if (index + 128 == 0xB7) { /* U+711 CARON */ 
/*		fprintRTF("TRANSLATION");*/
		return;
	}
	if (index + 128 == 0xBA) { /* U+275 LATIN SMALL LETTER E WITH MACRON */ 
		put_macron_char('e');
		return;
	}
	if (index + 128 == 0xBB) { /* U+291 LATIN SMALL LETTER G WITH CEDILLA */ 
		put_cedilla_char('g');
		return;
	}
	if (index + 128 == 0xBC) { /* U+359 LATIN SMALL LETTER T WITH STROKE */ 
/*		fprintRTF("TRANSLATION");*/
		return;
	}
	if (index + 128 == 0xBD) { /* U+330 LATIN CAPITAL LETTER ENG */ 
/*		fprintRTF("TRANSLATION");*/
		return;
	}
	if (index + 128 == 0xBE) { /* U+382 LATIN SMALL LETTER Z WITH CARON */ 
/*		fprintRTF("TRANSLATION");*/
		return;
	}
	if (index + 128 == 0xBF) { /* U+331 LATIN SMALL LETTER ENG */ 
/*		fprintRTF("TRANSLATION");*/
		return;
	}
	if (index + 128 == 0xC0) { /* U+256 LATIN CAPITAL LETTER A WITH MACRON */ 
		put_macron_char('A');
		return;
	}
	if (index + 128 == 0xC7) { /* U+302 LATIN CAPITAL LETTER I WITH OGONEK */ 
/*		fprintRTF("TRANSLATION");*/
		return;
	}
	if (index + 128 == 0xC8) { /* U+268 LATIN CAPITAL LETTER C WITH CARON */ 
/*		fprintRTF("TRANSLATION");*/
		return;
	}
	if (index + 128 == 0xCA) { /* U+280 LATIN CAPITAL LETTER E WITH OGONEK */ 
/*		fprintRTF("TRANSLATION");*/
		return;
	}
	if (index + 128 == 0xCC) { /* U+278 LATIN CAPITAL LETTER E WITH DOT ABOVE */ 
		put_dot_char('E');
		return;
	}
	if (index + 128 == 0xCF) { /* U+298 LATIN CAPITAL LETTER I WITH MACRON */ 
		put_macron_char('I');
		return;
	}
	if (index + 128 == 0xD0) { /* U+272 LATIN CAPITAL LETTER D WITH STROKE */ 
/*		fprintRTF("TRANSLATION");*/
		return;
	}
	if (index + 128 == 0xD1) { /* U+325 LATIN CAPITAL LETTER N WITH CEDILLA */ 
		put_cedilla_char('N');
		return;
	}
	if (index + 128 == 0xD2) { /* U+332 LATIN CAPITAL LETTER O WITH MACRON */ 
		put_macron_char('O');
		return;
	}
	if (index + 128 == 0xD3) { /* U+310 LATIN CAPITAL LETTER K WITH CEDILLA */ 
		put_cedilla_char('K');
		return;
	}
	if (index + 128 == 0xD9) { /* U+370 LATIN CAPITAL LETTER U WITH OGONEK */ 
/*		fprintRTF("TRANSLATION");*/
		return;
	}
	if (index + 128 == 0xDD) { /* U+360 LATIN CAPITAL LETTER U WITH TILDE */ 
		put_tilde_char('U');
		return;
	}
	if (index + 128 == 0xDE) { /* U+362 LATIN CAPITAL LETTER U WITH MACRON */ 
		put_macron_char('U');
		return;
	}
	if (index + 128 == 0xE0) { /* U+257 LATIN SMALL LETTER A WITH MACRON */ 
		put_macron_char('a');
		return;
	}
	if (index + 128 == 0xE7) { /* U+303 LATIN SMALL LETTER I WITH OGONEK */ 
/*		fprintRTF("TRANSLATION");*/
		return;
	}
	if (index + 128 == 0xE8) { /* U+269 LATIN SMALL LETTER C WITH CARON */ 
/*		fprintRTF("TRANSLATION");*/
		return;
	}
	if (index + 128 == 0xEA) { /* U+281 LATIN SMALL LETTER E WITH OGONEK */ 
/*		fprintRTF("TRANSLATION");*/
		return;
	}
	if (index + 128 == 0xEC) { /* U+279 LATIN SMALL LETTER E WITH DOT ABOVE */ 
		put_dot_char('e');
		return;
	}
	if (index + 128 == 0xEF) { /* U+299 LATIN SMALL LETTER I WITH MACRON */ 
		put_macron_char('i');
		return;
	}
	if (index + 128 == 0xF0) { /* U+273 LATIN SMALL LETTER D WITH STROKE */ 
/*		fprintRTF("TRANSLATION");*/
		return;
	}
	if (index + 128 == 0xF1) { /* U+326 LATIN SMALL LETTER N WITH CEDILLA */ 
		put_cedilla_char('n');
		return;
	}
	if (index + 128 == 0xF2) { /* U+333 LATIN SMALL LETTER O WITH MACRON */ 
		put_macron_char('o');
		return;
	}
	if (index + 128 == 0xF3) { /* U+311 LATIN SMALL LETTER K WITH CEDILLA */ 
		put_cedilla_char('k');
		return;
	}
	if (index + 128 == 0xF9) { /* U+371 LATIN SMALL LETTER U WITH OGONEK */ 
/*		fprintRTF("TRANSLATION");*/
		return;
	}
	if (index + 128 == 0xFD) { /* U+361 LATIN SMALL LETTER U WITH TILDE */ 
		put_tilde_char('u');
		return;
	}
	if (index + 128 == 0xFE) { /* U+363 LATIN SMALL LETTER U WITH MACRON */ 
		put_macron_char('u');
		return;
	}
	if (index + 128 == 0xFF) { /* U+729 DOT ABOVE */ 
		put_dot_char(' ');
		return;
	}
}
Example #28
0
static void latin3_enc(int index)
{
char *s;
	s = latin3_2_ansi[index];
	if (s[0]!='0'){
		fprintRTF("\\'%s",s);
		return;
	}
	s = latin3_2_sym[index];
	if (s[0]!='0'){
		int sym=RtfFontNumber("Symbol");
		fprintRTF("{\\f%d\\'%s}",sym,s);
		return;
	}
	if (index + 128 == 0xA1) { /* U+294 LATIN CAPITAL LETTER H WITH STROKE */ 
/*		fprintRTF("TRANSLATION");*/
		return;
	}
	if (index + 128 == 0xA2) { /* U+728 BREVE */ 
		int num = RtfFontNumber("MT Extra");
		fprintRTF("{\\f%d\\'28}", num);
		return;
	}
	if (index + 128 == 0xA5) { /* U+65535 unknown */ 
/*		fprintRTF("TRANSLATION");*/
		return;
	}
	if (index + 128 == 0xA6) { /* U+292 LATIN CAPITAL LETTER H WITH CIRCUMFLEX */ 
/*		fprintRTF("TRANSLATION");*/
		return;
	}
	if (index + 128 == 0xA9) { /* U+304 LATIN CAPITAL LETTER I WITH DOT ABOVE */ 
		put_dot_char('I');
		return;
	}
	if (index + 128 == 0xAA) { /* U+350 LATIN CAPITAL LETTER S WITH CEDILLA */ 
		put_cedilla_char('S');
		return;
	}
	if (index + 128 == 0xAB) { /* U+286 LATIN CAPITAL LETTER G WITH BREVE */ 
		put_breve_char('G');
		return;
	}
	if (index + 128 == 0xAC) { /* U+308 LATIN CAPITAL LETTER J WITH CIRCUMFLEX */ 
/*		fprintRTF("TRANSLATION");*/
		return;
	}
	if (index + 128 == 0xAE) { /* U+65535 unknown */ 
/*		fprintRTF("TRANSLATION");*/
		return;
	}
	if (index + 128 == 0xAF) { /* U+379 LATIN CAPITAL LETTER Z WITH DOT ABOVE */ 
		put_dot_char('Z');
		return;
	}
	if (index + 128 == 0xB1) { /* U+295 LATIN SMALL LETTER H WITH STROKE */ 
/*		fprintRTF("TRANSLATION");*/
		return;
	}
	if (index + 128 == 0xB6) { /* U+293 LATIN SMALL LETTER H WITH CIRCUMFLEX */ 
/*		fprintRTF("TRANSLATION");*/
		return;
	}
	if (index + 128 == 0xB9) { /* U+305 LATIN SMALL LETTER DOTLESS I */ 
		fprintRTF("i");
		return;
	}
	if (index + 128 == 0xBA) { /* U+351 LATIN SMALL LETTER S WITH CEDILLA */ 
		put_cedilla_char('s');
		return;
	}
	if (index + 128 == 0xBB) { /* U+287 LATIN SMALL LETTER G WITH BREVE */ 
		put_breve_char('g');
		return;
	}
	if (index + 128 == 0xBC) { /* U+309 LATIN SMALL LETTER J WITH CIRCUMFLEX */ 
/*		fprintRTF("TRANSLATION");*/
		return;
	}
	if (index + 128 == 0xBE) { /* U+65535 unknown */ 
/*		fprintRTF("TRANSLATION");*/
		return;
	}
	if (index + 128 == 0xBF) { /* U+380 LATIN SMALL LETTER Z WITH DOT ABOVE */ 
		put_dot_char('z');
		return;
	}
	if (index + 128 == 0xC3) { /* U+65535 unknown */ 
/*		fprintRTF("TRANSLATION");*/
		return;
	}
	if (index + 128 == 0xC5) { /* U+266 LATIN CAPITAL LETTER C WITH DOT ABOVE */ 
		put_dot_char('C');
		return;
	}
	if (index + 128 == 0xC6) { /* U+264 LATIN CAPITAL LETTER C WITH CIRCUMFLEX */ 
/*		fprintRTF("TRANSLATION");*/
		return;
	}
	if (index + 128 == 0xD0) { /* U+65535 unknown */ 
/*		fprintRTF("TRANSLATION");*/
		return;
	}
	if (index + 128 == 0xD5) { /* U+288 LATIN CAPITAL LETTER G WITH DOT ABOVE */ 
		put_dot_char('G');
		return;
	}
	if (index + 128 == 0xD8) { /* U+284 LATIN CAPITAL LETTER G WITH CIRCUMFLEX */ 
/*		fprintRTF("TRANSLATION");*/
		return;
	}
	if (index + 128 == 0xDD) { /* U+364 LATIN CAPITAL LETTER U WITH BREVE */ 
		put_breve_char('U');
		return;
	}
	if (index + 128 == 0xDE) { /* U+348 LATIN CAPITAL LETTER S WITH CIRCUMFLEX */ 
/*		fprintRTF("TRANSLATION");*/
		return;
	}
	if (index + 128 == 0xE3) { /* U+65535 unknown */ 
/*		fprintRTF("TRANSLATION");*/
		return;
	}
	if (index + 128 == 0xE5) { /* U+267 LATIN SMALL LETTER C WITH DOT ABOVE */ 
		put_dot_char('c');
		return;
	}
	if (index + 128 == 0xE6) { /* U+265 LATIN SMALL LETTER C WITH CIRCUMFLEX */ 
/*		fprintRTF("TRANSLATION");*/
		return;
	}
	if (index + 128 == 0xF0) { /* U+65535 unknown */ 
/*		fprintRTF("TRANSLATION");*/
		return;
	}
	if (index + 128 == 0xF5) { /* U+289 LATIN SMALL LETTER G WITH DOT ABOVE */ 
		put_dot_char('g');
		return;
	}
	if (index + 128 == 0xF8) { /* U+285 LATIN SMALL LETTER G WITH CIRCUMFLEX */ 
/*		fprintRTF("TRANSLATION");*/
		return;
	}
	if (index + 128 == 0xFD) { /* U+365 LATIN SMALL LETTER U WITH BREVE */ 
		put_breve_char('u');
		return;
	}
	if (index + 128 == 0xFE) { /* U+349 LATIN SMALL LETTER S WITH CIRCUMFLEX */ 
/*		fprintRTF("TRANSLATION");*/
		return;
	}
	if (index + 128 == 0xFF) { /* U+729 DOT ABOVE */ 
		put_dot_char(' ');
		return;
	}
}
Example #29
0
/******************************************************************************
 purpose: converts \v{a}
          need something that looks like \\O(a,\\S(\f1\'da)) in RTF file
 ******************************************************************************/
void CmdCaronChar(int code)
{
    int n = RtfFontNumber("STIXGeneral");
    char *cParam = getBraceParam();

    switch (cParam[0]) {
        case 'C':
            putUnicodeChar(0x01,0x0C,'C');
            break;
        case 'c':
            putUnicodeChar(0x01,0x0D,'c');
            break;
        case 'D':
            putUnicodeChar(0x01,0x0E,'D');
            break;
        case 'd':
            putUnicodeChar(0x01,0x0F,'d');
            break;
        case 'E':
            putUnicodeChar(0x01,0x1A,'E');
            break;
        case 'e':
            putUnicodeChar(0x01,0x1B,'e');
            break;
        case 'L':
            putUnicodeChar(0x01,0x3D,'L');
            break;
        case 'l':
            putUnicodeChar(0x01,0x3E,'l');
            break;
        case 'N':
            putUnicodeChar(0x01,0x47,'N');
            break;
        case 'n':
            putUnicodeChar(0x01,0x48,'n');
            break;
        case 'R':
            putUnicodeChar(0x01,0x58,'R');
            break;
        case 'r':
            putUnicodeChar(0x01,0x59,'r');
            break;
        case 'S':
            putUnicodeChar(0x01,0x60,'S');
            break;
        case 's':
            putUnicodeChar(0x01,0x61,'s');
            break;
        case 'T':
            putUnicodeChar(0x01,0x64,'T');
            break;
        case 't':
            putUnicodeChar(0x01,0x65,'t');
            break;
        case 'Z':
            putUnicodeChar(0x01,0x7D,'Z');
            break;
        case 'z':
            putUnicodeChar(0x01,0x7E,'z');
            break;
        case 'A':
            putUnicodeChar(0x01,0xCD,'A');
            break;
        case 'a':
            putUnicodeChar(0x01,0xCE,'a');
            break;
        case 'I':
            putUnicodeChar(0x01,0xCF,'I');
            break;
        case 'i':
            putUnicodeChar(0x01,0xD0,'i');
            break;
        case 'O':
            putUnicodeChar(0x01,0xD1,'O');
            break;
        case 'o':
            putUnicodeChar(0x01,0xD2,'o');
            break;
        case 'U':
            putUnicodeChar(0x01,0xD3,'U');
            break;
        case 'u':
            putUnicodeChar(0x01,0xD4,'u');
            break;
        case 'G':
            putUnicodeChar(0x01,0xE6,'G');
            break;
        case 'g':
            putUnicodeChar(0x01,0xE7,'g');
            break;
        case 'K':
            putUnicodeChar(0x01,0xE8,'K');
            break;
        case 'k':
            putUnicodeChar(0x01,0xE9,'k');
            break;
        case 'j':
            putUnicodeChar(0x01,0xF0,'j');
            break;
        case 'H':
            putUnicodeChar(0x02,0x1E,'H');
            break;
        case 'h':
            putUnicodeChar(0x02,0x1F,'h');
            break;
        case '\0':
            putUnicodeChar(0x02,0xC7,'-');
            break;
        default:
            fprintRTF("{\\f%d",n);
            fprintRTF("\\u780-}");  /* unicode combining character 0x030C */
            ConvertString(cParam);
            break;  
    }

    free(cParam);
}
Example #30
0
/******************************************************************************
 purpose: converts chars with dots underneath  \d{o}
 ******************************************************************************/
void CmdUnderdotChar(int code)
{
    int n = RtfFontNumber("STIXGeneral");
    char *cParam = getBraceParam();

    if (strstr(cParam, "\\i")) {
        fprintRTF("\\u301i");
        free(cParam);
    }
    
    switch (cParam[0]) {
        case 'B':
            putUnicodeChar(0x1E,0x04,'B');
            break;
        case 'b':
            putUnicodeChar(0x1E,0x05,'b');
            break;
        case 'D':
            putUnicodeChar(0x1E,0x0C,'D');
            break;
        case 'd':
            putUnicodeChar(0x1E,0x0D,'d');
            break;
        case 'H':
            putUnicodeChar(0x1E,0x24,'H');
            break;
        case 'h':
            putUnicodeChar(0x1E,0x25,'h');
            break;
        case 'K':
            putUnicodeChar(0x1E,0x32,'K');
            break;
        case 'k':
            putUnicodeChar(0x1E,0x33,'k');
            break;
        case 'L':
            putUnicodeChar(0x1E,0x36,'L');
            break;
        case 'l':
            putUnicodeChar(0x1E,0x37,'l');
            break;
        case 'M':
            putUnicodeChar(0x1E,0x42,'M');
            break;
        case 'm':
            putUnicodeChar(0x1E,0x43,'m');
            break;
        case 'N':
            putUnicodeChar(0x1E,0x46,'N');
            break;
        case 'n':
            putUnicodeChar(0x1E,0x47,'n');
            break;
        case 'R':
            putUnicodeChar(0x1E,0x5A,'R');
            break;
        case 'r':
            putUnicodeChar(0x1E,0x5B,'r');
            break;
        case 'S':
            putUnicodeChar(0x1E,0x62,'S');
            break;
        case 's':
            putUnicodeChar(0x1E,0x63,'s');
            break;
        case 'V':
            putUnicodeChar(0x1E,0x7E,'V');
            break;
        case 'v':
            putUnicodeChar(0x1E,0x7F,'v');
            break;
        case 'W':
            putUnicodeChar(0x1E,0x88,'W');
            break;
        case 'w':
            putUnicodeChar(0x1E,0x89,'w');
            break;
        case 'Z':
            putUnicodeChar(0x1E,0x92,'Z');
            break;
        case 'z':
            putUnicodeChar(0x1E,0x93,'z');
            break;
        case 'A':
            putUnicodeChar(0x1E,0xA0,'A');
            break;
        case 'a':
            putUnicodeChar(0x1E,0xA1,'a');
            break;
        case 'E':
            putUnicodeChar(0x1E,0xB8,'E');
            break;
        case 'e':
            putUnicodeChar(0x1E,0xB9,'e');
            break;
        case 'I':
            putUnicodeChar(0x1E,0xCA,'I');
            break;
        case 'i':
            putUnicodeChar(0x1E,0xCB,'i');
            break;
        case 'O':
            putUnicodeChar(0x1E,0xCC,'O');
            break;
        case 'o':
            putUnicodeChar(0x1E,0xCD,'o');
            break;
        case 'U':
            putUnicodeChar(0x1E,0xE4,'U');
            break;
        case 'u':
            putUnicodeChar(0x1E,0xE5,'u');
            break;
        case '\0':
            fprintRTF(" \\u803.");
            break;
        default:
            fprintRTF("{\\f%d",n);
            fprintRTF("\\u803.}"); /* unicode combining character 0x0323 */
            ConvertString(cParam);
            break;  
    }
    
    free(cParam);
}