protected void CreateFDArray(OffsetItem fdarrayRef,OffsetItem privateRef,int Font)
{
OutputList.Add(new MarkerItem(fdarrayRef));
// Build the header (count=offsize=first=1)
BuildIndexHeader(1,1,1);
// Mark
OffsetItem privateIndex1Ref = new IndexOffsetItem(1);
OutputList.Add(privateIndex1Ref);
IndexBaseItem privateBase = new IndexBaseItem();
// Insert the private operands and operator
OutputList.Add(privateBase);
// Calc the new size of the private after subsetting
// Origianl size
int NewSize = fonts[Font].privateLength;
// Calc the original size of the Subr offset in the private
int OrgSubrsOffsetSize = CalcSubrOffsetSize(fonts[Font].privateOffset,fonts[Font].privateLength);
// Increase the ptivate's size
if (OrgSubrsOffsetSize != 0)
NewSize += 5-OrgSubrsOffsetSize;
OutputList.Add(new DictNumberItem(NewSize));
OutputList.Add(privateRef);
OutputList.Add(new UInt8Item((char)18)); // Private
OutputList.Add(new IndexMarkerItem(privateIndex1Ref,privateBase));
}