iTextSharp.text.pdf.CFFFontSubset.ReconstructPrivateDict C# (CSharp) Метод

ReconstructPrivateDict() приватный Метод

private ReconstructPrivateDict ( int Font, OffsetItem fdPrivate, IndexBaseItem fdPrivateBase, OffsetItem fdSubrs ) : void
Font int
fdPrivate OffsetItem
fdPrivateBase IndexBaseItem
fdSubrs OffsetItem
Результат void
        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));
                    }
                //}
            }
        }