Lines Matching refs:AN
517 /* if the text contains AN and neutrals, then some neutrals may become RTL */
518 if(!(flags&MASK_RTL || ((flags&DIRPROP_FLAG(AN)) && (flags&MASK_POSSIBLE_N)))) {
541 * In order to get the same reordering behavior, positions with a BN or an
805 Cells may also be of format "s(x,y)" where x represents an action
820 /* L R EN ES ET AN CS B S WS ON LRE LRO AL RLE RLO PDF NSM BN */
851 as the start of an ON sequence (action 3).
855 must be processed as an ON sequence, all this before starting
862 /* L , R , EN , AN , ON , S , B , ES , ET , CS , BN , NSM , AL , Res */
868 /* 5 AN */ { s(1,1), s(1,2), s(1,4), 5 , s(1,7),s(1,15),s(1,17), s(1,7), s(1,9),s(2,12), 5 , 5 , s(1,3), DirProp_AN },
869 /* 6 AL:EN/AN */ { s(1,1), s(1,2), 6 , 6 , s(1,8),s(1,16),s(1,17), s(1,8), s(1,8),s(2,13), 6 , 6 , s(1,3), DirProp_AN },
875 /*12 AN+CS */ { s(3,1), s(3,2), s(3,4), 5 , s(4,7),s(3,15),s(3,17), s(4,7),s(4,14), s(4,7), 12 , s(4,7), s(3,3), DirProp_AN },
876 /*13 AL:EN/AN+CS */ { s(3,1), s(3,2), 6 , 6 , s(4,8),s(3,16),s(3,17), s(4,8), s(4,8), s(4,8), 13 , s(4,8), s(3,3), DirProp_AN },
898 Cells may also be of format "s(x,y)" where x represents an action
942 4: init EN/AN/ON sequence
943 5: fix EN/AN/ON sequence followed by R
953 ON following an R sequence within an even-level paragraph.
966 /* L , R , EN , AN , ON , S , B , Res */
969 /* 2 : AN */ { 0 , 1 , 0 , 2 , s(1,5), s(1,5), 0 , 2 },
970 /* 3 : R+EN/AN */ { 0 , 1 , 3 , 3 , s(1,4), s(1,4), 0 , 2 },
972 /* 5 : AN+ON */ { s(2,0), 1 , s(2,0), 2 , 5 , 5 , s(2,0), 1 }
979 /* L , R , EN , AN , ON , S , B , Res */
982 /* 2 : EN/AN */ { 1 , 0 , 2 , 2 , 0 , 0 , 0 , 1 },
983 /* 3 : L+AN */ { 1 , 0 , 1 , 3 , 5 , 5 , 0 , 1 },
985 /* 5 : L+AN+ON */ { 1 , 0 , 1 , 3 , 5 , 5 , 0 , 0 }
997 /* L , R , EN , AN , ON , S , B , Res */
999 /* 1 : L+EN/AN */ { 0 , 2 , 1 , 1 , 0 , 0 , 0 , 2 },
1002 /* 4 : R+EN/AN */ { 0 , 2 , 4 , 4 , s(1,3), s(1,3), 0 , 2 }
1009 /* In this table, EN/AN+ON sequences receive levels as if associated with R
1010 until proven that there is L or sor/eor on both sides. AN is handled like EN.
1013 /* L , R , EN , AN , ON , S , B , Res */
1015 /* 1 EN/AN */ { s(2,0), 3 , 1 , 1 , 2 , s(2,0), s(2,0), 2 },
1016 /* 2 EN/AN+ON */ { s(2,0), 3 , 1 , 1 , 2 , s(2,0), s(2,0), 1 },
1019 /* 5 R+EN/AN */ { 0 , 3 , 5 , 5 , s(1,4), 0 , 0 , 2 }
1022 /* In this table, EN/AN+ON sequences receive levels as if associated with R
1023 until proven that there is L on both sides. AN is handled like EN.
1026 /* L , R , EN , AN , ON , S , B , Res */
1028 /* 1 EN/AN */ { 2 , 0 , 1 , 1 , 0 , 0 , 0 , 1 },
1031 /* 4 L+EN/AN */ { s(2,2), 0 , 4 , 4 , 3 , 0 , 0 , 1 }
1040 /* This table is identical to the Default LTR table except that EN and AN are
1044 /* L , R , EN , AN , ON , S , B , Res */
1047 /* 2 : AN */ { 0 , 1 , 0 , 0 , s(1,5), s(1,5), 0 , 2 },
1048 /* 3 : R+EN/AN */ { 0 , 1 , 0 , 0 , s(1,4), s(1,4), 0 , 2 },
1050 /* 5 : AN+ON */ { s(2,0), 1 , s(2,0), s(2,0), 5 , 5 , s(2,0), 1 }
1053 /* This table is identical to the Default RTL table except that EN and AN are
1057 /* L , R , EN , AN , ON , S , B , Res */
1060 /* 2 : EN/AN */ { 1 , 0 , 1 , 1 , 0 , 0 , 0 , 1 },
1061 /* 3 : L+AN */ { 1 , 0 , 1 , 1 , 5 , 5 , 0 , 1 },
1063 /* 5 : L+AN+ON */ { 1 , 0 , 1 , 1 , 5 , 5 , 0 , 0 }
1075 /* L , R , EN , AN , ON , S , B , Res */
1078 /* 2 : EN/AN */ { 1 , 0 , 2 , 2 , 0 , 0 , 0 , 1 },
1080 /* 4 : L+ON+AN */ { s(2,1), s(3,0), 6 , 4 , 5 , 5 , s(3,0), 3 },
1081 /* 5 : L+AN+ON */ { s(2,1), s(3,0), 6 , 4 , 5 , 5 , s(3,0), 2 },
1096 /* L , R , EN , AN , ON , S , B , Res */
1098 /* 1 : L+AN */ { 0 , s(6,3), 0 , 1 , s(1,2), s(3,0), 0 , 4 },
1099 /* 2 : L+AN+ON */ { s(2,0), s(6,3), s(2,0), 1 , 2 , s(3,0), s(2,0), 3 },
1103 /* 6 : R+AN */ { s(3,0), s(4,3), s(5,5), 6 , s(1,4), s(3,0), s(3,0), 4 }
1107 R L AN L
1110 /* L , R , EN , AN , ON , S , B , Res */
1112 /* 1 : R+EN/AN */ { s(2,3), 0 , 1 , 1 , 2 , s(4,0), 0 , 1 },
1113 /* 2 : R+EN/AN+ON */ { s(2,3), 0 , 1 , 1 , 2 , s(4,0), 0 , 0 },
1117 /* 6 : L+AN */ { s(5,3), s(4,0), 6 , 6 , 4 , s(4,0), s(4,0), 3 }
1134 /* L , R , EN , AN , ON , S , B , Res */
1136 /* 1 : L+EN/AN */ { 0 , s(6,2), 1 , 1 , 0 , s(3,0), 0 , 4 },
1139 /* 4 : R+EN/AN */ { s(3,0), s(4,2), 4 , 4 , s(1,3), s(3,0), s(3,0), 4 }
1243 case 3: /* L or S after possible relevant EN/AN */
1249 /* check if we had any relevant EN/AN after R/AL */
1284 case 4: /* R/AL after possible relevant EN/AN */
1295 case 5: /* EN/AN after R/AL + possible cont */
1296 /* check for real AN */
1297 if ((_prop == DirProp_AN) && (NO_CONTEXT_RTL(pBiDi->dirProps[start0]) == AN) &&
1300 /* real AN */
1307 if (pLevState->startL2EN >= 0) /* after EN, no AN */
1312 /* note AN */
1316 /* if first EN/AN after R/AL */
1327 case 7: /* L after R+ON/EN/AN */
1338 case 8: /* AN after L */
1339 /* AN numbers between L text on both sides may be trouble. */
1345 case 9: /* R after L+ON/EN/AN */
1346 /* false alert, infirm LRMs around previous AN */
1356 case 10: /* L after L+ON/AN */
1367 case 11: /* L after L+ON+EN/AN/ON */
1386 case 12: /* R after L+ON+EN/AN/ON */
1460 /* AL before EN does not make it AN */
1478 prop=AN;
1489 /* there is an unprocessed sequence if its property == eor */
1808 * For an empty paragraph, create a UBiDi object with the paraLevel and