001 /** 002 * =========================================== 003 * LibFonts : a free Java font reading library 004 * =========================================== 005 * 006 * Project Info: http://reporting.pentaho.org/libfonts/ 007 * 008 * (C) Copyright 2006-2007, by Pentaho Corporation and Contributors. 009 * 010 * This library is free software; you can redistribute it and/or modify it under the terms 011 * of the GNU Lesser General Public License as published by the Free Software Foundation; 012 * either version 2.1 of the License, or (at your option) any later version. 013 * 014 * This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; 015 * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 016 * See the GNU Lesser General Public License for more details. 017 * 018 * You should have received a copy of the GNU Lesser General Public License along with this 019 * library; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, 020 * Boston, MA 02111-1307, USA. 021 * 022 * [Java is a trademark or registered trademark of Sun Microsystems, Inc. 023 * in the United States and other countries.] 024 * 025 * ------------ 026 * $Id: FontMappingUtility.java 3523 2007-10-16 11:03:09Z tmorgner $ 027 * ------------ 028 * (C) Copyright 2006-2007, by Pentaho Corporation. 029 */ 030 031 package org.jfree.fonts; 032 033 import org.jfree.util.StringUtils; 034 035 /** 036 * Creation-Date: 22.07.2007, 18:25:35 037 * 038 * @author Thomas Morgner 039 */ 040 public class FontMappingUtility 041 { 042 043 private FontMappingUtility() 044 { 045 } 046 047 /** 048 * Returns true if the logical font name is equivalent to 'SansSerif', and false 049 * otherwise. 050 * 051 * @return true or false. 052 */ 053 public static boolean isSansSerif (final String fontName) 054 { 055 return StringUtils.startsWithIgnoreCase(fontName, "SansSerif") 056 || StringUtils.startsWithIgnoreCase(fontName, "Dialog") 057 || StringUtils.startsWithIgnoreCase(fontName, "SanSerif"); 058 // is it a bug? Somewhere in the JDK this name is used (typo, but heck, we accept it anyway). 059 } 060 061 /** 062 * Returns true if the logical font name is equivalent to 'Courier', and false 063 * otherwise. 064 * 065 * @return true or false. 066 */ 067 public static boolean isCourier (final String fontName) 068 { 069 return (StringUtils.startsWithIgnoreCase(fontName, "dialoginput") 070 || StringUtils.startsWithIgnoreCase(fontName, "monospaced")); 071 } 072 073 /** 074 * Returns true if the logical font name is equivalent to 'Serif', and false otherwise. 075 * 076 * @return true or false. 077 */ 078 public static boolean isSerif (final String fontName) 079 { 080 return (StringUtils.startsWithIgnoreCase(fontName, "serif")); 081 } 082 083 public static boolean isSymbol(final String fontName) 084 { 085 return (StringUtils.startsWithIgnoreCase(fontName, "symbol")); 086 } 087 }