private final void readName ( FontFileReader in ) throws IOException { seekTab ( in , "name" , 2 ) ; int i = in . getCurrentPos ( ) ; int n = in . readTTFUShort ( ) ; int j = in . readTTFUShort ( ) + i - 2 ; i += 2 * 2 ; while ( n -- > 0 ) { // getLogger().debug("Iteration: " + n); in . seekSet ( i ) ; final int platformID = in . readTTFUShort ( ) ; final int encodingID = in . readTTFUShort ( ) ; final int languageID = in . readTTFUShort ( ) ; int k = in . readTTFUShort ( ) ; int l = in . readTTFUShort ( ) ; if ( ( ( platformID == 1 || platformID == 3 ) && ( encodingID == 0 || encodingID == 1 ) ) && ( k == 1 || k == 2 || k == 0 || k == 4 || k == 6 ) ) { in . seekSet ( j + in . readTTFUShort ( ) ) ; String txt = in . readTTFString ( l ) ; log . debug ( platformID + " " + encodingID + " " + languageID + " " + k + " " + txt ) ; switch ( k ) { case 0 : notice = txt ; break ; case 1 : familyName = txt ; break ; case 2 : subFamilyName = txt ; break ; case 4 : fullName = txt ; break ; case 6 : fontName = txt ; break ; } if ( ! notice . equals ( "" ) && ! fullName . equals ( "" ) && ! fontName . equals ( "" ) && ! familyName . equals ( "" ) && ! subFamilyName . equals ( "" ) ) { break ; } } i += 6 * 2 ; } }
Read the name table .