/* * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. * * Copyright 2008 jOpenDocument, by ILM Informatique. All rights reserved. * * The contents of this file are subject to the terms of the GNU * General Public License Version 3 only ("GPL"). * You may not use this file except in compliance with the License. * You can obtain a copy of the License at http://www.gnu.org/licenses/gpl-3.0.html * See the License for the specific language governing permissions and limitations under the License. * * When distributing the software, include this License Header Notice in each file. * */ package org.jopendocument.model.style; import java.awt.Color; import java.awt.Font; import org.jopendocument.util.ValueHelper; public class StyleTextProperties { private Color color; private String fontName; private String fontSize; private String fontWeight; Font lastFont; double lastResizeFactor; public Color getColor() { return this.color; } public Font getFont(final double resizeFactor) { if (this.lastResizeFactor == resizeFactor) { return this.lastFont; } String currentFontName = this.fontName; int fonttype = Font.PLAIN; if (this.fontWeight != null && this.fontWeight.equals("bold")) { fonttype = Font.BOLD; } if (this.fontSize == null) { this.fontSize = "10pt"; System.err.println("Assert default font size: 10"); } final String substring = this.fontSize.substring(0, this.fontSize.length() - 2); final int fSize = Integer.valueOf(substring).intValue(); if (currentFontName.equalsIgnoreCase("Times")) { currentFontName = "Times New Roman"; } if (currentFontName == null) { throw new IllegalStateException("font name null!!"); } final Font font = new Font(currentFontName, fonttype, (int) (fSize * 360 / resizeFactor)); // System.err.println("StyleTextProperties.getFont():"+font.getFontName()); // System.err.println("StyleTextProperties.getFont() " + currentFontName + " font size:" + // this.fontSize + " " + (int) ((fSize * 360) / resizeFactor)); this.lastFont = font; this.lastResizeFactor = resizeFactor; return font; } public String getFontName() { return this.fontName; } public String getFontSize() { return this.fontSize; } public String getFontWeight() { return this.fontWeight; } public void setColor(final Color fontColor) { this.color = fontColor; } public void setColor(final String value) { if (value != null) { this.color = ValueHelper.getColor(value); } } public void setFontName(final String value) { this.fontName = value; } public void setFontSize(final String value) { this.fontSize = value; } public void setFontWeight(final String value) { this.fontWeight = value; } @Override public String toString() { return "StyleTextProperty:" + this.fontName + " " + this.fontSize + " " + this.fontWeight; } }