2 *******************************************************************************
3 * Copyright (C) 1998-2004, International Business Machines Corporation and *
4 * others. All Rights Reserved. *
5 *******************************************************************************
7 * Created on Dec 3, 2003
9 *******************************************************************************
11 package com.ibm.icu.dev.tool.layout;
13 import java.io.PrintStream;
16 public class GSUBWriter extends OpenTypeTableWriter
18 private ScriptList scriptList;
19 private FeatureList featureList;
20 private LookupList lookupList;
21 private String scriptName;
23 public GSUBWriter(String theScriptName, ScriptList theScriptList, FeatureList theFeatureList,
24 LookupList theLookupList)
28 scriptList = theScriptList;
29 featureList = theFeatureList;
30 lookupList = theLookupList;
31 scriptName = theScriptName;
34 public void writeTable(PrintStream output)
36 System.out.println("writing " + scriptName + " GSUB table...");
38 // 0x00010000 (fixed1) version number
42 int listOffset = getOutputIndex();
44 writeData(0); // script list offset (fixed later)
45 writeData(0); // feature list offset (fixed later)
46 writeData(0); // lookup list offset (fixed later)
48 fixOffset(listOffset++, 0);
49 scriptList.writeScriptList(this);
51 fixOffset(listOffset++, 0);
52 featureList.writeFeaturetList(this);
54 fixOffset(listOffset++, 0);
55 lookupList.writeLookupList(this);
57 output.print("const le_uint8 ");
58 output.print(scriptName);
59 output.println("Shaping::glyphSubstitutionTable[] = {");
62 output.println("};\n");