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