Start line:  
End line:  

Snippet Preview

Snippet HTML Code

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

Author(s):
David Schweinsberg
Version:
$Id: Font.java 475477 2006-11-15 22:44:28Z cam $
 
 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