/[classpath]/classpath/gnu/java/text/SentenceBreakIterator.java
ViewVC logotype

Diff of /classpath/gnu/java/text/SentenceBreakIterator.java

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.2 by mark, Tue Jan 22 22:26:58 2002 UTC revision 1.3 by mark, Sun May 12 01:15:36 2002 UTC
# Line 1  Line 1 
1  /* SentenceBreakIterator.java - Default sentence BreakIterator.  /* SentenceBreakIterator.java - Default sentence BreakIterator.
2     Copyright (C) 1999, 2001 Free Software Foundation, Inc.     Copyright (C) 1999, 2001, 2002 Free Software Foundation, Inc.
3    
4  This file is part of GNU Classpath.  This file is part of GNU Classpath.
5    
# Line 91  public class SentenceBreakIterator exten Line 91  public class SentenceBreakIterator exten
91              while (n != CharacterIterator.DONE              while (n != CharacterIterator.DONE
92                     && Character.getType(n) == Character.END_PUNCTUATION)                     && Character.getType(n) == Character.END_PUNCTUATION)
93                n = iter.next();                n = iter.next();
94              // Skip spaces.              // Skip (java) space, line and paragraph separators.
95              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)  
96                n = iter.next();                n = iter.next();
97    
98              // There's always a break somewhere after `!' or `?'.              // There's always a break somewhere after `!' or `?'.
# Line 111  public class SentenceBreakIterator exten Line 106  public class SentenceBreakIterator exten
106              while (n != CharacterIterator.DONE              while (n != CharacterIterator.DONE
107                     && Character.getType(n) == Character.END_PUNCTUATION)                     && Character.getType(n) == Character.END_PUNCTUATION)
108                n = iter.next();                n = iter.next();
109              // Skip spaces.  We keep count because we need at least              // Skip (java) space, line and paragraph separators.
110              // one for this period to represent a terminator.              // We keep count because we need at least one for this period to
111                // represent a terminator.
112              int spcount = 0;              int spcount = 0;
113              while (n != CharacterIterator.DONE              while (n != CharacterIterator.DONE && Character.isWhitespace(n))
                    && Character.getType(n) == Character.SPACE_SEPARATOR)  
114                {                {
115                  n = iter.next();                  n = iter.next();
116                  ++spcount;                  ++spcount;
# Line 162  public class SentenceBreakIterator exten Line 157  public class SentenceBreakIterator exten
157    
158          if (! Character.isLowerCase(c)          if (! Character.isLowerCase(c)
159              && (nt == Character.START_PUNCTUATION              && (nt == Character.START_PUNCTUATION
160                  || nt == Character.SPACE_SEPARATOR))                  || Character.isWhitespace(n)))
161            {            {
162              int save = iter.getIndex();              int save = iter.getIndex();
163              int save_nt = nt;              int save_nt = nt;
# Line 173  public class SentenceBreakIterator exten Line 168  public class SentenceBreakIterator exten
168                n = iter.previous();                n = iter.previous();
169              if (n == CharacterIterator.DONE)              if (n == CharacterIterator.DONE)
170                break;                break;
171              if (Character.getType(n) == Character.SPACE_SEPARATOR)              if (Character.isWhitespace(n))
172                {                {
173                  // Must have at least once space after the `.'.                  // Must have at least one (java) space after the `.'.
174                  int save2 = iter.getIndex();                  int save2 = iter.getIndex();
175                  while (n != CharacterIterator.DONE                  while (n != CharacterIterator.DONE
176                         && Character.getType(n) == Character.SPACE_SEPARATOR)                         && Character.isWhitespace(n))
177                    n = iter.previous();                    n = iter.previous();
178                  // Skip close punctuation.                  // Skip close punctuation.
179                  while (n != CharacterIterator.DONE                  while (n != CharacterIterator.DONE
# Line 203  public class SentenceBreakIterator exten Line 198  public class SentenceBreakIterator exten
198              period = iter.getIndex();              period = iter.getIndex();
199              break;              break;
200            }            }
201          else if (nt == Character.SPACE_SEPARATOR          else if (Character.isWhitespace(n)
202                   || nt == Character.END_PUNCTUATION)                   || nt == Character.END_PUNCTUATION)
203            {            {
204              int save = iter.getIndex();              int save = iter.getIndex();
205              // Skip spaces.              // Skip (java) space, line and paragraph separators.
206              while (n != CharacterIterator.DONE              while (n != CharacterIterator.DONE
207                     && Character.getType(n) == Character.SPACE_SEPARATOR)                     && Character.isWhitespace(n))
208                n = iter.previous();                n = iter.previous();
209              // Skip close punctuation.              // Skip close punctuation.
210              while (n != CharacterIterator.DONE              while (n != CharacterIterator.DONE

Legend:
Removed from v.1.2  
changed lines
  Added in v.1.3

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26