Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  /* NOTICE: This file has been changed by Plutext Pty Ltd for use in docx4j.
   * The package name has been changed; there may also be other changes.
   * 
   * This notice is included to meet the condition in clause 4(b) of the License. 
   */
  
   /*
   * 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: FontManager.java 677543 2008-07-17 09:11:09Z jeremias $ */
 
 package org.docx4j.fonts.fop.fonts;
 
 
 
 
 // TODO: Refactor fonts package so major font activities (autodetection etc)
 // are all centrally managed and delegated from this class, also remove dependency on FopFactory
 // and start using POJO config/properties type classes
 
The manager of fonts. The class holds a reference to the font cache and information about font substitution, referenced fonts and similar.
 
 public class FontManager {
    
Use cache (record previously detected font triplet info)
 
     public static final boolean DEFAULT_USE_CACHE = true;

    
The base URL for all font URL resolutions.
 
     private String fontBase = null;

    
Font cache to speed up auto-font configuration (null if disabled)
 
     private FontCache fontCache = null;

    
Font substitutions
 
     private FontSubstitutions fontSubstitutions = null;

    
Allows enabling kerning on the base 14 fonts, default is false
 
     private boolean enableBase14Kerning = false;

    
FontTriplet matcher for fonts that shall be referenced rather than embedded.
 
     private FontTriplet.Matcher referencedFontsMatcher;

    
Main constructor
 
     public FontManager() {
         setUseCache();
     }

    
Sets the font base URL.

Parameters:
fontBase font base URL
Throws:
java.net.MalformedURLException if there's a problem with a URL
 
     public void setFontBaseURL(String fontBasethrows MalformedURLException {
         this. = fontBase;
     }

    
Returns the font base URL.

Returns:
the font base URL (or null if none was set)
 
     public String getFontBaseURL() {
         return this.;
     }

    

Returns:
true if kerning on base 14 fonts is enabled
 
     public boolean isBase14KerningEnabled() {
         return this.;
     }

    
Controls whether kerning is activated on base 14 fonts.

Parameters:
value true if kerning should be activated
 
     public void setBase14KerningEnabled(boolean value) {
         this. = value;
     }

    
Sets the font substitutions

Parameters:
substitutions font substitutions
    public void setFontSubstitutions(FontSubstitutions substitutions) {
        this. = substitutions;
    }

    
Returns the font substitution catalog

Returns:
the font substitution catalog
        if ( == null) {
            this. = new FontSubstitutions();
        }
        return ;
    }

    
Whether or not to cache results of font triplet detection/auto-config

Parameters:
useCache use cache or not
    public void setUseCache(boolean useCache) {
        if (useCache) {
            this. = FontCache.load();
            if (this. == null) {
                this. = new FontCache();
            }
        } else {
            this. = null;
        }
    }

    
Cache results of font triplet detection/auto-config?

Returns:
true if this font manager uses the cache
    public boolean useCache() {
        return (this. != null);
    }

    
Returns the font cache instance used by this font manager.

Returns:
the font cache
    public FontCache getFontCache() {
        return this.;
    }

    
Sets up the fonts on a given FontInfo object. The fonts to setup are defined by an array of FontCollection objects.

Parameters:
fontInfo the FontInfo object to set up
fontCollections the array of font collections/sources
    public void setup(FontInfo fontInfoFontCollection[] fontCollections) {
        int startNum = 1;
        for (int i = 0, c = fontCollections.lengthi < ci++) {
            startNum = fontCollections[i].setup(startNumfontInfo);
        }
        // Make any defined substitutions in the font info
        getFontSubstitutions().adjustFontInfo(fontInfo);
    }

    

Returns:
a new FontResolver to be used by the font subsystem
    public static FontResolver createMinimalFontResolver() {
        return new FontResolver() {

            
            public Source resolve(String href) {
                //Minimal functionality here
                return new StreamSource(href);
            }
        };
    }

    
Sets the FontTriplet.Matcher that can be used to identify the fonts that shall be referenced rather than embedded.

Parameters:
matcher the font triplet matcher
    public void setReferencedFontsMatcher(FontTriplet.Matcher matcher) {
        this. = matcher;
    }

    
Gets the FontTriplet.Matcher that can be used to identify the fonts that shall be referenced rather than embedded.

Returns:
the font triplet matcher (or null if none is set)
        return this.;
    }
New to GrepCode? Check out our FAQ X