/*
* 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);
}