| /* |
| * 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. |
| */ |
| |
| /* $Id$ */ |
| |
| package org.apache.fop.fonts; |
| |
| import java.util.Map; |
| import java.util.Set; |
| |
| |
| |
| /** |
| * This interface is used to set the values of a font during configuration time. |
| */ |
| public interface MutableFont { |
| |
| /** |
| * Sets the "PostScript" font name (Example: "Helvetica-BoldOblique"). |
| * @param name font name |
| */ |
| void setFontName(String name); |
| |
| /** |
| * Sets the font's full name (usually the one that the operating system displays). Example: |
| * "Helvetica Bold Oblique". |
| * @param name font' full name |
| */ |
| void setFullName(String name); |
| |
| /** |
| * Sets the font's family names (Example: "Helvetica"). |
| * @param names the font's family names (a Set of Strings) |
| */ |
| void setFamilyNames(Set names); |
| |
| /** |
| * Sets the path to the embeddable font file. |
| * @param path URI to the file |
| */ |
| void setEmbedFileName(String path); |
| |
| /** |
| * Sets the resource name of the embeddable font file. |
| * @param name resource name |
| */ |
| void setEmbedResourceName(String name); |
| |
| /** |
| * Sets the capital height value. |
| * @param capHeight capital height |
| */ |
| void setCapHeight(int capHeight); |
| |
| /** |
| * Sets the ascent value. |
| * @param ascender ascent height |
| */ |
| void setAscender(int ascender); |
| |
| /** |
| * Sets the descent value. |
| * @param descender descent value |
| */ |
| void setDescender(int descender); |
| |
| /** |
| * Sets the font's bounding box |
| * @param bbox bounding box |
| */ |
| void setFontBBox(int[] bbox); |
| |
| /** |
| * Sets the font's flags |
| * @param flags flags |
| */ |
| void setFlags(int flags); |
| |
| /** |
| * Sets the font's StemV value. |
| * @param stemV StemV |
| */ |
| void setStemV(int stemV); |
| |
| /** |
| * Sets the font's italic angle. |
| * @param italicAngle italic angle |
| */ |
| void setItalicAngle(int italicAngle); |
| |
| /** |
| * Sets the font's default width |
| * @param width default width |
| */ |
| void setMissingWidth(int width); |
| |
| /** |
| * Sets the font type. |
| * @param fontType font type |
| */ |
| void setFontType(FontType fontType); |
| |
| /** |
| * Sets the index of the first character in the character table. |
| * @param index index of first character |
| */ |
| void setFirstChar(int index); |
| |
| /** |
| * Sets the index of the last character in the character table. |
| * @param index index of the last character |
| */ |
| void setLastChar(int index); |
| |
| /** |
| * Enables/disabled kerning. |
| * @param enabled True if kerning should be enabled if available |
| */ |
| void setKerningEnabled(boolean enabled); |
| |
| /** |
| * Adds an entry to the kerning table. |
| * @param key Kerning key |
| * @param value Kerning value |
| */ |
| void putKerningEntry(Integer key, Map value); |
| |
| } |