/*********************************************************************** * mt4j Copyright (c) 2008 - 2009, C.Ruff, Fraunhofer-Gesellschaft All rights reserved. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. * ***********************************************************************/ package org.mt4j.components.visibleComponents.font; import org.mt4j.util.MTColor; /** * The Interface IFont. * @author Christopher Ruff */ public interface IFont { /** * Gets the font character by name. * * @param characterName the character name * * @return the font character by name */ public IFontCharacter getFontCharacterByName(String characterName); /** * Gets the font character by unicode. * * @param unicode the unicode * * @return the font character by unicode */ public IFontCharacter getFontCharacterByUnicode(String unicode); /** * Gets the characters. * * @return the characters */ public IFontCharacter[] getCharacters(); /** * Gets the font family. * * @return the font family */ public String getFontFamily(); /** * Gets the default horizontal adv x. * * @return the default horizontal adv x */ public int getDefaultHorizontalAdvX(); /** * Gets the font max ascent. * * @return the font max ascent */ public int getFontMaxAscent(); /** * Gets the font max descent. * <br>NOTE: this often is a negative value * * @return the font max descent */ public int getFontMaxDescent(); /** * Gets the units per em. * * @return the units per em */ public int getUnitsPerEM(); /** * Gets the font file name. * * @return the font file name */ public String getFontFileName(); /** * Gets the original font size. * * @return the original font size */ public int getOriginalFontSize(); /** * Gets the font absolute height. * * @return the font absolute height */ public int getFontAbsoluteHeight(); /** * Gets the fill color. * * @return the fill color */ public MTColor getFillColor(); /** * Gets the stroke color. * * @return the stroke color */ public MTColor getStrokeColor(); /** * Checks if is anti aliased. * * @return true, if is anti aliased */ public boolean isAntiAliased(); /** * Destroys the font's characters and removes it from the FontManager's cache. */ public void destroy(); }