question: private HashMap < String , byte [ ] > readChars ( byte [ ] d ) { HashMap < String , byte [ ] > hm = new HashMap < String , byte [ ] > ( ) ; int i = findSlashName ( d , "CharStrings" ) ; if ( i < 0 ) { return hm ; } PSParser psp = new PSParser ( d , i ) ; while ( true ) { String s = psp . readThing ( ) ; char c = s . charAt ( 0 ) ; if ( c == '/' ) { int len = Integer . parseInt ( psp . readThing ( ) ) ; String go = psp . readThing ( ) ; if ( go . equals ( "-|" ) || go . equals ( "RD" ) ) { psp . setLoc ( psp . getLoc ( ) + 1 ) ; byte [ ] line = psp . getNEncodedBytes ( len , password , lenIV ) ; hm . put ( s . substring ( 1 ) , line ) ; } } else if ( s . equals ( "end" ) ) { break ; } } return hm ; }
target:  get the character definitions of the font.