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); }
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); } }