1 /*
2  *******************************************************************************
3  * Copyright (C) 2002-2004, International Business Machines Corporation and    *
4  * others. All Rights Reserved.                                                *
5  *******************************************************************************
6  */
7 
8 package com.ibm.icu.dev.tool.layout;
9 
10 
11 class Feature extends TaggedRecord
12 {
13     private int[] lookupIndices;
14     private int lookupCount;
15     private int featureIndex;
16 
Feature(String theFeatureTag)17     public Feature(String theFeatureTag)
18     {
19         super(theFeatureTag);
20 
21         lookupIndices = new int[10];
22         lookupCount = 0;
23         featureIndex = -1;
24     }
25 
addLookup(int theLookupIndex)26     public void addLookup(int theLookupIndex)
27     {
28         if (lookupCount >= lookupIndices.length) {
29             int[] newLookupIndices = new int[lookupIndices.length + 5];
30 
31             System.arraycopy(lookupIndices, 0, newLookupIndices, 0, lookupIndices.length);
32             lookupIndices = newLookupIndices;
33         }
34 
35         lookupIndices[lookupCount] = theLookupIndex;
36         lookupCount += 1;
37     }
38 
writeFeature(OpenTypeTableWriter writer)39     public void writeFeature(OpenTypeTableWriter writer)
40     {
41         writer.writeData(0);      // featureParams (must be NULL)
42 
43         writer.writeData(lookupCount);
44 
45         for (int i = 0; i < lookupCount; i += 1) {
46             writer.writeData(lookupIndices[i]);
47         }
48     }
49 
getFeatureIndex()50     public int getFeatureIndex()
51     {
52         return featureIndex;
53     }
54 
setFeatureIndex(int index)55     public void setFeatureIndex(int index)
56     {
57         featureIndex = index;
58     }
59 }