Home | History | Annotate | Download | only in cintltst

Lines Matching full:bidi

92 /* new BIDI API */
126 addTest(root, testCharFromDirProp, "complex/bidi/TestCharFromDirProp");
127 addTest(root, testBidi, "complex/bidi/TestBidi");
128 addTest(root, testInverse, "complex/bidi/TestInverse");
129 addTest(root, testReorder,"complex/bidi/TestReorder");
130 addTest(root, testFailureRecovery,"complex/bidi/TestFailureRecovery");
131 addTest(root, testMultipleParagraphs,"complex/bidi/TestMultipleParagraphs");
132 addTest(root, testReorderingMode, "complex/bidi/TestReorderingMode");
133 addTest(root, testReorderRunsOnly, "complex/bidi/TestReorderRunsOnly");
134 addTest(root, testStreaming, "complex/bidi/TestStreaming");
135 addTest(root, testClassOverride, "complex/bidi/TestClassOverride");
136 addTest(root, testGetBaseDirection, "complex/bidi/testGetBaseDirection");
137 addTest(root, testContext, "complex/bidi/testContext");
138 addTest(root, testBracketOverflow, "complex/bidi/TestBracketOverflow");
147 addTest(root, testReorderArabicMathSymbols, "complex/bidi/bug-9024");
154 /* verify that the exemplar characters have the expected bidi classes */
247 The rules for pseudo-Bidi are as follows:
265 Bidi properties.
355 /* This function converts a pseudo-Bidi string into a UChar string.
372 /* This function converts a UChar string into a pseudo-Bidi string.
373 It returns the length of the pseudo-Bidi string.
391 static char * formatLevels(UBiDi *bidi, char *buffer) {
393 const UBiDiLevel* gotLevels = ubidi_getLevels(bidi, &ec);
394 int len = ubidi_getLength(bidi);
436 static void printCaseInfo(UBiDi *bidi, const char *src, const char *dst)
437 /* src and dst are char arrays encoded as pseudo Bidi */
444 int32_t i, length = ubidi_getProcessedLength(bidi);
451 levels = ubidi_getLevels(bidi, &errorCode);
469 log_err("Direction: %d", ubidi_getDirection(bidi)); fputs("\n", stderr);
470 log_err("paraLevel: %d", ubidi_getParaLevel(bidi)); fputs("\n", stderr);
471 i = ubidi_getReorderingMode(bidi);
474 i = ubidi_getReorderingOptions(bidi);
477 runCount = ubidi_countRuns(bidi, &errorCode);
485 dir = ubidi_getVisualRun(bidi, i, &start, &len);
492 static UBool matchingPair(UBiDi *bidi, int32_t i, char c1, char c2)
494 /* No test for []{} since they have special meaning for pseudo Bidi */
506 ubidi_getLogicalRun(bidi, i, NULL, &level);
519 static UBool checkWhatYouCan(UBiDi *bidi, const char *srcChars, const char *dstChars)
520 /* srcChars and dstChars are char arrays encoded as pseudo Bidi */
529 ubidi_getVisualMap(bidi, visMap, &errorCode);
530 ubidi_getLogicalMap(bidi, logMap, &errorCode);
538 logLimit = ubidi_getProcessedLength(bidi);
539 visLimit = ubidi_getResultLength(bidi);
544 idx = ubidi_getVisualIndex(bidi, i, &errorCode);
555 if (!matchingPair(bidi, i, srcChars[i], dstChars[idx])) {
566 printCaseInfo(bidi, srcChars, dstChars);
577 log_err(" %d", ubidi_getVisualIndex(bidi, i, &errorCode));
583 printCaseInfo(bidi, srcChars, dstChars);
592 idx = ubidi_getLogicalIndex(bidi, i, &errorCode);
603 if (!matchingPair(bidi, idx, srcChars[idx], dstChars[i])) {
614 printCaseInfo(bidi, srcChars, dstChars);
625 log_err(" %d", ubidi_getLogicalIndex(bidi, i, &errorCode));
631 printCaseInfo(bidi, srcChars, dstChars);
730 UBiDi* bidi = ubidi_open();
744 ubidi_setPara(bidi,src,srcSize,UBIDI_DEFAULT_LTR ,NULL,&ec);
750 destSize = ubidi_writeReordered(bidi,dest,0,UBIDI_DO_MIRRORING,&ec);
758 destSize=ubidi_writeReordered(bidi,dest,destSize+1,UBIDI_DO_MIRRORING,&ec);
765 logicalOrder[i],visualOrder[i],chars,formatLevels(bidi, formatChars),i);
767 checkWhatYouCan(bidi, logicalOrder[i], chars);
779 ubidi_setPara(bidi,src,srcSize,UBIDI_DEFAULT_LTR ,NULL,&ec);
785 destSize = ubidi_writeReordered(bidi,dest,0,UBIDI_DO_MIRRORING+UBIDI_OUTPUT_REVERSE,&ec);
793 destSize=ubidi_writeReordered(bidi,dest,destSize+1,UBIDI_DO_MIRRORING+UBIDI_OUTPUT_REVERSE,&ec);
800 logicalOrder[i],visualOrder1[i],chars,formatLevels(bidi, formatChars),i);
813 ubidi_setInverse(bidi,TRUE);
814 ubidi_setPara(bidi,src,srcSize,UBIDI_DEFAULT_LTR ,NULL,&ec);
820 destSize = ubidi_writeReordered(bidi,dest,0,UBIDI_INSERT_LRM_FOR_NUMERIC+UBIDI_OUTPUT_REVERSE,&ec);
826 destSize=ubidi_writeReordered(bidi,dest,destSize+1,UBIDI_INSERT_LRM_FOR_NUMERIC+UBIDI_OUTPUT_REVERSE,&ec);
831 logicalOrder[i],visualOrder2[i],chars,formatLevels(bidi, formatChars),i);
845 ubidi_setPara(bidi,src,srcSize,UBIDI_DEFAULT_LTR,levels,&ec);
851 destSize = ubidi_writeReordered(bidi
859 destSize=ubidi_writeReordered(bidi,dest,destSize+1,UBIDI_OUTPUT_REVERSE,&ec);
866 logicalOrder[i],visualOrder3[i],chars,formatLevels(bidi, formatChars),i);
879 ubidi_setPara(bidi,src,srcSize,UBIDI_DEFAULT_LTR,levels,&ec);
885 destSize = ubidi_writeReordered(bidi,dest,0,UBIDI_DO_MIRRORING+UBIDI_REMOVE_BIDI_CONTROLS,&ec);
891 destSize=ubidi_writeReordered(bidi,dest,destSize+1,UBIDI_DO_MIRRORING+UBIDI_REMOVE_BIDI_CONTROLS,&ec);
896 logicalOrder[i],visualOrder4[i],chars,formatLevels(bidi, formatChars),i);
899 ubidi_close(bidi);
992 UBiDi* bidi = ubidi_open();
1003 ubidi_setPara(bidi,logicalOrder[i],srcSize,UBIDI_DEFAULT_LTR ,NULL,&ec);
1009 destSize = ubidi_writeReordered(bidi,dest,0,UBIDI_DO_MIRRORING,&ec);
1017 destSize=ubidi_writeReordered(bidi,dest,destSize+1,UBIDI_DO_MIRRORING,&ec);
1023 logicalOrder[i],visualOrder[i],dest,formatLevels(bidi, formatChars),i);
1027 ubidi_close(bidi);
1243 log_err("bidi reordering error in tests[%d]: logicalMap1[i]!=logicalMap2[i] at i=%d\n", testNumber, i);
1247 log_err("bidi reordering error in tests[%d]: logicalMap1[i]!=logicalMap3[i] at i=%d\n", testNumber, i);
1252 log_err("bidi reordering error in tests[%d]: visualMap1[i]!=visualMap2[i] at i=%d\n", testNumber, i);
1256 log_err("bidi reordering error in tests[%d]: visualMap1[i]!=visualMap3[i] at i=%d\n", testNumber, i);
1260 log_err("bidi reordering error in tests[%d]: visualMap1[i]!=visualMap4[i] at i=%d\n", testNumber, i);
1265 log_err("bidi reordering error in tests[%d]: logicalMap1[i]!=ubidi_getVisualIndex(i) at i=%d\n", testNumber, i);
1273 log_err("bidi reordering error in tests[%d]: visualMap1[i]!=ubidi_getLogicalIndex(i) at i=%d\n", testNumber, i);
1411 UBiDi *bidi, *bidiLine;
1421 bidi = ubidi_openSized(120, 66, &errorCode);
1422 if (bidi == NULL) {
1427 if (bidi == NULL) {
1439 ubidi_setPara(bidi, src, 0, UBIDI_LTR, NULL, &errorCode);
1440 destLen = ubidi_writeReordered(bidi, dest, MAXLEN, 0, &errorCode);
1448 ubidi_setPara(bidi, src, srcLen, UBIDI_RTL, NULL, &errorCode);
1449 ubidi_setLine(bidi, 0, 6, bidiLine, &errorCode);
1460 ubidi_setPara(bidi, src, srcLen, UBIDI_RTL, NULL, &errorCode);
1461 ubidi_setLine(bidi, 0, 6, bidiLine, &errorCode);
1472 ubidi_setPara(bidi, src, srcLen, UBIDI_RTL, NULL, &errorCode);
1473 ubidi_setLine(bidi, 0, 6, bidiLine, &errorCode);
1483 ubidi_setReorderingOptions(bidi, UBIDI_OPTION_REMOVE_CONTROLS);
1485 ubidi_setPara(bidi, src, srcLen, UBIDI_RTL, NULL, &errorCode);
1486 ubidi_setLine(bidi, 0, 6, bidiLine, &errorCode);
1494 ubidi_setPara(bidi, src, srcLen, UBIDI_LTR, NULL, &errorCode);
1495 ubidi_setLine(bidi, 0, 6, bidiLine, &errorCode);
1503 ubidi_setPara(bidi, src, 0, UBIDI_LTR, NULL, &errorCode);
1504 runCount = ubidi_countRuns(bidi, &errorCode);
1511 ubidi_setPara(bidi, src, srcLen, UBIDI_RTL, NULL, &errorCode);
1512 ubidi_setLine(bidi, 0, 6, bidiLine, &errorCode);
1520 ubidi_setPara(bidi, src, srcLen, UBIDI_RTL, NULL, &errorCode);
1521 ubidi_setLine(bidi, 0, 6, bidiLine, &errorCode);
1522 dir = ubidi_getDirection(bidi);
1549 ubidi_setPara(bidi, src, srcLen, UBIDI_LTR, NULL, &errorCode);
1550 destLen = ubidi_writeReordered(bidi, dest, MAXLEN,
1558 /* test inverse Bidi with marks and contextual orientation */
1559 ubidi_setReorderingMode(bidi, UBIDI_REORDER_INVERSE_LIKE_DIRECT);
1560 ubidi_setReorderingOptions(bidi, UBIDI_OPTION_INSERT_MARKS);
1561 ubidi_setPara(bidi, src, 0, UBIDI_DEFAULT_RTL, NULL, &errorCode);
1562 destLen = ubidi_writeReordered(bidi, dest, MAXLEN, 0, &errorCode);
1568 ubidi_setPara(bidi, src, srcLen, UBIDI_DEFAULT_RTL, NULL, &errorCode);
1569 destLen = ubidi_writeReordered(bidi, dest, MAXLEN, 0, &errorCode);
1576 ubidi_setPara(bidi, src, srcLen, UBIDI_DEFAULT_RTL, NULL, &errorCode);
1577 destLen = ubidi_writeReordered(bidi, dest, MAXLEN, 0, &errorCode);
1584 ubidi_setPara(bidi, src, srcLen, UBIDI_DEFAULT_RTL, NULL, &errorCode);
1585 destLen = ubidi_writeReordered(bidi, dest, MAXLEN, 0, &errorCode);
1593 ubidi_setPara(bidi, src, srcLen, UBIDI_DEFAULT_RTL, NULL, &errorCode);
1594 destLen = ubidi_writeReordered(bidi, dest, MAXLEN, 0, &errorCode);
1602 ubidi_setPara(bidi, src, srcLen, UBIDI_DEFAULT_RTL, NULL, &errorCode);
1603 destLen = ubidi_writeReordered(bidi, dest, MAXLEN, 0, &errorCode);
1611 ubidi_setPara(bidi, src, srcLen, UBIDI_DEFAULT_RTL, NULL, &errorCode);
1612 destLen = ubidi_writeReordered(bidi, dest, MAXLEN, 0, &errorCode);
1619 ubidi_orderParagraphsLTR(bidi, TRUE);
1623 ubidi_setPara(bidi, src, srcLen, UBIDI_DEFAULT_RTL, NULL, &errorCode);
1624 destLen = ubidi_writeReordered(bidi, dest, MAXLEN, 0, &errorCode);
1634 ubidi_setPara(bidi, src, srcLen, UBIDI_LTR, NULL, &errorCode);
1635 destLen = ubidi_writeReordered(bidi, dest, MAXLEN, 0, &errorCode);
1643 ubidi_setPara(bidi, src, srcLen, UBIDI_LTR, NULL, &errorCode);
1644 destLen = ubidi_writeReordered(bidi, dest, MAXLEN, 0, &errorCode);
1652 ubidi_setPara(bidi, src, srcLen, UBIDI_LTR, NULL, &errorCode);
1653 destLen = ubidi_writeReordered(bidi, dest, MAXLEN, 0, &errorCode);
1661 ubidi_setPara(bidi, src, srcLen, UBIDI_RTL, NULL, &errorCode);
1662 destLen = ubidi_writeReordered(bidi, dest, MAXLEN, 0, &errorCode);
1671 ubidi_close(bidi);
1672 bidi = ubidi_open();
1674 ubidi_setPara(bidi, src, srcLen, UBIDI_MAX_EXPLICIT_LEVEL - 1, NULL, &errorCode);
1675 level = ubidi_getLevelAt(bidi, 2);
1682 ubidi_setReorderingMode(bidi, UBIDI_REORDER_RUNS_ONLY);
1684 ubidi_setPara(bidi, src, srcLen, UBIDI_LTR, NULL, &errorCode);
1685 runCount = ubidi_countRuns(bidi, &errorCode);
1691 ubidi_close(bidi);
1698 UBiDi *bidi, *bidiLine;
1718 bidi = ubidi_open();
1721 ubidi_setPara(bidi, src, srcLen, UBIDI_DEFAULT_LTR - 1, NULL, &errorCode);
1731 ubidi_setLine(bidi, 0, 6, bidiLine, &errorCode);
1737 ubidi_setPara(bidi, src, srcLen, UBIDI_LTR + 4, NULL, &errorCode);
1738 level = ubidi_getLevelAt(bidi, 3);
1743 ubidi_close(bidi);
1744 bidi = ubidi_openSized(-1, 0, &errorCode);
1748 ubidi_close(bidi);
1749 bidi = ubidi_openSized(2, 1, &errorCode);
1752 ubidi_setPara(bidi, src, srcLen, UBIDI_LTR, NULL, &errorCode);
1758 ubidi_setPara(bidi, src, srcLen, UBIDI_RTL, NULL, &errorCode);
1759 ubidi_countRuns(bidi, &errorCode);
1763 ubidi_close(bidi);
1764 bidi = ubidi_open();
1765 rm = ubidi_getReorderingMode(bidi);
1766 ubidi_setReorderingMode(bidi, UBIDI_REORDER_DEFAULT - 1);
1767 if (rm != ubidi_getReorderingMode(bidi)) {
1770 ubidi_setReorderingMode(bidi, 9999);
1771 if (rm != ubidi_getReorderingMode(bidi)) {
1778 ubidi_setPara(bidi, src, srcLen, UBIDI_RTL, NULL, &errorCode);
1779 if (ubidi_getDirection(bidi) != UBIDI_MIXED) {
1784 ubidi_setPara(bidi, src, srcLen, 5, myLevels, &errorCode);
1788 ubidi_close(bidi);
1945 /* get levels through para Bidi block */
1995 /* get levels through para Bidi block */
2022 /* test that the concatenation of separate invocations of the bidi code
2024 * results from invoking bidi once over the entire multiparagraph tests
2090 /* check default orientation when inverse bidi and paragraph starts
2161 /* inverse BiDi ------------------------------------------------------------- */
2198 log_verbose("inverse Bidi: testInverse(L) with %u test cases ---\n", UPRV_LENGTHOF(testCases));
2205 log_verbose("inverse Bidi: testInverse(R) with %u test cases ---\n", UPRV_LENGTHOF(testCases));
2217 log_verbose("inverse Bidi: rountrips: %5u\nnon-roundtrips: %5u\n", countRoundtrips, countNonRoundtrips);
2245 log_verbose("inverse Bidi: testManyInverseBidi(%c) - test permutations of text snippets ---\n",
2258 log_verbose("inverse Bidi: testManyInverseBidi()[%u %u %u]\n", i, j, k);
2272 log_verbose("inverse Bidi: testInverse(L)\n");
2298 log_verbose("inverse Bidi: testInverse(R)\n");
2330 log_err("inverse BiDi: *** error %s\n"
2338 log_err("inverse BiDi: transformation visual->logical->visual did not roundtrip the text;\n"
2383 UBiDi *bidi = ubidi_open();
2391 ubidi_setReorderingMode(bidi, UBIDI_REORDER_INVERSE_LIKE_DIRECT);
2392 ubidi_setReorderingOptions(bidi, UBIDI_OPTION_INSERT_MARKS);
2393 ubidi_setPara(bidi, text, UPRV_LENGTHOF(text), UBIDI_LTR, NULL, &errorCode);
2394 destLen = ubidi_writeReordered(bidi, dest, MAXLEN, 0, &errorCode);
2407 ubidi_close(bidi);
2412 UBiDi *bidi = ubidi_open();
2415 ubidi_setInverse(bidi, TRUE);
2417 ubidi_setPara(bidi, src, UPRV_LENGTHOF(src), UBIDI_RTL, NULL, &errorCode);
2418 destLen = ubidi_writeReordered(bidi, dest, MAXLEN,
2428 ubidi_close(bidi);
3574 /* Unicode 4.0.1 changes bidi classes for +-/ */
3608 /* new BIDI API */
3610 /* Reordering Mode BiDi --------------------------------------------------------- */
4833 /* test null BiDi object */
4836 testOK &= assertIllegalArgument("Error when BiDi object is null", &rc);
4908 UBiDi* bidi;
4912 bidi = ubidi_open();
4915 bidi, src, len, UBIDI_DEFAULT_LTR , NULL, &status);
4920 ubidi_close(bidi);