/*
 * 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: MutableFont.java 1618496 2014-08-17 18:56:01Z gadams $ */

package org.apache.fop.fonts;

import java.net.URI;
import java.util.Map;
import java.util.Set;



This interface is used to set the values of a font during configuration time.
/** * This interface is used to set the values of a font during configuration time. */
public interface MutableFont {
Sets the URI from which this font is or will be loaded.
Params:
  • uri – URI from which font is or will be loaded
/** * Sets the URI from which this font is or will be loaded. * @param uri URI from which font is or will be loaded */
void setFontURI(URI uri);
Sets the "PostScript" font name (Example: "Helvetica-BoldOblique").
Params:
  • name – font name
/** * 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".
Params:
  • name – font' full 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").
Params:
  • names – the font's family names (a Set of Strings)
/** * Sets the font's family names (Example: "Helvetica"). * @param names the font's family names (a Set of Strings) */
void setFamilyNames(Set<String> names);
Sets the URI to the embeddable font.
Params:
  • path – URI to the font
/** * Sets the URI to the embeddable font. * @param path URI to the font */
void setEmbedURI(URI path);
Sets the resource name of the embeddable font file.
Params:
  • name – resource name
/** * Sets the resource name of the embeddable font file. * @param name resource name */
void setEmbedResourceName(String name);
Sets the embedding mode.
Params:
  • embeddingMode – the embedding mode
/** * Sets the embedding mode. * @param embeddingMode the embedding mode */
void setEmbeddingMode(EmbeddingMode embeddingMode);
Sets the capital height value.
Params:
  • capHeight – capital height
/** * Sets the capital height value. * @param capHeight capital height */
void setCapHeight(int capHeight);
Sets the ascent value.
Params:
  • ascender – ascent height
/** * Sets the ascent value. * @param ascender ascent height */
void setAscender(int ascender);
Sets the descent value.
Params:
  • descender – descent value
/** * Sets the descent value. * @param descender descent value */
void setDescender(int descender);
Sets the font's bounding box
Params:
  • bbox – bounding box
/** * Sets the font's bounding box * @param bbox bounding box */
void setFontBBox(int[] bbox);
Sets the font's flags
Params:
  • flags – flags
/** * Sets the font's flags * @param flags flags */
void setFlags(int flags);
Sets the font's StemV value.
Params:
  • stemV – StemV
/** * Sets the font's StemV value. * @param stemV StemV */
void setStemV(int stemV);
Sets the font's italic angle.
Params:
  • italicAngle – italic angle
/** * Sets the font's italic angle. * @param italicAngle italic angle */
void setItalicAngle(int italicAngle);
Sets the font's default width
Params:
  • width – default width
/** * Sets the font's default width * @param width default width */
void setMissingWidth(int width);
Sets the font type.
Params:
  • fontType – font type
/** * Sets the font type. * @param fontType font type */
void setFontType(FontType fontType);
Sets the index of the first character in the character table.
Params:
  • index – index of first character
/** * 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.
Params:
  • index – index of the last character
/** * 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.
Params:
  • enabled – True if kerning should be enabled if available
/** * Enables/disabled kerning. * @param enabled True if kerning should be enabled if available */
void setKerningEnabled(boolean enabled);
Enables/disabled advanced typographic features.
Params:
  • enabled – true if advanced typographic features should be enabled if available
/** * Enables/disabled advanced typographic features. * @param enabled true if advanced typographic features should be enabled if available */
void setAdvancedEnabled(boolean enabled);
Adds an entry to the kerning table.
Params:
  • key – Kerning key
  • value – Kerning value
/** * Adds an entry to the kerning table. * @param key Kerning key * @param value Kerning value */
void putKerningEntry(Integer key, Map<Integer, Integer> value); }