blob: d34af2f6b8e47c2226474a4102187f480180c498 [file] [log] [blame]
/*
* 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 org.apache.fop.events.EventBroadcaster;
import org.apache.fop.events.EventProducer;
/**
* Event producer for fonts-related events.
*/
public interface FontEventProducer extends EventProducer {
/**
* Provider class for the event producer.
*/
final class Provider {
private Provider() { }
/**
* Returns an event producer.
* @param broadcaster the event broadcaster to use
* @return the event producer
*/
public static FontEventProducer get(EventBroadcaster broadcaster) {
return broadcaster.getEventProducerFor(FontEventProducer.class);
}
}
/**
* Notifies about a font being substituted as the requested one isn't available.
* @param source the event source
* @param requested the requested font triplet
* @param effective the effective font triplet
* @event.severity WARN
*/
void fontSubstituted(Object source, FontTriplet requested, FontTriplet effective);
/**
* An error occurred while loading a font for auto-detection.
* @param source the event source
* @param fontURL the font URL
* @param e the original exception
* @event.severity WARN
*/
void fontLoadingErrorAtAutoDetection(Object source, String fontURL, Exception e);
/**
* A glyph has been requested that is not available in the font.
* @param source the event source
* @param ch the character for which the glyph isn't available
* @param fontName the name of the font
* @event.severity WARN
*/
void glyphNotAvailable(Object source, char ch, String fontName);
/**
* An error occurred trying to find the font directory specified in the config file.
* @param source the event source
* @param dir the directory in the config file
* @event.severity WARN
*/
void fontDirectoryNotFound(Object source, String dir);
/**
* The SVG text will be stroked as shapes.
* @param source the event source
* @param fontFamily the family name of the font that is being stroked
* @event.severity WARN
*/
void svgTextStrokedAsShapes(Object source, String fontFamily);
/**
* A method to warn the user that the feature they are trying to use is not supported with either the renderer or
* other setting.
* @param source
* @param feature The feature that has caused the not supported issue
* @param onlySupportedIn The renderer / setting that this feature works with.
* @event.severity ERROR
*/
void fontFeatureNotSuppprted(Object source, String feature, String onlySupportedIn);
}