diff options
author | Jeremias Maerki <jeremias@apache.org> | 2005-09-14 10:29:04 +0000 |
---|---|---|
committer | Jeremias Maerki <jeremias@apache.org> | 2005-09-14 10:29:04 +0000 |
commit | ac8e8ff3d2c6acc9f56517464bcec6a8cb00e387 (patch) | |
tree | b5bc61153859e85cdadd0d207b912ede646267ec /src/java/org | |
parent | ee6ff71f490931461a164c7bdaa5120aacab8ea1 (diff) | |
download | xmlgraphics-fop-ac8e8ff3d2c6acc9f56517464bcec6a8cb00e387.tar.gz xmlgraphics-fop-ac8e8ff3d2c6acc9f56517464bcec6a8cb00e387.zip |
Warn about fonts which are not available.
git-svn-id: https://svn.apache.org/repos/asf/xmlgraphics/fop/trunk@280816 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'src/java/org')
-rw-r--r-- | src/java/org/apache/fop/fonts/FontInfo.java | 29 |
1 files changed, 23 insertions, 6 deletions
diff --git a/src/java/org/apache/fop/fonts/FontInfo.java b/src/java/org/apache/fop/fonts/FontInfo.java index 7b554f1c4..e53d05716 100644 --- a/src/java/org/apache/fop/fonts/FontInfo.java +++ b/src/java/org/apache/fop/fonts/FontInfo.java @@ -1,5 +1,5 @@ /* - * Copyright 2004 The Apache Software Foundation. + * Copyright 2004-2005 The Apache Software Foundation. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -19,11 +19,17 @@ package org.apache.fop.fonts; import java.util.ArrayList; +import java.util.Collection; import java.util.Collections; +import java.util.HashSet; import java.util.Iterator; import java.util.List; import java.util.Map; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; +import org.apache.fop.layoutmgr.AbstractBreaker; + /** * The FontInfo for the layout and rendering of a fo document. @@ -36,6 +42,9 @@ import java.util.Map; */ public class FontInfo { + /** logging instance */ + protected static Log log = LogFactory.getLog(FontInfo.class); + /** Map containing fonts that have been used */ private Map usedFonts; @@ -44,6 +53,8 @@ public class FontInfo { /** look up a font-name to get a font (that implements FontMetrics at least) */ private Map fonts; + + private Collection loggedFontKeys; /** * Main constructor @@ -116,15 +127,11 @@ public class FontInfo { // then try any family with orig weight if (f == null) { + notifyFontReplacement(key); key = createFontKey("any", style, weight); f = (String)triplets.get(key); } - // then try any family with adjusted weight - if (f == null) { - f = findAdjustWeight(family, style, weight); - } - // then use default if (f == null) { f = (String)triplets.get(Font.DEFAULT_FONT); @@ -136,6 +143,16 @@ public class FontInfo { return f; } + private void notifyFontReplacement(String key) { + if (loggedFontKeys == null) { + loggedFontKeys = new java.util.HashSet(); + } + if (!loggedFontKeys.contains(key)) { + loggedFontKeys.add(key); + log.warn("Font '" + key + "' not found. Substituting with default font."); + } + } + /** * Find a font with a given family and style by trying * different font weights according to the spec. |