public byte[] Process(String fontName){
  try {
    int j;
    for (j=0; j < fonts.length; j++)     if (fontName.equals(fonts[j].name))     break;
    if (j == fonts.length)     return null;
    if (gsubrIndexOffset >= 0)     GBias=CalcBias(gsubrIndexOffset,j);
    BuildNewCharString(j);
    BuildNewLGSubrs(j);
    return BuildNewFile(j);
  }
 catch (  java.io.IOException e) {
    throw new IOException(IOException.IoException,e);
  }
 finally {
    try {
      buf.close();
    }
 catch (    Exception e) {
    }
  }
}

public byte [ ] Process ( String fontName ) { try { int j ; for ( j = 0 ; j < fonts . length ; j ++ ) if ( fontName . equals ( fonts [ j ] . name ) ) break ; if ( j == fonts . length ) return null ; if ( gsubrIndexOffset >= 0 ) GBias = CalcBias ( gsubrIndexOffset , j ) ; BuildNewCharString ( j ) ; BuildNewLGSubrs ( j ) ; return BuildNewFile ( j ) ; } catch ( java . io . IOException e ) { throw new IOException ( IOException . IoException , e ) ; } finally { try { buf . close ( ) ; } catch ( Exception e ) { } } }
the process function extracts one font out of the cff file and returns a subset version of the original .
