question: private void readGlyphNames ( int base ) { if ( base == 0 ) { glyphnames = new int [ 229 ] ; for ( int i = 0 ; i < glyphnames . length ; i ++ ) { glyphnames [ i ] = i ; } return ; } else if ( base == 1 ) { glyphnames = FontSupport . type1CExpertCharset ; return ; } else if ( base == 2 ) { glyphnames = FontSupport . type1CExpertSubCharset ; return ; } glyphnames = new int [ nglyphs ] ; glyphnames [ 0 ] = 0 ; pos = base ; int t = readByte ( ) ; if ( t == 0 ) { for ( int i = 1 ; i < nglyphs ; i ++ ) { glyphnames [ i ] = readInt ( 2 ) ; } } else if ( t == 1 ) { int n = 1 ; while ( n < nglyphs ) { int sid = readInt ( 2 ) ; int range = readByte ( ) + 1 ; for ( int i = 0 ; i < range ; i ++ ) { glyphnames [ n ++ ] = sid ++ ; } } } else if ( t == 2 ) { int n = 1 ; while ( n < nglyphs ) { int sid = readInt ( 2 ) ; int range = readInt ( 2 ) + 1 ; for ( int i = 0 ; i < range ; i ++ ) { glyphnames [ n ++ ] = sid ++ ; } } } }
target:  read the names of the glyphs.