Rev 8439 | Rev 8499 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 8439 | Rev 8491 | ||
---|---|---|---|
Line 66... | Line 66... | ||
66 | 0}; |
66 | 0}; |
Line 67... | Line 67... | ||
67 | 67 | ||
Line 68... | Line 68... | ||
68 | 68 | ||
69 | unsigned char unicode_chars[] = " ¡¢£¤¥¦§¨©ª«¬®¯àáâãäåæçèéêëìíîïðñh£\243i\105\244\0"; |
69 | unsigned char unicode_chars[] = " ¡¢£¤¥¦§¨©ª«¬®¯àáâãäåæçèéêëìíîïðñh£\243i\105\244\0"; |
70 | 70 | ||
71 | bool GetUnicodeSymbol(dword _line, in_tag, size) |
71 | bool GetUnicodeSymbol(dword _line, line_size, bufpos, buf_end) |
- | 72 | { |
|
- | 73 | int i; |
|
- | 74 | int code; |
|
Line 72... | Line 75... | ||
72 | { |
75 | char special_code[10]; |
73 | int j; |
76 | bool white_end = false; |
- | 77 | dword bufstart = bufpos; |
|
- | 78 | ||
- | 79 | for (i=0; i<9; i++, bufpos++) |
|
- | 80 | { |
|
- | 81 | if (__isWhite(ESBYTE[bufpos])) {bufpos--; break;} |
|
- | 82 | if (ESBYTE[bufpos] == ';') || (bufpos >= buf_end) break; |
|
- | 83 | special_code[i] = ESBYTE[bufpos]; |
|
- | 84 | } |
|
74 | int code; |
85 | special_code[i] = '\0'; |
75 | 86 | ||
76 | for (j=0; unicode_symbols[j]!=0; j+=2;) |
87 | for (i=0; unicode_symbols[i]!=0; i+=2;) |
77 | { |
88 | { |
78 | if (!strcmp(in_tag, unicode_symbols[j])) |
89 | if (!strcmp(#special_code, unicode_symbols[i])) |
79 | { |
90 | { |
Line 80... | Line 91... | ||
80 | strncat(_line, unicode_symbols[j+1], size); |
91 | strncat(_line, unicode_symbols[i+1], line_size); |
81 | return true; |
92 | return bufpos; |
82 | } |
93 | } |
83 | } |
94 | } |
84 | 95 | ||
85 | if (ESBYTE[in_tag]=='#') |
96 | if (special_code[0]=='#') |
86 | { |
97 | { |
87 | code = atoi(in_tag + 1); |
98 | code = atoi(#special_code + 1); |
88 | if (code>=0) && (code<=255) { |
99 | if (code>=0) && (code<=255) { |
89 | chrncat(_line, code, size); //NOT ALL ASCII CODES IN KOLIBRI ARE COMPATABLE WITH STANDARDS |
100 | chrncat(_line, code, line_size); //NOT ALL ASCII CODES IN KOLIBRI ARE COMPATABLE WITH STANDARDS |
90 | return true; |
101 | return bufpos; |
91 | } |
102 | } |
Line -... | Line 103... | ||
- | 103 | if (code>=1040) && (code<=1040+72) { |
|
92 | if (code>=1040) && (code<=1040+72) { |
104 | chrncat(_line, unicode_chars[code-1040], line_size); |
93 | chrncat(_line, unicode_chars[code-1040], size); |
105 | return bufpos; |