Ejemplo n.º 1
0
                public bool addIndexSubTableArrayCache( int nIndex, indexSubTableArrayCache istac )
                {
                    bool bResult = true;

                    if( istac == null )
                    {
                        bResult = false;
                        throw new ArgumentNullException( "Argument can not be null" ); 
                    }
                    else if( nIndex > numberOfIndexSubTables )
                    {
                        bResult = false;
                        throw new ArgumentOutOfRangeException( "nIndex is out of range." ); 
                    }
                    else
                    {
                        m_indexSubTableArray.Insert( nIndex, istac.Clone());    
                        m_numberOfIndexSubTables++;
                        checkAndSetGlyphRange();
                    }
                    

                    return bResult;
                }
Ejemplo n.º 2
0
                public bitmapSizeTableCache( Table_EBLC OwnerTable, bitmapSizeTable bst )
                {
                    m_numberOfIndexSubTables = bst.numberOfIndexSubTables;                    
                    m_indexSubTableArray = new ArrayList( (int)m_numberOfIndexSubTables );
                    indexSubTableArray[] ista = OwnerTable.GetIndexSubTableArray( bst );
                    for( int i = 0; i < m_numberOfIndexSubTables; i++ )
                    {                        
                        indexSubTableCache istc = getEBLCIndexSubTable( OwnerTable, bst, ista[i] );
                        indexSubTableArrayCache istac = new indexSubTableArrayCache( ista[i].firstGlyphIndex, ista[i].lastGlyphIndex, istc );
                        m_indexSubTableArray.Add( istac );

                        indexSubTable ic = bst.GetIndexSubTable(ista[i]);

                        //ista[i].additionalOffsetToIndexSubtable += bst.indexSubTableArrayOffset;                        
                    }

                    m_colorRef = bst.colorRef;
                    hori = sbitLineMetricsCache.FromSbitLineMetrics(bst.hori);
                    vert = sbitLineMetricsCache.FromSbitLineMetrics(bst.vert);
                    m_startGlyphIndex = bst.startGlyphIndex;
                    m_endGlyphIndex = bst.endGlyphIndex;
                    ppemX = bst.ppemX;
                    ppemY = bst.ppemY;
                    bitDepth = bst.bitDepth;
                    flags = bst.flags;        
                }