You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@poi.apache.org by ye...@apache.org on 2008/09/24 18:56:13 UTC

svn commit: r698651 - in /poi/branches/ooxml/src/ooxml: java/org/apache/poi/xssf/dev/ java/org/apache/poi/xssf/model/ java/org/apache/poi/xssf/usermodel/ java/org/apache/poi/xssf/util/ testcases/org/apache/poi/xssf/usermodel/

Author: yegor
Date: Wed Sep 24 09:56:12 2008
New Revision: 698651

URL: http://svn.apache.org/viewvc?rev=698651&view=rev
Log:
XSSFFont improvements from patch #45874

Added:
    poi/branches/ooxml/src/ooxml/java/org/apache/poi/xssf/usermodel/FontCharset.java   (with props)
    poi/branches/ooxml/src/ooxml/java/org/apache/poi/xssf/usermodel/FontFamily.java   (with props)
    poi/branches/ooxml/src/ooxml/java/org/apache/poi/xssf/usermodel/FontScheme.java   (with props)
    poi/branches/ooxml/src/ooxml/java/org/apache/poi/xssf/usermodel/FontUnderline.java   (with props)
Modified:
    poi/branches/ooxml/src/ooxml/java/org/apache/poi/xssf/dev/XSSFDump.java
    poi/branches/ooxml/src/ooxml/java/org/apache/poi/xssf/model/StylesTable.java
    poi/branches/ooxml/src/ooxml/java/org/apache/poi/xssf/usermodel/IndexedColors.java
    poi/branches/ooxml/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFFont.java
    poi/branches/ooxml/src/ooxml/java/org/apache/poi/xssf/util/Charset.java
    poi/branches/ooxml/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFFont.java
    poi/branches/ooxml/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFWorkbook.java

Modified: poi/branches/ooxml/src/ooxml/java/org/apache/poi/xssf/dev/XSSFDump.java
URL: http://svn.apache.org/viewvc/poi/branches/ooxml/src/ooxml/java/org/apache/poi/xssf/dev/XSSFDump.java?rev=698651&r1=698650&r2=698651&view=diff
==============================================================================
--- poi/branches/ooxml/src/ooxml/java/org/apache/poi/xssf/dev/XSSFDump.java (original)
+++ poi/branches/ooxml/src/ooxml/java/org/apache/poi/xssf/dev/XSSFDump.java Wed Sep 24 09:56:12 2008
@@ -69,7 +69,7 @@
             File f = new File(root, entry.getName());
             FileOutputStream out = new FileOutputStream(f);
 
-            if(entry.getName().endsWith(".xml") || entry.getName().endsWith(".vml")){
+            if(entry.getName().endsWith(".xml") || entry.getName().endsWith(".vml") || entry.getName().endsWith(".rels")){
                 //pass the xml through the Xerces serializer to produce nicely formatted output
                 Document doc = builder.parse(zip.getInputStream(entry));
 

Modified: poi/branches/ooxml/src/ooxml/java/org/apache/poi/xssf/model/StylesTable.java
URL: http://svn.apache.org/viewvc/poi/branches/ooxml/src/ooxml/java/org/apache/poi/xssf/model/StylesTable.java?rev=698651&r1=698650&r2=698651&view=diff
==============================================================================
--- poi/branches/ooxml/src/ooxml/java/org/apache/poi/xssf/model/StylesTable.java (original)
+++ poi/branches/ooxml/src/ooxml/java/org/apache/poi/xssf/model/StylesTable.java Wed Sep 24 09:56:12 2008
@@ -29,6 +29,8 @@
 import org.apache.poi.ss.usermodel.CellStyle;
 import org.apache.poi.ss.usermodel.Font;
 import org.apache.poi.ss.usermodel.StylesSource;
+import org.apache.poi.xssf.usermodel.FontFamily;
+import org.apache.poi.xssf.usermodel.FontScheme;
 import org.apache.poi.xssf.usermodel.XSSFCellStyle;
 import org.apache.poi.xssf.usermodel.XSSFFont;
 import org.apache.poi.xssf.usermodel.extensions.XSSFCellBorder;
@@ -103,38 +105,38 @@
      */
     public void readFrom(InputStream is) throws IOException {
         try {
-        	doc = StyleSheetDocument.Factory.parse(is);
-        	// Grab all the different bits we care about
-        	if(doc.getStyleSheet().getNumFmts() != null)
+            doc = StyleSheetDocument.Factory.parse(is);
+            // Grab all the different bits we care about
+            if(doc.getStyleSheet().getNumFmts() != null)
         	for (CTNumFmt nfmt : doc.getStyleSheet().getNumFmts().getNumFmtArray()) {
-        		numberFormats.put(nfmt.getNumFmtId(), nfmt.getFormatCode());
+        	    numberFormats.put(nfmt.getNumFmtId(), nfmt.getFormatCode());
         	}
-        	if(doc.getStyleSheet().getFonts() != null)
+            if(doc.getStyleSheet().getFonts() != null)
         	for (CTFont font : doc.getStyleSheet().getFonts().getFontArray()) {
-        		fonts.add(font);
+        	    fonts.add(font);
         	}
-        	if(doc.getStyleSheet().getFills() != null)
+            if(doc.getStyleSheet().getFills() != null)
         	for (CTFill fill : doc.getStyleSheet().getFills().getFillArray()) {
-        		fills.add(fill);
+        	    fills.add(fill);
         	}
-        	if(doc.getStyleSheet().getBorders() != null)
+            if(doc.getStyleSheet().getBorders() != null)
         	for (CTBorder border : doc.getStyleSheet().getBorders().getBorderArray()) {
-        		borders.add(border);
+        	    borders.add(border);
         	}
-        	if(doc.getStyleSheet().getCellXfs() != null)
+            if(doc.getStyleSheet().getCellXfs() != null)
         	for (CTXf xf : doc.getStyleSheet().getCellXfs().getXfArray()) {
-        		xfs.add(xf);
+        	    xfs.add(xf);
         	}
-        	if(doc.getStyleSheet().getCellStyleXfs() != null)
+            if(doc.getStyleSheet().getCellStyleXfs() != null)
         	for (CTXf xf : doc.getStyleSheet().getCellStyleXfs().getXfArray()) {
-        		styleXfs.add(xf);
+        	    styleXfs.add(xf);
         	}
-        	// dxf
-        	if(doc.getStyleSheet().getDxfs() != null)
-            	for (CTDxf dxf : doc.getStyleSheet().getDxfs().getDxfArray()) {
-            		dxfs.add(dxf);
-            	}
-        	
+            // dxf
+            if(doc.getStyleSheet().getDxfs() != null)
+        	for (CTDxf dxf : doc.getStyleSheet().getDxfs().getDxfArray()) {
+        	    dxfs.add(dxf);
+        	}
+
         } catch (XmlException e) {
             throw new IOException(e.getLocalizedMessage());
         }
@@ -350,7 +352,7 @@
         	doc.getStyleSheet().setCellStyleXfs(ctSXfs);
     	}
     	
-    	// Style dxf
+    	// Style dxfs
     	if(dxfs.size() > 0) {
         	CTDxfs ctDxfs = CTDxfs.Factory.newInstance();
         	ctDxfs.setCount(dxfs.size());
@@ -359,8 +361,6 @@
         	doc.getStyleSheet().setDxfs(ctDxfs);
     	}
     	
-    	
-    	
         // Save
         doc.save(out, options);
     }
@@ -375,47 +375,51 @@
 
     private long putFont(XSSFFont font, ArrayList<CTFont> fonts) {
     	return font.putFont(fonts);
-	}
+    }
+    
 	private void initialize() {
 		//CTFont ctFont = createDefaultFont();
-		XSSFFont xssfFont = createDefaultFont();
-    	fonts.add(xssfFont.getCTFont());
-    	
-    	CTFill ctFill = createDefaultFill();
-    	fills.add(ctFill);
-    	
-    	CTBorder ctBorder = createDefaultBorder();
-    	borders.add(ctBorder);
-    	
-    	CTXf styleXf = createDefaultXf();
-    	styleXfs.add(styleXf);
-    	CTXf xf = createDefaultXf();
-    	xf.setXfId(0);
-    	xfs.add(xf);
+	    XSSFFont xssfFont = createDefaultFont();
+	    fonts.add(xssfFont.getCTFont());
+	  
+	    CTFill[] ctFill = createDefaultFills();
+	    fills.add(ctFill[0]);
+/*	    
+	    fills.add(ctFill[1]);
+*/
+	    CTBorder ctBorder = createDefaultBorder();
+	    borders.add(ctBorder);
+
+	    CTXf styleXf = createDefaultXf();
+	    styleXfs.add(styleXf);
+	    CTXf xf = createDefaultXf();
+	    xf.setXfId(0);
+	    xfs.add(xf);
 	}
