You are viewing a plain text version of this content. The canonical link for it is here.
Posted to fop-commits@xmlgraphics.apache.org by kl...@apache.org on 2002/02/25 22:28:28 UTC
cvs commit: xml-fop/src/org/apache/fop/util CharUtilities.java
klease 02/02/25 13:28:28
Modified: src/org/apache/fop/util CharUtilities.java
Log:
Use CharUtilities instead of CharClass
Revision Changes Path
1.2 +42 -16 xml-fop/src/org/apache/fop/util/CharUtilities.java
Index: CharUtilities.java
===================================================================
RCS file: /home/cvs/xml-fop/src/org/apache/fop/util/CharUtilities.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- CharUtilities.java 8 Jan 2002 11:03:07 -0000 1.1
+++ CharUtilities.java 25 Feb 2002 21:28:28 -0000 1.2
@@ -1,5 +1,5 @@
/*
- * $Id: CharUtilities.java,v 1.1 2002/01/08 11:03:07 keiron Exp $
+ * $Id: CharUtilities.java,v 1.2 2002/02/25 21:28:28 klease Exp $
* Copyright (C) 2001 The Apache Software Foundation. All rights reserved.
* For details on use and redistribution please refer to the
* LICENSE file included with these sources.
@@ -10,9 +10,36 @@
import org.apache.fop.layout.FontState;
/**
+ * This class provides utilities to distinguish various kinds of Unicode
+ * whitespace and to get character widths in a given FontState.
*/
public class CharUtilities {
+ /** Character code used to signal a character boundary in
+ * inline content, such as an inline with borders and padding
+ * or a nested block object.
+ */
+ public static final char CODE_EOT=0;
+
+ public static final int UCWHITESPACE=0; // unicode white space
+ public static final int LINEFEED=1;
+ public static final int EOT=2; // Boundary beteween text runs
+ public static final int NONWHITESPACE=3;
+ public static final int XMLWHITESPACE=4;
+
+
+ /**
+ * Return the appropriate CharClass constant for the type
+ * of the passed character.
+ */
+ public static int classOf(char c) {
+ if (c == CODE_EOT) return EOT;
+ if (c == '\n') return LINEFEED;
+ if ( c==' '|| c == '\r' || c=='\t' ) return XMLWHITESPACE;
+ if (isAnySpace(c)) return UCWHITESPACE;
+ return NONWHITESPACE;
+ }
+
/**
* Helper method for getting the width of a unicode char
* from the current fontstate.
@@ -76,21 +103,20 @@
* it's not non-breaking
*/
public static boolean isSpace(char c) {
- if (c == ' ' || c == '\u2000' || // en quad
- c == '\u2001' || // em quad
- c == '\u2002' || // en space
- c == '\u2003' || // em space
- c == '\u2004' || // three-per-em space
- c == '\u2005' || // four--per-em space
- c == '\u2006' || // six-per-em space
- c == '\u2007' || // figure space
- c == '\u2008' || // punctuation space
- c == '\u2009' || // thin space
- c == '\u200A' || // hair space
- c == '\u200B') // zero width space
- return true;
- else
- return false;
+ return (c == ' ' ||
+ (c >= '\u2000' && c <= '\u200B'));
+// c == '\u2000' // en quad
+// c == '\u2001' // em quad
+// c == '\u2002' // en space
+// c == '\u2003' // em space
+// c == '\u2004' // three-per-em space
+// c == '\u2005' // four--per-em space
+// c == '\u2006' // six-per-em space
+// c == '\u2007' // figure space
+// c == '\u2008' // punctuation space
+// c == '\u2009' // thin space
+// c == '\u200A' // hair space
+// c == '\u200B' // zero width space
}
/**
---------------------------------------------------------------------
To unsubscribe, e-mail: fop-cvs-unsubscribe@xml.apache.org
For additional commands, e-mail: fop-cvs-help@xml.apache.org