blob: 7de571178168c5356674425d73daa5c1e4090cbb [file] [log] [blame]
/*
*******************************************************************************
* Copyright (C) 1998-2004, International Business Machines Corporation and *
* others. All Rights Reserved. *
*******************************************************************************
*
* Created on Dec 3, 2003
*
*******************************************************************************
*/
package com.ibm.icu.dev.tool.layout;
public class LookupList
{
private Lookup[] lookups;
private int lookupCount;
public LookupList()
{
lookups = new Lookup[10];
lookupCount = 0;
}
public int addLookup(Lookup lookup)
{
if (lookupCount >= lookups.length) {
Lookup[] newLookups = new Lookup[lookups.length + 5];
System.arraycopy(lookups, 0, newLookups, 0, lookups.length);
lookups = newLookups;
}
lookups[lookupCount] = lookup;
return lookupCount++;
}
public void writeLookupList(OpenTypeTableWriter writer)
{
System.out.println("writing lookup list...");
int lookupListBase = writer.getOutputIndex();
writer.writeData(lookupCount);
int lookupOffset = writer.getOutputIndex();
for (int i = 0; i < lookupCount; i += 1) {
writer.writeData(0); // Offset to lookup (fixed later);
}
for (int i = 0; i < lookupCount; i += 1) {
writer.fixOffset(lookupOffset++, lookupListBase);
lookups[i].writeLookup(writer);
}
}
}