-	
+
 	private CTXf createDefaultXf() {
-		CTXf ctXf = CTXf.Factory.newInstance();
-    	ctXf.setNumFmtId(0);
-    	ctXf.setFontId(0);
-    	ctXf.setFillId(0);
-    	ctXf.setBorderId(0);
-    	return ctXf;
+	    CTXf ctXf = CTXf.Factory.newInstance();
+	    ctXf.setNumFmtId(0);
+	    ctXf.setFontId(0);
+	    ctXf.setFillId(0);
+	    ctXf.setBorderId(0);
+	    return ctXf;
 	}
 	private CTBorder createDefaultBorder() {
-		CTBorder ctBorder = CTBorder.Factory.newInstance();
-    	ctBorder.addNewBottom();
-    	ctBorder.addNewTop();
-    	ctBorder.addNewLeft();
-    	ctBorder.addNewRight();
-    	ctBorder.addNewDiagonal();
-		return ctBorder;
+	    CTBorder ctBorder = CTBorder.Factory.newInstance();
+	    ctBorder.addNewBottom();
+	    ctBorder.addNewTop();
+	    ctBorder.addNewLeft();
+	    ctBorder.addNewRight();
+	    ctBorder.addNewDiagonal();
+	    return ctBorder;
 	}
 	
-	private CTFill createDefaultFill() {
-		CTFill ctFill = CTFill.Factory.newInstance();
-    	ctFill.addNewPatternFill().setPatternType(STPatternType.NONE);
-		return ctFill;
+	private CTFill[] createDefaultFills() {
+	    CTFill[] ctFill = new CTFill[]{CTFill.Factory.newInstance(),CTFill.Factory.newInstance()};
+	    ctFill[0].addNewPatternFill().setPatternType(STPatternType.NONE);
+	    ctFill[1].addNewPatternFill().setPatternType(STPatternType.DARK_GRAY);
+	    return ctFill;
 	}
 	
 	private XSSFFont createDefaultFont() {
@@ -434,19 +438,17 @@
 		xssfFont.setFontHeightInPoints(XSSFFont.DEFAULT_FONT_SIZE);
 		xssfFont.setColor(XSSFFont.DEFAULT_FONT_COLOR);//setTheme 
 		xssfFont.setFontName(XSSFFont.DEFAULT_FONT_NAME);
-		xssfFont.setFamily(XSSFFont.FONT_FAMILY_SWISS);
-		xssfFont.setScheme(XSSFFont.SCHEME_MINOR);
+		xssfFont.setFamily(FontFamily.SWISS);
+		xssfFont.setScheme(FontScheme.MINOR);
 		return xssfFont;
 	}
 	
 	
-	
-	
 	public CTDxf getDxf(long idx) {
-		if(dxfs.size()==0)
-			return CTDxf.Factory.newInstance();
-		else
-			return dxfs.get((int) idx);
+	    if(dxfs.size()==0)
+		return CTDxf.Factory.newInstance();
+	    else
+		return dxfs.get((int) idx);
 	}
 	
 	

Added: poi/branches/ooxml/src/ooxml/java/org/apache/poi/xssf/usermodel/FontCharset.java
URL: http://svn.apache.org/viewvc/poi/branches/ooxml/src/ooxml/java/org/apache/poi/xssf/usermodel/FontCharset.java?rev=698651&view=auto
==============================================================================
--- poi/branches/ooxml/src/ooxml/java/org/apache/poi/xssf/usermodel/FontCharset.java (added)
+++ poi/branches/ooxml/src/ooxml/java/org/apache/poi/xssf/usermodel/FontCharset.java Wed Sep 24 09:56:12 2008
@@ -0,0 +1,112 @@
+/* ====================================================================
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+==================================================================== */
+
+package org.apache.poi.xssf.usermodel;
+
+
+/**
+ * Charset represents the basic set of characters associated with a font (that it can display), and 
+ * corresponds to the ANSI codepage (8-bit or DBCS) of that character set used by a given language. 
+ * 
+ * @author Gisella Bronzetti
+ *
+ */
+public enum FontCharset {
+
+     ANSI(0),
+     DEFAULT(1),
+     SYMBOL(2),
+     MAC(77),
+     SHIFTJIS(128),
+     HANGEUL(129),
+     HANGUL(129),
+     JOHAB(130),
+     GB2312(134),
+     CHINESEBIG5(136),
+     GREEK(161),
+     TURKISH(162),
+     VIETNAMESE(163),
+     HEBREW(177),
+     ARABIC(178),
+     BALTIC(186),
+     RUSSIAN(204),
+     THAI(222),
+     EASTEUROPE(238),
+     OEM(255);
+
+    
+    private int charset;
+
+    
+    FontCharset(int value){
+        charset = value;
+    }
+
+    /**
+     * Returns index of this charset
+     *
+     * @return index of this charset
+     */
+    public byte getValue(){
+        return (byte)charset;
+    }
+    
+    public static FontCharset valueOf(int value){
+	switch (value) {
+	case 0:
+	    return ANSI;
+	case 1:
+	    return DEFAULT;
+	case 2:
+	    return SYMBOL;
+	case 77:
+	    return MAC;
+	case 128:
+	    return SHIFTJIS;
+	case 129:
+	    return HANGEUL;
+	case 130:
+	    return JOHAB;
+	case 134:
+	    return GB2312;
+	case 136:
+	    return CHINESEBIG5;
+	case 161:
+	    return GREEK;
+	case 162:
+	    return TURKISH;
+	case 163:
+	    return VIETNAMESE;
+	case 177:
+	    return HEBREW;
+	case 178:
+	    return ARABIC;
+	case 186:
+	    return BALTIC;
+	case 204:
+	    return RUSSIAN;
+	case 222:
+	    return THAI;
+	case 238:
+	    return EASTEUROPE;
+	case 255:
+	    return OEM;
+	}
+	throw new RuntimeException("Charset value ["+ value +"] not supported");    
+    }
+    
+}

Propchange: poi/branches/ooxml/src/ooxml/java/org/apache/poi/xssf/usermodel/FontCharset.java
------------------------------------------------------------------------------
    svn:executable = *

Added: poi/branches/ooxml/src/ooxml/java/org/apache/poi/xssf/usermodel/FontFamily.java
URL: http://svn.apache.org/viewvc/poi/branches/ooxml/src/ooxml/java/org/apache/poi/xssf/usermodel/FontFamily.java?rev=698651&view=auto
==============================================================================
--- poi/branches/ooxml/src/ooxml/java/org/apache/poi/xssf/usermodel/FontFamily.java (added)
+++ poi/branches/ooxml/src/ooxml/java/org/apache/poi/xssf/usermodel/FontFamily.java Wed Sep 24 09:56:12 2008
@@ -0,0 +1,74 @@
+/* ====================================================================
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+==================================================================== */
+
+package org.apache.poi.xssf.usermodel;
+
+
+/**
+ * 
+ * The font family this font belongs to. A font family is a set of fonts having common stroke width and serif
+ * characteristics. The font name overrides when there are conflicting values.
+ * 
+ * @author Gisella Bronzetti
+ *
+ */
+public enum FontFamily {
+
+    NOT_APPLICABLE(0),
+    ROMAN(1),
+    SWISS(2),
+    MODERN(3),
+    SCRIPT(4),
+    DECORATIVE(5);
+    
+    private int family;
+
+    
+    FontFamily(int value){
+        family = value;
+    }
+
+    /**
+     * Returns index of this font family
+     *
+     * @return index of this font family
+     */
+    public int getValue(){
+        return family;
+    }
+    
+
+    public static FontFamily valueOf(int family){
+	switch (family) {
+	case 0:
+	    return NOT_APPLICABLE;
+	case 1:
+	    return ROMAN;
+	case 2:
+	    return SWISS;
+	case 3:
+	    return MODERN;
+	case 4:
+	    return SCRIPT;
+	case 5:
+	    return DECORATIVE;
+	}
+	throw new RuntimeException("Family value ["+ family +"] not supported");    
+    }
+    
+    
+}

Propchange: poi/branches/ooxml/src/ooxml/java/org/apache/poi/xssf/usermodel/FontFamily.java
------------------------------------------------------------------------------
    svn:executable = *

Added: poi/branches/ooxml/src/ooxml/java/org/apache/poi/xssf/usermodel/FontScheme.java
URL: http://svn.apache.org/viewvc/poi/branches/ooxml/src/ooxml/java/org/apache/poi/xssf/usermodel/FontScheme.java?rev=698651&view=auto
==============================================================================
--- poi/branches/ooxml/src/ooxml/java/org/apache/poi/xssf/usermodel/FontScheme.java (added)
+++ poi/branches/ooxml/src/ooxml/java/org/apache/poi/xssf/usermodel/FontScheme.java Wed Sep 24 09:56:12 2008
@@ -0,0 +1,68 @@
+/* ====================================================================
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+==================================================================== */
+
+package org.apache.poi.xssf.usermodel;
+
+import org.openxmlformats.schemas.spreadsheetml.x2006.main.STFontScheme;
+
+
+/**
+ * Defines the font scheme to which this font belongs. 
+ * When a font definition is part of a theme definition, then the font is categorized as either a major or minor font scheme component.
+ * When a new theme is chosen, every font that is part of a theme definition is updated to use the new major or minor font definition for that
+ * theme.
+ * Usually major fonts are used for styles like headings, and minor fonts are used for body & paragraph text.
+ *
+ * @author Gisella Bronzetti
+ *
+ */
+public enum FontScheme {
+
+
+    MAJOR(STFontScheme.MAJOR), 
+    MINOR(STFontScheme.MINOR),
+    NONE(STFontScheme.NONE);
+
+    private STFontScheme.Enum scheme;
+
+
+    FontScheme(STFontScheme.Enum value){
+	scheme = value;
+    }
+
+    /**
+     * Returns STFontScheme.Enum value of this font scheme
+     *
+     * @return STFontScheme.Enum value of this font scheme
+     */
+    public STFontScheme.Enum getValue(){
+	return scheme;
+    }
+
+
+    public static FontScheme valueOf(STFontScheme.Enum scheme){
+	switch (scheme.intValue()) {
+	case STFontScheme.INT_MAJOR:
+	    return MAJOR;
+	case STFontScheme.INT_MINOR:
+	    return MINOR;
+	case STFontScheme.INT_NONE:
+	    return NONE;
+	}
+	throw new RuntimeException("Schema value ["+ scheme +"] not supported");    
+    }
+}

Propchange: poi/branches/ooxml/src/ooxml/java/org/apache/poi/xssf/usermodel/FontScheme.java
------------------------------------------------------------------------------
    svn:executable = *

Added: poi/branches/ooxml/src/ooxml/java/org/apache/poi/xssf/usermodel/FontUnderline.java
URL: http://svn.apache.org/viewvc/poi/branches/ooxml/src/ooxml/java/org/apache/poi/xssf/usermodel/FontUnderline.java?rev=698651&view=auto
==============================================================================
--- poi/branches/ooxml/src/ooxml/java/org/apache/poi/xssf/usermodel/FontUnderline.java (added)
+++ poi/branches/ooxml/src/ooxml/java/org/apache/poi/xssf/usermodel/FontUnderline.java Wed Sep 24 09:56:12 2008
@@ -0,0 +1,75 @@
+/* ====================================================================
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+==================================================================== */
+
+package org.apache.poi.xssf.usermodel;
+
+import org.openxmlformats.schemas.spreadsheetml.x2006.main.STUnderlineValues;
+
+
+/**
+ * the different types of possible underline formatting
+ * 
+ * @author Gisella Bronzetti
+ *
+ */
+public enum FontUnderline {
+    
+/**
+ * Double-line underlining under each character in the
+ * cell. underlines are drawn through the descenders of
+ * characters such as g and p.
+ */
+   DOUBLE(STUnderlineValues.DOUBLE),
+   DOUBLE_ACCOUNTING(STUnderlineValues.DOUBLE_ACCOUNTING),
+   NONE(STUnderlineValues.NONE),
+   SINGLE(STUnderlineValues.SINGLE),
+   SINGLE_ACCOUNTING(STUnderlineValues.SINGLE_ACCOUNTING);
+    
+    private STUnderlineValues.Enum underline;
+
+    
+    FontUnderline(STUnderlineValues.Enum value){
+        underline = value;
+    }
+
+    /**
+     * Returns index of this font family
+     *
+     * @return index of this font family
+     */
+    public STUnderlineValues.Enum getValue(){
+        return underline;
+    }
+    
+    public static FontUnderline valueOf(STUnderlineValues.Enum underline){
+	switch (underline.intValue()) {
+	case STUnderlineValues.INT_DOUBLE:
+	    return DOUBLE;
+	case STUnderlineValues.INT_DOUBLE_ACCOUNTING:
+	    return DOUBLE_ACCOUNTING;
+	case STUnderlineValues.INT_SINGLE:
+	    return SINGLE;
+	case STUnderlineValues.INT_SINGLE_ACCOUNTING:
+	    return SINGLE_ACCOUNTING;
+	case STUnderlineValues.INT_NONE:
+	    return NONE;
+	}
+	throw new RuntimeException("Underline value ["+ underline +"] not supported");    
+    }
+    
+    
+}

Propchange: poi/branches/ooxml/src/ooxml/java/org/apache/poi/xssf/usermodel/FontUnderline.java
------------------------------------------------------------------------------
    svn:executable = *

Modified: poi/branches/ooxml/src/ooxml/java/org/apache/poi/xssf/usermodel/IndexedColors.java
URL: http://svn.apache.org/viewvc/poi/branches/ooxml/src/ooxml/java/org/apache/poi/xssf/usermodel/IndexedColors.java?rev=698651&r1=698650&r2=698651&view=diff
==============================================================================
--- poi/branches/ooxml/src/ooxml/java/org/apache/poi/xssf/usermodel/IndexedColors.java (original)
+++ poi/branches/ooxml/src/ooxml/java/org/apache/poi/xssf/usermodel/IndexedColors.java Wed Sep 24 09:56:12 2008
@@ -1,3 +1,20 @@
+/* ====================================================================
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+==================================================================== */
+
 package org.apache.poi.xssf.usermodel;
 
 /**

Modified: poi/branches/ooxml/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFFont.java
URL: http://svn.apache.org/viewvc/poi/branches/ooxml/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFFont.java?rev=698651&r1=698650&r2=698651&view=diff
==============================================================================
--- poi/branches/ooxml/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFFont.java (original)
+++ poi/branches/ooxml/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFFont.java Wed Sep 24 09:56:12 2008
@@ -16,13 +16,12 @@
 ==================================================================== */
 package org.apache.poi.xssf.usermodel;
 
-import org.apache.poi.ss.usermodel.Font;
+import java.util.ArrayList;
 
-import org.apache.poi.xssf.util.Charset;
+import org.apache.poi.ss.usermodel.Font;
 import org.apache.poi.xssf.usermodel.extensions.XSSFColor;
 import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTBooleanProperty;
 import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTColor;
-
 import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTFont;
 import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTFontName;
 import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTFontScheme;
@@ -30,27 +29,11 @@
 import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTIntProperty;
 import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTUnderlineProperty;
 import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTVerticalAlignFontProperty;
-import org.openxmlformats.schemas.spreadsheetml.x2006.main.STFontScheme;
 import org.openxmlformats.schemas.spreadsheetml.x2006.main.STUnderlineValues;
 import org.openxmlformats.schemas.spreadsheetml.x2006.main.STVerticalAlignRun;
 
-import java.util.ArrayList;
-
 public class XSSFFont implements Font {
 
-
-    public static final int SCHEME_MAJOR=2;
-    public static final int SCHEME_MINOR=3;
-    public static final int SCHEME_NONE=0;
-
-    public static final int FONT_FAMILY_NOT_APPLICABLE=0;
-    public static final int FONT_FAMILY_ROMAN=1;
-    public static final int FONT_FAMILY_SWISS=2;
-    public static final int FONT_FAMILY_MODERN=3;
-    public static final int FONT_FAMILY_SCRIPT=4;
-    public static final int FONT_FAMILY_DECORATIVE=5;
-
-
     public static final String DEFAULT_FONT_NAME="Calibri";
     public static final short DEFAULT_FONT_SIZE=11;
     public static final short DEFAULT_FONT_COLOR = IndexedColors.BLACK.getIndex();
@@ -70,48 +53,27 @@
          return ctFont;
     }
 
-     /**
-      *
-      */
+     
      public boolean getBold() {
          CTBooleanProperty bold=ctFont.sizeOfBArray() == 0 ? null : ctFont.getBArray(0);
          return (bold!=null && bold.getVal());
     }
 
-
-
     public byte getCharSet() {
          CTIntProperty charset= ctFont.sizeOfCharsetArray() == 0?null:ctFont.getCharsetArray(0);
-        if(charset!=null){
-            //this value must be set -- can't be null
-            switch (charset.getVal()) {
-            case Charset.ANSI_CHARSET:
-                return Font.ANSI_CHARSET;
-
-            case Charset.DEFAULT_CHARSET:
-                return Font.DEFAULT_CHARSET;
-
-            case Charset.SYMBOL_CHARSET:
-                return Font.SYMBOL_CHARSET;
-
-            default://maight be correct to return this byte value???
-                return Byte.parseByte(Integer.toString(charset.getVal()));
-            }
-        }
-        else
-            return Font.ANSI_CHARSET;
+         return charset == null ? FontCharset.ANSI.getValue() : FontCharset.valueOf(charset.getVal()).getValue(); 
     }
 
     public short getColor() {
         CTColor color=ctFont.sizeOfColorArray()==0?null: ctFont.getColorArray(0);
-        if(color == null) return Font.COLOR_NORMAL;
+        if(color == null) return IndexedColors.BLACK.getIndex();
         
         long index=color.getIndexed();
         if (index==XSSFFont.DEFAULT_FONT_COLOR){
-            return Font.COLOR_NORMAL;
+            return IndexedColors.BLACK.getIndex();
         }
         else if(index == IndexedColors.RED.getIndex()){
-            return Font.COLOR_RED;
+            return IndexedColors.RED.getIndex();
         }
         else{
             return Short.parseShort(new Long(index).toString());
@@ -119,9 +81,10 @@
     }
 
 
-     public byte[] getRgbColor() {
-         CTColor color=ctFont.sizeOfColorArray()==0?null: ctFont.getColorArray(0);
-         return color.getRgb();
+     public XSSFColor getRgbColor() {
+         CTColor ctColor=ctFont.sizeOfColorArray()==0?null: ctFont.getColorArray(0);
+         XSSFColor color=new XSSFColor(ctColor);
+         return color;
      }
 
      public short getThemeColor() {
@@ -134,13 +97,14 @@
     public short getFontHeight() {
          CTFontSize size=ctFont.sizeOfSzArray()==0?null: ctFont.getSzArray(0);
          if(size!=null){
-             double fontHeight= size.getVal()/20;
+             double fontHeight= size.getVal();
             return (short)fontHeight;
         }
         else
-            return DEFAULT_FONT_SIZE/20;
+            return DEFAULT_FONT_SIZE;
     }
 
+
     public short getFontHeightInPoints() {
          CTFontSize size=ctFont.sizeOfSzArray()==0?null: ctFont.getSzArray(0);
          if(size!=null){
@@ -152,9 +116,9 @@
     }
 
 
-     public String getFontName() {
-         CTFontName name=ctFont.sizeOfNameArray()==0?null:ctFont.getNameArray(0);
-         return name==null? null:name.getVal();
+    public String getFontName() {
+	CTFontName name = ctFont.sizeOfNameArray() == 0 ? null : ctFont.getNameArray(0);
+	return name == null ? null : name.getVal();
     }
 
 
@@ -187,26 +151,31 @@
     }
 
      public byte getUnderline() {
-         CTUnderlineProperty underline=ctFont.sizeOfUArray()==0?null:ctFont.getUArray(0);
-        if(underline!=null){
-             switch (underline.getVal().intValue()) {
-            case STUnderlineValues.INT_DOUBLE:
-                return Font.U_DOUBLE;
-            case STUnderlineValues.INT_DOUBLE_ACCOUNTING:
-                return Font.U_DOUBLE_ACCOUNTING;
-
-            case STUnderlineValues.INT_SINGLE_ACCOUNTING:
-                return Font.U_SINGLE_ACCOUNTING;
-
-            case STUnderlineValues.INT_NONE:
-                return Font.U_NONE;
-
-            case STUnderlineValues.INT_SINGLE:
-            default:
-                return Font.U_SINGLE;
-            }
-        }
-        return Font.U_NONE;
+	 /*
+         CTUnderlineProperty underline = ctFont.sizeOfUArray() == 0 ? null : ctFont.getUArray(0);
+         return underline == null ? (byte)FontUnderline.NONE.getValue().intValue() : (byte)FontUnderline.valueOf(underline.getVal()).getValue().intValue();
+         */
+	    CTUnderlineProperty underline=ctFont.sizeOfUArray()==0?null:ctFont.getUArray(0);
+	        if(underline!=null){
+		    FontUnderline fontUnderline=FontUnderline.valueOf(underline.getVal());
+	             switch (fontUnderline.getValue().intValue()) {
+	            case STUnderlineValues.INT_DOUBLE:
+	                return Font.U_DOUBLE;
+	            case STUnderlineValues.INT_DOUBLE_ACCOUNTING:
+	                return Font.U_DOUBLE_ACCOUNTING;
+
+	            case STUnderlineValues.INT_SINGLE_ACCOUNTING:
+	                return Font.U_SINGLE_ACCOUNTING;
+
+	            case STUnderlineValues.INT_NONE:
+	                return Font.U_NONE;
+
+	            case STUnderlineValues.INT_SINGLE:
+	            default:
+	                return Font.U_SINGLE;
+	            }
+	        }
+	        return Font.U_NONE;
     }
 
      /**
@@ -218,26 +187,28 @@
          ctBold.setVal(true);
       }
 
-     /**
-      *
-      */
+     
     public void setCharSet(byte charset) {
          CTIntProperty charsetProperty=ctFont.sizeOfCharsetArray()==0?ctFont.addNewCharset():ctFont.getCharsetArray(0);
         switch (charset) {
         case Font.ANSI_CHARSET:
-            charsetProperty.setVal(Charset.ANSI_CHARSET);
+            charsetProperty.setVal(FontCharset.ANSI.getValue());
             break;
         case Font.SYMBOL_CHARSET:
-            charsetProperty.setVal(Charset.SYMBOL_CHARSET);
+            charsetProperty.setVal(FontCharset.SYMBOL.getValue());
             break;
         case Font.DEFAULT_CHARSET:
-            charsetProperty.setVal(Charset.DEFAULT_CHARSET);
+            charsetProperty.setVal(FontCharset.DEFAULT.getValue());
             break;
         default:
             throw new RuntimeException("Attention: an attempt to set a type of unknow charset and charset");
         }
     }
 
+  
+    public void setCharSet(FontCharset charSet) {
+		setCharSet(charSet.getValue());
+    }
 
     public void setColor(short color) {
          CTColor ctColor=ctFont.sizeOfColorArray()==0?ctFont.addNewColor():ctFont.getColorArray(0);
@@ -257,24 +228,24 @@
     }
 
 
-
     public void setFontHeight(short height) {
-        CTFontSize fontSize=ctFont.sizeOfSzArray()==0?ctFont.addNewSz():ctFont.getSzArray(0);
-          fontSize.setVal(height*20);
+	setFontHeight((double)height);
     }
 
+    public void setFontHeight(double height) {
+        CTFontSize fontSize=ctFont.sizeOfSzArray()==0?ctFont.addNewSz():ctFont.getSzArray(0);
+        fontSize.setVal(height);
+    }
 
     public void setFontHeightInPoints(short height) {
-          CTFontSize fontSize=ctFont.sizeOfSzArray()==0?ctFont.addNewSz():ctFont.getSzArray(0);
-          fontSize.setVal(height);
+          setFontHeight((double)height);
     }
 
 
-
-     public void setRgbColor(XSSFColor color) {
-         CTColor ctColor=ctFont.sizeOfColorArray()==0?ctFont.addNewColor():ctFont.getColorArray(0);
-         ctColor.setRgb(color.getRgb());
-        }
+    public void setRgbColor(XSSFColor color) {
+	CTColor ctColor=ctFont.sizeOfColorArray()==0?ctFont.addNewColor():ctFont.getColorArray(0);
+	ctColor.setRgb(color.getRgb());
+    }
 
      public void setThemeColor(short theme) {
          CTColor ctColor=ctFont.sizeOfColorArray()==0?ctFont.addNewColor():ctFont.getColorArray(0);
@@ -282,8 +253,8 @@
      }
 
     public void setFontName(String name) {
- 		CTFontName fontName=ctFont.sizeOfNameArray()==0?ctFont.addNewName():ctFont.getNameArray(0);
- 		fontName.setVal(name);
+	CTFontName fontName=ctFont.sizeOfNameArray()==0?ctFont.addNewName():ctFont.getNameArray(0);
+	fontName.setVal(name);
     }
 
     public void setItalic(boolean italic) {
@@ -297,7 +268,7 @@
     }
 
     public void setTypeOffset(short offset) {
-         CTVerticalAlignFontProperty offsetProperty=ctFont.sizeOfVertAlignArray()==0?ctFont.addNewVertAlign(): ctFont.getVertAlignArray(0);
+        CTVerticalAlignFontProperty offsetProperty=ctFont.sizeOfVertAlignArray()==0?ctFont.addNewVertAlign(): ctFont.getVertAlignArray(0);
         switch (offset) {
         case Font.SS_NONE:
             offsetProperty.setVal(STVerticalAlignRun.BASELINE);
@@ -315,25 +286,36 @@
          CTUnderlineProperty ctUnderline=ctFont.sizeOfUArray()==0?ctFont.addNewU():ctFont.getUArray(0);
         switch (underline) {
         case Font.U_DOUBLE:
-            ctUnderline.setVal(STUnderlineValues.DOUBLE);
+            ctUnderline.setVal(FontUnderline.DOUBLE.getValue());
             break;
         case Font.U_DOUBLE_ACCOUNTING:
-            ctUnderline.setVal(STUnderlineValues.DOUBLE_ACCOUNTING);
+            ctUnderline.setVal(FontUnderline.DOUBLE_ACCOUNTING.getValue());
             break;
         case Font.U_SINGLE_ACCOUNTING:
-            ctUnderline.setVal(STUnderlineValues.SINGLE_ACCOUNTING);
+            ctUnderline.setVal(FontUnderline.SINGLE_ACCOUNTING.getValue());
             break;
         case Font.U_NONE:
-            ctUnderline.setVal(STUnderlineValues.NONE);
+            ctUnderline.setVal(FontUnderline.NONE.getValue());
             break;
-
         case Font.U_SINGLE:
         default:
-            ctUnderline.setVal(STUnderlineValues.SINGLE);
+            ctUnderline.setVal(FontUnderline.SINGLE.getValue());
         break;
         }
     }
-
+    
+    public void setUnderline(FontUnderline underline) {
+        CTUnderlineProperty ctUnderline=ctFont.sizeOfUArray()==0?ctFont.addNewU():ctFont.getUArray(0);
+        ctUnderline.setVal(underline.getValue());
+    }
+    
+    
+    public String toString(){
+	        return "org.apache.poi.xssf.usermodel.XSSFFont{" +
+               ctFont +
+              "}";
+    }
+    
 
      public long putFont(ArrayList<CTFont> fonts) {
         //TODO
@@ -349,58 +331,37 @@
         return fonts.size() - 1;
     }
 
-    // solo di xssfFont - non di Font-
-    //sono utilizzati nel metodo createDefaultFont in StylesTable insta.
+/*
+  this methds are used only for XSSFFont and aren't in Font interface
+  are used in method SthlesTable.createDefaultfont
+ */
 
-    public int getScheme(){
+    public FontScheme getScheme(){
         CTFontScheme scheme=ctFont.sizeOfSchemeArray()==0?null:ctFont.getSchemeArray(0);
-        if(scheme!=null){
-            int fontScheme = scheme.getVal().intValue();
-            switch (fontScheme) {
-            case STFontScheme.INT_MAJOR:
-                return XSSFFont.SCHEME_MAJOR;
-            case STFontScheme.INT_MINOR:
-                return XSSFFont.SCHEME_MINOR;
-            case STFontScheme.INT_NONE:
-                return XSSFFont.SCHEME_NONE;
-
-            default:
-                return fontScheme;
-            }
-        }
-        return 0;
+        return scheme == null ? FontScheme.NONE : FontScheme.valueOf(scheme.getVal());
     }
 
-
-      public void setScheme(int scheme){
+    public void setScheme(FontScheme scheme){
          CTFontScheme ctFontScheme=ctFont.sizeOfSchemeArray()==0?ctFont.addNewScheme():ctFont.getSchemeArray(0);
-        switch (scheme) {
-        case XSSFFont.SCHEME_MAJOR:
-            ctFontScheme.setVal(STFontScheme.MAJOR);
-            break;
-        case XSSFFont.SCHEME_MINOR:
-            ctFontScheme.setVal(STFontScheme.MINOR);
-            break;
-        case XSSFFont.SCHEME_NONE:
-            ctFontScheme.setVal(STFontScheme.NONE);
-            break;
-        default:
-            throw new RuntimeException("Schema value ["+ scheme +"] not supported in XSSFFont");
-        }
+         ctFontScheme.setVal(scheme.getValue());
     }
 
 
       public int getFamily(){
-         CTIntProperty family=ctFont.sizeOfFamilyArray()==0?ctFont.addNewFamily():ctFont.getFamilyArray(0);
-         if(family!=null)
-             return family.getVal();
-          else
-              return XSSFFont.FONT_FAMILY_SWISS;
+         CTIntProperty family = ctFont.sizeOfFamilyArray() == 0 ? ctFont.addNewFamily() : ctFont.getFamilyArray(0);
+         return family == null ? FontFamily.NOT_APPLICABLE.getValue() : FontFamily.valueOf(family.getVal()).getValue();
       }
 
-      public void setFamily(int value){
-         CTIntProperty family=ctFont.sizeOfFamilyArray()==0?ctFont.addNewFamily():ctFont.getFamilyArray(0);
+      
+     public void setFamily(int value){
+         CTIntProperty family = ctFont.sizeOfFamilyArray() == 0 ? ctFont.addNewFamily() : ctFont.getFamilyArray(0);
           family.setVal(value);
      }
+      
+     public void setFamily(FontFamily family){
+	 setFamily(family.getValue());
+     }
 
+     
+    
 }

Modified: poi/branches/ooxml/src/ooxml/java/org/apache/poi/xssf/util/Charset.java
URL: http://svn.apache.org/viewvc/poi/branches/ooxml/src/ooxml/java/org/apache/poi/xssf/util/Charset.java?rev=698651&r1=698650&r2=698651&view=diff
==============================================================================
--- poi/branches/ooxml/src/ooxml/java/org/apache/poi/xssf/util/Charset.java (original)
+++ poi/branches/ooxml/src/ooxml/java/org/apache/poi/xssf/util/Charset.java Wed Sep 24 09:56:12 2008
@@ -1,27 +0,0 @@
-package org.apache.poi.xssf.util;
-
-public class Charset {
-
-	public static final int ANSI_CHARSET=0;
-	public static final int DEFAULT_CHARSET=1;
-	public static final int SYMBOL_CHARSET=2;
-	public static final int MAC_CHARSET=77;
-	public static final int SHIFTJIS_CHARSET=128;
-	public static final int HANGEUL_CHARSET=129;
-	public static final int HANGUL_CHARSET=129;
-	public static final int JOHAB_CHARSET=130;
-	public static final int GB2312_CHARSET=134;
- 	public static final int CHINESEBIG5_CHARSET=136;
-	public static final int GREEK_CHARSET=161;
-	public static final int TURKISH_CHARSET=162;
-	public static final int VIETNAMESE_CHARSET=163;
-	public static final int HEBREW_CHARSET=177;
-	public static final int ARABIC_CHARSET=178;
-	public static final int BALTIC_CHARSET=186;
-	public static final int RUSSIAN_CHARSET=204;
-	public static final int THAI_CHARSET=222;
-	public static final int EASTEUROPE_CHARSET=238;
-	public static final int OEM_CHARSET=255;
-	
-	
-}

Modified: poi/branches/ooxml/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFFont.java
URL: http://svn.apache.org/viewvc/poi/branches/ooxml/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFFont.java?rev=698651&r1=698650&r2=698651&view=diff
==============================================================================
--- poi/branches/ooxml/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFFont.java (original)
+++ poi/branches/ooxml/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFFont.java Wed Sep 24 09:56:12 2008
@@ -13,7 +13,7 @@
 import org.apache.poi.ss.usermodel.Font;
 import org.apache.poi.ss.usermodel.Row;
 import org.apache.poi.ss.usermodel.Sheet;
-import org.apache.poi.xssf.util.Charset;
+import org.apache.poi.xssf.usermodel.extensions.XSSFColor;
 import org.openxml4j.opc.Package;
 import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTBooleanProperty;
 import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTColor;
@@ -54,14 +54,14 @@
 	public void testCharSet(){
 		CTFont ctFont=CTFont.Factory.newInstance();
 		CTIntProperty prop=ctFont.addNewCharset();
-		prop.setVal(Charset.ANSI_CHARSET);
+		prop.setVal(FontCharset.ANSI.getValue());
 
 		ctFont.setCharsetArray(0,prop);
 		XSSFFont xssfFont=new XSSFFont(ctFont);
 		assertEquals(Font.ANSI_CHARSET,xssfFont.getCharSet());
 
-		xssfFont.setCharSet(Font.DEFAULT_CHARSET);
-		assertEquals(Charset.DEFAULT_CHARSET,ctFont.getCharsetArray(0).getVal());
+		xssfFont.setCharSet(FontCharset.DEFAULT);
+		assertEquals(FontCharset.DEFAULT.getValue(),ctFont.getCharsetArray(0).getVal());
 	}
 
 
@@ -118,10 +118,10 @@
 		ctFont.setSzArray(0,size);
 
 		XSSFFont xssfFont=new XSSFFont(ctFont);
-		assertEquals(11/20,xssfFont.getFontHeight());
+		assertEquals(11,xssfFont.getFontHeight());
 
 		xssfFont.setFontHeight((short)20);
-		assertEquals(new Double(20*20).doubleValue(),ctFont.getSzArray(0).getVal());
+		assertEquals(new Double(20).doubleValue(),ctFont.getSzArray(0).getVal());
 	}
 
 
@@ -151,7 +151,11 @@
 		xssfFont.setUnderline(Font.U_DOUBLE);
 		assertEquals(ctFont.getUArray().length,1);
 		assertEquals(STUnderlineValues.DOUBLE,ctFont.getUArray(0).getVal());
-		}
+		
+		xssfFont.setUnderline(FontUnderline.DOUBLE_ACCOUNTING);
+		assertEquals(ctFont.getUArray().length,1);
+		assertEquals(STUnderlineValues.DOUBLE_ACCOUNTING,ctFont.getUArray(0).getVal());
+	}
 
 	public void testColor(){
 		CTFont ctFont=CTFont.Factory.newInstance();
@@ -160,47 +164,52 @@
 		ctFont.setColorArray(0,color);
 
 		XSSFFont xssfFont=new XSSFFont(ctFont);
-		assertEquals(Font.COLOR_NORMAL,xssfFont.getColor());
+		assertEquals(IndexedColors.BLACK.getIndex(),xssfFont.getColor());
 
 		xssfFont.setColor(IndexedColors.RED.getIndex());
 		assertEquals(IndexedColors.RED.getIndex(), ctFont.getColorArray(0).getIndexed());
 	}
-/*
+
 	public void testRgbColor(){
-		CTFont ctFont=CTFont.Factory.newInstance();
-		CTColor color=ctFont.addNewColor();
-		color.setRgb(new byte[]{});
-		ctFont.setColorArray(0,color);
+	    CTFont ctFont=CTFont.Factory.newInstance();
+	    CTColor color=ctFont.addNewColor();
 
-		XSSFFont xssfFont=new XSSFFont(ctFont);
-		assertEquals(,xssfFont.getRgbColor());
+	    color.setRgb(Integer.toHexString(0xFFFFFF).getBytes());
+	    ctFont.setColorArray(0,color);
 
-		xssfFont.setRgbColor(new XSSFColor(new java.awt.Color(10,19,10)));
-		//assertEquals(,ctFont.getColorArray(0).getRgb());
+	    XSSFFont xssfFont=new XSSFFont(ctFont);
+	    assertEquals(ctFont.getColorArray(0).getRgb()[0],xssfFont.getRgbColor().getRgb()[0]);
+	    assertEquals(ctFont.getColorArray(0).getRgb()[1],xssfFont.getRgbColor().getRgb()[1]);
+	    assertEquals(ctFont.getColorArray(0).getRgb()[2],xssfFont.getRgbColor().getRgb()[2]);
+	    assertEquals(ctFont.getColorArray(0).getRgb()[3],xssfFont.getRgbColor().getRgb()[3]);
+
+	    color.setRgb(Integer.toHexString(0xF1F1F1).getBytes());
+	    XSSFColor newColor=new XSSFColor(color);
+	    xssfFont.setRgbColor(newColor);
+	    assertEquals(ctFont.getColorArray(0).getRgb()[2],newColor.getRgb()[2]);
 	}
 
 	public void testThemeColor(){
-		CTFont ctFont=CTFont.Factory.newInstance();
-		CTColor color=ctFont.addNewColor();
-		color.setTheme();
-		ctFont.setColorArray(0,color);
+	    CTFont ctFont=CTFont.Factory.newInstance();
+	    CTColor color=ctFont.addNewColor();
+	    color.setTheme((long)1);
+	    ctFont.setColorArray(0,color);
 
-		XSSFFont xssfFont=new XSSFFont(ctFont);
-		assertEquals(,xssfFont.getThemeColor());
+	    XSSFFont xssfFont=new XSSFFont(ctFont);
+	    assertEquals(ctFont.getColorArray(0).getTheme(),xssfFont.getThemeColor());
 
-		xssfFont.setThemeColor(Font.COLOR_RED);
-		assertEquals(,ctFont.getColorArray(0).getTheme());
-		assertEquals(,ctFont.getColorArray(0).getTint());
+	    xssfFont.setThemeColor(IndexedColors.RED.getIndex());
+	    assertEquals(IndexedColors.RED.getIndex(),ctFont.getColorArray(0).getTheme());
 	}
-*/
+
 	public void testFamily(){
 		CTFont ctFont=CTFont.Factory.newInstance();
 		CTIntProperty family=ctFont.addNewFamily();
-		family.setVal(XSSFFont.FONT_FAMILY_MODERN);
+		family.setVal(FontFamily.MODERN.getValue());
 		ctFont.setFamilyArray(0,family);
 
 		XSSFFont xssfFont=new XSSFFont(ctFont);
-		assertEquals(XSSFFont.FONT_FAMILY_MODERN,xssfFont.getFamily());
+		assertEquals(FontFamily.MODERN.getValue(),xssfFont.getFamily());
 	}
 
 
@@ -211,9 +220,9 @@
 		ctFont.setSchemeArray(0,scheme);
 
 		XSSFFont font=new XSSFFont(ctFont);
-		assertEquals(XSSFFont.SCHEME_MAJOR,font.getScheme());
+		assertEquals(FontScheme.MAJOR,font.getScheme());
 
-		font.setScheme(XSSFFont.SCHEME_NONE);
+		font.setScheme(FontScheme.NONE);
 		assertEquals(STFontScheme.NONE,ctFont.getSchemeArray(0).getVal());
 	}
 
@@ -332,7 +341,7 @@
 		Font font2=new XSSFFont();
 		font2.setFontHeight((short)1);
 		font2.setFontName("Courier");
-		font2.setColor(Font.COLOR_NORMAL);
+		font2.setColor(IndexedColors.BLACK.getIndex());
 		font2.setUnderline(Font.U_DOUBLE);
 		CellStyle cellStyle2=workbook.createCellStyle();
 		cellStyle2.setFont(font2);
@@ -362,5 +371,4 @@
 		out.close();
 	}
 
-
 }

Modified: poi/branches/ooxml/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFWorkbook.java
URL: http://svn.apache.org/viewvc/poi/branches/ooxml/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFWorkbook.java?rev=698651&r1=698650&r2=698651&view=diff
==============================================================================
--- poi/branches/ooxml/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFWorkbook.java (original)
+++ poi/branches/ooxml/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFWorkbook.java Wed Sep 24 09:56:12 2008
@@ -242,7 +242,7 @@
     public void testFindFont(){
         //get dafault font and check against default value
     	XSSFWorkbook workbook = new XSSFWorkbook();
-    	Font fontFind=workbook.findFont(Font.BOLDWEIGHT_NORMAL, Font.COLOR_NORMAL, (short)11, "Calibri", false, false, Font.SS_NONE, Font.U_NONE);
+    	Font fontFind=workbook.findFont(Font.BOLDWEIGHT_NORMAL, IndexedColors.BLACK.getIndex(), (short)11, "Calibri", false, false, Font.SS_NONE, Font.U_NONE);
     	assertNotNull(fontFind);    	
     	
     	//get default font, then change 2 values and check against different values (height changes)
@@ -251,9 +251,8 @@
     	font.setUnderline(Font.U_DOUBLE);
     	StylesSource styleSource=new StylesTable();
     	long index=styleSource.putFont(font);
-    	System.out.println("index="+index);
     	workbook.setStylesSource(styleSource);
-    	fontFind=workbook.findFont(Font.BOLDWEIGHT_BOLD, Font.COLOR_NORMAL, (short)15, "Calibri", false, false, Font.SS_NONE, Font.U_DOUBLE);
+    	fontFind=workbook.findFont(Font.BOLDWEIGHT_BOLD, IndexedColors.BLACK.getIndex(), (short)15, "Calibri", false, false, Font.SS_NONE, Font.U_DOUBLE);
         assertNull(fontFind);
     }
 
@@ -291,6 +290,7 @@
         assertNotNull(fontAt);
     }
     
+
     public void testGetNumberOfFonts(){
      	XSSFWorkbook wb = new XSSFWorkbook();
 



---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@poi.apache.org
For additional commands, e-mail: commits-help@poi.apache.org