internal void ReconstructPrivateDict(int Font,OffsetItem[] fdPrivate,IndexBaseItem[] fdPrivateBase,
OffsetItem[] fdSubrs)
{
// For each fdarray private dict check if that FD is used.
// if is used build a new one by changing the subrs offset
// Else do nothing
for (int i=0;i<fonts[Font].fdprivateOffsets.Length;i++)
{
//if (FDArrayUsed.ContainsKey(i))
//{
// Mark beginning
OutputList.Add(new MarkerItem(fdPrivate[i]));
fdPrivateBase[i] = new IndexBaseItem();
OutputList.Add(fdPrivateBase[i]);
// Goto begining of objects
Seek(fonts[Font].fdprivateOffsets[i]);
while (GetPosition() < fonts[Font].fdprivateOffsets[i]+fonts[Font].fdprivateLengths[i])
{
int p1 = GetPosition();
GetDictItem();
int p2 = GetPosition();
// If the dictItem is the "Subrs" then,
// use marker for offset and write operator number
if (key=="Subrs") {
fdSubrs[i] = new DictOffsetItem();
OutputList.Add(fdSubrs[i]);
OutputList.Add(new UInt8Item((char)19)); // Subrs
}
// Else copy the entire range
else
OutputList.Add(new RangeItem(buf,p1,p2-p1));
}
//}
}
}