Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  /*
  
     Copyright 2001-2003  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.
     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.
 
  */
 package org.apache.batik.svggen.font;
 
 import java.io.File;
 
The TrueType font.

Author(s):
David Schweinsberg
Version:
$Id: Font.java,v 1.6 2004/08/18 07:15:18 vhardy Exp $
 
 public class Font {
 
     private String path;
 //    private Interpreter interp = null;
 //    private Parser parser = null;
     private TableDirectory tableDirectory = null;
     private Table[] tables;
     private Os2Table os2;
     private CmapTable cmap;
     private GlyfTable glyf;
     private HeadTable head;
     private HheaTable hhea;
     private HmtxTable hmtx;
     private LocaTable loca;
     private MaxpTable maxp;
     private NameTable name;
     private PostTable post;

    
Constructor
 
     public Font() {
     }
 
     public Table getTable(int tableType) {
         for (int i = 0; i < .i++) {
             if (([i] != null) && ([i].getType() == tableType)) {
                 return [i];
             }
         }
         return null;
     }
 
     public Os2Table getOS2Table() {
         return ;
     }
     
     public CmapTable getCmapTable() {
         return ;
     }
     
     public HeadTable getHeadTable() {
         return ;
     }
     
     public HheaTable getHheaTable() {
         return ;
     }
     
     public HmtxTable getHmtxTable() {
         return ;
     }
     
     public LocaTable getLocaTable() {
         return ;
     }
     
    public MaxpTable getMaxpTable() {
        return ;
    }
    public NameTable getNameTable() {
        return ;
    }
    public PostTable getPostTable() {
        return ;
    }
    public int getAscent() {
        return .getAscender();
    }
    public int getDescent() {
        return .getDescender();
    }
    public int getNumGlyphs() {
        return .getNumGlyphs();
    }
    public Glyph getGlyph(int i) {
        return (.getDescription(i) != null)
            ? new Glyph(
                .getDescription(i),
                .getLeftSideBearing(i),
                .getAdvanceWidth(i))
            : null;
    }
    public String getPath() {
        return ;
    }
    public TableDirectory getTableDirectory() {
        return ;
    }

    

Parameters:
pathName Path to the TTF font file
    protected void read(String pathName) {
         = pathName;
        File f = new File(pathName);
        if (!f.exists()) {
            // TODO: Throw TTException
            return;
        }
        try {
            RandomAccessFile raf = new RandomAccessFile(f"r");
             = new TableDirectory(raf);
             = new Table[.getNumTables()];
            // Load each of the tables
            for (int i = 0; i < .getNumTables(); i++) {
                [i] = TableFactory.create
                    (.getEntry(i), raf);
            }
            raf.close();
            // Get references to commonly used tables
              = (Os2TablegetTable(.);
             = (CmapTablegetTable(.);
             = (GlyfTablegetTable(.);
             = (HeadTablegetTable(.);
             = (HheaTablegetTable(.);
             = (HmtxTablegetTable(.);
             = (LocaTablegetTable(.);
             = (MaxpTablegetTable(.);
             = (NameTablegetTable(.);
             = (PostTablegetTable(.);
            // Initialize the tables that require it
            .init(.getNumberOfHMetrics(), 
                      .getNumGlyphs() - .getNumberOfHMetrics());
            .init(.getNumGlyphs(), .getIndexToLocFormat() == 0);
            .init(.getNumGlyphs(), );
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
    
    public static Font create() {
        return new Font();
    }
    
    

Parameters:
pathName Path to the TTF font file
    public static Font create(String pathName) {
        Font f = new Font();
        f.read(pathName);
        return f;
    }
New to GrepCode? Check out our FAQ X