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 }