bidi_it 421 src/bidi.c bidi_set_sos_type (struct bidi_it *bidi_it, int level_before, int level_after) bidi_it 426 src/bidi.c bidi_it->sos = ((higher_level & 1) != 0 ? R2L : L2R); /* X10 */ bidi_it 428 src/bidi.c bidi_it->prev.type = UNKNOWN_BT; bidi_it 429 src/bidi.c bidi_it->last_strong.type = bidi_it->last_strong.orig_type = UNKNOWN_BT; bidi_it 430 src/bidi.c bidi_it->prev_for_neutral.type = (bidi_it->sos == R2L ? STRONG_R : STRONG_L); bidi_it 431 src/bidi.c bidi_it->prev_for_neutral.charpos = bidi_it->charpos; bidi_it 432 src/bidi.c bidi_it->next_for_neutral.type bidi_it 433 src/bidi.c = bidi_it->next_for_neutral.orig_type = UNKNOWN_BT; bidi_it 442 src/bidi.c bidi_push_embedding_level (struct bidi_it *bidi_it, bidi_it 446 src/bidi.c int prev_level = bidi_it->level_stack[bidi_it->stack_idx].level; bidi_it 448 src/bidi.c bidi_it->stack_idx++; bidi_it 449 src/bidi.c eassert (bidi_it->stack_idx < BIDI_MAXDEPTH+2+1); bidi_it 450 src/bidi.c st = &bidi_it->level_stack[bidi_it->stack_idx]; bidi_it 456 src/bidi.c st->last_strong_type = bidi_it->last_strong.type; bidi_it 457 src/bidi.c st->prev_for_neutral_type = bidi_it->prev_for_neutral.type; bidi_it 458 src/bidi.c st->next_for_neutral_type = bidi_it->next_for_neutral.type; bidi_it 459 src/bidi.c st->next_for_neutral_pos = bidi_it->next_for_neutral.charpos; bidi_it 460 src/bidi.c st->flags |= ((bidi_it->sos == L2R ? 0 : 1) << 3); bidi_it 464 src/bidi.c bidi_set_sos_type (bidi_it, prev_level, level); bidi_it 471 src/bidi.c bidi_pop_embedding_level (struct bidi_it *bidi_it) bidi_it 477 src/bidi.c if (bidi_it->stack_idx > 0) bidi_it 479 src/bidi.c bool isolate_status = ISOLATE_STATUS (bidi_it, bidi_it->stack_idx); bidi_it 480 src/bidi.c int old_level = bidi_it->level_stack[bidi_it->stack_idx].level; bidi_it 484 src/bidi.c st = bidi_it->level_stack[bidi_it->stack_idx]; bidi_it 495 src/bidi.c bidi_it->prev.orig_type = bidi_it->prev.type = UNKNOWN_BT; bidi_it 496 src/bidi.c bidi_it->last_strong.type = st.last_strong_type; bidi_it 497 src/bidi.c bidi_it->prev_for_neutral.type = st.prev_for_neutral_type; bidi_it 498 src/bidi.c bidi_it->next_for_neutral.type = st.next_for_neutral_type; bidi_it 499 src/bidi.c bidi_it->next_for_neutral.charpos = st.next_for_neutral_pos; bidi_it 500 src/bidi.c bidi_it->sos = (sos == 0 ? L2R : R2L); bidi_it 503 src/bidi.c bidi_set_sos_type (bidi_it, old_level, bidi_it 504 src/bidi.c bidi_it->level_stack[bidi_it->stack_idx - 1].level); bidi_it 506 src/bidi.c bidi_it->stack_idx--; bidi_it 508 src/bidi.c level = bidi_it->level_stack[bidi_it->stack_idx].level; bidi_it 516 src/bidi.c struct bidi_it *bidi_it, bool from_type) bidi_it 518 src/bidi.c saved_info->charpos = bidi_it->charpos; bidi_it 520 src/bidi.c saved_info->type = bidi_it->type; bidi_it 522 src/bidi.c saved_info->type = bidi_it->type_after_wn; bidi_it 524 src/bidi.c saved_info->orig_type = bidi_it->orig_type; bidi_it 531 src/bidi.c bidi_copy_it (struct bidi_it *to, struct bidi_it *from) bidi_it 536 src/bidi.c (offsetof (struct bidi_it, level_stack) + sizeof from->level_stack[0] bidi_it 571 src/bidi.c static struct bidi_it *bidi_cache; bidi_it 573 src/bidi.c enum { elsz = sizeof (struct bidi_it) }; bidi_it 633 src/bidi.c bidi_cache_fetch_state (ptrdiff_t idx, struct bidi_it *bidi_it) bidi_it 635 src/bidi.c int current_scan_dir = bidi_it->scan_dir; bidi_it 640 src/bidi.c bidi_copy_it (bidi_it, &bidi_cache[idx]); bidi_it 641 src/bidi.c bidi_it->scan_dir = current_scan_dir; bidi_it 794 src/bidi.c bidi_cache_iterator_state (struct bidi_it *bidi_it, bool resolved, bidi_it 800 src/bidi.c if (bidi_it->scan_dir == -1) bidi_it 802 src/bidi.c idx = bidi_cache_search (bidi_it->charpos, -1, 1); bidi_it 815 src/bidi.c && (bidi_it->charpos > (bidi_cache[idx - 1].charpos bidi_it 817 src/bidi.c || bidi_it->charpos < bidi_cache[bidi_cache_start].charpos)) bidi_it 822 src/bidi.c if (bidi_it->nchars <= 0) bidi_it 827 src/bidi.c bidi_copy_it (&bidi_cache[idx], bidi_it); bidi_it 836 src/bidi.c bidi_cache[idx].type = bidi_it->type; bidi_it 837 src/bidi.c bidi_check_type (bidi_it->type); bidi_it 838 src/bidi.c bidi_cache[idx].type_after_wn = bidi_it->type_after_wn; bidi_it 839 src/bidi.c bidi_check_type (bidi_it->type_after_wn); bidi_it 841 src/bidi.c bidi_cache[idx].resolved_level = bidi_it->resolved_level; bidi_it 844 src/bidi.c bidi_cache[idx].invalid_levels = bidi_it->invalid_levels; bidi_it 845 src/bidi.c bidi_cache[idx].next_for_neutral = bidi_it->next_for_neutral; bidi_it 846 src/bidi.c bidi_cache[idx].next_for_ws = bidi_it->next_for_ws; bidi_it 847 src/bidi.c bidi_cache[idx].disp_pos = bidi_it->disp_pos; bidi_it 848 src/bidi.c bidi_cache[idx].disp_prop = bidi_it->disp_prop; bidi_it 849 src/bidi.c bidi_cache[idx].bracket_pairing_pos = bidi_it->bracket_pairing_pos; bidi_it 850 src/bidi.c bidi_cache[idx].bracket_enclosed_type = bidi_it->bracket_enclosed_type; bidi_it 875 src/bidi.c bidi_cache_find (ptrdiff_t charpos, bool resolved_only, struct bidi_it *bidi_it) bidi_it 877 src/bidi.c ptrdiff_t i = bidi_cache_search (charpos, -1, bidi_it->scan_dir); bidi_it 887 src/bidi.c bidi_dir_t current_scan_dir = bidi_it->scan_dir; bidi_it 889 src/bidi.c bidi_copy_it (bidi_it, &bidi_cache[i]); bidi_it 893 src/bidi.c bidi_it->scan_dir = current_scan_dir; bidi_it 894 src/bidi.c return bidi_it->type; bidi_it 901 src/bidi.c bidi_peek_at_next_level (struct bidi_it *bidi_it) bidi_it 908 src/bidi.c || (bidi_cache_last_idx >= bidi_cache_idx - 1 && bidi_it->scan_dir > 0)) bidi_it 910 src/bidi.c return bidi_cache[bidi_cache_last_idx + bidi_it->scan_dir].resolved_level; bidi_it 924 src/bidi.c bidi_push_it (struct bidi_it *bidi_it) bidi_it 931 src/bidi.c bidi_cache[bidi_cache_idx++] = *bidi_it; bidi_it 945 src/bidi.c bidi_pop_it (struct bidi_it *bidi_it) bidi_it 955 src/bidi.c *bidi_it = bidi_cache[bidi_cache_idx]; bidi_it 983 src/bidi.c + bidi_cache_idx * sizeof (struct bidi_it)); bidi_it 989 src/bidi.c bidi_cache, bidi_cache_idx * sizeof (struct bidi_it)); bidi_it 991 src/bidi.c + bidi_cache_idx * sizeof (struct bidi_it), bidi_it 994 src/bidi.c + bidi_cache_idx * sizeof (struct bidi_it) bidi_it 998 src/bidi.c + bidi_cache_idx * sizeof (struct bidi_it) bidi_it 1002 src/bidi.c + bidi_cache_idx * sizeof (struct bidi_it) bidi_it 1007 src/bidi.c + bidi_cache_idx * sizeof (struct bidi_it) bidi_it 1044 src/bidi.c -= bidi_shelve_header_size + idx * sizeof (struct bidi_it); bidi_it 1051 src/bidi.c bidi_cache_idx * sizeof (struct bidi_it)); bidi_it 1054 src/bidi.c + bidi_cache_idx * sizeof (struct bidi_it), bidi_it 1058 src/bidi.c + bidi_cache_idx * sizeof (struct bidi_it) bidi_it 1063 src/bidi.c + bidi_cache_idx * sizeof (struct bidi_it) bidi_it 1068 src/bidi.c + bidi_cache_idx * sizeof (struct bidi_it) bidi_it 1074 src/bidi.c + bidi_cache_idx * sizeof (struct bidi_it) bidi_it 1080 src/bidi.c + bidi_cache_idx * sizeof (struct bidi_it)); bidi_it 1124 src/bidi.c bidi_set_paragraph_end (struct bidi_it *bidi_it) bidi_it 1126 src/bidi.c bidi_it->invalid_levels = 0; bidi_it 1127 src/bidi.c bidi_it->invalid_isolates = 0; bidi_it 1128 src/bidi.c bidi_it->stack_idx = 0; bidi_it 1129 src/bidi.c bidi_it->isolate_level = 0; bidi_it 1130 src/bidi.c bidi_it->resolved_level = bidi_it->level_stack[0].level; bidi_it 1136 src/bidi.c struct bidi_it *bidi_it) bidi_it 1141 src/bidi.c bidi_it->charpos = charpos; bidi_it 1143 src/bidi.c bidi_it->bytepos = bytepos; bidi_it 1144 src/bidi.c bidi_it->frame_window_p = frame_window_p; bidi_it 1145 src/bidi.c bidi_it->nchars = -1; /* to be computed in bidi_resolve_explicit */ bidi_it 1146 src/bidi.c bidi_it->first_elt = 1; bidi_it 1147 src/bidi.c bidi_set_paragraph_end (bidi_it); bidi_it 1148 src/bidi.c bidi_it->new_paragraph = 1; bidi_it 1149 src/bidi.c bidi_it->separator_limit = -1; bidi_it 1150 src/bidi.c bidi_it->type = NEUTRAL_B; bidi_it 1151 src/bidi.c bidi_it->type_after_wn = NEUTRAL_B; bidi_it 1152 src/bidi.c bidi_it->orig_type = NEUTRAL_B; bidi_it 1154 src/bidi.c bidi_it->prev.type = bidi_it->prev.orig_type = UNKNOWN_BT; bidi_it 1155 src/bidi.c bidi_it->last_strong.type = bidi_it->last_strong.orig_type = UNKNOWN_BT; bidi_it 1156 src/bidi.c bidi_it->next_for_neutral.charpos = -1; bidi_it 1157 src/bidi.c bidi_it->next_for_neutral.type bidi_it 1158 src/bidi.c = bidi_it->next_for_neutral.orig_type = UNKNOWN_BT; bidi_it 1159 src/bidi.c bidi_it->prev_for_neutral.charpos = -1; bidi_it 1160 src/bidi.c bidi_it->prev_for_neutral.type bidi_it 1161 src/bidi.c = bidi_it->prev_for_neutral.orig_type = UNKNOWN_BT; bidi_it 1162 src/bidi.c bidi_it->bracket_pairing_pos = -1; bidi_it 1163 src/bidi.c bidi_it->sos = L2R; /* FIXME: should it be user-selectable? */ bidi_it 1164 src/bidi.c bidi_it->disp_pos = -1; /* invalid/unknown */ bidi_it 1165 src/bidi.c bidi_it->disp_prop = 0; bidi_it 1176 src/bidi.c bidi_line_init (struct bidi_it *bidi_it) bidi_it 1178 src/bidi.c bidi_it->scan_dir = 1; /* FIXME: do we need to have control on this? */ bidi_it 1179 src/bidi.c bidi_it->stack_idx = 0; bidi_it 1180 src/bidi.c bidi_it->resolved_level = bidi_it->level_stack[0].level; bidi_it 1181 src/bidi.c bidi_it->level_stack[0].flags = 0; /* NEUTRAL_DIR, false per X1 */ bidi_it 1182 src/bidi.c bidi_it->invalid_levels = 0; bidi_it 1183 src/bidi.c bidi_it->isolate_level = 0; /* X1 */ bidi_it 1184 src/bidi.c bidi_it->invalid_isolates = 0; /* X1 */ bidi_it 1187 src/bidi.c bidi_it->next_en_pos = 0; bidi_it 1188 src/bidi.c bidi_it->next_en_type = UNKNOWN_BT; bidi_it 1189 src/bidi.c bidi_it->next_for_ws.charpos = -1; bidi_it 1190 src/bidi.c bidi_it->next_for_ws.type = UNKNOWN_BT; bidi_it 1191 src/bidi.c bidi_it->bracket_pairing_pos = -1; bidi_it 1192 src/bidi.c bidi_set_sos_type (bidi_it, bidi_it 1193 src/bidi.c (bidi_it->paragraph_dir == R2L ? 1 : 0), bidi_it 1194 src/bidi.c bidi_it->level_stack[0].level); /* X10 */ bidi_it 1688 src/bidi.c bidi_paragraph_init (bidi_dir_t dir, struct bidi_it *bidi_it, bool no_default_p) bidi_it 1690 src/bidi.c ptrdiff_t bytepos = bidi_it->bytepos; bidi_it 1691 src/bidi.c bool string_p = bidi_it->string.s || STRINGP (bidi_it->string.lstring); bidi_it 1697 src/bidi.c ptrdiff_t end = string_p ? bidi_it->string.schars : ZV; bidi_it 1698 src/bidi.c ptrdiff_t pos = bidi_it->charpos; bidi_it 1703 src/bidi.c if (bytepos == begbyte && bidi_it->charpos == end) bidi_it 1706 src/bidi.c else if (bidi_it->charpos >= end || bytepos < begbyte) bidi_it 1711 src/bidi.c bidi_it->paragraph_dir = L2R; bidi_it 1712 src/bidi.c bidi_it->new_paragraph = 0; bidi_it 1716 src/bidi.c bidi_it->paragraph_dir = R2L; bidi_it 1717 src/bidi.c bidi_it->new_paragraph = 0; bidi_it 1734 src/bidi.c if (!bidi_it->first_elt bidi_it 1735 src/bidi.c && bidi_it->charpos < bidi_it->separator_limit) bidi_it 1742 src/bidi.c pos = bidi_it->charpos; bidi_it 1743 src/bidi.c s = (STRINGP (bidi_it->string.lstring) bidi_it 1744 src/bidi.c ? SDATA (bidi_it->string.lstring) bidi_it 1745 src/bidi.c : bidi_it->string.s); bidi_it 1747 src/bidi.c && bidi_char_at_pos (bytepos, s, bidi_it->string.unibyte) == '\n') bidi_it 1763 src/bidi.c bidi_it->separator_limit = -1; bidi_it 1764 src/bidi.c bidi_it->new_paragraph = 0; bidi_it 1773 src/bidi.c &bidi_it->string, bidi_it->w, bidi_it 1774 src/bidi.c string_p, bidi_it->frame_window_p, bidi_it 1777 src/bidi.c bidi_it->paragraph_dir = R2L; bidi_it 1779 src/bidi.c bidi_it->paragraph_dir = L2R; bidi_it 1781 src/bidi.c && no_default_p && bidi_it->paragraph_dir == NEUTRAL_DIR) bidi_it 1785 src/bidi.c bidi_it->paragraph_dir = L2R; /* P3 and HL1 */ bidi_it 1804 src/bidi.c && no_default_p && bidi_it->paragraph_dir == NEUTRAL_DIR); bidi_it 1812 src/bidi.c if (bidi_it->paragraph_dir != L2R && bidi_it->paragraph_dir != R2L) bidi_it 1813 src/bidi.c bidi_it->paragraph_dir = L2R; /* P3 and HL1 ``higher-level protocols'' */ bidi_it 1814 src/bidi.c if (bidi_it->paragraph_dir == R2L) bidi_it 1815 src/bidi.c bidi_it->level_stack[0].level = 1; bidi_it 1817 src/bidi.c bidi_it->level_stack[0].level = 0; bidi_it 1819 src/bidi.c bidi_line_init (bidi_it); bidi_it 1825 src/bidi.c ptrdiff_t nexamined = bidi_it->charpos - pos + nsearch_for_strong; bidi_it 1827 src/bidi.c update_redisplay_ticks (nexamined / 50, bidi_it->w); bidi_it 1860 src/bidi.c bidi_resolve_explicit (struct bidi_it *bidi_it) bidi_it 1868 src/bidi.c bool string_p = bidi_it->string.s || STRINGP (bidi_it->string.lstring); bidi_it 1872 src/bidi.c = ((bidi_it->string.s || STRINGP (bidi_it->string.lstring)) bidi_it 1873 src/bidi.c ? bidi_it->string.schars : ZV); bidi_it 1876 src/bidi.c if (bidi_it->type_after_wn != WEAK_BN /* W1/Retaining */ bidi_it 1877 src/bidi.c && bidi_it->type != WEAK_BN) bidi_it 1882 src/bidi.c if (bidi_it->type_after_wn == NEUTRAL_ON bidi_it 1883 src/bidi.c && bidi_get_category (bidi_it->type) == STRONG bidi_it 1884 src/bidi.c && bidi_paired_bracket_type (bidi_it->ch) == BIDI_BRACKET_CLOSE) bidi_it 1885 src/bidi.c bidi_remember_char (&bidi_it->prev, bidi_it, 1); bidi_it 1887 src/bidi.c bidi_remember_char (&bidi_it->prev, bidi_it, 0); bidi_it 1889 src/bidi.c if (bidi_it->type_after_wn == STRONG_R bidi_it 1890 src/bidi.c || bidi_it->type_after_wn == STRONG_L bidi_it 1891 src/bidi.c || bidi_it->type_after_wn == STRONG_AL) bidi_it 1892 src/bidi.c bidi_remember_char (&bidi_it->last_strong, bidi_it, 0); bidi_it 1893 src/bidi.c if (bidi_it->type == STRONG_R || bidi_it->type == STRONG_L bidi_it 1894 src/bidi.c || bidi_it->type == WEAK_EN || bidi_it->type == WEAK_AN) bidi_it 1895 src/bidi.c bidi_remember_char (&bidi_it->prev_for_neutral, bidi_it, 1); bidi_it 1899 src/bidi.c if (bidi_it->charpos >= bidi_it->next_for_neutral.charpos) bidi_it 1901 src/bidi.c bidi_it->next_for_neutral.type = UNKNOWN_BT; bidi_it 1905 src/bidi.c if (bidi_it->bracket_pairing_pos == eob) bidi_it 1906 src/bidi.c bidi_it->bracket_pairing_pos = -1; bidi_it 1908 src/bidi.c if (bidi_it->next_en_pos >= 0 bidi_it 1909 src/bidi.c && bidi_it->charpos >= bidi_it->next_en_pos) bidi_it 1911 src/bidi.c bidi_it->next_en_pos = 0; bidi_it 1912 src/bidi.c bidi_it->next_en_type = UNKNOWN_BT; bidi_it 1918 src/bidi.c if (bidi_it->bracket_pairing_pos != eob) bidi_it 1920 src/bidi.c bidi_it->bracket_pairing_pos = -1; bidi_it 1921 src/bidi.c bidi_it->bracket_enclosed_type = UNKNOWN_BT; bidi_it 1927 src/bidi.c if (bidi_it->bytepos < (string_p ? 0 : BEGV_BYTE) bidi_it 1928 src/bidi.c || bidi_it->first_elt) bidi_it 1930 src/bidi.c bidi_it->first_elt = 0; bidi_it 1934 src/bidi.c = (STRINGP (bidi_it->string.lstring) bidi_it 1935 src/bidi.c ? SDATA (bidi_it->string.lstring) bidi_it 1936 src/bidi.c : bidi_it->string.s); bidi_it 1938 src/bidi.c if (bidi_it->charpos < 0) bidi_it 1939 src/bidi.c bidi_it->charpos = bidi_it->bytepos = 0; bidi_it 1940 src/bidi.c eassert (bidi_it->bytepos == bidi_count_bytes (p, 0, 0, bidi_it 1941 src/bidi.c bidi_it->charpos, bidi_it 1942 src/bidi.c bidi_it->string.unibyte)); bidi_it 1946 src/bidi.c if (bidi_it->charpos < BEGV) bidi_it 1948 src/bidi.c bidi_it->charpos = BEGV; bidi_it 1949 src/bidi.c bidi_it->bytepos = BEGV_BYTE; bidi_it 1951 src/bidi.c eassert (bidi_it->bytepos == CHAR_TO_BYTE (bidi_it->charpos)); bidi_it 1959 src/bidi.c if (bidi_it->first_elt && bidi_it->prev.type != UNKNOWN_BT) bidi_it 1961 src/bidi.c eassert (bidi_it->prev.charpos == bidi_it->charpos - 1); bidi_it 1962 src/bidi.c prev_type = bidi_it->prev.orig_type; bidi_it 1966 src/bidi.c else if (bidi_it->charpos < (string_p ? bidi_it->string.schars : ZV)) bidi_it 1970 src/bidi.c if (bidi_it->nchars <= 0) bidi_it 1972 src/bidi.c bidi_it->charpos += bidi_it->nchars; bidi_it 1973 src/bidi.c if (bidi_it->ch_len == 0) bidi_it 1975 src/bidi.c bidi_it->bytepos += bidi_it->ch_len; bidi_it 1976 src/bidi.c prev_type = bidi_it->orig_type; bidi_it 1981 src/bidi.c current_level = bidi_it->level_stack[bidi_it->stack_idx].level; /* X1 */ bidi_it 1982 src/bidi.c isolate_status = ISOLATE_STATUS (bidi_it, bidi_it->stack_idx); bidi_it 1983 src/bidi.c override = OVERRIDE (bidi_it, bidi_it->stack_idx); bidi_it 1986 src/bidi.c if (bidi_it->charpos >= (string_p ? bidi_it->string.schars : ZV)) bidi_it 1989 src/bidi.c bidi_it->ch_len = 1; bidi_it 1990 src/bidi.c bidi_it->nchars = 1; bidi_it 1991 src/bidi.c bidi_it->disp_pos = (string_p ? bidi_it->string.schars : ZV); bidi_it 1992 src/bidi.c bidi_it->disp_prop = 0; bidi_it 2004 src/bidi.c && bidi_it->invalid_levels == 0 bidi_it 2005 src/bidi.c && bidi_it->invalid_isolates == 0) bidi_it 2008 src/bidi.c bidi_it->isolate_level++; bidi_it 2009 src/bidi.c bidi_push_embedding_level (bidi_it, new_level, bidi_it 2013 src/bidi.c bidi_it->invalid_isolates++; bidi_it 2017 src/bidi.c && bidi_it->invalid_levels == 0 bidi_it 2018 src/bidi.c && bidi_it->invalid_isolates == 0) bidi_it 2021 src/bidi.c bidi_it->isolate_level++; bidi_it 2022 src/bidi.c bidi_push_embedding_level (bidi_it, new_level, bidi_it 2026 src/bidi.c bidi_it->invalid_isolates++; bidi_it 2029 src/bidi.c if (!bidi_it->invalid_isolates) bidi_it 2031 src/bidi.c if (bidi_it->invalid_levels) bidi_it 2032 src/bidi.c bidi_it->invalid_levels--; bidi_it 2033 src/bidi.c else if (!isolate_status && bidi_it->stack_idx >= 1) bidi_it 2034 src/bidi.c new_level = bidi_pop_embedding_level (bidi_it); bidi_it 2045 src/bidi.c curchar = bidi_fetch_char (bidi_it->charpos, bidi_it->bytepos, bidi_it 2046 src/bidi.c &bidi_it->disp_pos, &bidi_it->disp_prop, bidi_it 2047 src/bidi.c &bidi_it->string, bidi_it->w, bidi_it 2048 src/bidi.c bidi_it->frame_window_p, bidi_it 2049 src/bidi.c &bidi_it->ch_len, &bidi_it->nchars); bidi_it 2051 src/bidi.c bidi_it->ch = curchar; bidi_it 2052 src/bidi.c bidi_it->resolved_level = new_level; bidi_it 2059 src/bidi.c bidi_it->orig_type = type; bidi_it 2060 src/bidi.c bidi_check_type (bidi_it->orig_type); bidi_it 2062 src/bidi.c bidi_it->type_after_wn = UNKNOWN_BT; bidi_it 2068 src/bidi.c bidi_it->type_after_wn = type; bidi_it 2069 src/bidi.c bidi_check_type (bidi_it->type_after_wn); bidi_it 2072 src/bidi.c && bidi_it->invalid_levels == 0 bidi_it 2073 src/bidi.c && bidi_it->invalid_isolates == 0) bidi_it 2078 src/bidi.c if (bidi_it->type_after_wn == RLE) bidi_it 2082 src/bidi.c bidi_push_embedding_level (bidi_it, new_level, override, false); bidi_it 2083 src/bidi.c bidi_it->resolved_level = new_level; bidi_it 2087 src/bidi.c if (bidi_it->invalid_isolates == 0) bidi_it 2088 src/bidi.c bidi_it->invalid_levels++; bidi_it 2093 src/bidi.c bidi_it->type_after_wn = type; bidi_it 2094 src/bidi.c bidi_check_type (bidi_it->type_after_wn); bidi_it 2097 src/bidi.c && bidi_it->invalid_levels == 0 bidi_it 2098 src/bidi.c && bidi_it->invalid_isolates == 0) bidi_it 2103 src/bidi.c if (bidi_it->type_after_wn == LRE) bidi_it 2107 src/bidi.c bidi_push_embedding_level (bidi_it, new_level, override, false); bidi_it 2108 src/bidi.c bidi_it->resolved_level = new_level; bidi_it 2112 src/bidi.c if (bidi_it->invalid_isolates == 0) bidi_it 2113 src/bidi.c bidi_it->invalid_levels++; bidi_it 2117 src/bidi.c end = string_p ? bidi_it->string.schars : ZV; bidi_it 2118 src/bidi.c disp_pos = bidi_it->disp_pos; bidi_it 2119 src/bidi.c disp_prop = bidi_it->disp_prop; bidi_it 2120 src/bidi.c nchars = bidi_it->nchars; bidi_it 2121 src/bidi.c ch_len = bidi_it->ch_len; bidi_it 2122 src/bidi.c typ1 = find_first_strong_char (bidi_it->charpos, bidi_it 2123 src/bidi.c bidi_it->bytepos, end, bidi_it 2125 src/bidi.c &bidi_it->string, bidi_it->w, bidi_it 2126 src/bidi.c string_p, bidi_it->frame_window_p, bidi_it 2134 src/bidi.c bidi_it->orig_type = type; bidi_it 2140 src/bidi.c bidi_it->orig_type = type; bidi_it 2145 src/bidi.c bidi_it->type_after_wn = type; bidi_it 2147 src/bidi.c bidi_it->type_after_wn = (override == L2R ? STRONG_L : STRONG_R); bidi_it 2148 src/bidi.c bidi_check_type (bidi_it->type_after_wn); bidi_it 2153 src/bidi.c bidi_it->type_after_wn = type; bidi_it 2155 src/bidi.c bidi_it->type_after_wn = (override == L2R ? STRONG_L : STRONG_R); bidi_it 2156 src/bidi.c bidi_check_type (bidi_it->type_after_wn); bidi_it 2159 src/bidi.c if (bidi_it->invalid_isolates) bidi_it 2160 src/bidi.c bidi_it->invalid_isolates--; bidi_it 2161 src/bidi.c else if (bidi_it->isolate_level > 0) bidi_it 2163 src/bidi.c bidi_it->invalid_levels = 0; bidi_it 2164 src/bidi.c while (!ISOLATE_STATUS (bidi_it, bidi_it->stack_idx)) bidi_it 2165 src/bidi.c bidi_pop_embedding_level (bidi_it); bidi_it 2166 src/bidi.c eassert (bidi_it->stack_idx > 0); bidi_it 2167 src/bidi.c new_level = bidi_pop_embedding_level (bidi_it); bidi_it 2168 src/bidi.c bidi_it->isolate_level--; bidi_it 2170 src/bidi.c bidi_it->resolved_level = new_level; bidi_it 2173 src/bidi.c bidi_dir_t stack_override = OVERRIDE (bidi_it, bidi_it->stack_idx); bidi_it 2175 src/bidi.c bidi_it->type_after_wn = STRONG_L; bidi_it 2177 src/bidi.c bidi_it->type_after_wn = STRONG_R; bidi_it 2179 src/bidi.c bidi_it->type_after_wn = type; bidi_it 2183 src/bidi.c bidi_it->type_after_wn = type; bidi_it 2184 src/bidi.c bidi_check_type (bidi_it->type_after_wn); bidi_it 2192 src/bidi.c bidi_it->type = type; bidi_it 2193 src/bidi.c bidi_check_type (bidi_it->type); bidi_it 2195 src/bidi.c if (bidi_it->type == NEUTRAL_B) /* X8 */ bidi_it 2197 src/bidi.c bidi_set_paragraph_end (bidi_it); bidi_it 2199 src/bidi.c bidi_it->type_after_wn = bidi_it->type; bidi_it 2202 src/bidi.c eassert (bidi_it->resolved_level >= 0); bidi_it 2203 src/bidi.c return bidi_it->resolved_level; bidi_it 2209 src/bidi.c bidi_resolve_weak (struct bidi_it *bidi_it) bidi_it 2213 src/bidi.c int prev_level = bidi_it->level_stack[bidi_it->stack_idx].level; bidi_it 2214 src/bidi.c int new_level = bidi_resolve_explicit (bidi_it); bidi_it 2217 src/bidi.c struct bidi_it saved_it; bidi_it 2219 src/bidi.c = ((STRINGP (bidi_it->string.lstring) || bidi_it->string.s) bidi_it 2220 src/bidi.c ? bidi_it->string.schars : ZV); bidi_it 2222 src/bidi.c type = bidi_it->type; bidi_it 2223 src/bidi.c override = OVERRIDE (bidi_it, bidi_it->stack_idx); bidi_it 2233 src/bidi.c if (bidi_it->type == NEUTRAL_B) bidi_it 2238 src/bidi.c bidi_set_sos_type (bidi_it, prev_level, new_level); bidi_it 2242 src/bidi.c bidi_it->type_after_wn = type; /* needed in L1 */ bidi_it 2243 src/bidi.c bidi_check_type (bidi_it->type_after_wn); bidi_it 2263 src/bidi.c if (bidi_it->prev.type != UNKNOWN_BT bidi_it 2265 src/bidi.c && bidi_it->prev.type != NEUTRAL_B) bidi_it 2267 src/bidi.c if (bidi_isolate_fmt_char (bidi_it->prev.type)) bidi_it 2273 src/bidi.c eassert (bidi_it->invalid_isolates > 0); bidi_it 2281 src/bidi.c type = bidi_it->prev.type; bidi_it 2284 src/bidi.c else if (bidi_it->sos == R2L) bidi_it 2286 src/bidi.c else if (bidi_it->sos == L2R) bidi_it 2292 src/bidi.c && bidi_it->last_strong.type == STRONG_AL) bidi_it 2297 src/bidi.c && bidi_it->prev.type == WEAK_EN bidi_it 2298 src/bidi.c && bidi_it->prev.orig_type == WEAK_EN) bidi_it 2300 src/bidi.c && ((bidi_it->prev.type == WEAK_EN bidi_it 2301 src/bidi.c && bidi_it->prev.orig_type == WEAK_EN) bidi_it 2302 src/bidi.c || bidi_it->prev.type == WEAK_AN))) bidi_it 2305 src/bidi.c = (STRINGP (bidi_it->string.lstring) bidi_it 2306 src/bidi.c ? SDATA (bidi_it->string.lstring) bidi_it 2307 src/bidi.c : bidi_it->string.s); bidi_it 2309 src/bidi.c next_char = (bidi_it->charpos + bidi_it->nchars >= eob bidi_it 2311 src/bidi.c : bidi_char_at_pos (bidi_it->bytepos + bidi_it->ch_len, bidi_it 2312 src/bidi.c s, bidi_it->string.unibyte)); bidi_it 2318 src/bidi.c bidi_copy_it (&saved_it, bidi_it); bidi_it 2319 src/bidi.c while (bidi_resolve_explicit (bidi_it) == new_level bidi_it 2320 src/bidi.c && bidi_it->type == WEAK_BN) bidi_it 2321 src/bidi.c type_of_next = bidi_it->type; bidi_it 2322 src/bidi.c bidi_copy_it (bidi_it, &saved_it); bidi_it 2331 src/bidi.c && bidi_it->last_strong.type != STRONG_AL) bidi_it 2335 src/bidi.c if (bidi_it->prev.type == WEAK_AN bidi_it 2343 src/bidi.c && bidi_it->last_strong.type == STRONG_AL))) bidi_it 2345 src/bidi.c else if (bidi_it->prev.type == WEAK_EN bidi_it 2347 src/bidi.c && bidi_it->last_strong.type != STRONG_AL) bidi_it 2354 src/bidi.c if (bidi_it->prev.type == WEAK_EN) /* ET/BN w/EN before it */ bidi_it 2356 src/bidi.c else if (bidi_it->next_en_pos > bidi_it->charpos bidi_it 2357 src/bidi.c && bidi_it->next_en_type != WEAK_BN) bidi_it 2359 src/bidi.c if (bidi_it->next_en_type == WEAK_EN) /* ET/BN with EN after it */ bidi_it 2381 src/bidi.c && !bidi_explicit_dir_char (bidi_it->ch) bidi_it 2382 src/bidi.c && ((bidi_it->last_strong.type == STRONG_L) bidi_it 2383 src/bidi.c || (bidi_it->last_strong.type == UNKNOWN_BT bidi_it 2384 src/bidi.c && bidi_it->sos == L2R))) bidi_it 2386 src/bidi.c else if (bidi_it->next_en_pos >= 0) bidi_it 2394 src/bidi.c ptrdiff_t en_pos = bidi_it->charpos + bidi_it->nchars; bidi_it 2395 src/bidi.c const unsigned char *s = (STRINGP (bidi_it->string.lstring) bidi_it 2396 src/bidi.c ? SDATA (bidi_it->string.lstring) bidi_it 2397 src/bidi.c : bidi_it->string.s); bidi_it 2399 src/bidi.c if (bidi_it->nchars <= 0) bidi_it 2402 src/bidi.c = (bidi_it->charpos + bidi_it->nchars >= eob bidi_it 2404 src/bidi.c : bidi_char_at_pos (bidi_it->bytepos + bidi_it->ch_len, s, bidi_it 2405 src/bidi.c bidi_it->string.unibyte)); bidi_it 2412 src/bidi.c bidi_copy_it (&saved_it, bidi_it); bidi_it 2413 src/bidi.c while (bidi_resolve_explicit (bidi_it) == new_level bidi_it 2414 src/bidi.c && (bidi_it->type == WEAK_BN bidi_it 2415 src/bidi.c || bidi_it->type == WEAK_ET)) bidi_it 2416 src/bidi.c type_of_next = bidi_it->type; bidi_it 2418 src/bidi.c && bidi_it->charpos == saved_it.charpos + saved_it.nchars) bidi_it 2429 src/bidi.c en_pos = bidi_it->charpos; bidi_it 2430 src/bidi.c bidi_copy_it (bidi_it, &saved_it); bidi_it 2434 src/bidi.c bidi_it->next_en_pos = en_pos; bidi_it 2439 src/bidi.c if (bidi_it->last_strong.type == STRONG_AL) bidi_it 2450 src/bidi.c bidi_it->next_en_pos = -1; bidi_it 2452 src/bidi.c bidi_it->next_en_type = type_of_next; bidi_it 2459 src/bidi.c && (bidi_it->prev.type == WEAK_CS /* W6/Retaining */ bidi_it 2460 src/bidi.c || bidi_it->prev.type == WEAK_ES bidi_it 2461 src/bidi.c || bidi_it->prev.type == WEAK_ET))) bidi_it 2468 src/bidi.c if (bidi_it->type_after_wn == UNKNOWN_BT) bidi_it 2469 src/bidi.c bidi_it->type_after_wn = type; bidi_it 2470 src/bidi.c bidi_check_type (bidi_it->type_after_wn); bidi_it 2474 src/bidi.c if ((bidi_it->last_strong.type == STRONG_L) bidi_it 2475 src/bidi.c || (bidi_it->last_strong.type == UNKNOWN_BT && bidi_it->sos == L2R)) bidi_it 2479 src/bidi.c bidi_it->type = type; bidi_it 2480 src/bidi.c bidi_check_type (bidi_it->type); bidi_it 2521 src/bidi.c enum { MAX_BPA_STACK = max (1, ((MAX_ALLOCA - 2 * sizeof (struct bidi_it)) bidi_it 2561 src/bidi.c bpa_stack[bpa_sp].open_bracket_pos = bidi_it->charpos bidi_it 2572 src/bidi.c ch = CANONICAL_EQU (bidi_it->ch); \ bidi_it 2589 src/bidi.c bidi_find_bracket_pairs (struct bidi_it *bidi_it) bidi_it 2592 src/bidi.c bidi_type_t type = bidi_it->type; bidi_it 2598 src/bidi.c if (bidi_it->scan_dir != 1) bidi_it 2601 src/bidi.c btype = bidi_paired_bracket_type (bidi_it->ch); bidi_it 2606 src/bidi.c struct bidi_it saved_it; bidi_it 2607 src/bidi.c int base_level = bidi_it->level_stack[0].level; bidi_it 2608 src/bidi.c int embedding_level = bidi_it->level_stack[bidi_it->stack_idx].level; bidi_it 2611 src/bidi.c struct bidi_it tem_it; bidi_it 2617 src/bidi.c bidi_copy_it (&saved_it, bidi_it); bidi_it 2626 src/bidi.c int current_level = bidi_it->level_stack[bidi_it->stack_idx].level; bidi_it 2637 src/bidi.c if (btype == BIDI_BRACKET_OPEN && bidi_it->bracket_pairing_pos == -1) bidi_it 2638 src/bidi.c bidi_it->bracket_pairing_pos = bidi_it->charpos; bidi_it 2639 src/bidi.c if (!bidi_cache_iterator_state (bidi_it, type == NEUTRAL_B, 0)) bidi_it 2645 src/bidi.c bidi_copy_it (bidi_it, &saved_it); bidi_it 2653 src/bidi.c int curchar = CANONICAL_EQU (bidi_it->ch); bidi_it 2678 src/bidi.c tem_it.bracket_pairing_pos = bidi_it->charpos; bidi_it 2690 src/bidi.c else if (bidi_get_category (bidi_it->type_after_wn) != NEUTRAL) bidi_it 2697 src/bidi.c switch (bidi_it->type) bidi_it 2722 src/bidi.c old_sidx = bidi_it->stack_idx; bidi_it 2723 src/bidi.c type = bidi_resolve_weak (bidi_it); bidi_it 2726 src/bidi.c new_sidx = bidi_it->stack_idx; bidi_it 2727 src/bidi.c if (bidi_it->level_stack[new_sidx].level > current_level bidi_it 2728 src/bidi.c && (ISOLATE_STATUS (bidi_it, new_sidx) bidi_it 2730 src/bidi.c && ISOLATE_STATUS (bidi_it, new_sidx - 1)))) bidi_it 2732 src/bidi.c while (bidi_it->level_stack[bidi_it->stack_idx].level bidi_it 2735 src/bidi.c if (maxlevel < bidi_it->level_stack[bidi_it->stack_idx].level) bidi_it 2736 src/bidi.c maxlevel = bidi_it->level_stack[bidi_it->stack_idx].level; bidi_it 2737 src/bidi.c if (!bidi_cache_iterator_state (bidi_it, bidi_it 2744 src/bidi.c bidi_copy_it (bidi_it, &saved_it); bidi_it 2747 src/bidi.c type = bidi_resolve_weak (bidi_it); bidi_it 2752 src/bidi.c || (bidi_it->level_stack[bidi_it->stack_idx].level bidi_it 2759 src/bidi.c pairing_pos = bidi_it->charpos; bidi_it 2762 src/bidi.c if (bidi_it->type_after_wn == NEUTRAL_ON) /* Unicode 8.0 correction */ bidi_it 2763 src/bidi.c btype = bidi_paired_bracket_type (bidi_it->ch); bidi_it 2770 src/bidi.c type = bidi_cache_find (saved_it.charpos, 0, bidi_it); bidi_it 2794 src/bidi.c = ((bidi_it->string.s || STRINGP (bidi_it->string.lstring)) bidi_it 2795 src/bidi.c ? bidi_it->string.schars : ZV); bidi_it 2798 src/bidi.c pairing_pos = bidi_it->bracket_pairing_pos; bidi_it 2805 src/bidi.c bidi_it->bracket_pairing_pos = eob; bidi_it 2808 src/bidi.c bidi_it->bracket_enclosed_type = embedding_type; bidi_it 2817 src/bidi.c bidi_it->next_for_neutral.type = embedding_type; bidi_it 2818 src/bidi.c bidi_it->next_for_neutral.charpos = pairing_pos; bidi_it 2830 src/bidi.c update_redisplay_ticks (n / 20 + 1, bidi_it->w); bidi_it 2857 src/bidi.c bidi_resolve_brackets (struct bidi_it *bidi_it) bidi_it 2859 src/bidi.c int prev_level = bidi_it->level_stack[bidi_it->stack_idx].level; bidi_it 2865 src/bidi.c = ((bidi_it->string.s || STRINGP (bidi_it->string.lstring)) bidi_it 2866 src/bidi.c ? bidi_it->string.schars : ZV); bidi_it 2871 src/bidi.c if (bidi_it->type == STRONG_L || bidi_it->type == STRONG_R bidi_it 2872 src/bidi.c || bidi_it->type == WEAK_AN || bidi_it->type == WEAK_EN) bidi_it 2873 src/bidi.c bidi_remember_char (&prev_for_neutral, bidi_it, 1); bidi_it 2875 src/bidi.c prev_for_neutral = bidi_it->prev_for_neutral; bidi_it 2877 src/bidi.c if (bidi_it->next_for_neutral.charpos > bidi_it->charpos) bidi_it 2878 src/bidi.c next_for_neutral = bidi_it->next_for_neutral; bidi_it 2881 src/bidi.c if (!bidi_it->first_elt) bidi_it 2883 src/bidi.c type = bidi_cache_find (bidi_it->charpos + bidi_it->nchars, 0, bidi_it); bidi_it 2884 src/bidi.c ch = bidi_it->ch; bidi_it 2888 src/bidi.c type = bidi_resolve_weak (bidi_it); bidi_it 2895 src/bidi.c if (bidi_it->bracket_pairing_pos == eob) bidi_it 2901 src/bidi.c if (bidi_it->next_for_neutral.charpos == bidi_it->charpos bidi_it 2902 src/bidi.c && bidi_paired_bracket_type (bidi_it->ch) == BIDI_BRACKET_CLOSE) bidi_it 2903 src/bidi.c type = bidi_it->bracket_enclosed_type; bidi_it 2905 src/bidi.c else if (bidi_find_bracket_pairs (bidi_it)) bidi_it 2909 src/bidi.c else if (bidi_it->bracket_pairing_pos != eob) bidi_it 2911 src/bidi.c eassert (bidi_it->resolved_level == -1); bidi_it 2917 src/bidi.c if (bidi_it->level_stack[bidi_it->stack_idx].level > prev_level bidi_it 2918 src/bidi.c && ISOLATE_STATUS (bidi_it, bidi_it->stack_idx)) bidi_it 2926 src/bidi.c if (bidi_it->bracket_pairing_pos > bidi_it->charpos) bidi_it 2932 src/bidi.c else if (bidi_it->bracket_pairing_pos == -1) bidi_it 2937 src/bidi.c if (bidi_find_bracket_pairs (bidi_it)) bidi_it 2944 src/bidi.c if (bidi_it->level_stack[bidi_it->stack_idx].level == prev_level) bidi_it 2946 src/bidi.c bidi_it->prev_for_neutral = prev_for_neutral; bidi_it 2948 src/bidi.c bidi_it->next_for_neutral = next_for_neutral; bidi_it 2955 src/bidi.c int embedding_level = bidi_it->level_stack[bidi_it->stack_idx].level; bidi_it 2958 src/bidi.c eassert (bidi_it->bracket_pairing_pos > bidi_it->charpos); bidi_it 2959 src/bidi.c if (bidi_it->bracket_enclosed_type == embedding_type) /* N0b */ bidi_it 2961 src/bidi.c else if (bidi_it->bracket_enclosed_type == STRONG_L /* N0c, N0d */ bidi_it 2962 src/bidi.c || bidi_it->bracket_enclosed_type == STRONG_R) bidi_it 2964 src/bidi.c bidi_type_t prev_type_for_neutral = bidi_it->prev_for_neutral.type; bidi_it 2974 src/bidi.c (bidi_it->bracket_enclosed_type == STRONG_R) /* N0c */ bidi_it 2980 src/bidi.c (bidi_it->bracket_enclosed_type == STRONG_L) /* N0c */ bidi_it 2995 src/bidi.c ptrdiff_t idx = bidi_cache_search (bidi_it->bracket_pairing_pos, bidi_it 3008 src/bidi.c bidi_resolve_neutral (struct bidi_it *bidi_it) bidi_it 3010 src/bidi.c bidi_type_t type = bidi_resolve_brackets (bidi_it); bidi_it 3027 src/bidi.c current_level = bidi_it->level_stack[bidi_it->stack_idx].level; bidi_it 3037 src/bidi.c if (bidi_it->next_for_neutral.type != UNKNOWN_BT bidi_it 3038 src/bidi.c && (bidi_it->next_for_neutral.charpos > bidi_it->charpos bidi_it 3041 src/bidi.c || (bidi_it->next_for_neutral.charpos == bidi_it->charpos bidi_it 3042 src/bidi.c && bidi_it->type == PDI))) bidi_it 3044 src/bidi.c type = bidi_resolve_neutral_1 (bidi_it->prev_for_neutral.type, bidi_it 3045 src/bidi.c bidi_it->next_for_neutral.type, bidi_it 3062 src/bidi.c && bidi_it->prev_for_neutral.type == STRONG_L bidi_it 3063 src/bidi.c && (ASCII_CHAR_P (bidi_it->ch) bidi_it 3065 src/bidi.c && !bidi_explicit_dir_char (bidi_it->ch) bidi_it 3067 src/bidi.c type = bidi_resolve_neutral_1 (bidi_it->prev_for_neutral.type, bidi_it 3072 src/bidi.c && bidi_it->level_stack[0].level == 1 bidi_it 3075 src/bidi.c && (bidi_it->prev_for_neutral.type == STRONG_R bidi_it 3076 src/bidi.c || bidi_it->prev_for_neutral.type == WEAK_EN bidi_it 3077 src/bidi.c || bidi_it->prev_for_neutral.type == WEAK_AN) bidi_it 3079 src/bidi.c && !bidi_explicit_dir_char (bidi_it->ch) bidi_it 3081 src/bidi.c type = bidi_resolve_neutral_1 (bidi_it->prev_for_neutral.type, bidi_it 3093 src/bidi.c struct bidi_it saved_it; bidi_it 3097 src/bidi.c bidi_copy_it (&saved_it, bidi_it); bidi_it 3107 src/bidi.c bidi_cache_iterator_state (bidi_it, type == NEUTRAL_B, 0); bidi_it 3108 src/bidi.c old_sidx = bidi_it->stack_idx; bidi_it 3109 src/bidi.c type = bidi_resolve_brackets (bidi_it); bidi_it 3111 src/bidi.c new_sidx = bidi_it->stack_idx; bidi_it 3112 src/bidi.c if (bidi_it->level_stack[new_sidx].level > current_level bidi_it 3113 src/bidi.c && (ISOLATE_STATUS (bidi_it, new_sidx) bidi_it 3120 src/bidi.c && ISOLATE_STATUS (bidi_it, new_sidx - 1)))) bidi_it 3122 src/bidi.c while (bidi_it->level_stack[bidi_it->stack_idx].level bidi_it 3125 src/bidi.c bidi_cache_iterator_state (bidi_it, type == NEUTRAL_B, 0); bidi_it 3126 src/bidi.c type = bidi_resolve_brackets (bidi_it); bidi_it 3139 src/bidi.c || (bidi_it->level_stack[bidi_it->stack_idx].level bidi_it 3143 src/bidi.c bidi_remember_char (&saved_it.next_for_neutral, bidi_it, 1); bidi_it 3145 src/bidi.c if ((bidi_it->level_stack[bidi_it->stack_idx].level != current_level) bidi_it 3153 src/bidi.c next_type = bidi_it->prev_for_neutral.type; bidi_it 3158 src/bidi.c bidi_copy_it (bidi_it, &saved_it); bidi_it 3159 src/bidi.c return bidi_it->type; bidi_it 3196 src/bidi.c bidi_copy_it (bidi_it, &saved_it); bidi_it 3207 src/bidi.c bidi_type_of_next_char (struct bidi_it *bidi_it) bidi_it 3212 src/bidi.c if (bidi_it->scan_dir != 1) bidi_it 3215 src/bidi.c type = bidi_resolve_neutral (bidi_it); bidi_it 3225 src/bidi.c bidi_level_of_next_char (struct bidi_it *bidi_it) bidi_it 3231 src/bidi.c if (bidi_it->scan_dir == 1) bidi_it 3234 src/bidi.c = ((bidi_it->string.s || STRINGP (bidi_it->string.lstring)) bidi_it 3235 src/bidi.c ? bidi_it->string.schars : ZV); bidi_it 3239 src/bidi.c if (bidi_it->charpos >= eob) bidi_it 3241 src/bidi.c eassert (bidi_it->resolved_level >= 0); bidi_it 3242 src/bidi.c return bidi_it->resolved_level; bidi_it 3249 src/bidi.c if (bidi_cache_idx > bidi_cache_start && !bidi_it->first_elt) bidi_it 3251 src/bidi.c int bob = ((bidi_it->string.s || STRINGP (bidi_it->string.lstring)) bidi_it 3254 src/bidi.c if (bidi_it->scan_dir > 0) bidi_it 3256 src/bidi.c if (bidi_it->nchars <= 0) bidi_it 3258 src/bidi.c next_char_pos = bidi_it->charpos + bidi_it->nchars; bidi_it 3260 src/bidi.c else if (bidi_it->charpos >= bob) bidi_it 3265 src/bidi.c next_char_pos = bidi_it->charpos - 1; bidi_it 3267 src/bidi.c type = bidi_cache_find (next_char_pos, 1, bidi_it); bidi_it 3271 src/bidi.c eassert (bidi_it->resolved_level >= 0); bidi_it 3272 src/bidi.c return bidi_it->resolved_level; bidi_it 3276 src/bidi.c if (bidi_it->scan_dir == -1) bidi_it 3282 src/bidi.c type = bidi_type_of_next_char (bidi_it); bidi_it 3286 src/bidi.c eassert (bidi_it->resolved_level >= 0); bidi_it 3287 src/bidi.c return bidi_it->resolved_level; bidi_it 3290 src/bidi.c level = bidi_it->level_stack[bidi_it->stack_idx].level; bidi_it 3297 src/bidi.c bidi_it->type = type; bidi_it 3298 src/bidi.c bidi_check_type (bidi_it->type); bidi_it 3303 src/bidi.c if ((bidi_it->orig_type == NEUTRAL_WS bidi_it 3304 src/bidi.c || (bidi_it->orig_type == WEAK_BN bidi_it 3309 src/bidi.c && level != bidi_it->level_stack[0].level) bidi_it 3310 src/bidi.c || bidi_isolate_fmt_char (bidi_it->orig_type)) bidi_it 3312 src/bidi.c && bidi_it->next_for_ws.charpos < bidi_it->charpos) bidi_it 3315 src/bidi.c ptrdiff_t clen = bidi_it->ch_len; bidi_it 3316 src/bidi.c ptrdiff_t bpos = bidi_it->bytepos; bidi_it 3317 src/bidi.c ptrdiff_t cpos = bidi_it->charpos; bidi_it 3318 src/bidi.c ptrdiff_t disp_pos = bidi_it->disp_pos; bidi_it 3319 src/bidi.c ptrdiff_t nc = bidi_it->nchars; bidi_it 3320 src/bidi.c struct bidi_string_data bs = bidi_it->string; bidi_it 3322 src/bidi.c bool fwp = bidi_it->frame_window_p; bidi_it 3323 src/bidi.c int dpp = bidi_it->disp_prop; bidi_it 3325 src/bidi.c if (bidi_it->nchars <= 0) bidi_it 3329 src/bidi.c bidi_it->w, fwp, &clen, &nc); bidi_it 3334 src/bidi.c bidi_it->next_for_ws.type = chtype; bidi_it 3335 src/bidi.c bidi_check_type (bidi_it->next_for_ws.type); bidi_it 3336 src/bidi.c bidi_it->next_for_ws.charpos = cpos; bidi_it 3340 src/bidi.c bidi_cache_iterator_state (bidi_it, 1, 1); bidi_it 3343 src/bidi.c if (bidi_it->orig_type == NEUTRAL_B /* L1 */ bidi_it 3344 src/bidi.c || bidi_it->orig_type == NEUTRAL_S bidi_it 3345 src/bidi.c || bidi_it->ch == '\n' || bidi_it->ch == BIDI_EOB bidi_it 3346 src/bidi.c || ((bidi_it->orig_type == NEUTRAL_WS bidi_it 3347 src/bidi.c || bidi_it->orig_type == WEAK_BN /* L1/Retaining */ bidi_it 3348 src/bidi.c || bidi_isolate_fmt_char (bidi_it->orig_type) bidi_it 3349 src/bidi.c || bidi_explicit_dir_char (bidi_it->ch)) bidi_it 3350 src/bidi.c && (bidi_it->next_for_ws.type == NEUTRAL_B bidi_it 3351 src/bidi.c || bidi_it->next_for_ws.type == NEUTRAL_S))) bidi_it 3352 src/bidi.c level = bidi_it->level_stack[0].level; bidi_it 3366 src/bidi.c bidi_it->resolved_level = level; bidi_it 3391 src/bidi.c bidi_find_other_level_edge (struct bidi_it *bidi_it, int level, bool end_flag) bidi_it 3393 src/bidi.c int dir = end_flag ? -bidi_it->scan_dir : bidi_it->scan_dir; bidi_it 3399 src/bidi.c bidi_cache_fetch_state (idx, bidi_it); bidi_it 3403 src/bidi.c ptrdiff_t pos0 = bidi_it->charpos; bidi_it 3409 src/bidi.c if (!bidi_cache_iterator_state (bidi_it, 1, 0)) bidi_it 3418 src/bidi.c new_level = bidi_level_of_next_char (bidi_it); bidi_it 3421 src/bidi.c if (!bidi_cache_iterator_state (bidi_it, 1, 0)) bidi_it 3429 src/bidi.c eassert (new_level == bidi_it->level_stack[0].level); bidi_it 3434 src/bidi.c bidi_cache_fetch_state (bidi_cache_idx - 1, bidi_it); bidi_it 3435 src/bidi.c bidi_it->resolved_level = new_level; bidi_it 3436 src/bidi.c bidi_cache_iterator_state (bidi_it, 1, 1); bidi_it 3443 src/bidi.c if (max_redisplay_ticks > 0 && bidi_it->charpos > pos0) bidi_it 3444 src/bidi.c update_redisplay_ticks ((bidi_it->charpos - pos0) / 50 + 1, bidi_it->w); bidi_it 3449 src/bidi.c bidi_move_to_visually_next (struct bidi_it *bidi_it) bidi_it 3452 src/bidi.c struct bidi_it sentinel; bidi_it 3454 src/bidi.c if (bidi_it->charpos < 0 || bidi_it->bytepos < 0) bidi_it 3457 src/bidi.c if (bidi_it->scan_dir == 0) bidi_it 3459 src/bidi.c bidi_it->scan_dir = 1; /* default to logical order */ bidi_it 3463 src/bidi.c if (!bidi_it->first_elt bidi_it 3464 src/bidi.c && (bidi_it->ch == '\n' || bidi_it->ch == BIDI_EOB)) bidi_it 3465 src/bidi.c bidi_line_init (bidi_it); bidi_it 3472 src/bidi.c bidi_copy_it (&sentinel, bidi_it); bidi_it 3473 src/bidi.c if (bidi_it->first_elt) bidi_it 3484 src/bidi.c old_level = bidi_it->resolved_level; bidi_it 3485 src/bidi.c new_level = bidi_level_of_next_char (bidi_it); bidi_it 3498 src/bidi.c bidi_find_other_level_edge (bidi_it, level_to_search, !ascending); bidi_it 3501 src/bidi.c bidi_it->scan_dir = -bidi_it->scan_dir; bidi_it 3522 src/bidi.c next_level = bidi_peek_at_next_level (bidi_it); bidi_it 3536 src/bidi.c bidi_find_other_level_edge (bidi_it, level_to_search, !ascending); bidi_it 3537 src/bidi.c bidi_it->scan_dir = -bidi_it->scan_dir; bidi_it 3538 src/bidi.c next_level = bidi_peek_at_next_level (bidi_it); bidi_it 3542 src/bidi.c next_level = bidi_level_of_next_char (bidi_it); bidi_it 3554 src/bidi.c if (bidi_it->scan_dir == 1 bidi_it 3555 src/bidi.c && (bidi_it->ch == '\n' || bidi_it->ch == BIDI_EOB)) bidi_it 3562 src/bidi.c if (bidi_it->string.s || STRINGP (bidi_it->string.lstring)) bidi_it 3563 src/bidi.c bidi_it->separator_limit = bidi_it->string.schars; bidi_it 3564 src/bidi.c else if (bidi_it->bytepos < ZV_BYTE) bidi_it 3567 src/bidi.c = bidi_at_paragraph_end (bidi_it->charpos + bidi_it->nchars, bidi_it 3568 src/bidi.c bidi_it->bytepos + bidi_it->ch_len); bidi_it 3569 src/bidi.c if (bidi_it->nchars <= 0) bidi_it 3573 src/bidi.c bidi_it->new_paragraph = 1; bidi_it 3580 src/bidi.c bidi_it->separator_limit bidi_it 3581 src/bidi.c = bidi_it->charpos + bidi_it->nchars + sep_len; bidi_it 3583 src/bidi.c bidi_it->separator_limit = bidi_it->charpos; bidi_it 3588 src/bidi.c if (bidi_it->scan_dir == 1 && bidi_cache_idx > bidi_cache_start) bidi_it 3593 src/bidi.c if (bidi_it->resolved_level == bidi_it->level_stack[0].level bidi_it 3594 src/bidi.c && bidi_it->charpos > (bidi_cache[bidi_cache_idx - 1].charpos bidi_it 3599 src/bidi.c else if (bidi_it->resolved_level == bidi_it->level_stack[0].level bidi_it 3601 src/bidi.c && bidi_it->charpos == bidi_cache[bidi_cache_idx - 1].charpos) bidi_it 3608 src/bidi.c bidi_cache_iterator_state (bidi_it, 1, 0); bidi_it 3611 src/bidi.c eassert (bidi_it->resolved_level >= 0 bidi_it 3612 src/bidi.c && bidi_it->resolved_level <= BIDI_MAXDEPTH + 2); bidi_it 3619 src/bidi.c bidi_find_first_overridden (struct bidi_it *bidi_it) bidi_it 3622 src/bidi.c = STRINGP (bidi_it->string.lstring) ? bidi_it->string.schars : ZV; bidi_it 3627 src/bidi.c int max_l2r = bidi_it->paragraph_dir == L2R ? 0 : 2; bidi_it 3630 src/bidi.c int max_weak = bidi_it->paragraph_dir == L2R ? 1 : 2; bidi_it 3637 src/bidi.c bidi_type_t type = bidi_resolve_weak (bidi_it); bidi_it 3638 src/bidi.c unsigned level = bidi_it->level_stack[bidi_it->stack_idx].level; bidi_it 3639 src/bidi.c bidi_category_t category = bidi_get_category (bidi_it->orig_type); bidi_it 3643 src/bidi.c if ((type == STRONG_R && bidi_it->orig_type == STRONG_L) bidi_it 3645 src/bidi.c && (bidi_it->orig_type == STRONG_R bidi_it 3646 src/bidi.c || bidi_it->orig_type == STRONG_AL)) bidi_it 3650 src/bidi.c || ((bidi_it->orig_type == STRONG_L bidi_it 3651 src/bidi.c || bidi_it->orig_type == WEAK_EN) bidi_it 3653 src/bidi.c || ((bidi_it->orig_type == STRONG_R bidi_it 3654 src/bidi.c || bidi_it->orig_type == STRONG_AL) bidi_it 3658 src/bidi.c || ((category == WEAK || bidi_it->orig_type == NEUTRAL_ON) bidi_it 3660 src/bidi.c found_pos = bidi_it->charpos; bidi_it 3662 src/bidi.c && bidi_it->charpos < eob bidi_it 3663 src/bidi.c && bidi_it->ch != BIDI_EOB bidi_it 3664 src/bidi.c && bidi_it->ch != '\n'); bidi_it 2821 src/dispextern.h struct bidi_it bidi_it; bidi_it 2859 src/dispextern.h (IT)->glyph_row->reversed_p = (IT)->bidi_it.paragraph_dir == R2L; \ bidi_it 3422 src/dispextern.h extern void bidi_init_it (ptrdiff_t, ptrdiff_t, bool, struct bidi_it *); bidi_it 3423 src/dispextern.h extern void bidi_move_to_visually_next (struct bidi_it *); bidi_it 3424 src/dispextern.h extern void bidi_paragraph_init (bidi_dir_t, struct bidi_it *, bool); bidi_it 3426 src/dispextern.h extern void bidi_push_it (struct bidi_it *); bidi_it 3427 src/dispextern.h extern void bidi_pop_it (struct bidi_it *); bidi_it 3430 src/dispextern.h extern ptrdiff_t bidi_find_first_overridden (struct bidi_it *); bidi_it 5615 src/dispnew.c if (it.bidi_it.paragraph_dir == R2L) bidi_it 2416 src/indent.c if ((it.bidi_it.scan_dir >= 0 || it.vpos == vpos_init) bidi_it 1548 src/term.c glyph->resolved_level = it->bidi_it.resolved_level; bidi_it 1549 src/term.c eassert ((it->bidi_it.type & 7) == it->bidi_it.type); bidi_it 1550 src/term.c glyph->bidi_type = it->bidi_it.type; bidi_it 1764 src/term.c glyph->resolved_level = it->bidi_it.resolved_level; bidi_it 1765 src/term.c eassert ((it->bidi_it.type & 7) == it->bidi_it.type); bidi_it 1766 src/term.c glyph->bidi_type = it->bidi_it.type; bidi_it 1850 src/term.c glyph->resolved_level = it->bidi_it.resolved_level; bidi_it 1851 src/term.c eassert ((it->bidi_it.type & 7) == it->bidi_it.type); bidi_it 1852 src/term.c glyph->bidi_type = it->bidi_it.type; bidi_it 521 src/xdisp.c && ((IT)->bidi_it.paragraph_dir == R2L \ bidi_it 1790 src/xdisp.c && (((!it.bidi_p || it.bidi_it.scan_dir != -1) bidi_it 1795 src/xdisp.c || (it.bidi_p && it.bidi_it.scan_dir == -1 bidi_it 1820 src/xdisp.c && it.bidi_p && it.bidi_it.scan_dir == -1 bidi_it 2005 src/xdisp.c if ((it3.bidi_it.scan_dir == 1 bidi_it 2007 src/xdisp.c || (it3.bidi_it.scan_dir == -1 bidi_it 2061 src/xdisp.c if (it.bidi_it.paragraph_dir == R2L) bidi_it 2099 src/xdisp.c if (it2.bidi_it.paragraph_dir == R2L) bidi_it 3273 src/xdisp.c it->bidi_it.w = w; bidi_it 3528 src/xdisp.c &it->bidi_it); bidi_it 3800 src/xdisp.c && ((it->bidi_p && it->bidi_it.paragraph_dir == R2L) bidi_it 3962 src/xdisp.c it->bidi_it.string.lstring = it->string; bidi_it 3963 src/xdisp.c it->bidi_it.string.s = NULL; bidi_it 3964 src/xdisp.c it->bidi_it.string.schars = SCHARS (it->string); bidi_it 3965 src/xdisp.c it->bidi_it.string.bufpos = it->overlay_strings_charpos; bidi_it 3966 src/xdisp.c it->bidi_it.string.from_disp_str = it->string_from_display_prop_p; bidi_it 3967 src/xdisp.c it->bidi_it.string.unibyte = !it->multibyte_p; bidi_it 3968 src/xdisp.c it->bidi_it.w = it->w; bidi_it 3970 src/xdisp.c FRAME_WINDOW_P (it->f), &it->bidi_it); bidi_it 3986 src/xdisp.c eassert (it->bidi_it.charpos < it->bidi_it.string.schars); bidi_it 3987 src/xdisp.c bidi_move_to_visually_next (&it->bidi_it); bidi_it 3988 src/xdisp.c } while (it->bidi_it.charpos != 0); bidi_it 3990 src/xdisp.c eassert (IT_STRING_CHARPOS (*it) == it->bidi_it.charpos bidi_it 3991 src/xdisp.c && IT_STRING_BYTEPOS (*it) == it->bidi_it.bytepos); bidi_it 4004 src/xdisp.c FRAME_WINDOW_P (it->f), &it->bidi_it); bidi_it 4062 src/xdisp.c && (it->bidi_it.scan_dir == -1 && it->cmp_it.id >= 0)) bidi_it 4361 src/xdisp.c || ((!it->bidi_p || it->bidi_it.scan_dir >= 0) bidi_it 4369 src/xdisp.c if (it->bidi_p && it->bidi_it.scan_dir < 0) bidi_it 4906 src/xdisp.c bidi_init_it (0, 0, FRAME_WINDOW_P (it_copy.f), &it_copy.bidi_it); bidi_it 4907 src/xdisp.c it_copy.bidi_it.scan_dir = 0; bidi_it 4911 src/xdisp.c charpos = it_copy.bidi_it.charpos; bidi_it 4914 src/xdisp.c bidi_move_to_visually_next (&it_copy.bidi_it); bidi_it 4916 src/xdisp.c while (it_copy.bidi_it.charpos != IT_STRING_CHARPOS (*it)); bidi_it 4927 src/xdisp.c if (it_copy.bidi_it.first_elt) bidi_it 4930 src/xdisp.c bidi_move_to_visually_next (&it_copy.bidi_it); bidi_it 4932 src/xdisp.c charpos = it_copy.bidi_it.charpos; bidi_it 5031 src/xdisp.c if (it->bidi_it.first_elt) bidi_it 5034 src/xdisp.c bidi_move_to_visually_next (&it_copy.bidi_it); bidi_it 5037 src/xdisp.c it_copy.bidi_it.charpos, it_copy.bidi_it.bytepos); bidi_it 5136 src/xdisp.c if (it->bidi_it.first_elt bidi_it 5137 src/xdisp.c && it->bidi_it.charpos < SCHARS (it->string)) bidi_it 5139 src/xdisp.c &it->bidi_it, true); bidi_it 5143 src/xdisp.c bidi_move_to_visually_next (&it->bidi_it); bidi_it 5145 src/xdisp.c while (oldpos <= it->bidi_it.charpos bidi_it 5146 src/xdisp.c && it->bidi_it.charpos < endpos bidi_it 5147 src/xdisp.c && it->bidi_it.charpos < it->bidi_it.string.schars); bidi_it 5149 src/xdisp.c IT_STRING_CHARPOS (*it) = it->bidi_it.charpos; bidi_it 5150 src/xdisp.c IT_STRING_BYTEPOS (*it) = it->bidi_it.bytepos; bidi_it 5262 src/xdisp.c bidi_dir_t pdir = it->bidi_it.paragraph_dir; bidi_it 5273 src/xdisp.c it->bidi_it.first_elt = false; bidi_it 5274 src/xdisp.c it->bidi_it.paragraph_dir = pdir; bidi_it 5275 src/xdisp.c it->bidi_it.ch = (bpos == ZV_BYTE) ? -1 : '\n'; bidi_it 5276 src/xdisp.c it->bidi_it.nchars = 1; bidi_it 5277 src/xdisp.c it->bidi_it.ch_len = 1; bidi_it 5292 src/xdisp.c if (it->bidi_it.first_elt && it->bidi_it.charpos < ZV) bidi_it 5302 src/xdisp.c &it->bidi_it, true); bidi_it 5306 src/xdisp.c bidi_move_to_visually_next (&it->bidi_it); bidi_it 5308 src/xdisp.c while (it->stop_charpos <= it->bidi_it.charpos bidi_it 5309 src/xdisp.c && it->bidi_it.charpos < newpos); bidi_it 5310 src/xdisp.c IT_CHARPOS (*it) = it->bidi_it.charpos; bidi_it 5311 src/xdisp.c IT_BYTEPOS (*it) = it->bidi_it.bytepos; bidi_it 6239 src/xdisp.c if (it->bidi_p && it->bidi_it.paragraph_dir == R2L) bidi_it 6240 src/xdisp.c it->paragraph_embedding = it->bidi_it.paragraph_dir; bidi_it 6247 src/xdisp.c it->bidi_it.string.lstring = it->string; bidi_it 6248 src/xdisp.c it->bidi_it.string.s = NULL; bidi_it 6249 src/xdisp.c it->bidi_it.string.schars = it->end_charpos; bidi_it 6250 src/xdisp.c it->bidi_it.string.bufpos = bufpos; bidi_it 6251 src/xdisp.c it->bidi_it.string.from_disp_str = true; bidi_it 6252 src/xdisp.c it->bidi_it.string.unibyte = !it->multibyte_p; bidi_it 6253 src/xdisp.c it->bidi_it.w = it->w; bidi_it 6254 src/xdisp.c bidi_init_it (0, 0, FRAME_WINDOW_P (it->f), &it->bidi_it); bidi_it 6669 src/xdisp.c it->bidi_it.string.lstring = it->string; bidi_it 6670 src/xdisp.c it->bidi_it.string.s = NULL; bidi_it 6671 src/xdisp.c it->bidi_it.string.schars = SCHARS (it->string); bidi_it 6672 src/xdisp.c it->bidi_it.string.bufpos = it->overlay_strings_charpos; bidi_it 6673 src/xdisp.c it->bidi_it.string.from_disp_str = it->string_from_display_prop_p; bidi_it 6674 src/xdisp.c it->bidi_it.string.unibyte = !it->multibyte_p; bidi_it 6675 src/xdisp.c it->bidi_it.w = it->w; bidi_it 6676 src/xdisp.c bidi_init_it (0, 0, FRAME_WINDOW_P (it->f), &it->bidi_it); bidi_it 6922 src/xdisp.c if (it->bidi_p && it->bidi_it.paragraph_dir == R2L) bidi_it 6923 src/xdisp.c it->paragraph_embedding = it->bidi_it.paragraph_dir; bidi_it 6932 src/xdisp.c it->bidi_it.string.lstring = it->string; bidi_it 6933 src/xdisp.c it->bidi_it.string.s = NULL; bidi_it 6934 src/xdisp.c it->bidi_it.string.schars = SCHARS (it->string); bidi_it 6935 src/xdisp.c it->bidi_it.string.bufpos = pos; bidi_it 6936 src/xdisp.c it->bidi_it.string.from_disp_str = it->string_from_display_prop_p; bidi_it 6937 src/xdisp.c it->bidi_it.string.unibyte = !it->multibyte_p; bidi_it 6938 src/xdisp.c it->bidi_it.w = it->w; bidi_it 6939 src/xdisp.c bidi_init_it (0, 0, FRAME_WINDOW_P (it->f), &it->bidi_it); bidi_it 7033 src/xdisp.c bidi_push_it (&it->bidi_it); bidi_it 7048 src/xdisp.c if (it->bidi_it.first_elt && it->bidi_it.charpos < eob) bidi_it 7049 src/xdisp.c bidi_paragraph_init (it->paragraph_embedding, &it->bidi_it, true); bidi_it 7051 src/xdisp.c while (it->bidi_it.charpos >= bob bidi_it 7052 src/xdisp.c && it->prev_stop <= it->bidi_it.charpos bidi_it 7053 src/xdisp.c && it->bidi_it.charpos < CHARPOS (it->position) bidi_it 7054 src/xdisp.c && it->bidi_it.charpos < eob) bidi_it 7055 src/xdisp.c bidi_move_to_visually_next (&it->bidi_it); bidi_it 7058 src/xdisp.c if (it->bidi_it.charpos > CHARPOS (it->position)) bidi_it 7062 src/xdisp.c if (it->bidi_it.charpos != CHARPOS (it->position)) bidi_it 7063 src/xdisp.c SET_TEXT_POS (it->position, it->bidi_it.charpos, it->bidi_it.bytepos); bidi_it 7177 src/xdisp.c bidi_pop_it (&it->bidi_it); bidi_it 7190 src/xdisp.c && IT_CHARPOS (*it) == it->bidi_it.charpos bidi_it 7191 src/xdisp.c && IT_BYTEPOS (*it) == it->bidi_it.bytepos) bidi_it 7193 src/xdisp.c && IT_STRING_CHARPOS (*it) == it->bidi_it.charpos bidi_it 7194 src/xdisp.c && IT_STRING_BYTEPOS (*it) == it->bidi_it.bytepos) bidi_it 7310 src/xdisp.c struct bidi_it *bidi_it_prev) bidi_it 7324 src/xdisp.c *bidi_it_prev = it->bidi_it; bidi_it 7348 src/xdisp.c *bidi_it_prev = it->bidi_it; bidi_it 7408 src/xdisp.c struct bidi_it bprev; bidi_it 7413 src/xdisp.c if (it->bidi_it.disp_pos < limit) bidi_it 7415 src/xdisp.c it->bidi_it.disp_pos = limit; bidi_it 7416 src/xdisp.c it->bidi_it.disp_prop = 0; bidi_it 7419 src/xdisp.c bprev = it->bidi_it; bidi_it 7420 src/xdisp.c bidi_move_to_visually_next (&it->bidi_it); bidi_it 7421 src/xdisp.c } while (it->bidi_it.charpos != limit); bidi_it 7423 src/xdisp.c IT_BYTEPOS (*it) = it->bidi_it.bytepos; bidi_it 7438 src/xdisp.c *bidi_it_prev = it->bidi_it; bidi_it 7563 src/xdisp.c struct bidi_it bidi_it_prev; bidi_it 7599 src/xdisp.c it->bidi_it = bidi_it_prev; bidi_it 7600 src/xdisp.c IT_STRING_CHARPOS (*it) = it->bidi_it.charpos; bidi_it 7601 src/xdisp.c IT_STRING_BYTEPOS (*it) = it->bidi_it.bytepos; bidi_it 7616 src/xdisp.c it->bidi_it = bidi_it_prev; bidi_it 7617 src/xdisp.c IT_CHARPOS (*it) = it->bidi_it.charpos; bidi_it 7618 src/xdisp.c IT_BYTEPOS (*it) = it->bidi_it.bytepos; bidi_it 7744 src/xdisp.c &it->bidi_it); bidi_it 7746 src/xdisp.c it->bidi_it.paragraph_dir = NEUTRAL_DIR; bidi_it 7747 src/xdisp.c it->bidi_it.string.s = NULL; bidi_it 7748 src/xdisp.c it->bidi_it.string.lstring = Qnil; bidi_it 7749 src/xdisp.c it->bidi_it.string.bufpos = 0; bidi_it 7750 src/xdisp.c it->bidi_it.string.from_disp_str = false; bidi_it 7751 src/xdisp.c it->bidi_it.string.unibyte = false; bidi_it 7752 src/xdisp.c it->bidi_it.w = it->w; bidi_it 7822 src/xdisp.c it->bidi_it.string.lstring = string; bidi_it 7823 src/xdisp.c it->bidi_it.string.s = NULL; bidi_it 7824 src/xdisp.c it->bidi_it.string.schars = it->end_charpos; bidi_it 7825 src/xdisp.c it->bidi_it.string.bufpos = 0; bidi_it 7826 src/xdisp.c it->bidi_it.string.from_disp_str = false; bidi_it 7827 src/xdisp.c it->bidi_it.string.unibyte = !it->multibyte_p; bidi_it 7828 src/xdisp.c it->bidi_it.w = it->w; bidi_it 7830 src/xdisp.c FRAME_WINDOW_P (it->f), &it->bidi_it); bidi_it 7854 src/xdisp.c it->bidi_it.string.lstring = Qnil; bidi_it 7855 src/xdisp.c it->bidi_it.string.s = (const unsigned char *) s; bidi_it 7856 src/xdisp.c it->bidi_it.string.schars = it->end_charpos; bidi_it 7857 src/xdisp.c it->bidi_it.string.bufpos = 0; bidi_it 7858 src/xdisp.c it->bidi_it.string.from_disp_str = false; bidi_it 7859 src/xdisp.c it->bidi_it.string.unibyte = !it->multibyte_p; bidi_it 7860 src/xdisp.c it->bidi_it.w = it->w; bidi_it 7862 src/xdisp.c &it->bidi_it); bidi_it 7873 src/xdisp.c it->bidi_it.string.schars = it->end_charpos; bidi_it 7897 src/xdisp.c it->bidi_it.first_elt = true; bidi_it 7898 src/xdisp.c it->bidi_it.paragraph_dir = NEUTRAL_DIR; bidi_it 7899 src/xdisp.c it->bidi_it.disp_pos = -1; bidi_it 7950 src/xdisp.c ? (IT)->bidi_it.resolved_level \ bidi_it 8102 src/xdisp.c if (it->bidi_p && it->bidi_it.type == STRONG_R bidi_it 8565 src/xdisp.c bidi_move_to_visually_next (&it->bidi_it); bidi_it 8566 src/xdisp.c IT_BYTEPOS (*it) = it->bidi_it.bytepos; bidi_it 8567 src/xdisp.c IT_CHARPOS (*it) = it->bidi_it.charpos; bidi_it 8590 src/xdisp.c if (it->bidi_it.scan_dir < 0) bidi_it 8609 src/xdisp.c int prev_scan_dir = it->bidi_it.scan_dir; bidi_it 8612 src/xdisp.c if (it->bidi_it.new_paragraph) bidi_it 8613 src/xdisp.c bidi_paragraph_init (it->paragraph_embedding, &it->bidi_it, bidi_it 8615 src/xdisp.c bidi_move_to_visually_next (&it->bidi_it); bidi_it 8616 src/xdisp.c IT_BYTEPOS (*it) = it->bidi_it.bytepos; bidi_it 8617 src/xdisp.c IT_CHARPOS (*it) = it->bidi_it.charpos; bidi_it 8618 src/xdisp.c if (prev_scan_dir != it->bidi_it.scan_dir) bidi_it 8623 src/xdisp.c if (it->bidi_it.scan_dir < 0) bidi_it 8641 src/xdisp.c || IT_CHARPOS (*it) >= it->bidi_it.string.schars) bidi_it 8648 src/xdisp.c bidi_move_to_visually_next (&it->bidi_it); bidi_it 8649 src/xdisp.c IT_BYTEPOS (*it) = it->bidi_it.bytepos; bidi_it 8650 src/xdisp.c IT_CHARPOS (*it) = it->bidi_it.charpos; bidi_it 8740 src/xdisp.c bidi_move_to_visually_next (&it->bidi_it); bidi_it 8741 src/xdisp.c IT_STRING_BYTEPOS (*it) = it->bidi_it.bytepos; bidi_it 8742 src/xdisp.c IT_STRING_CHARPOS (*it) = it->bidi_it.charpos; bidi_it 8771 src/xdisp.c if (it->bidi_p && it->bidi_it.scan_dir < 0) bidi_it 8794 src/xdisp.c || IT_STRING_CHARPOS (*it) >= it->bidi_it.string.schars) bidi_it 8801 src/xdisp.c int prev_scan_dir = it->bidi_it.scan_dir; bidi_it 8803 src/xdisp.c bidi_move_to_visually_next (&it->bidi_it); bidi_it 8804 src/xdisp.c IT_STRING_BYTEPOS (*it) = it->bidi_it.bytepos; bidi_it 8805 src/xdisp.c IT_STRING_CHARPOS (*it) = it->bidi_it.charpos; bidi_it 8808 src/xdisp.c if (prev_scan_dir != it->bidi_it.scan_dir) bidi_it 8812 src/xdisp.c if (it->bidi_it.scan_dir < 0) bidi_it 8974 src/xdisp.c ptrdiff_t eob = (string_p ? it->bidi_it.string.schars : ZV); bidi_it 8985 src/xdisp.c it->bidi_it.charpos = IT_STRING_CHARPOS (*it); bidi_it 8986 src/xdisp.c it->bidi_it.bytepos = IT_STRING_BYTEPOS (*it); bidi_it 8990 src/xdisp.c it->bidi_it.charpos = IT_CHARPOS (*it); bidi_it 8991 src/xdisp.c it->bidi_it.bytepos = IT_BYTEPOS (*it); bidi_it 8994 src/xdisp.c if (it->bidi_it.charpos == eob) bidi_it 8999 src/xdisp.c it->bidi_it.first_elt = false; bidi_it 9001 src/xdisp.c else if (it->bidi_it.charpos == bob bidi_it 9003 src/xdisp.c && (FETCH_BYTE (it->bidi_it.bytepos - 1) == '\n' bidi_it 9004 src/xdisp.c || FETCH_BYTE (it->bidi_it.bytepos) == '\n'))) bidi_it 9008 src/xdisp.c bidi_paragraph_init (it->paragraph_embedding, &it->bidi_it, true); bidi_it 9009 src/xdisp.c bidi_move_to_visually_next (&it->bidi_it); bidi_it 9013 src/xdisp.c ptrdiff_t orig_bytepos = it->bidi_it.bytepos; bidi_it 9019 src/xdisp.c it->bidi_it.charpos = it->bidi_it.bytepos = 0; bidi_it 9021 src/xdisp.c SET_WITH_NARROWED_BEGV (it, it->bidi_it.charpos, bidi_it 9024 src/xdisp.c &it->bidi_it.bytepos), bidi_it 9026 src/xdisp.c bidi_paragraph_init (it->paragraph_embedding, &it->bidi_it, true); bidi_it 9031 src/xdisp.c bidi_move_to_visually_next (&it->bidi_it); bidi_it 9033 src/xdisp.c while (it->bidi_it.bytepos != orig_bytepos bidi_it 9034 src/xdisp.c && it->bidi_it.charpos < eob); bidi_it 9040 src/xdisp.c IT_STRING_CHARPOS (*it) = it->bidi_it.charpos; bidi_it 9041 src/xdisp.c IT_STRING_BYTEPOS (*it) = it->bidi_it.bytepos; bidi_it 9045 src/xdisp.c IT_CHARPOS (*it) = it->bidi_it.charpos; bidi_it 9046 src/xdisp.c IT_BYTEPOS (*it) = it->bidi_it.bytepos; bidi_it 9068 src/xdisp.c if (it->bidi_it.scan_dir < 0) bidi_it 9086 src/xdisp.c eassert (!it->bidi_p || EQ (it->string, it->bidi_it.string.lstring)); bidi_it 9094 src/xdisp.c if (it->bidi_p && it->bidi_it.first_elt) bidi_it 9106 src/xdisp.c || BIDI_AT_BASE_LEVEL (it->bidi_it) bidi_it 9128 src/xdisp.c if (BIDI_AT_BASE_LEVEL (it->bidi_it)) bidi_it 9147 src/xdisp.c && !BIDI_AT_BASE_LEVEL (it->bidi_it)) bidi_it 9173 src/xdisp.c it->bidi_it.scan_dir < 0 bidi_it 9211 src/xdisp.c it->bidi_it.scan_dir < 0 bidi_it 9252 src/xdisp.c eassert (!it->bidi_p || it->s == it->bidi_it.string.s); bidi_it 9261 src/xdisp.c if (it->bidi_p && it->bidi_it.first_elt) bidi_it 9453 src/xdisp.c || (NILP (it->bidi_it.string.lstring) bidi_it 9454 src/xdisp.c && it->bidi_it.string.s == NULL)); bidi_it 9460 src/xdisp.c if (it->bidi_p && it->bidi_it.first_elt) bidi_it 9492 src/xdisp.c || BIDI_AT_BASE_LEVEL (it->bidi_it) bidi_it 9515 src/xdisp.c if (BIDI_AT_BASE_LEVEL (it->bidi_it)) bidi_it 9532 src/xdisp.c && !BIDI_AT_BASE_LEVEL (it->bidi_it)) bidi_it 9566 src/xdisp.c if (it->bidi_it.scan_dir < 0) bidi_it 9573 src/xdisp.c stop = it->bidi_it.scan_dir < 0 ? -1 : it->end_charpos; bidi_it 9659 src/xdisp.c if (it->bidi_it.new_paragraph) bidi_it 9660 src/xdisp.c bidi_paragraph_init (it->paragraph_embedding, &it->bidi_it, bidi_it 9664 src/xdisp.c while (it->bidi_it.charpos < IT_CHARPOS (*it)) bidi_it 9665 src/xdisp.c bidi_move_to_visually_next (&it->bidi_it); bidi_it 9776 src/xdisp.c || BIDI_AT_BASE_LEVEL (it->bidi_it)) \ bidi_it 9828 src/xdisp.c || BIDI_AT_BASE_LEVEL (it->bidi_it)) bidi_it 10016 src/xdisp.c && ((it->bidi_p && it->bidi_it.paragraph_dir == R2L) bidi_it 10103 src/xdisp.c && it->bidi_it.paragraph_dir == R2L) bidi_it 10313 src/xdisp.c || ((it->bidi_p && it->bidi_it.paragraph_dir == R2L) bidi_it 10648 src/xdisp.c && it->bidi_it.scan_dir == -1)) bidi_it 24208 src/xdisp.c if (it->bidi_p && it->bidi_it.paragraph_dir == R2L) bidi_it 24209 src/xdisp.c it->paragraph_embedding = it->bidi_it.paragraph_dir; bidi_it 24216 src/xdisp.c it->bidi_it.string.lstring = it->string; bidi_it 24217 src/xdisp.c it->bidi_it.string.s = NULL; bidi_it 24218 src/xdisp.c it->bidi_it.string.schars = it->end_charpos; bidi_it 24219 src/xdisp.c it->bidi_it.string.bufpos = IT_CHARPOS (*it); bidi_it 24220 src/xdisp.c it->bidi_it.string.from_disp_str = it->string_from_display_prop_p; bidi_it 24221 src/xdisp.c it->bidi_it.string.unibyte = !it->multibyte_p; bidi_it 24222 src/xdisp.c it->bidi_it.w = it->w; bidi_it 24223 src/xdisp.c bidi_init_it (0, 0, FRAME_WINDOW_P (it->f), &it->bidi_it); bidi_it 24719 src/xdisp.c tem_it.bidi_it.type = WEAK_EN; bidi_it 24723 src/xdisp.c tem_it.bidi_it.resolved_level = 2; bidi_it 25902 src/xdisp.c struct bidi_it itb; bidi_it 26006 src/xdisp.c struct bidi_it itb; bidi_it 26404 src/xdisp.c pt_x += pixel_width * it.bidi_it.scan_dir; bidi_it 31058 src/xdisp.c glyph->resolved_level = it->bidi_it.resolved_level; bidi_it 31059 src/xdisp.c eassert ((it->bidi_it.type & 7) == it->bidi_it.type); bidi_it 31060 src/xdisp.c glyph->bidi_type = it->bidi_it.type; bidi_it 31141 src/xdisp.c glyph->resolved_level = it->bidi_it.resolved_level; bidi_it 31142 src/xdisp.c eassert ((it->bidi_it.type & 7) == it->bidi_it.type); bidi_it 31143 src/xdisp.c glyph->bidi_type = it->bidi_it.type; bidi_it 31341 src/xdisp.c glyph->resolved_level = it->bidi_it.resolved_level; bidi_it 31342 src/xdisp.c eassert ((it->bidi_it.type & 7) == it->bidi_it.type); bidi_it 31343 src/xdisp.c glyph->bidi_type = it->bidi_it.type; bidi_it 31446 src/xdisp.c glyph->resolved_level = it->bidi_it.resolved_level; bidi_it 31447 src/xdisp.c eassert ((it->bidi_it.type & 7) == it->bidi_it.type); bidi_it 31448 src/xdisp.c glyph->bidi_type = it->bidi_it.type; bidi_it 31536 src/xdisp.c glyph->resolved_level = it->bidi_it.resolved_level; bidi_it 31537 src/xdisp.c eassert ((it->bidi_it.type & 7) == it->bidi_it.type); bidi_it 31538 src/xdisp.c glyph->bidi_type = it->bidi_it.type; bidi_it 31809 src/xdisp.c if (it->bidi_it.paragraph_dir == R2L) bidi_it 32070 src/xdisp.c glyph->resolved_level = it->bidi_it.resolved_level; bidi_it 32071 src/xdisp.c eassert ((it->bidi_it.type & 7) == it->bidi_it.type); bidi_it 32072 src/xdisp.c glyph->bidi_type = it->bidi_it.type;