1ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru/******************************************************************** 2ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru * COPYRIGHT: 3ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru * Copyright (c) 1997-2007, International Business Machines Corporation and 4ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru * others. All Rights Reserved. 5ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru ********************************************************************/ 6ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru/* file name: cbididat.c 7ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru* encoding: US-ASCII 8ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru* tab size: 8 (not used) 9ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru* indentation:4 10ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru* 11ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru* created on: 1999sep22 12ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru* created by: Markus W. Scherer 13ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru*/ 14ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 15ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru#include "unicode/utypes.h" 16ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru#include "unicode/uchar.h" 17ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru#include "unicode/ubidi.h" 18ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru#include "cbiditst.h" 19ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 20ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queruconst char * const 21ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste QuerudirPropNames[U_CHAR_DIRECTION_COUNT]={ 22ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru "L", "R", "EN", "ES", "ET", "AN", "CS", "B", "S", "WS", "ON", 23ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru "LRE", "LRO", "AL", "RLE", "RLO", "PDF", "NSM", "BN" 24ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru}; 25ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 26ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste QueruUChar 27ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste QuerucharFromDirProp[U_CHAR_DIRECTION_COUNT]={ 28ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru /* L R EN ES ET AN CS B S WS ON */ 29ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 0x61, 0x5d0, 0x30, 0x2f, 0x25, 0x660, 0x2c, 0xa, 0x9, 0x20, 0x26, 30ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru /* LRE LRO AL RLE RLO PDF NSM BN */ 31ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 0x202a, 0x202d, 0x627, 0x202b, 0x202e, 0x202c, 0x308, 0x200c 32ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru}; 33ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 34ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Querustatic const uint8_t 35ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste QuerutestText1[]={ 36ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru L, L, WS, L, WS, EN, L, B 37ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru}; 38ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 39ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Querustatic const UBiDiLevel 40ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste QuerutestLevels1[]={ 41ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 0, 0, 0, 0, 0, 0, 0, 0 42ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru}; 43ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 44ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Querustatic const uint8_t 45ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste QuerutestVisualMap1[]={ 46ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 0, 1, 2, 3, 4, 5, 6, 7 47ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru}; 48ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 49ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Querustatic const uint8_t 50ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste QuerutestText2[]={ 51ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru R, AL, WS, R, AL, WS, R 52ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru}; 53ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 54ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Querustatic const UBiDiLevel 55ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste QuerutestLevels2[]={ 56ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 1, 1, 1, 1, 1, 1, 1 57ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru}; 58ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 59ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Querustatic const uint8_t 60ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste QuerutestVisualMap2[]={ 61ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 6, 5, 4, 3, 2, 1, 0 62ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru}; 63ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 64ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Querustatic const uint8_t 65ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste QuerutestText3[]={ 66ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru L, L, WS, EN, CS, WS, EN, CS, EN, WS, L, L 67ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru}; 68ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 69ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Querustatic const UBiDiLevel 70ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste QuerutestLevels3[]={ 71ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 72ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru}; 73ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 74ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Querustatic const uint8_t 75ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste QuerutestVisualMap3[]={ 76ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11 77ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru}; 78ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 79ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Querustatic const uint8_t 80ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste QuerutestText4[]={ 81ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru L, AL, AL, AL, L, AL, AL, L, WS, EN, CS, WS, EN, CS, EN, WS, L, L 82ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru}; 83ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 84ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Querustatic const UBiDiLevel 85ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste QuerutestLevels4[]={ 86ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 0, 1, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 87ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru}; 88ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 89ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Querustatic const uint8_t 90ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste QuerutestVisualMap4[]={ 91ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 0, 3, 2, 1, 4, 6, 5, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17 92ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru}; 93ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 94ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Querustatic const uint8_t 95ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste QuerutestText5[]={ 96ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru AL, R, AL, WS, EN, CS, WS, EN, CS, EN, WS, R, R, WS, L, L 97ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru}; 98ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 99ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Querustatic const UBiDiLevel 100ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste QuerutestLevels5[]={ 101ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 1, 1, 1, 1, 2, 1, 1, 2, 2, 2, 1, 1, 1, 1, 2, 2 102ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru}; 103ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 104ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Querustatic const uint8_t 105ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste QuerutestVisualMap5[]={ 106ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 15, 14, 13, 12, 11, 10, 9, 6, 7, 8, 5, 4, 3, 2, 0, 1 107ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru}; 108ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 109ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Querustatic const uint8_t 110ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste QuerutestText6[]={ 111ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru R, EN, NSM, ET 112ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru}; 113ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 114ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Querustatic const UBiDiLevel 115ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste QuerutestLevels6[]={ 116ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 1, 2, 2, 2 117ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru}; 118ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 119ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Querustatic const uint8_t 120ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste QuerutestVisualMap6[]={ 121ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 3, 0, 1, 2 122ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru}; 123ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 124ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru#if 0 125ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Querustatic const uint8_t 126ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste QuerutestText7[]={ 127ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru /* empty */ 128ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru}; 129ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 130ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Querustatic const UBiDiLevel 131ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste QuerutestLevels7[]={ 132ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru}; 133ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 134ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Querustatic const uint8_t 135ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste QuerutestVisualMap7[]={ 136ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru}; 137ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 138ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru#endif 139ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 140ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Querustatic const uint8_t 141ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste QuerutestText8[]={ 142ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru RLE, WS, R, R, R, WS, PDF, WS, B 143ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru}; 144ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 145ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Querustatic const UBiDiLevel 146ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste QuerutestLevels8[]={ 147ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 1, 1, 1, 1, 1, 1, 1, 1, 1 148ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru}; 149ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 150ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Querustatic const uint8_t 151ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste QuerutestVisualMap8[]={ 152ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 8, 7, 6, 5, 4, 3, 2, 1, 0 153ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru}; 154ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 155ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Querustatic const uint8_t 156ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste QuerutestText9[]={ 157ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru LRE, LRE, LRE, LRE, LRE, LRE, LRE, LRE, LRE, LRE, LRE, LRE, LRE, LRE, LRE, 158ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru LRE, LRE, LRE, LRE, LRE, LRE, LRE, LRE, LRE, LRE, LRE, LRE, LRE, LRE, LRE, 159ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru AN, RLO, NSM, LRE, PDF, RLE, ES, EN, ON 160ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru}; 161ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 162ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Querustatic const UBiDiLevel 163ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste QuerutestLevels9[]={ 164ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 61, 61, 61, 61, 61, 61, 61, 61 165ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru}; 166ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 167ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Querustatic const uint8_t 168ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste QuerutestVisualMap9[]={ 169ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 7, 6, 5, 4, 3, 2, 1, 0 170ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru}; 171ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 172ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Querustatic const uint8_t 173ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste QuerutestText10[]={ 174ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru LRE, LRE, LRE, LRE, LRE, LRE, LRE, LRE, LRE, LRE, LRE, LRE, LRE, LRE, LRE, 175ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru LRE, LRE, LRE, LRE, LRE, LRE, LRE, LRE, LRE, LRE, LRE, LRE, LRE, LRE, LRE, 176ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru LRE, BN, CS, RLO, S, PDF, EN, LRO, AN, ES 177ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru}; 178ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 179ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Querustatic const UBiDiLevel 180ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste QuerutestLevels10[]={ 181ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 0, 0, 62, 62, 62, 62, 60 182ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru}; 183ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 184ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Querustatic const uint8_t 185ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste QuerutestVisualMap10[]={ 186ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39 187ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru}; 188ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 189ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Querustatic const uint8_t 190ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste QuerutestText11[]={ 191ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru S, WS, NSM, RLE, WS, L, L, L, WS, LRO, WS, R, R, R, WS, RLO, WS, L, L, 192ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru L, WS, LRE, WS, R, R, R, WS, PDF, WS, L, L, L, WS, PDF, WS, 193ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru AL, AL, AL, WS, PDF, WS, L, L, L, WS, PDF, WS, L, L, L, WS, PDF, 194ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru ON, PDF, BN, BN, ON, PDF 195ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru}; 196ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 197ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Querustatic const UBiDiLevel 198ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste QuerutestLevels11[]={ 199ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 0, 0, 0, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 4, 4, 5, 5, 5, 4, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 200ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru}; 201ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 202ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Querustatic const uint8_t 203ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste QuerutestVisualMap11[]={ 204ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 0, 1, 2, 44, 43, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 31, 30, 29, 28, 27, 26, 20, 21, 24, 23, 22, 25, 19, 18, 17, 16, 15, 14, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 3, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57 205ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru}; 206ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 207ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Querustatic const uint8_t 208ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste QuerutestText12[]={ 209ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru NSM, WS, L, L, L, L, L, L, L, WS, L, L, L, L, WS, 210ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru R, R, R, R, R, WS, L, L, L, L, L, L, L, WS, WS, AL, 211ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru AL, AL, AL, WS, EN, EN, ES, EN, EN, CS, S, EN, EN, CS, WS, 212ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru EN, EN, WS, AL, AL, AL, AL, AL, B, L, L, L, L, L, L, 213ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru L, L, WS, AN, AN, CS, AN, AN, WS 214ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru}; 215ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 216ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Querustatic const UBiDiLevel 217ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste QuerutestLevels12[]={ 218ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 2, 2, 1, 2, 2, 1, 0, 2, 2, 1, 1, 2, 2, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 2, 2, 2, 0 219ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru}; 220ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 221ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Querustatic const uint8_t 222ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste QuerutestVisualMap12[]={ 223ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 19, 18, 17, 16, 15, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 40, 39, 38, 37, 36, 34, 35, 33, 31, 32, 30, 41, 52, 53, 51, 50, 48, 49, 47, 46, 45, 44, 43, 42, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69 224ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru}; 225ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 226ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Querustatic const UBiDiLevel 227ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste QuerutestLevels13[]={ 228ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 2, 2, 1, 2, 2, 1, 0, 2, 2, 1, 1, 2, 2, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 2, 2, 2, 0 229ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru}; 230ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 231ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Querustatic const uint8_t 232ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste QuerutestVisualMap13[]={ 233ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 19, 18, 17, 16, 15, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 40, 39, 38, 37, 36, 34, 35, 33, 31, 32, 30, 41, 52, 53, 51, 50, 48, 49, 47, 46, 45, 44, 43, 42, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69 234ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru}; 235ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 236ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Querustatic const UBiDiLevel 237ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste QuerutestLevels14[]={ 238ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 4, 4, 3, 4, 4, 3, 2, 4, 4, 3, 3, 4, 4, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 4, 4, 4, 4, 4, 2 239ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru}; 240ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 241ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Querustatic const uint8_t 242ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste QuerutestVisualMap14[]={ 243ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 19, 18, 17, 16, 15, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 40, 39, 38, 37, 36, 34, 35, 33, 31, 32, 30, 41, 52, 53, 51, 50, 48, 49, 47, 46, 45, 44, 43, 42, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69 244ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru}; 245ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 246ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Querustatic const UBiDiLevel 247ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste QuerutestLevels15[]={ 248ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 5, 5, 5, 5, 5, 5, 5, 6, 6, 5, 6, 6, 5, 5, 6, 6, 5, 5, 6, 6, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 5, 6, 6, 6, 6, 6, 5 249ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru}; 250ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 251ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Querustatic const uint8_t 252ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste QuerutestVisualMap15[]={ 253ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 69, 68, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 55, 54, 53, 52, 51, 50, 49, 42, 43, 44, 45, 46, 47, 48, 41, 40, 39, 38, 37, 36, 35, 33, 34, 32, 30, 31, 29, 28, 26, 27, 25, 24, 22, 23, 21, 20, 19, 18, 17, 16, 15, 7, 8, 9, 10, 11, 12, 13, 14, 6, 1, 2, 3, 4, 5, 0 254ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru}; 255ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 256ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Querustatic const UBiDiLevel 257ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste QuerutestLevels16[]={ 258ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 2, 2, 1, 2, 2, 1, 0, 2, 2, 1, 1, 2, 2, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 2, 2, 2, 0 259ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru}; 260ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 261ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Querustatic const uint8_t 262ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste QuerutestVisualMap16[]={ 263ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 19, 18, 17, 16, 15, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 40, 39, 38, 37, 36, 34, 35, 33, 31, 32, 30, 41, 52, 53, 51, 50, 48, 49, 47, 46, 45, 44, 43, 42, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69 264ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru}; 265ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 266ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Querustatic const uint8_t 267ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste QuerutestText13[]={ 268ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru ON, L, RLO, CS, R, WS, AN, AN, PDF, LRE, R, L, LRO, WS, BN, ON, S, LRE, LRO, B 269ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru}; 270ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 271ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Querustatic const UBiDiLevel 272ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste QuerutestLevels17[]={ 273ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 0, 0, 1, 1, 1, 1, 1, 1, 3, 3, 3, 2, 4, 4, 4, 4, 0, 0, 0, 0 274ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru}; 275ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 276ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Querustatic const uint8_t 277ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste QuerutestVisualMap17[]={ 278ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 0, 1, 15, 14, 13, 12, 11, 10, 4, 3, 2, 5, 6, 7, 8, 9, 16, 17, 18, 19 279ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru}; 280ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 281ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Querustatic const UBiDiLevel 282ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste QuerutestLevels18[]={ 283ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 0, 0, 1, 1, 1, 0 284ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru}; 285ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 286ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Querustatic const uint8_t 287ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste QuerutestVisualMap18[]={ 288ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 0, 1, 4, 3, 2, 5 289ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru}; 290ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 291ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Querustatic const uint8_t 292ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste QuerutestText14[]={ 293ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru RLO, RLO, AL, AL, WS, EN, ES, ON, WS, S, S, PDF, LRO, WS, AL, ET, RLE, ON, EN, B 294ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru}; 295ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 296ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Querustatic const UBiDiLevel 297ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste QuerutestLevels19[]={ 298ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 1 299ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru}; 300ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 301ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Querustatic const uint8_t 302ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste QuerutestVisualMap19[]={ 303ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 0 304ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru}; 305ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 306ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Querustatic const uint8_t 307ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste QuerutestText15[]={ 308ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru R, L, CS, L 309ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru}; 310ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 311ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Querustatic const UBiDiLevel 312ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste QuerutestLevels20[]={ 313ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 2 314ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru}; 315ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 316ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Querustatic const uint8_t 317ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste QuerutestText16[]={ 318ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru L, L, L, WS, L, L, L, WS, L, L, L 319ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru}; 320ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 321ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Querustatic const UBiDiLevel 322ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste QuerutestLevels21[]={ 323ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 2, 2, 2, 2, 2, 2, 2, 1 324ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru}; 325ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 326ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Querustatic const uint8_t 327ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste QuerutestVisualMap20[]={ 328ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 1, 2, 3, 4, 5, 6, 7, 0 329ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru}; 330ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 331ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Querustatic const uint8_t 332ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste QuerutestText17[]={ 333ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru R, R, R, WS, R, R, R, WS, R, R, R 334ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru}; 335ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 336ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Querustatic const UBiDiLevel 337ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste QuerutestLevels22[]={ 338ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 1, 1, 1, 1, 1, 1, 1, 0 339ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru}; 340ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 341ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Querustatic const uint8_t 342ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste QuerutestVisualMap21[]={ 343ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 6, 5, 4, 3, 2, 1, 0, 7 344ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru}; 345ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 346ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Querustatic const uint8_t 347ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste QuerutestTextXX[]={ 348ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru L 349ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru}; 350ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 351ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Querustatic const UBiDiLevel 352ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste QuerutestLevelsXX[]={ 353ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 2 354ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru}; 355ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 356ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Querustatic const uint8_t 357ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste QuerutestVisualMapXX[]={ 358ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 0 359ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru}; 360ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 361ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queruconst BiDiTestData 362ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Querutests[]={ 363ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru {testText1, ARRAY_LENGTH(testText1), UBIDI_DEFAULT_LTR, -1, -1, 364ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru UBIDI_LTR, 0, 365ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru testLevels1, testVisualMap1}, 366ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru {testText2, ARRAY_LENGTH(testText2), UBIDI_DEFAULT_LTR, -1, -1, 367ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru UBIDI_RTL, 1, 368ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru testLevels2, testVisualMap2}, 369ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru {testText3, ARRAY_LENGTH(testText3), UBIDI_DEFAULT_LTR, -1, -1, 370ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru UBIDI_LTR, 0, 371ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru testLevels3, testVisualMap3}, 372ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru {testText4, ARRAY_LENGTH(testText4), UBIDI_DEFAULT_LTR, -1, -1, 373ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru UBIDI_MIXED, 0, 374ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru testLevels4, testVisualMap4}, 375ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru {testText5, ARRAY_LENGTH(testText5), UBIDI_DEFAULT_LTR, -1, -1, 376ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru UBIDI_MIXED, 1, 377ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru testLevels5, testVisualMap5}, 378ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru {testText6, ARRAY_LENGTH(testText6), UBIDI_DEFAULT_LTR, -1, -1, 379ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru UBIDI_MIXED, 1, 380ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru testLevels6, testVisualMap6}, 381ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru {NULL, 0, UBIDI_DEFAULT_LTR, -1, -1, 382ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru UBIDI_LTR, 0, 383ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru NULL, NULL}, 384ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru {testText8, ARRAY_LENGTH(testText8), UBIDI_DEFAULT_LTR, -1, -1, 385ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru UBIDI_RTL, 1, 386ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru testLevels8, testVisualMap8}, 387ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru {testText9, ARRAY_LENGTH(testText9), UBIDI_DEFAULT_LTR, -1, -1, 388ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru UBIDI_MIXED, 0, 389ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru testLevels9, testVisualMap9}, 390ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru {testText10, ARRAY_LENGTH(testText10), UBIDI_DEFAULT_LTR, -1, -1, 391ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru UBIDI_MIXED, 0, 392ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru testLevels10, testVisualMap10}, 393ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru {testText11, ARRAY_LENGTH(testText11), UBIDI_DEFAULT_LTR, -1, -1, 394ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru UBIDI_MIXED, 0, 395ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru testLevels11, testVisualMap11}, 396ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru {testText12, ARRAY_LENGTH(testText12), UBIDI_DEFAULT_LTR, -1, -1, 397ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru UBIDI_MIXED, 0, 398ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru testLevels12, testVisualMap12}, 399ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru {testText12, ARRAY_LENGTH(testText12), UBIDI_DEFAULT_RTL, -1, -1, 400ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru UBIDI_MIXED, 0, 401ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru testLevels13, testVisualMap13}, 402ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru {testText12, ARRAY_LENGTH(testText12), 2, -1, -1, 403ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru UBIDI_MIXED, 2, 404ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru testLevels14, testVisualMap14}, 405ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru {testText12, ARRAY_LENGTH(testText12), 5, -1, -1, 406ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru UBIDI_MIXED, 5, 407ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru testLevels15, testVisualMap15}, 408ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru {testText12, ARRAY_LENGTH(testText12), UBIDI_DEFAULT_LTR, -1, -1, 409ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru UBIDI_MIXED, 0, 410ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru testLevels16, testVisualMap16}, 411ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru {testText13, ARRAY_LENGTH(testText13), UBIDI_DEFAULT_LTR, -1, -1, 412ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru UBIDI_MIXED, 0, 413ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru testLevels17, testVisualMap17}, 414ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru {testText13, ARRAY_LENGTH(testText13), UBIDI_DEFAULT_LTR, 0, 6, 415ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru UBIDI_MIXED, 0, 416ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru testLevels18, testVisualMap18}, 417ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru {testText14, ARRAY_LENGTH(testText14), UBIDI_DEFAULT_LTR, 13, 14, 418ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru UBIDI_RTL, 1, 419ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru testLevels19, testVisualMap19}, 420ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru {testText15, ARRAY_LENGTH(testText15), UBIDI_DEFAULT_LTR, 2, 3, 421ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru UBIDI_LTR, 2, 422ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru testLevels20, testVisualMap19}, 423ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru {testText16, ARRAY_LENGTH(testText16), UBIDI_RTL, 0, 8, 424ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru UBIDI_MIXED, 1, 425ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru testLevels21, testVisualMap20}, 426ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru {testText17, ARRAY_LENGTH(testText17), UBIDI_LTR, 0, 8, 427ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru UBIDI_MIXED, 0, 428ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru testLevels22, testVisualMap21}, 429ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru {testTextXX, ARRAY_LENGTH(testTextXX), UBIDI_RTL, -1, -1, 430ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru UBIDI_MIXED, 1, testLevelsXX, testVisualMapXX} 431ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru}; 432ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 433ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queruconst int 434ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste QuerubidiTestCount=ARRAY_LENGTH(tests); 435