示例#1
0
        public virtual IList <OpenTableLookup> GetLookups(FeatureRecord feature)
        {
            //TODO see getLookups(FeatureRecord[]) method. Is it realy make sense to order features?
            IList <OpenTableLookup> ret = new List <OpenTableLookup>(feature.lookups.Length);

            foreach (int idx in feature.lookups)
            {
                ret.Add(lookupList[idx]);
            }
            return(ret);
        }
示例#2
0
 public OpenTypeFeature(OpenTypeFontTableReader openTypeReader, int locationFeatureTable)
 {
     this.openTypeReader = openTypeReader;
     records             = new List <FeatureRecord>();
     openTypeReader.rf.Seek(locationFeatureTable);
     TagAndLocation[] tagsLocs = openTypeReader.ReadTagAndLocations(locationFeatureTable);
     foreach (TagAndLocation tagLoc in tagsLocs)
     {
         // +2 don't use FeatureParams
         openTypeReader.rf.Seek(tagLoc.location + 2L);
         int           lookupCount = openTypeReader.rf.ReadUnsignedShort();
         FeatureRecord rec         = new FeatureRecord();
         rec.tag     = tagLoc.tag;
         rec.lookups = openTypeReader.ReadUShortArray(lookupCount);
         records.Add(rec);
     }
 }