Re: [1/26](resend)usp10: Add Indic syllable parsing and reordering system
Aric Stewart <aric(a)codeweavers.com> writes:
+void Indic_ReorderCharacters( LPWSTR input, int cChar, lexical_function lex, reorder_function reorder_f) +{ + int index = 0; + int next = 0; + int center; + + if (!lex || ! reorder_f) + { + ERR("Failure to have required functions\n"); + return; + } + + debug_output_string(input, cChar, lex); + while (next != -1) + { + ZERO_OR_MORE(lex_Generic); + index = next; + next = Indic_process_next_syllable(input, cChar, 0, ¢er, index, lex); + if (next != -1) + { + reorder_f(input, index, center, next-1, lex); + index = next; + } + else if (index < cChar) + { + int i; + TRACE("Processing failed at %i\n",index); + for (i = index; i < cChar; i++) + if (lex(input[i])==lex_Generic) + { + TRACE("Restart processing at %i\n",i); + next = i; + index = i; + break; + } + } + } + TRACE("Processed %i of %i characters\n",index,cChar); +}
Please don't add dead code. This function should be called from somewhere (same for the subsequent patches). -- Alexandre Julliard julliard(a)winehq.org
participants (1)
-
Alexandre Julliard