question: protected void CreateFDArray ( OffsetItem fdarrayRef , OffsetItem privateRef , int Font ) { OutputList . addLast ( new MarkerItem ( fdarrayRef ) ) ; BuildIndexHeader ( 1 , 1 , 1 ) ; OffsetItem privateIndex1Ref = new IndexOffsetItem ( 1 ) ; OutputList . addLast ( privateIndex1Ref ) ; IndexBaseItem privateBase = new IndexBaseItem ( ) ; OutputList . addLast ( privateBase ) ; int NewSize = fonts [ Font ] . privateLength ; int OrgSubrsOffsetSize = CalcSubrOffsetSize ( fonts [ Font ] . privateOffset , fonts [ Font ] . privateLength ) ; if ( OrgSubrsOffsetSize != 0 ) NewSize += 5 - OrgSubrsOffsetSize ; OutputList . addLast ( new DictNumberItem ( NewSize ) ) ; OutputList . addLast ( privateRef ) ; OutputList . addLast ( new UInt8Item ( ( char ) 18 ) ) ; OutputList . addLast ( new IndexMarkerItem ( privateIndex1Ref , privateBase ) ) ; }
target:  Function creates new FDArray for non-CID fonts. The FDArray built has only the "Private" operator that points to the font's original private dict