diff options
-rw-r--r-- | libjava/ChangeLog | 6 | ||||
-rw-r--r-- | libjava/gnu/java/text/SentenceBreakIterator.java | 33 |
2 files changed, 20 insertions, 19 deletions
diff --git a/libjava/ChangeLog b/libjava/ChangeLog index 705a86d..688debb 100644 --- a/libjava/ChangeLog +++ b/libjava/ChangeLog @@ -1,3 +1,9 @@ +2002-05-11 Mark Wielaard <mark@klomp.org> + + * gnu/java/text/SentenceBreakIterator.java (next): Skip all java white + space characters. + (previous_internal): Likewise. + 2002-05-09 Tom Tromey <tromey@redhat.com> * jni.cc (_Jv_JNIFunctions): Fixed typo. diff --git a/libjava/gnu/java/text/SentenceBreakIterator.java b/libjava/gnu/java/text/SentenceBreakIterator.java index 1a25d9d..62b99f0 100644 --- a/libjava/gnu/java/text/SentenceBreakIterator.java +++ b/libjava/gnu/java/text/SentenceBreakIterator.java @@ -1,5 +1,5 @@ /* SentenceBreakIterator.java - Default sentence BreakIterator. - Copyright (C) 1999, 2001 Free Software Foundation, Inc. + Copyright (C) 1999, 2001, 2002 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -91,13 +91,8 @@ public class SentenceBreakIterator extends BaseBreakIterator while (n != CharacterIterator.DONE && Character.getType(n) == Character.END_PUNCTUATION) n = iter.next(); - // Skip spaces. - while (n != CharacterIterator.DONE - && Character.getType(n) == Character.SPACE_SEPARATOR) - n = iter.next(); - // Skip optional paragraph separator. - if (n != CharacterIterator.DONE - && Character.getType(n) == Character.PARAGRAPH_SEPARATOR) + // Skip (java) space, line and paragraph separators. + while (n != CharacterIterator.DONE && Character.isWhitespace(n)) n = iter.next(); // There's always a break somewhere after `!' or `?'. @@ -111,11 +106,11 @@ public class SentenceBreakIterator extends BaseBreakIterator while (n != CharacterIterator.DONE && Character.getType(n) == Character.END_PUNCTUATION) n = iter.next(); - // Skip spaces. We keep count because we need at least - // one for this period to represent a terminator. + // Skip (java) space, line and paragraph separators. + // We keep count because we need at least one for this period to + // represent a terminator. int spcount = 0; - while (n != CharacterIterator.DONE - && Character.getType(n) == Character.SPACE_SEPARATOR) + while (n != CharacterIterator.DONE && Character.isWhitespace(n)) { n = iter.next(); ++spcount; @@ -162,7 +157,7 @@ public class SentenceBreakIterator extends BaseBreakIterator if (! Character.isLowerCase(c) && (nt == Character.START_PUNCTUATION - || nt == Character.SPACE_SEPARATOR)) + || Character.isWhitespace(n))) { int save = iter.getIndex(); int save_nt = nt; @@ -173,12 +168,12 @@ public class SentenceBreakIterator extends BaseBreakIterator n = iter.previous(); if (n == CharacterIterator.DONE) break; - if (Character.getType(n) == Character.SPACE_SEPARATOR) + if (Character.isWhitespace(n)) { - // Must have at least once space after the `.'. + // Must have at least one (java) space after the `.'. int save2 = iter.getIndex(); while (n != CharacterIterator.DONE - && Character.getType(n) == Character.SPACE_SEPARATOR) + && Character.isWhitespace(n)) n = iter.previous(); // Skip close punctuation. while (n != CharacterIterator.DONE @@ -203,13 +198,13 @@ public class SentenceBreakIterator extends BaseBreakIterator period = iter.getIndex(); break; } - else if (nt == Character.SPACE_SEPARATOR + else if (Character.isWhitespace(n) || nt == Character.END_PUNCTUATION) { int save = iter.getIndex(); - // Skip spaces. + // Skip (java) space, line and paragraph separators. while (n != CharacterIterator.DONE - && Character.getType(n) == Character.SPACE_SEPARATOR) + && Character.isWhitespace(n)) n = iter.previous(); // Skip close punctuation. while (n != CharacterIterator.DONE |