[gtk+] Improve AtkText implementations
- From: Matthias Clasen <matthiasc src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk+] Improve AtkText implementations
- Date: Sun, 20 Nov 2011 00:29:55 +0000 (UTC)
commit c3d96ff2c0bca78c8caafc7a853186362900af19
Author: Matthias Clasen <mclasen redhat com>
Date: Sat Nov 19 19:28:48 2011 -0500
Improve AtkText implementations
There was some regressions from the recent display line fix;
while fixing it improve the test coverage and make GtkEntry
and GtkTextView return identical results.
gtk/a11y/gtktextviewaccessible.c | 9 +-
gtk/gtkpango.c | 8 +-
tests/a11y/text.c | 550 +++++++++++++++++++++++++++++---------
3 files changed, 432 insertions(+), 135 deletions(-)
---
diff --git a/gtk/a11y/gtktextviewaccessible.c b/gtk/a11y/gtktextviewaccessible.c
index b620c9c..97db302 100644
--- a/gtk/a11y/gtktextviewaccessible.c
+++ b/gtk/a11y/gtktextviewaccessible.c
@@ -280,6 +280,7 @@ gtk_text_view_accessible_get_text_before_offset (AtkText *text,
gtk_text_view_backward_display_line_start (view, &start);
end = start;
gtk_text_view_backward_display_line (view, &start);
+ gtk_text_view_backward_display_line_start (view, &start);
}
else if (boundary_type == ATK_TEXT_BOUNDARY_LINE_END)
{
@@ -288,12 +289,14 @@ gtk_text_view_accessible_get_text_before_offset (AtkText *text,
{
gtk_text_view_backward_display_line (view, &start);
end = start;
+ gtk_text_view_forward_display_line_end (view, &end);
if (!gtk_text_iter_is_start (&start))
{
- gtk_text_view_backward_display_line (view, &start);
- gtk_text_view_forward_display_line_end (view, &start);
+ if (gtk_text_view_backward_display_line (view, &start))
+ gtk_text_view_forward_display_line_end (view, &start);
+ else
+ gtk_text_iter_set_offset (&start, 0);
}
- gtk_text_view_forward_display_line_end (view, &end);
}
else
end = start;
diff --git a/gtk/gtkpango.c b/gtk/gtkpango.c
index 2181b7b..6f72eef 100644
--- a/gtk/gtkpango.c
+++ b/gtk/gtkpango.c
@@ -1143,7 +1143,7 @@ _gtk_pango_get_text_after (PangoLayout *layout,
if (end < n_attrs - 1)
{
end = _gtk_pango_move_words (layout, end, 1);
- while (!attrs[end].is_word_end && end < n_attrs - 1)
+ while (!attrs[end].is_word_start && end < n_attrs - 1)
end = _gtk_pango_move_chars (layout, end, 1);
}
break;
@@ -1158,7 +1158,7 @@ _gtk_pango_get_text_after (PangoLayout *layout,
case ATK_TEXT_BOUNDARY_SENTENCE_START:
if (_gtk_pango_is_inside_sentence (layout, end))
end = _gtk_pango_move_sentences (layout, end, 1);
- while (!attrs[end].is_sentence_end && end < n_attrs - 1)
+ while (!attrs[end].is_sentence_start && end < n_attrs - 1)
end = _gtk_pango_move_chars (layout, end, 1);
start = end;
if (end < n_attrs - 1)
@@ -1245,7 +1245,7 @@ _gtk_pango_get_text_at (PangoLayout *layout,
if (_gtk_pango_is_inside_word (layout, end))
end = _gtk_pango_move_words (layout, end, 1);
while (!attrs[end].is_word_start && end < n_attrs - 1)
- end = _gtk_pango_move_chars (layout, end, -1);
+ end = _gtk_pango_move_chars (layout, end, 1);
break;
case ATK_TEXT_BOUNDARY_WORD_END:
@@ -1262,7 +1262,7 @@ _gtk_pango_get_text_at (PangoLayout *layout,
start = _gtk_pango_move_sentences (layout, start, -1);
if (_gtk_pango_is_inside_sentence (layout, end))
end = _gtk_pango_move_sentences (layout, end, 1);
- while (!attrs[end].is_word_end && end < n_attrs - 1)
+ while (!attrs[end].is_sentence_start && end < n_attrs - 1)
end = _gtk_pango_move_chars (layout, end, 1);
break;
diff --git a/tests/a11y/text.c b/tests/a11y/text.c
index 80b8b77..254df16 100644
--- a/tests/a11y/text.c
+++ b/tests/a11y/text.c
@@ -335,69 +335,69 @@ test_words (GtkWidget *widget)
AtkText *atk_text;
const gchar *text = "abc! def\nghi jkl\nmno";
Word expected[] = {
- { -1, 0, ATK_TEXT_BOUNDARY_CHAR, 0, 0, "" },
- { -1, 1, ATK_TEXT_BOUNDARY_CHAR, 0, 1, "a" },
- { -1, 2, ATK_TEXT_BOUNDARY_CHAR, 1, 2, "b" },
- { -1, 3, ATK_TEXT_BOUNDARY_CHAR, 2, 3, "c" },
- { -1, 4, ATK_TEXT_BOUNDARY_CHAR, 3, 4, "!" },
- { -1, 5, ATK_TEXT_BOUNDARY_CHAR, 4, 5, " " },
- { -1, 6, ATK_TEXT_BOUNDARY_CHAR, 5, 6, "d" },
- { -1, 7, ATK_TEXT_BOUNDARY_CHAR, 6, 7, "e" },
- { -1, 8, ATK_TEXT_BOUNDARY_CHAR, 7, 8, "f" },
- { -1, 9, ATK_TEXT_BOUNDARY_CHAR, 8, 9, "\n" },
- { -1, 10, ATK_TEXT_BOUNDARY_CHAR, 9, 10, "g" },
- { -1, 11, ATK_TEXT_BOUNDARY_CHAR, 10, 11, "h" },
- { -1, 12, ATK_TEXT_BOUNDARY_CHAR, 11, 12, "i" },
- { -1, 13, ATK_TEXT_BOUNDARY_CHAR, 12, 13, " " },
- { -1, 14, ATK_TEXT_BOUNDARY_CHAR, 13, 14, "j" },
- { -1, 15, ATK_TEXT_BOUNDARY_CHAR, 14, 15, "k" },
- { -1, 16, ATK_TEXT_BOUNDARY_CHAR, 15, 16, "l" },
- { -1, 17, ATK_TEXT_BOUNDARY_CHAR, 16, 17, "\n" },
- { -1, 18, ATK_TEXT_BOUNDARY_CHAR, 17, 18, "m" },
- { -1, 19, ATK_TEXT_BOUNDARY_CHAR, 18, 19, "n" },
- { -1, 20, ATK_TEXT_BOUNDARY_CHAR, 19, 20, "o" },
- { -1, 0, ATK_TEXT_BOUNDARY_WORD_START, 0, 0, "" },
- { -1, 1, ATK_TEXT_BOUNDARY_WORD_START, 0, 0, "" },
- { -1, 2, ATK_TEXT_BOUNDARY_WORD_START, 0, 0, "" },
- { -1, 3, ATK_TEXT_BOUNDARY_WORD_START, 0, 0, "" },
- { -1, 4, ATK_TEXT_BOUNDARY_WORD_START, 0, 0, "" },
- { -1, 5, ATK_TEXT_BOUNDARY_WORD_START, 0, 5, "abc! " },
- { -1, 6, ATK_TEXT_BOUNDARY_WORD_START, 0, 5, "abc! " },
- { -1, 7, ATK_TEXT_BOUNDARY_WORD_START, 0, 5, "abc! " },
- { -1, 8, ATK_TEXT_BOUNDARY_WORD_START, 0, 5, "abc! " },
- { -1, 9, ATK_TEXT_BOUNDARY_WORD_START, 5, 9, "def\n" },
- { -1, 10, ATK_TEXT_BOUNDARY_WORD_START, 5, 9, "def\n" },
- { -1, 11, ATK_TEXT_BOUNDARY_WORD_START, 5, 9, "def\n" },
- { -1, 12, ATK_TEXT_BOUNDARY_WORD_START, 5, 9, "def\n" },
- { -1, 13, ATK_TEXT_BOUNDARY_WORD_START, 9, 13, "ghi " },
- { -1, 14, ATK_TEXT_BOUNDARY_WORD_START, 9, 13, "ghi " },
- { -1, 15, ATK_TEXT_BOUNDARY_WORD_START, 9, 13, "ghi " },
- { -1, 16, ATK_TEXT_BOUNDARY_WORD_START, 9, 13, "ghi " },
- { -1, 17, ATK_TEXT_BOUNDARY_WORD_START, 13, 17, "jkl\n" },
- { -1, 18, ATK_TEXT_BOUNDARY_WORD_START, 13, 17, "jkl\n" },
- { -1, 19, ATK_TEXT_BOUNDARY_WORD_START, 13, 17, "jkl\n" },
- { -1, 20, ATK_TEXT_BOUNDARY_WORD_START, 13, 17, "jkl\n" },
- { -1, 0, ATK_TEXT_BOUNDARY_WORD_END, 0, 0, "" },
- { -1, 1, ATK_TEXT_BOUNDARY_WORD_END, 0, 0, "" },
- { -1, 2, ATK_TEXT_BOUNDARY_WORD_END, 0, 0, "" },
- { -1, 3, ATK_TEXT_BOUNDARY_WORD_END, 0, 3, "abc" },
- { -1, 4, ATK_TEXT_BOUNDARY_WORD_END, 0, 3, "abc" },
- { -1, 5, ATK_TEXT_BOUNDARY_WORD_END, 0, 3, "abc" },
- { -1, 6, ATK_TEXT_BOUNDARY_WORD_END, 0, 3, "abc" },
- { -1, 7, ATK_TEXT_BOUNDARY_WORD_END, 0, 3, "abc" },
- { -1, 8, ATK_TEXT_BOUNDARY_WORD_END, 3, 8, "! def" },
- { -1, 9, ATK_TEXT_BOUNDARY_WORD_END, 3, 8, "! def" },
- { -1, 10, ATK_TEXT_BOUNDARY_WORD_END, 3, 8, "! def" },
- { -1, 11, ATK_TEXT_BOUNDARY_WORD_END, 3, 8, "! def" },
- { -1, 12, ATK_TEXT_BOUNDARY_WORD_END, 8, 12, "\nghi" },
- { -1, 13, ATK_TEXT_BOUNDARY_WORD_END, 8, 12, "\nghi" },
- { -1, 14, ATK_TEXT_BOUNDARY_WORD_END, 8, 12, "\nghi" },
- { -1, 15, ATK_TEXT_BOUNDARY_WORD_END, 8, 12, "\nghi" },
- { -1, 16, ATK_TEXT_BOUNDARY_WORD_END, 12, 16, " jkl" },
- { -1, 17, ATK_TEXT_BOUNDARY_WORD_END, 12, 16, " jkl" },
- { -1, 18, ATK_TEXT_BOUNDARY_WORD_END, 12, 16, " jkl" },
- { -1, 19, ATK_TEXT_BOUNDARY_WORD_END, 12, 16, " jkl" },
- { -1, 20, ATK_TEXT_BOUNDARY_WORD_END, 16, 20, "\nmno" },
+ { -1, 0, ATK_TEXT_BOUNDARY_CHAR, 0, 0, "" },
+ { -1, 1, ATK_TEXT_BOUNDARY_CHAR, 0, 1, "a" },
+ { -1, 2, ATK_TEXT_BOUNDARY_CHAR, 1, 2, "b" },
+ { -1, 3, ATK_TEXT_BOUNDARY_CHAR, 2, 3, "c" },
+ { -1, 4, ATK_TEXT_BOUNDARY_CHAR, 3, 4, "!" },
+ { -1, 5, ATK_TEXT_BOUNDARY_CHAR, 4, 5, " " },
+ { -1, 6, ATK_TEXT_BOUNDARY_CHAR, 5, 6, "d" },
+ { -1, 7, ATK_TEXT_BOUNDARY_CHAR, 6, 7, "e" },
+ { -1, 8, ATK_TEXT_BOUNDARY_CHAR, 7, 8, "f" },
+ { -1, 9, ATK_TEXT_BOUNDARY_CHAR, 8, 9, "\n" },
+ { -1, 10, ATK_TEXT_BOUNDARY_CHAR, 9, 10, "g" },
+ { -1, 11, ATK_TEXT_BOUNDARY_CHAR, 10, 11, "h" },
+ { -1, 12, ATK_TEXT_BOUNDARY_CHAR, 11, 12, "i" },
+ { -1, 13, ATK_TEXT_BOUNDARY_CHAR, 12, 13, " " },
+ { -1, 14, ATK_TEXT_BOUNDARY_CHAR, 13, 14, "j" },
+ { -1, 15, ATK_TEXT_BOUNDARY_CHAR, 14, 15, "k" },
+ { -1, 16, ATK_TEXT_BOUNDARY_CHAR, 15, 16, "l" },
+ { -1, 17, ATK_TEXT_BOUNDARY_CHAR, 16, 17, "\n" },
+ { -1, 18, ATK_TEXT_BOUNDARY_CHAR, 17, 18, "m" },
+ { -1, 19, ATK_TEXT_BOUNDARY_CHAR, 18, 19, "n" },
+ { -1, 20, ATK_TEXT_BOUNDARY_CHAR, 19, 20, "o" },
+ { -1, 0, ATK_TEXT_BOUNDARY_WORD_START, 0, 0, "" },
+ { -1, 1, ATK_TEXT_BOUNDARY_WORD_START, 0, 0, "" },
+ { -1, 2, ATK_TEXT_BOUNDARY_WORD_START, 0, 0, "" },
+ { -1, 3, ATK_TEXT_BOUNDARY_WORD_START, 0, 0, "" },
+ { -1, 4, ATK_TEXT_BOUNDARY_WORD_START, 0, 0, "" },
+ { -1, 5, ATK_TEXT_BOUNDARY_WORD_START, 0, 5, "abc! " },
+ { -1, 6, ATK_TEXT_BOUNDARY_WORD_START, 0, 5, "abc! " },
+ { -1, 7, ATK_TEXT_BOUNDARY_WORD_START, 0, 5, "abc! " },
+ { -1, 8, ATK_TEXT_BOUNDARY_WORD_START, 0, 5, "abc! " },
+ { -1, 9, ATK_TEXT_BOUNDARY_WORD_START, 5, 9, "def\n" },
+ { -1, 10, ATK_TEXT_BOUNDARY_WORD_START, 5, 9, "def\n" },
+ { -1, 11, ATK_TEXT_BOUNDARY_WORD_START, 5, 9, "def\n" },
+ { -1, 12, ATK_TEXT_BOUNDARY_WORD_START, 5, 9, "def\n" },
+ { -1, 13, ATK_TEXT_BOUNDARY_WORD_START, 9, 13, "ghi " },
+ { -1, 14, ATK_TEXT_BOUNDARY_WORD_START, 9, 13, "ghi " },
+ { -1, 15, ATK_TEXT_BOUNDARY_WORD_START, 9, 13, "ghi " },
+ { -1, 16, ATK_TEXT_BOUNDARY_WORD_START, 9, 13, "ghi " },
+ { -1, 17, ATK_TEXT_BOUNDARY_WORD_START, 13, 17, "jkl\n" },
+ { -1, 18, ATK_TEXT_BOUNDARY_WORD_START, 13, 17, "jkl\n" },
+ { -1, 19, ATK_TEXT_BOUNDARY_WORD_START, 13, 17, "jkl\n" },
+ { -1, 20, ATK_TEXT_BOUNDARY_WORD_START, 13, 17, "jkl\n" },
+ { -1, 0, ATK_TEXT_BOUNDARY_WORD_END, 0, 0, "" },
+ { -1, 1, ATK_TEXT_BOUNDARY_WORD_END, 0, 0, "" },
+ { -1, 2, ATK_TEXT_BOUNDARY_WORD_END, 0, 0, "" },
+ { -1, 3, ATK_TEXT_BOUNDARY_WORD_END, 0, 3, "abc" },
+ { -1, 4, ATK_TEXT_BOUNDARY_WORD_END, 0, 3, "abc" },
+ { -1, 5, ATK_TEXT_BOUNDARY_WORD_END, 0, 3, "abc" },
+ { -1, 6, ATK_TEXT_BOUNDARY_WORD_END, 0, 3, "abc" },
+ { -1, 7, ATK_TEXT_BOUNDARY_WORD_END, 0, 3, "abc" },
+ { -1, 8, ATK_TEXT_BOUNDARY_WORD_END, 3, 8, "! def" },
+ { -1, 9, ATK_TEXT_BOUNDARY_WORD_END, 3, 8, "! def" },
+ { -1, 10, ATK_TEXT_BOUNDARY_WORD_END, 3, 8, "! def" },
+ { -1, 11, ATK_TEXT_BOUNDARY_WORD_END, 3, 8, "! def" },
+ { -1, 12, ATK_TEXT_BOUNDARY_WORD_END, 8, 12, "\nghi" },
+ { -1, 13, ATK_TEXT_BOUNDARY_WORD_END, 8, 12, "\nghi" },
+ { -1, 14, ATK_TEXT_BOUNDARY_WORD_END, 8, 12, "\nghi" },
+ { -1, 15, ATK_TEXT_BOUNDARY_WORD_END, 8, 12, "\nghi" },
+ { -1, 16, ATK_TEXT_BOUNDARY_WORD_END, 12, 16, " jkl" },
+ { -1, 17, ATK_TEXT_BOUNDARY_WORD_END, 12, 16, " jkl" },
+ { -1, 18, ATK_TEXT_BOUNDARY_WORD_END, 12, 16, " jkl" },
+ { -1, 19, ATK_TEXT_BOUNDARY_WORD_END, 12, 16, " jkl" },
+ { -1, 20, ATK_TEXT_BOUNDARY_WORD_END, 16, 20, "\nmno" },
{ -1, 0, ATK_TEXT_BOUNDARY_SENTENCE_START, 0, 0, "" },
{ -1, 1, ATK_TEXT_BOUNDARY_SENTENCE_START, 0, 0, "" },
{ -1, 2, ATK_TEXT_BOUNDARY_SENTENCE_START, 0, 0, "" },
@@ -419,69 +419,363 @@ test_words (GtkWidget *widget)
{ -1, 18, ATK_TEXT_BOUNDARY_SENTENCE_START, 9, 17, "ghi jkl\n" },
{ -1, 19, ATK_TEXT_BOUNDARY_SENTENCE_START, 9, 17, "ghi jkl\n" },
{ -1, 20, ATK_TEXT_BOUNDARY_SENTENCE_START, 9, 17, "ghi jkl\n" },
- { -1, 0, ATK_TEXT_BOUNDARY_SENTENCE_END, 0, 0, "" },
- { -1, 1, ATK_TEXT_BOUNDARY_SENTENCE_END, 0, 0, "" },
- { -1, 2, ATK_TEXT_BOUNDARY_SENTENCE_END, 0, 0, "" },
- { -1, 3, ATK_TEXT_BOUNDARY_SENTENCE_END, 0, 0, "" },
- { -1, 4, ATK_TEXT_BOUNDARY_SENTENCE_END, 0, 4, "abc!" },
- { -1, 5, ATK_TEXT_BOUNDARY_SENTENCE_END, 0, 4, "abc!" },
- { -1, 6, ATK_TEXT_BOUNDARY_SENTENCE_END, 0, 4, "abc!" },
- { -1, 7, ATK_TEXT_BOUNDARY_SENTENCE_END, 0, 4, "abc!" },
- { -1, 8, ATK_TEXT_BOUNDARY_SENTENCE_END, 4, 8, " def" },
- { -1, 9, ATK_TEXT_BOUNDARY_SENTENCE_END, 4, 8, " def" },
- { -1, 10, ATK_TEXT_BOUNDARY_SENTENCE_END, 4, 8, " def" },
- { -1, 11, ATK_TEXT_BOUNDARY_SENTENCE_END, 4, 8, " def" },
- { -1, 12, ATK_TEXT_BOUNDARY_SENTENCE_END, 4, 8, " def" },
- { -1, 13, ATK_TEXT_BOUNDARY_SENTENCE_END, 4, 8, " def" },
- { -1, 14, ATK_TEXT_BOUNDARY_SENTENCE_END, 4, 8, " def" },
- { -1, 15, ATK_TEXT_BOUNDARY_SENTENCE_END, 4, 8, " def" },
- { -1, 16, ATK_TEXT_BOUNDARY_SENTENCE_END, 8, 16, "\nghi jkl" },
- { -1, 17, ATK_TEXT_BOUNDARY_SENTENCE_END, 8, 16, "\nghi jkl" },
- { -1, 18, ATK_TEXT_BOUNDARY_SENTENCE_END, 8, 16, "\nghi jkl" },
- { -1, 19, ATK_TEXT_BOUNDARY_SENTENCE_END, 8, 16, "\nghi jkl" },
- { -1, 20, ATK_TEXT_BOUNDARY_SENTENCE_END, 16, 20, "\nmno" },
- { -1, 0, ATK_TEXT_BOUNDARY_LINE_START, 0, 0, "" },
- { -1, 1, ATK_TEXT_BOUNDARY_LINE_START, 0, 0, "" },
- { -1, 2, ATK_TEXT_BOUNDARY_LINE_START, 0, 0, "" },
- { -1, 3, ATK_TEXT_BOUNDARY_LINE_START, 0, 0, "" },
- { -1, 4, ATK_TEXT_BOUNDARY_LINE_START, 0, 0, "" },
- { -1, 5, ATK_TEXT_BOUNDARY_LINE_START, 0, 0, "" },
- { -1, 6, ATK_TEXT_BOUNDARY_LINE_START, 0, 0, "" },
- { -1, 7, ATK_TEXT_BOUNDARY_LINE_START, 0, 0, "" },
- { -1, 8, ATK_TEXT_BOUNDARY_LINE_START, 0, 0, "" },
- { -1, 9, ATK_TEXT_BOUNDARY_LINE_START, 0, 9, "abc! def\n" },
- { -1, 10, ATK_TEXT_BOUNDARY_LINE_START, 0, 9, "abc! def\n" },
- { -1, 11, ATK_TEXT_BOUNDARY_LINE_START, 0, 9, "abc! def\n" },
- { -1, 12, ATK_TEXT_BOUNDARY_LINE_START, 0, 9, "abc! def\n" },
- { -1, 13, ATK_TEXT_BOUNDARY_LINE_START, 0, 9, "abc! def\n" },
- { -1, 14, ATK_TEXT_BOUNDARY_LINE_START, 0, 9, "abc! def\n" },
- { -1, 15, ATK_TEXT_BOUNDARY_LINE_START, 0, 9, "abc! def\n" },
- { -1, 16, ATK_TEXT_BOUNDARY_LINE_START, 0, 9, "abc! def\n" },
- { -1, 17, ATK_TEXT_BOUNDARY_LINE_START, 9, 17, "ghi jkl\n" },
- { -1, 18, ATK_TEXT_BOUNDARY_LINE_START, 9, 17, "ghi jkl\n" },
- { -1, 19, ATK_TEXT_BOUNDARY_LINE_START, 9, 17, "ghi jkl\n" },
- { -1, 20, ATK_TEXT_BOUNDARY_LINE_START, 9, 17, "ghi jkl\n" },
- { -1, 0, ATK_TEXT_BOUNDARY_LINE_END, 0, 0, "" },
- { -1, 1, ATK_TEXT_BOUNDARY_LINE_END, 0, 0, "" },
- { -1, 2, ATK_TEXT_BOUNDARY_LINE_END, 0, 0, "" },
- { -1, 3, ATK_TEXT_BOUNDARY_LINE_END, 0, 0, "" },
- { -1, 4, ATK_TEXT_BOUNDARY_LINE_END, 0, 0, "" },
- { -1, 5, ATK_TEXT_BOUNDARY_LINE_END, 0, 0, "" },
- { -1, 6, ATK_TEXT_BOUNDARY_LINE_END, 0, 0, "" },
- { -1, 7, ATK_TEXT_BOUNDARY_LINE_END, 0, 0, "" },
- { -1, 8, ATK_TEXT_BOUNDARY_LINE_END, 0, 0, "" },
- { -1, 9, ATK_TEXT_BOUNDARY_LINE_END, 0, 8, "abc! def" },
- { -1, 10, ATK_TEXT_BOUNDARY_LINE_END, 0, 8, "abc! def" },
- { -1, 11, ATK_TEXT_BOUNDARY_LINE_END, 0, 8, "abc! def" },
- { -1, 12, ATK_TEXT_BOUNDARY_LINE_END, 0, 8, "abc! def" },
- { -1, 13, ATK_TEXT_BOUNDARY_LINE_END, 0, 8, "abc! def" },
- { -1, 14, ATK_TEXT_BOUNDARY_LINE_END, 0, 8, "abc! def" },
- { -1, 15, ATK_TEXT_BOUNDARY_LINE_END, 0, 8, "abc! def" },
- { -1, 16, ATK_TEXT_BOUNDARY_LINE_END, 0, 8, "abc! def" },
- { -1, 17, ATK_TEXT_BOUNDARY_LINE_END, 8, 16, "\nghi jkl" },
- { -1, 18, ATK_TEXT_BOUNDARY_LINE_END, 8, 16, "\nghi jkl" },
- { -1, 19, ATK_TEXT_BOUNDARY_LINE_END, 8, 16, "\nghi jkl" },
- { -1, 20, ATK_TEXT_BOUNDARY_LINE_END, 8, 16, "\nghi jkl" },
+ { -1, 0, ATK_TEXT_BOUNDARY_SENTENCE_END, 0, 0, "" },
+ { -1, 1, ATK_TEXT_BOUNDARY_SENTENCE_END, 0, 0, "" },
+ { -1, 2, ATK_TEXT_BOUNDARY_SENTENCE_END, 0, 0, "" },
+ { -1, 3, ATK_TEXT_BOUNDARY_SENTENCE_END, 0, 0, "" },
+ { -1, 4, ATK_TEXT_BOUNDARY_SENTENCE_END, 0, 4, "abc!" },
+ { -1, 5, ATK_TEXT_BOUNDARY_SENTENCE_END, 0, 4, "abc!" },
+ { -1, 6, ATK_TEXT_BOUNDARY_SENTENCE_END, 0, 4, "abc!" },
+ { -1, 7, ATK_TEXT_BOUNDARY_SENTENCE_END, 0, 4, "abc!" },
+ { -1, 8, ATK_TEXT_BOUNDARY_SENTENCE_END, 4, 8, " def" },
+ { -1, 9, ATK_TEXT_BOUNDARY_SENTENCE_END, 4, 8, " def" },
+ { -1, 10, ATK_TEXT_BOUNDARY_SENTENCE_END, 4, 8, " def" },
+ { -1, 11, ATK_TEXT_BOUNDARY_SENTENCE_END, 4, 8, " def" },
+ { -1, 12, ATK_TEXT_BOUNDARY_SENTENCE_END, 4, 8, " def" },
+ { -1, 13, ATK_TEXT_BOUNDARY_SENTENCE_END, 4, 8, " def" },
+ { -1, 14, ATK_TEXT_BOUNDARY_SENTENCE_END, 4, 8, " def" },
+ { -1, 15, ATK_TEXT_BOUNDARY_SENTENCE_END, 4, 8, " def" },
+ { -1, 16, ATK_TEXT_BOUNDARY_SENTENCE_END, 8, 16, "\nghi jkl" },
+ { -1, 17, ATK_TEXT_BOUNDARY_SENTENCE_END, 8, 16, "\nghi jkl" },
+ { -1, 18, ATK_TEXT_BOUNDARY_SENTENCE_END, 8, 16, "\nghi jkl" },
+ { -1, 19, ATK_TEXT_BOUNDARY_SENTENCE_END, 8, 16, "\nghi jkl" },
+ { -1, 20, ATK_TEXT_BOUNDARY_SENTENCE_END, 16, 20, "\nmno" },
+ { -1, 0, ATK_TEXT_BOUNDARY_LINE_START, 0, 0, "" },
+ { -1, 1, ATK_TEXT_BOUNDARY_LINE_START, 0, 0, "" },
+ { -1, 2, ATK_TEXT_BOUNDARY_LINE_START, 0, 0, "" },
+ { -1, 3, ATK_TEXT_BOUNDARY_LINE_START, 0, 0, "" },
+ { -1, 4, ATK_TEXT_BOUNDARY_LINE_START, 0, 0, "" },
+ { -1, 5, ATK_TEXT_BOUNDARY_LINE_START, 0, 0, "" },
+ { -1, 6, ATK_TEXT_BOUNDARY_LINE_START, 0, 0, "" },
+ { -1, 7, ATK_TEXT_BOUNDARY_LINE_START, 0, 0, "" },
+ { -1, 8, ATK_TEXT_BOUNDARY_LINE_START, 0, 0, "" },
+ { -1, 9, ATK_TEXT_BOUNDARY_LINE_START, 0, 9, "abc! def\n" },
+ { -1, 10, ATK_TEXT_BOUNDARY_LINE_START, 0, 9, "abc! def\n" },
+ { -1, 11, ATK_TEXT_BOUNDARY_LINE_START, 0, 9, "abc! def\n" },
+ { -1, 12, ATK_TEXT_BOUNDARY_LINE_START, 0, 9, "abc! def\n" },
+ { -1, 13, ATK_TEXT_BOUNDARY_LINE_START, 0, 9, "abc! def\n" },
+ { -1, 14, ATK_TEXT_BOUNDARY_LINE_START, 0, 9, "abc! def\n" },
+ { -1, 15, ATK_TEXT_BOUNDARY_LINE_START, 0, 9, "abc! def\n" },
+ { -1, 16, ATK_TEXT_BOUNDARY_LINE_START, 0, 9, "abc! def\n" },
+ { -1, 17, ATK_TEXT_BOUNDARY_LINE_START, 9, 17, "ghi jkl\n" },
+ { -1, 18, ATK_TEXT_BOUNDARY_LINE_START, 9, 17, "ghi jkl\n" },
+ { -1, 19, ATK_TEXT_BOUNDARY_LINE_START, 9, 17, "ghi jkl\n" },
+ { -1, 20, ATK_TEXT_BOUNDARY_LINE_START, 9, 17, "ghi jkl\n" },
+ { -1, 0, ATK_TEXT_BOUNDARY_LINE_END, 0, 0, "" },
+ { -1, 1, ATK_TEXT_BOUNDARY_LINE_END, 0, 0, "" },
+ { -1, 2, ATK_TEXT_BOUNDARY_LINE_END, 0, 0, "" },
+ { -1, 3, ATK_TEXT_BOUNDARY_LINE_END, 0, 0, "" },
+ { -1, 4, ATK_TEXT_BOUNDARY_LINE_END, 0, 0, "" },
+ { -1, 5, ATK_TEXT_BOUNDARY_LINE_END, 0, 0, "" },
+ { -1, 6, ATK_TEXT_BOUNDARY_LINE_END, 0, 0, "" },
+ { -1, 7, ATK_TEXT_BOUNDARY_LINE_END, 0, 0, "" },
+ { -1, 8, ATK_TEXT_BOUNDARY_LINE_END, 0, 0, "" },
+ { -1, 9, ATK_TEXT_BOUNDARY_LINE_END, 0, 8, "abc! def" },
+ { -1, 10, ATK_TEXT_BOUNDARY_LINE_END, 0, 8, "abc! def" },
+ { -1, 11, ATK_TEXT_BOUNDARY_LINE_END, 0, 8, "abc! def" },
+ { -1, 12, ATK_TEXT_BOUNDARY_LINE_END, 0, 8, "abc! def" },
+ { -1, 13, ATK_TEXT_BOUNDARY_LINE_END, 0, 8, "abc! def" },
+ { -1, 14, ATK_TEXT_BOUNDARY_LINE_END, 0, 8, "abc! def" },
+ { -1, 15, ATK_TEXT_BOUNDARY_LINE_END, 0, 8, "abc! def" },
+ { -1, 16, ATK_TEXT_BOUNDARY_LINE_END, 0, 8, "abc! def" },
+ { -1, 17, ATK_TEXT_BOUNDARY_LINE_END, 8, 16, "\nghi jkl" },
+ { -1, 18, ATK_TEXT_BOUNDARY_LINE_END, 8, 16, "\nghi jkl" },
+ { -1, 19, ATK_TEXT_BOUNDARY_LINE_END, 8, 16, "\nghi jkl" },
+ { -1, 20, ATK_TEXT_BOUNDARY_LINE_END, 8, 16, "\nghi jkl" },
+ { 0, 0, ATK_TEXT_BOUNDARY_CHAR, 0, 1, "a" },
+ { 0, 1, ATK_TEXT_BOUNDARY_CHAR, 1, 2, "b" },
+ { 0, 2, ATK_TEXT_BOUNDARY_CHAR, 2, 3, "c" },
+ { 0, 3, ATK_TEXT_BOUNDARY_CHAR, 3, 4, "!" },
+ { 0, 4, ATK_TEXT_BOUNDARY_CHAR, 4, 5, " " },
+ { 0, 5, ATK_TEXT_BOUNDARY_CHAR, 5, 6, "d" },
+ { 0, 6, ATK_TEXT_BOUNDARY_CHAR, 6, 7, "e" },
+ { 0, 7, ATK_TEXT_BOUNDARY_CHAR, 7, 8, "f" },
+ { 0, 8, ATK_TEXT_BOUNDARY_CHAR, 8, 9, "\n" },
+ { 0, 9, ATK_TEXT_BOUNDARY_CHAR, 9, 10, "g" },
+ { 0, 10, ATK_TEXT_BOUNDARY_CHAR, 10, 11, "h" },
+ { 0, 11, ATK_TEXT_BOUNDARY_CHAR, 11, 12, "i" },
+ { 0, 12, ATK_TEXT_BOUNDARY_CHAR, 12, 13, " " },
+ { 0, 13, ATK_TEXT_BOUNDARY_CHAR, 13, 14, "j" },
+ { 0, 14, ATK_TEXT_BOUNDARY_CHAR, 14, 15, "k" },
+ { 0, 15, ATK_TEXT_BOUNDARY_CHAR, 15, 16, "l" },
+ { 0, 16, ATK_TEXT_BOUNDARY_CHAR, 16, 17, "\n" },
+ { 0, 17, ATK_TEXT_BOUNDARY_CHAR, 17, 18, "m" },
+ { 0, 18, ATK_TEXT_BOUNDARY_CHAR, 18, 19, "n" },
+ { 0, 19, ATK_TEXT_BOUNDARY_CHAR, 19, 20, "o" },
+ { 0, 20, ATK_TEXT_BOUNDARY_CHAR, 20, 20, "" },
+ { 0, 0, ATK_TEXT_BOUNDARY_WORD_START, 0, 5, "abc! " },
+ { 0, 1, ATK_TEXT_BOUNDARY_WORD_START, 0, 5, "abc! " },
+ { 0, 2, ATK_TEXT_BOUNDARY_WORD_START, 0, 5, "abc! " },
+ { 0, 3, ATK_TEXT_BOUNDARY_WORD_START, 0, 5, "abc! " },
+ { 0, 4, ATK_TEXT_BOUNDARY_WORD_START, 0, 5, "abc! " },
+ { 0, 5, ATK_TEXT_BOUNDARY_WORD_START, 5, 9, "def\n" },
+ { 0, 6, ATK_TEXT_BOUNDARY_WORD_START, 5, 9, "def\n" },
+ { 0, 7, ATK_TEXT_BOUNDARY_WORD_START, 5, 9, "def\n" },
+ { 0, 8, ATK_TEXT_BOUNDARY_WORD_START, 5, 9, "def\n" },
+ { 0, 9, ATK_TEXT_BOUNDARY_WORD_START, 9, 13, "ghi " },
+ { 0, 10, ATK_TEXT_BOUNDARY_WORD_START, 9, 13, "ghi " },
+ { 0, 11, ATK_TEXT_BOUNDARY_WORD_START, 9, 13, "ghi " },
+ { 0, 12, ATK_TEXT_BOUNDARY_WORD_START, 9, 13, "ghi " },
+ { 0, 13, ATK_TEXT_BOUNDARY_WORD_START, 13, 17, "jkl\n" },
+ { 0, 14, ATK_TEXT_BOUNDARY_WORD_START, 13, 17, "jkl\n" },
+ { 0, 15, ATK_TEXT_BOUNDARY_WORD_START, 13, 17, "jkl\n" },
+ { 0, 16, ATK_TEXT_BOUNDARY_WORD_START, 13, 17, "jkl\n" },
+ { 0, 17, ATK_TEXT_BOUNDARY_WORD_START, 17, 20, "mno" },
+ { 0, 18, ATK_TEXT_BOUNDARY_WORD_START, 17, 20, "mno" },
+ { 0, 19, ATK_TEXT_BOUNDARY_WORD_START, 17, 20, "mno" },
+ { 0, 20, ATK_TEXT_BOUNDARY_WORD_START, 17, 20, "mno" },
+ { 0, 0, ATK_TEXT_BOUNDARY_WORD_END, 0, 3, "abc" },
+ { 0, 1, ATK_TEXT_BOUNDARY_WORD_END, 0, 3, "abc" },
+ { 0, 2, ATK_TEXT_BOUNDARY_WORD_END, 0, 3, "abc" },
+ { 0, 3, ATK_TEXT_BOUNDARY_WORD_END, 3, 8, "! def" },
+ { 0, 4, ATK_TEXT_BOUNDARY_WORD_END, 3, 8, "! def" },
+ { 0, 5, ATK_TEXT_BOUNDARY_WORD_END, 3, 8, "! def" },
+ { 0, 6, ATK_TEXT_BOUNDARY_WORD_END, 3, 8, "! def" },
+ { 0, 7, ATK_TEXT_BOUNDARY_WORD_END, 3, 8, "! def" },
+ { 0, 8, ATK_TEXT_BOUNDARY_WORD_END, 8, 12, "\nghi" },
+ { 0, 9, ATK_TEXT_BOUNDARY_WORD_END, 8, 12, "\nghi" },
+ { 0, 10, ATK_TEXT_BOUNDARY_WORD_END, 8, 12, "\nghi" },
+ { 0, 11, ATK_TEXT_BOUNDARY_WORD_END, 8, 12, "\nghi" },
+ { 0, 12, ATK_TEXT_BOUNDARY_WORD_END, 12, 16, " jkl" },
+ { 0, 13, ATK_TEXT_BOUNDARY_WORD_END, 12, 16, " jkl" },
+ { 0, 14, ATK_TEXT_BOUNDARY_WORD_END, 12, 16, " jkl" },
+ { 0, 15, ATK_TEXT_BOUNDARY_WORD_END, 12, 16, " jkl" },
+ { 0, 16, ATK_TEXT_BOUNDARY_WORD_END, 16, 20, "\nmno" },
+ { 0, 17, ATK_TEXT_BOUNDARY_WORD_END, 16, 20, "\nmno" },
+ { 0, 18, ATK_TEXT_BOUNDARY_WORD_END, 16, 20, "\nmno" },
+ { 0, 19, ATK_TEXT_BOUNDARY_WORD_END, 16, 20, "\nmno" },
+ { 0, 20, ATK_TEXT_BOUNDARY_WORD_END, 20, 20, "" },
+ { 0, 0, ATK_TEXT_BOUNDARY_SENTENCE_START, 0, 5, "abc! " },
+ { 0, 1, ATK_TEXT_BOUNDARY_SENTENCE_START, 0, 5, "abc! " },
+ { 0, 2, ATK_TEXT_BOUNDARY_SENTENCE_START, 0, 5, "abc! " },
+ { 0, 3, ATK_TEXT_BOUNDARY_SENTENCE_START, 0, 5, "abc! " },
+ { 0, 4, ATK_TEXT_BOUNDARY_SENTENCE_START, 0, 5, "abc! " },
+ { 0, 5, ATK_TEXT_BOUNDARY_SENTENCE_START, 5, 9, "def\n" },
+ { 0, 6, ATK_TEXT_BOUNDARY_SENTENCE_START, 5, 9, "def\n" },
+ { 0, 7, ATK_TEXT_BOUNDARY_SENTENCE_START, 5, 9, "def\n" },
+ { 0, 8, ATK_TEXT_BOUNDARY_SENTENCE_START, 5, 9, "def\n" },
+ { 0, 9, ATK_TEXT_BOUNDARY_SENTENCE_START, 9, 17, "ghi jkl\n" },
+ { 0, 10, ATK_TEXT_BOUNDARY_SENTENCE_START, 9, 17, "ghi jkl\n" },
+ { 0, 11, ATK_TEXT_BOUNDARY_SENTENCE_START, 9, 17, "ghi jkl\n" },
+ { 0, 12, ATK_TEXT_BOUNDARY_SENTENCE_START, 9, 17, "ghi jkl\n" },
+ { 0, 13, ATK_TEXT_BOUNDARY_SENTENCE_START, 9, 17, "ghi jkl\n" },
+ { 0, 14, ATK_TEXT_BOUNDARY_SENTENCE_START, 9, 17, "ghi jkl\n" },
+ { 0, 15, ATK_TEXT_BOUNDARY_SENTENCE_START, 9, 17, "ghi jkl\n" },
+ { 0, 16, ATK_TEXT_BOUNDARY_SENTENCE_START, 9, 17, "ghi jkl\n" },
+ { 0, 17, ATK_TEXT_BOUNDARY_SENTENCE_START, 17, 20, "mno" },
+ { 0, 18, ATK_TEXT_BOUNDARY_SENTENCE_START, 17, 20, "mno" },
+ { 0, 19, ATK_TEXT_BOUNDARY_SENTENCE_START, 17, 20, "mno" },
+ { 0, 20, ATK_TEXT_BOUNDARY_SENTENCE_START, 17, 20, "mno" },
+ { 0, 0, ATK_TEXT_BOUNDARY_SENTENCE_END, 0, 4, "abc!" },
+ { 0, 1, ATK_TEXT_BOUNDARY_SENTENCE_END, 0, 4, "abc!" },
+ { 0, 2, ATK_TEXT_BOUNDARY_SENTENCE_END, 0, 4, "abc!" },
+ { 0, 3, ATK_TEXT_BOUNDARY_SENTENCE_END, 0, 4, "abc!" },
+ { 0, 4, ATK_TEXT_BOUNDARY_SENTENCE_END, 4, 8, " def" },
+ { 0, 5, ATK_TEXT_BOUNDARY_SENTENCE_END, 4, 8, " def" },
+ { 0, 6, ATK_TEXT_BOUNDARY_SENTENCE_END, 4, 8, " def" },
+ { 0, 7, ATK_TEXT_BOUNDARY_SENTENCE_END, 4, 8, " def" },
+ { 0, 8, ATK_TEXT_BOUNDARY_SENTENCE_END, 8, 16, "\nghi jkl" },
+ { 0, 9, ATK_TEXT_BOUNDARY_SENTENCE_END, 8, 16, "\nghi jkl" },
+ { 0, 10, ATK_TEXT_BOUNDARY_SENTENCE_END, 8, 16, "\nghi jkl" },
+ { 0, 11, ATK_TEXT_BOUNDARY_SENTENCE_END, 8, 16, "\nghi jkl" },
+ { 0, 12, ATK_TEXT_BOUNDARY_SENTENCE_END, 8, 16, "\nghi jkl" },
+ { 0, 13, ATK_TEXT_BOUNDARY_SENTENCE_END, 8, 16, "\nghi jkl" },
+ { 0, 14, ATK_TEXT_BOUNDARY_SENTENCE_END, 8, 16, "\nghi jkl" },
+ { 0, 15, ATK_TEXT_BOUNDARY_SENTENCE_END, 8, 16, "\nghi jkl" },
+ { 0, 16, ATK_TEXT_BOUNDARY_SENTENCE_END, 16, 20, "\nmno" },
+ { 0, 17, ATK_TEXT_BOUNDARY_SENTENCE_END, 16, 20, "\nmno" },
+ { 0, 18, ATK_TEXT_BOUNDARY_SENTENCE_END, 16, 20, "\nmno" },
+ { 0, 19, ATK_TEXT_BOUNDARY_SENTENCE_END, 16, 20, "\nmno" },
+ { 0, 20, ATK_TEXT_BOUNDARY_SENTENCE_END, 20, 20, "" },
+ { 0, 0, ATK_TEXT_BOUNDARY_LINE_START, 0, 9, "abc! def\n" },
+ { 0, 1, ATK_TEXT_BOUNDARY_LINE_START, 0, 9, "abc! def\n" },
+ { 0, 2, ATK_TEXT_BOUNDARY_LINE_START, 0, 9, "abc! def\n" },
+ { 0, 3, ATK_TEXT_BOUNDARY_LINE_START, 0, 9, "abc! def\n" },
+ { 0, 4, ATK_TEXT_BOUNDARY_LINE_START, 0, 9, "abc! def\n" },
+ { 0, 5, ATK_TEXT_BOUNDARY_LINE_START, 0, 9, "abc! def\n" },
+ { 0, 6, ATK_TEXT_BOUNDARY_LINE_START, 0, 9, "abc! def\n" },
+ { 0, 7, ATK_TEXT_BOUNDARY_LINE_START, 0, 9, "abc! def\n" },
+ { 0, 8, ATK_TEXT_BOUNDARY_LINE_START, 0, 9, "abc! def\n" },
+ { 0, 9, ATK_TEXT_BOUNDARY_LINE_START, 9, 17, "ghi jkl\n" },
+ { 0, 10, ATK_TEXT_BOUNDARY_LINE_START, 9, 17, "ghi jkl\n" },
+ { 0, 11, ATK_TEXT_BOUNDARY_LINE_START, 9, 17, "ghi jkl\n" },
+ { 0, 12, ATK_TEXT_BOUNDARY_LINE_START, 9, 17, "ghi jkl\n" },
+ { 0, 13, ATK_TEXT_BOUNDARY_LINE_START, 9, 17, "ghi jkl\n" },
+ { 0, 14, ATK_TEXT_BOUNDARY_LINE_START, 9, 17, "ghi jkl\n" },
+ { 0, 15, ATK_TEXT_BOUNDARY_LINE_START, 9, 17, "ghi jkl\n" },
+ { 0, 16, ATK_TEXT_BOUNDARY_LINE_START, 9, 17, "ghi jkl\n" },
+ { 0, 17, ATK_TEXT_BOUNDARY_LINE_START, 17, 20, "mno" },
+ { 0, 18, ATK_TEXT_BOUNDARY_LINE_START, 17, 20, "mno" },
+ { 0, 19, ATK_TEXT_BOUNDARY_LINE_START, 17, 20, "mno" },
+ { 0, 20, ATK_TEXT_BOUNDARY_LINE_START, 17, 20, "mno" },
+ { 0, 0, ATK_TEXT_BOUNDARY_LINE_END, 0, 8, "abc! def" },
+ { 0, 1, ATK_TEXT_BOUNDARY_LINE_END, 0, 8, "abc! def" },
+ { 0, 2, ATK_TEXT_BOUNDARY_LINE_END, 0, 8, "abc! def" },
+ { 0, 3, ATK_TEXT_BOUNDARY_LINE_END, 0, 8, "abc! def" },
+ { 0, 4, ATK_TEXT_BOUNDARY_LINE_END, 0, 8, "abc! def" },
+ { 0, 5, ATK_TEXT_BOUNDARY_LINE_END, 0, 8, "abc! def" },
+ { 0, 6, ATK_TEXT_BOUNDARY_LINE_END, 0, 8, "abc! def" },
+ { 0, 7, ATK_TEXT_BOUNDARY_LINE_END, 0, 8, "abc! def" },
+ { 0, 8, ATK_TEXT_BOUNDARY_LINE_END, 0, 8, "abc! def" },
+ { 0, 9, ATK_TEXT_BOUNDARY_LINE_END, 8, 16, "\nghi jkl" },
+ { 0, 10, ATK_TEXT_BOUNDARY_LINE_END, 8, 16, "\nghi jkl" },
+ { 0, 11, ATK_TEXT_BOUNDARY_LINE_END, 8, 16, "\nghi jkl" },
+ { 0, 12, ATK_TEXT_BOUNDARY_LINE_END, 8, 16, "\nghi jkl" },
+ { 0, 13, ATK_TEXT_BOUNDARY_LINE_END, 8, 16, "\nghi jkl" },
+ { 0, 14, ATK_TEXT_BOUNDARY_LINE_END, 8, 16, "\nghi jkl" },
+ { 0, 15, ATK_TEXT_BOUNDARY_LINE_END, 8, 16, "\nghi jkl" },
+ { 0, 16, ATK_TEXT_BOUNDARY_LINE_END, 8, 16, "\nghi jkl" },
+ { 0, 17, ATK_TEXT_BOUNDARY_LINE_END, 16, 20, "\nmno" },
+ { 0, 18, ATK_TEXT_BOUNDARY_LINE_END, 16, 20, "\nmno" },
+ { 0, 19, ATK_TEXT_BOUNDARY_LINE_END, 16, 20, "\nmno" },
+ { 0, 20, ATK_TEXT_BOUNDARY_LINE_END, 16, 20, "\nmno" },
+ { 1, 0, ATK_TEXT_BOUNDARY_CHAR, 1, 2, "b" },
+ { 1, 1, ATK_TEXT_BOUNDARY_CHAR, 2, 3, "c" },
+ { 1, 2, ATK_TEXT_BOUNDARY_CHAR, 3, 4, "!" },
+ { 1, 3, ATK_TEXT_BOUNDARY_CHAR, 4, 5, " " },
+ { 1, 4, ATK_TEXT_BOUNDARY_CHAR, 5, 6, "d" },
+ { 1, 5, ATK_TEXT_BOUNDARY_CHAR, 6, 7, "e" },
+ { 1, 6, ATK_TEXT_BOUNDARY_CHAR, 7, 8, "f" },
+ { 1, 7, ATK_TEXT_BOUNDARY_CHAR, 8, 9, "\n" },
+ { 1, 8, ATK_TEXT_BOUNDARY_CHAR, 9, 10, "g" },
+ { 1, 9, ATK_TEXT_BOUNDARY_CHAR, 10, 11, "h" },
+ { 1, 10, ATK_TEXT_BOUNDARY_CHAR, 11, 12, "i" },
+ { 1, 11, ATK_TEXT_BOUNDARY_CHAR, 12, 13, " " },
+ { 1, 12, ATK_TEXT_BOUNDARY_CHAR, 13, 14, "j" },
+ { 1, 13, ATK_TEXT_BOUNDARY_CHAR, 14, 15, "k" },
+ { 1, 14, ATK_TEXT_BOUNDARY_CHAR, 15, 16, "l" },
+ { 1, 15, ATK_TEXT_BOUNDARY_CHAR, 16, 17, "\n" },
+ { 1, 16, ATK_TEXT_BOUNDARY_CHAR, 17, 18, "m" },
+ { 1, 17, ATK_TEXT_BOUNDARY_CHAR, 18, 19, "n" },
+ { 1, 18, ATK_TEXT_BOUNDARY_CHAR, 19, 20, "o" },
+ { 1, 19, ATK_TEXT_BOUNDARY_CHAR, 20, 20, "" },
+ { 1, 20, ATK_TEXT_BOUNDARY_CHAR, 20, 20, "" },
+ { 1, 0, ATK_TEXT_BOUNDARY_WORD_START, 5, 9, "def\n" },
+ { 1, 1, ATK_TEXT_BOUNDARY_WORD_START, 5, 9, "def\n" },
+ { 1, 2, ATK_TEXT_BOUNDARY_WORD_START, 5, 9, "def\n" },
+ { 1, 3, ATK_TEXT_BOUNDARY_WORD_START, 5, 9, "def\n" },
+ { 1, 4, ATK_TEXT_BOUNDARY_WORD_START, 5, 9, "def\n" },
+ { 1, 5, ATK_TEXT_BOUNDARY_WORD_START, 9, 13, "ghi " },
+ { 1, 6, ATK_TEXT_BOUNDARY_WORD_START, 9, 13, "ghi " },
+ { 1, 7, ATK_TEXT_BOUNDARY_WORD_START, 9, 13, "ghi " },
+ { 1, 8, ATK_TEXT_BOUNDARY_WORD_START, 9, 13, "ghi " },
+ { 1, 9, ATK_TEXT_BOUNDARY_WORD_START, 13, 17, "jkl\n" },
+ { 1, 10, ATK_TEXT_BOUNDARY_WORD_START, 13, 17, "jkl\n" },
+ { 1, 11, ATK_TEXT_BOUNDARY_WORD_START, 13, 17, "jkl\n" },
+ { 1, 12, ATK_TEXT_BOUNDARY_WORD_START, 13, 17, "jkl\n" },
+ { 1, 13, ATK_TEXT_BOUNDARY_WORD_START, 17, 20, "mno" },
+ { 1, 14, ATK_TEXT_BOUNDARY_WORD_START, 17, 20, "mno" },
+ { 1, 15, ATK_TEXT_BOUNDARY_WORD_START, 17, 20, "mno" },
+ { 1, 16, ATK_TEXT_BOUNDARY_WORD_START, 17, 20, "mno" },
+ { 1, 17, ATK_TEXT_BOUNDARY_WORD_START, 20, 20, "" },
+ { 1, 18, ATK_TEXT_BOUNDARY_WORD_START, 20, 20, "" },
+ { 1, 19, ATK_TEXT_BOUNDARY_WORD_START, 20, 20, "" },
+ { 1, 20, ATK_TEXT_BOUNDARY_WORD_START, 20, 20, "" },
+ { 1, 0, ATK_TEXT_BOUNDARY_WORD_END, 3, 8, "! def" },
+ { 1, 1, ATK_TEXT_BOUNDARY_WORD_END, 3, 8, "! def" },
+ { 1, 2, ATK_TEXT_BOUNDARY_WORD_END, 3, 8, "! def" },
+ { 1, 3, ATK_TEXT_BOUNDARY_WORD_END, 8, 12, "\nghi" },
+ { 1, 4, ATK_TEXT_BOUNDARY_WORD_END, 8, 12, "\nghi" },
+ { 1, 5, ATK_TEXT_BOUNDARY_WORD_END, 8, 12, "\nghi" },
+ { 1, 6, ATK_TEXT_BOUNDARY_WORD_END, 8, 12, "\nghi" },
+ { 1, 7, ATK_TEXT_BOUNDARY_WORD_END, 8, 12, "\nghi" },
+ { 1, 8, ATK_TEXT_BOUNDARY_WORD_END, 12, 16, " jkl" },
+ { 1, 9, ATK_TEXT_BOUNDARY_WORD_END, 12, 16, " jkl" },
+ { 1, 10, ATK_TEXT_BOUNDARY_WORD_END, 12, 16, " jkl" },
+ { 1, 11, ATK_TEXT_BOUNDARY_WORD_END, 12, 16, " jkl" },
+ { 1, 12, ATK_TEXT_BOUNDARY_WORD_END, 16, 20, "\nmno" },
+ { 1, 13, ATK_TEXT_BOUNDARY_WORD_END, 16, 20, "\nmno" },
+ { 1, 14, ATK_TEXT_BOUNDARY_WORD_END, 16, 20, "\nmno" },
+ { 1, 15, ATK_TEXT_BOUNDARY_WORD_END, 16, 20, "\nmno" },
+ { 1, 16, ATK_TEXT_BOUNDARY_WORD_END, 20, 20, "" },
+ { 1, 17, ATK_TEXT_BOUNDARY_WORD_END, 20, 20, "" },
+ { 1, 18, ATK_TEXT_BOUNDARY_WORD_END, 20, 20, "" },
+ { 1, 19, ATK_TEXT_BOUNDARY_WORD_END, 20, 20, "" },
+ { 1, 20, ATK_TEXT_BOUNDARY_WORD_END, 20, 20, "" },
+ { 1, 0, ATK_TEXT_BOUNDARY_SENTENCE_START, 5, 9, "def\n" },
+ { 1, 1, ATK_TEXT_BOUNDARY_SENTENCE_START, 5, 9, "def\n" },
+ { 1, 2, ATK_TEXT_BOUNDARY_SENTENCE_START, 5, 9, "def\n" },
+ { 1, 3, ATK_TEXT_BOUNDARY_SENTENCE_START, 5, 9, "def\n" },
+ { 1, 4, ATK_TEXT_BOUNDARY_SENTENCE_START, 5, 9, "def\n" },
+ { 1, 5, ATK_TEXT_BOUNDARY_SENTENCE_START, 9, 17, "ghi jkl\n" },
+ { 1, 6, ATK_TEXT_BOUNDARY_SENTENCE_START, 9, 17, "ghi jkl\n" },
+ { 1, 7, ATK_TEXT_BOUNDARY_SENTENCE_START, 9, 17, "ghi jkl\n" },
+ { 1, 8, ATK_TEXT_BOUNDARY_SENTENCE_START, 9, 17, "ghi jkl\n" },
+ { 1, 9, ATK_TEXT_BOUNDARY_SENTENCE_START, 17, 20, "mno" },
+ { 1, 10, ATK_TEXT_BOUNDARY_SENTENCE_START, 17, 20, "mno" },
+ { 1, 11, ATK_TEXT_BOUNDARY_SENTENCE_START, 17, 20, "mno" },
+ { 1, 12, ATK_TEXT_BOUNDARY_SENTENCE_START, 17, 20, "mno" },
+ { 1, 13, ATK_TEXT_BOUNDARY_SENTENCE_START, 17, 20, "mno" },
+ { 1, 14, ATK_TEXT_BOUNDARY_SENTENCE_START, 17, 20, "mno" },
+ { 1, 15, ATK_TEXT_BOUNDARY_SENTENCE_START, 17, 20, "mno" },
+ { 1, 16, ATK_TEXT_BOUNDARY_SENTENCE_START, 17, 20, "mno" },
+ { 1, 17, ATK_TEXT_BOUNDARY_SENTENCE_START, 20, 20, "" },
+ { 1, 18, ATK_TEXT_BOUNDARY_SENTENCE_START, 20, 20, "" },
+ { 1, 19, ATK_TEXT_BOUNDARY_SENTENCE_START, 20, 20, "" },
+ { 1, 20, ATK_TEXT_BOUNDARY_SENTENCE_START, 20, 20, "" },
+ { 1, 0, ATK_TEXT_BOUNDARY_SENTENCE_END, 4, 8, " def" },
+ { 1, 1, ATK_TEXT_BOUNDARY_SENTENCE_END, 4, 8, " def" },
+ { 1, 2, ATK_TEXT_BOUNDARY_SENTENCE_END, 4, 8, " def" },
+ { 1, 3, ATK_TEXT_BOUNDARY_SENTENCE_END, 4, 8, " def" },
+ { 1, 4, ATK_TEXT_BOUNDARY_SENTENCE_END, 8, 16, "\nghi jkl" },
+ { 1, 5, ATK_TEXT_BOUNDARY_SENTENCE_END, 8, 16, "\nghi jkl" },
+ { 1, 6, ATK_TEXT_BOUNDARY_SENTENCE_END, 8, 16, "\nghi jkl" },
+ { 1, 7, ATK_TEXT_BOUNDARY_SENTENCE_END, 8, 16, "\nghi jkl" },
+ { 1, 8, ATK_TEXT_BOUNDARY_SENTENCE_END, 16, 20, "\nmno" },
+ { 1, 9, ATK_TEXT_BOUNDARY_SENTENCE_END, 16, 20, "\nmno" },
+ { 1, 10, ATK_TEXT_BOUNDARY_SENTENCE_END, 16, 20, "\nmno" },
+ { 1, 11, ATK_TEXT_BOUNDARY_SENTENCE_END, 16, 20, "\nmno" },
+ { 1, 12, ATK_TEXT_BOUNDARY_SENTENCE_END, 16, 20, "\nmno" },
+ { 1, 13, ATK_TEXT_BOUNDARY_SENTENCE_END, 16, 20, "\nmno" },
+ { 1, 14, ATK_TEXT_BOUNDARY_SENTENCE_END, 16, 20, "\nmno" },
+ { 1, 15, ATK_TEXT_BOUNDARY_SENTENCE_END, 16, 20, "\nmno" },
+ { 1, 16, ATK_TEXT_BOUNDARY_SENTENCE_END, 20, 20, "" },
+ { 1, 17, ATK_TEXT_BOUNDARY_SENTENCE_END, 20, 20, "" },
+ { 1, 18, ATK_TEXT_BOUNDARY_SENTENCE_END, 20, 20, "" },
+ { 1, 19, ATK_TEXT_BOUNDARY_SENTENCE_END, 20, 20, "" },
+ { 1, 20, ATK_TEXT_BOUNDARY_SENTENCE_END, 20, 20, "" },
+ { 1, 0, ATK_TEXT_BOUNDARY_LINE_START, 9, 17, "ghi jkl\n" },
+ { 1, 1, ATK_TEXT_BOUNDARY_LINE_START, 9, 17, "ghi jkl\n" },
+ { 1, 2, ATK_TEXT_BOUNDARY_LINE_START, 9, 17, "ghi jkl\n" },
+ { 1, 3, ATK_TEXT_BOUNDARY_LINE_START, 9, 17, "ghi jkl\n" },
+ { 1, 4, ATK_TEXT_BOUNDARY_LINE_START, 9, 17, "ghi jkl\n" },
+ { 1, 5, ATK_TEXT_BOUNDARY_LINE_START, 9, 17, "ghi jkl\n" },
+ { 1, 6, ATK_TEXT_BOUNDARY_LINE_START, 9, 17, "ghi jkl\n" },
+ { 1, 7, ATK_TEXT_BOUNDARY_LINE_START, 9, 17, "ghi jkl\n" },
+ { 1, 8, ATK_TEXT_BOUNDARY_LINE_START, 9, 17, "ghi jkl\n" },
+ { 1, 9, ATK_TEXT_BOUNDARY_LINE_START, 17, 20, "mno" },
+ { 1, 10, ATK_TEXT_BOUNDARY_LINE_START, 17, 20, "mno" },
+ { 1, 11, ATK_TEXT_BOUNDARY_LINE_START, 17, 20, "mno" },
+ { 1, 12, ATK_TEXT_BOUNDARY_LINE_START, 17, 20, "mno" },
+ { 1, 13, ATK_TEXT_BOUNDARY_LINE_START, 17, 20, "mno" },
+ { 1, 14, ATK_TEXT_BOUNDARY_LINE_START, 17, 20, "mno" },
+ { 1, 15, ATK_TEXT_BOUNDARY_LINE_START, 17, 20, "mno" },
+ { 1, 16, ATK_TEXT_BOUNDARY_LINE_START, 17, 20, "mno" },
+ { 1, 17, ATK_TEXT_BOUNDARY_LINE_START, 20, 20, "" },
+ { 1, 18, ATK_TEXT_BOUNDARY_LINE_START, 20, 20, "" },
+ { 1, 19, ATK_TEXT_BOUNDARY_LINE_START, 20, 20, "" },
+ { 1, 20, ATK_TEXT_BOUNDARY_LINE_START, 20, 20, "" },
+ { 1, 0, ATK_TEXT_BOUNDARY_LINE_END, 8, 16, "\nghi jkl" },
+ { 1, 1, ATK_TEXT_BOUNDARY_LINE_END, 8, 16, "\nghi jkl" },
+ { 1, 2, ATK_TEXT_BOUNDARY_LINE_END, 8, 16, "\nghi jkl" },
+ { 1, 3, ATK_TEXT_BOUNDARY_LINE_END, 8, 16, "\nghi jkl" },
+ { 1, 4, ATK_TEXT_BOUNDARY_LINE_END, 8, 16, "\nghi jkl" },
+ { 1, 5, ATK_TEXT_BOUNDARY_LINE_END, 8, 16, "\nghi jkl" },
+ { 1, 6, ATK_TEXT_BOUNDARY_LINE_END, 8, 16, "\nghi jkl" },
+ { 1, 7, ATK_TEXT_BOUNDARY_LINE_END, 8, 16, "\nghi jkl" },
+ { 1, 8, ATK_TEXT_BOUNDARY_LINE_END, 8, 16, "\nghi jkl" },
+ { 1, 9, ATK_TEXT_BOUNDARY_LINE_END, 16, 20, "\nmno" },
+ { 1, 10, ATK_TEXT_BOUNDARY_LINE_END, 16, 20, "\nmno" },
+ { 1, 11, ATK_TEXT_BOUNDARY_LINE_END, 16, 20, "\nmno" },
+ { 1, 12, ATK_TEXT_BOUNDARY_LINE_END, 16, 20, "\nmno" },
+ { 1, 13, ATK_TEXT_BOUNDARY_LINE_END, 16, 20, "\nmno" },
+ { 1, 14, ATK_TEXT_BOUNDARY_LINE_END, 16, 20, "\nmno" },
+ { 1, 15, ATK_TEXT_BOUNDARY_LINE_END, 16, 20, "\nmno" },
+ { 1, 16, ATK_TEXT_BOUNDARY_LINE_END, 16, 20, "\nmno" },
+ { 1, 17, ATK_TEXT_BOUNDARY_LINE_END, 20, 20, "" },
+ { 1, 18, ATK_TEXT_BOUNDARY_LINE_END, 20, 20, "" },
+ { 1, 19, ATK_TEXT_BOUNDARY_LINE_END, 20, 20, "" },
+ { 1, 20, ATK_TEXT_BOUNDARY_LINE_END, 20, 20, "" },
{ 0, -1, }
};
gint start, end;
@@ -498,8 +792,8 @@ test_words (GtkWidget *widget)
show_text_attributes (gtk_entry_get_layout (GTK_ENTRY (widget)));
#endif
-#if DUMP_RESULTS
- for (i = -1; i < 2; i++)
+#ifdef DUMP_RESULTS
+ for (i = -1; i <= 1; i++)
{
gint j, k;
for (j = ATK_TEXT_BOUNDARY_CHAR; j <= ATK_TEXT_BOUNDARY_LINE_END; j++)
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]