#define leastGreaterEven(x) ( ((x)+2) &~ 1 )
typedef struct bidi_char {
- wchar_t origwc, wc;
+ unsigned int origwc, wc;
unsigned short index;
} bidi_char;
int getPreviousLevel(unsigned char* level, int from);
int do_shape(bidi_char *line, bidi_char *to, int count);
int do_bidi(bidi_char *line, int count);
-void doMirror(wchar_t* ch);
+void doMirror(unsigned int *ch);
/* character types */
enum {
unsigned char currentEmbedding;
unsigned char currentOverride;
unsigned char tempType;
- int i, j, imax, yes, bover;
+ int i, j, yes, bover;
/* Check the presence of R or AL types as optimization */
yes = 0;
* level or higher
*/
/* we flip the character string and leave the level array */
- imax = 0;
i=0;
tempType = levels[0];
while (i < count) {
- if (levels[i] > tempType) {
+ if (levels[i] > tempType)
tempType = levels[i];
- imax=i;
- }
i++;
}
- /* maximum level in tempType, its index in imax. */
+ /* maximum level in tempType. */
while (tempType > 0) { /* loop from highest level to the least odd, */
/* which i assume is 1 */
flipThisRun(line, levels, tempType, count);
* takes a pointer to a character that is checked for
* having a mirror glyph.
*/
-void doMirror(wchar_t* ch)
+void doMirror(unsigned int *ch)
{
if ((*ch & 0xFF00) == 0) {
switch (*ch) {