diff -r 000000000000 -r bde4ae8d615e os/textandloc/fontservices/textshaperplugin/IcuSource/layout/GlyphSubstitutionTables.h
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/os/textandloc/fontservices/textshaperplugin/IcuSource/layout/GlyphSubstitutionTables.h	Fri Jun 15 03:10:57 2012 +0200
@@ -0,0 +1,49 @@
+/*
+ *
+ * (C) Copyright IBM Corp. 1998-2005 - All Rights Reserved
+ *
+ */
+
+#ifndef __GLYPHSUBSTITUTIONTABLES_H
+#define __GLYPHSUBSTITUTIONTABLES_H
+
+/**
+ * \file
+ * \internal
+ */
+
+#include "LETypes.h"
+#include "OpenTypeTables.h"
+#include "Lookups.h"
+#include "GlyphLookupTables.h"
+
+U_NAMESPACE_BEGIN
+
+class  LEGlyphStorage;
+class  LEGlyphFilter;
+struct GlyphDefinitionTableHeader;
+
+struct GlyphSubstitutionTableHeader : public GlyphLookupTableHeader
+{
+    le_int32    process(LEGlyphStorage &glyphStorage, le_bool rightToLeft, LETag scriptTag, LETag languageTag,
+                 const GlyphDefinitionTableHeader *glyphDefinitionTableHeader,
+                 LEErrorCode &success,
+                 const LEGlyphFilter *filter = NULL, const LETag *featureOrder = NULL) const;
+};
+
+enum GlyphSubstitutionSubtableTypes
+{
+    gsstSingle          = 1,
+    gsstMultiple        = 2,
+    gsstAlternate       = 3,
+    gsstLigature        = 4,
+    gsstContext         = 5,
+    gsstChainingContext = 6,
+    gsstExtension       = 7,
+    gsstReverseChaining = 8
+};
+
+typedef LookupSubtable GlyphSubstitutionSubtable;
+
+U_NAMESPACE_END
+#endif