Commit c1acbb7a by Mark Wielaard Committed by Mark Wielaard

SentenceBreakIterator.java (next): Skip all java white space characters.

	* gnu/java/text/SentenceBreakIterator.java (next): Skip all java white
	space characters.
	(previous_internal): Likewise.

From-SVN: r53389
parent 1f121cdb
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> 2002-05-09 Tom Tromey <tromey@redhat.com>
* jni.cc (_Jv_JNIFunctions): Fixed typo. * jni.cc (_Jv_JNIFunctions): Fixed typo.
......
/* SentenceBreakIterator.java - Default sentence BreakIterator. /* 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. This file is part of GNU Classpath.
...@@ -91,13 +91,8 @@ public class SentenceBreakIterator extends BaseBreakIterator ...@@ -91,13 +91,8 @@ public class SentenceBreakIterator extends BaseBreakIterator
while (n != CharacterIterator.DONE while (n != CharacterIterator.DONE
&& Character.getType(n) == Character.END_PUNCTUATION) && Character.getType(n) == Character.END_PUNCTUATION)
n = iter.next(); n = iter.next();
// Skip spaces. // Skip (java) space, line and paragraph separators.
while (n != CharacterIterator.DONE while (n != CharacterIterator.DONE && Character.isWhitespace(n))
&& Character.getType(n) == Character.SPACE_SEPARATOR)
n = iter.next();
// Skip optional paragraph separator.
if (n != CharacterIterator.DONE
&& Character.getType(n) == Character.PARAGRAPH_SEPARATOR)
n = iter.next(); n = iter.next();
// There's always a break somewhere after `!' or `?'. // There's always a break somewhere after `!' or `?'.
...@@ -111,11 +106,11 @@ public class SentenceBreakIterator extends BaseBreakIterator ...@@ -111,11 +106,11 @@ public class SentenceBreakIterator extends BaseBreakIterator
while (n != CharacterIterator.DONE while (n != CharacterIterator.DONE
&& Character.getType(n) == Character.END_PUNCTUATION) && Character.getType(n) == Character.END_PUNCTUATION)
n = iter.next(); n = iter.next();
// Skip spaces. We keep count because we need at least // Skip (java) space, line and paragraph separators.
// one for this period to represent a terminator. // We keep count because we need at least one for this period to
// represent a terminator.
int spcount = 0; int spcount = 0;
while (n != CharacterIterator.DONE while (n != CharacterIterator.DONE && Character.isWhitespace(n))
&& Character.getType(n) == Character.SPACE_SEPARATOR)
{ {
n = iter.next(); n = iter.next();
++spcount; ++spcount;
...@@ -162,7 +157,7 @@ public class SentenceBreakIterator extends BaseBreakIterator ...@@ -162,7 +157,7 @@ public class SentenceBreakIterator extends BaseBreakIterator
if (! Character.isLowerCase(c) if (! Character.isLowerCase(c)
&& (nt == Character.START_PUNCTUATION && (nt == Character.START_PUNCTUATION
|| nt == Character.SPACE_SEPARATOR)) || Character.isWhitespace(n)))
{ {
int save = iter.getIndex(); int save = iter.getIndex();
int save_nt = nt; int save_nt = nt;
...@@ -173,12 +168,12 @@ public class SentenceBreakIterator extends BaseBreakIterator ...@@ -173,12 +168,12 @@ public class SentenceBreakIterator extends BaseBreakIterator
n = iter.previous(); n = iter.previous();
if (n == CharacterIterator.DONE) if (n == CharacterIterator.DONE)
break; 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(); int save2 = iter.getIndex();
while (n != CharacterIterator.DONE while (n != CharacterIterator.DONE
&& Character.getType(n) == Character.SPACE_SEPARATOR) && Character.isWhitespace(n))
n = iter.previous(); n = iter.previous();
// Skip close punctuation. // Skip close punctuation.
while (n != CharacterIterator.DONE while (n != CharacterIterator.DONE
...@@ -203,13 +198,13 @@ public class SentenceBreakIterator extends BaseBreakIterator ...@@ -203,13 +198,13 @@ public class SentenceBreakIterator extends BaseBreakIterator
period = iter.getIndex(); period = iter.getIndex();
break; break;
} }
else if (nt == Character.SPACE_SEPARATOR else if (Character.isWhitespace(n)
|| nt == Character.END_PUNCTUATION) || nt == Character.END_PUNCTUATION)
{ {
int save = iter.getIndex(); int save = iter.getIndex();
// Skip spaces. // Skip (java) space, line and paragraph separators.
while (n != CharacterIterator.DONE while (n != CharacterIterator.DONE
&& Character.getType(n) == Character.SPACE_SEPARATOR) && Character.isWhitespace(n))
n = iter.previous(); n = iter.previous();
// Skip close punctuation. // Skip close punctuation.
while (n != CharacterIterator.DONE while (n != CharacterIterator.DONE
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment