示例#1
0
        /// <summary>
        /// ShaperBuffers.InitializeFeatureList - initializer for GetGlyphs.
        /// </summary>
        /// <param name="size">Requested new array size</param>
        /// <param name="keep">number of features to copy into new array</param>
        /// <remarks>
        ///   Called by pertinent shaper's GetGlyph method; ie, those shapers
        ///   that need to create a text dependent list of features
        ///   (e.g. Arabic, Mongolian).
        ///   The "keep" count takes priority over "size" if there's already an
        ///   array, so if size size is less than keep, the resized array has at
        ///    least keep elements.  It is possible to create a 0 sized array.
        /// </remarks>
        public bool InitializeFeatureList(ushort size, ushort keep)
        {
            if (_textFeatures == null)
            {
                _textFeatures = new ShaperFeaturesList();
                if (_textFeatures == null)
                {
                    return(false);
                }

                _textFeatures.Initialize(size);
            }
            else
            {
                _textFeatures.Resize(size, keep);
            }

            return(true);
        }
示例#2
0
         /// <summary> 
         /// ShaperBuffers.InitializeFeatureList - initializer for GetGlyphs.
         /// </summary> 
         /// <param name="size">Requested new array size</param> 
         /// <param name="keep">number of features to copy into new array</param>
         /// <remarks> 
         ///   Called by pertinent shaper's GetGlyph method; ie, those shapers
         ///   that need to create a text dependent list of features
         ///   (e.g. Arabic, Mongolian).
         ///   The "keep" count takes priority over "size" if there's already an 
         ///   array, so if size size is less than keep, the resized array has at
         ///    least keep elements.  It is possible to create a 0 sized array. 
         /// </remarks> 
         public bool InitializeFeatureList(ushort size, ushort keep)
         { 
            if (_textFeatures == null)
            {
                _textFeatures = new ShaperFeaturesList();
                if (_textFeatures == null) 
                {
                    return false; 
                } 

                _textFeatures.Initialize(size); 
            }
            else
            {
                _textFeatures.Resize(size, keep); 
            }
 
            return true; 
         }