public INDEXData(uint offset_buf, MBOBuffer bufTable)
            {
                m_offset   = offset_buf;
                m_bufTable = bufTable;
                count      = m_bufTable.GetUshort(m_offset);
                size       = 2;

                if (count > 0)
                {
                    offSize = m_bufTable.GetByte(m_offset + 2);

                    lastOffset = GetOffset(count);

                    size += (uint)offSize * ((uint)count + 1)
                            + lastOffset;
                }
            }
                public SubHeader(uint offsetSubheader, MBOBuffer bufTable)
                {
                    firstCode     = bufTable.GetUshort(offsetSubheader);
                    entryCount    = bufTable.GetUshort(offsetSubheader + 2);
                    idDelta       = bufTable.GetShort (offsetSubheader + 4);
                    idRangeOffset = bufTable.GetUshort(offsetSubheader + 6);

                    m_offsetSubHeader = offsetSubheader;
                }
 // Offset is absolute within MBOBuffer
 public void Populate( MBOBuffer b, uint offset )
 {
     unicodeValue = b.GetUint24( offset );
     glyphID = b.GetUshort( offset + 3 );
 }
示例#4
0
            public INDEXData(uint offset_buf, MBOBuffer bufTable)
            {
                m_offset = offset_buf;
                m_bufTable = bufTable;
                count = m_bufTable.GetUshort(m_offset);
                size = 2;

                if ( count > 0 )
                {
                    offSize = m_bufTable.GetByte(m_offset + 2 );

                    lastOffset = GetOffset( count );

                    size += (uint) offSize * ( (uint) count + 1 )
                        + lastOffset;
                }
            }