summaryrefslogtreecommitdiff
path: root/Build/source/libs/icu/icu-xetex/layout/ScriptAndLanguage.h
diff options
context:
space:
mode:
Diffstat (limited to 'Build/source/libs/icu/icu-xetex/layout/ScriptAndLanguage.h')
-rw-r--r--Build/source/libs/icu/icu-xetex/layout/ScriptAndLanguage.h52
1 files changed, 52 insertions, 0 deletions
diff --git a/Build/source/libs/icu/icu-xetex/layout/ScriptAndLanguage.h b/Build/source/libs/icu/icu-xetex/layout/ScriptAndLanguage.h
new file mode 100644
index 00000000000..804dae9665e
--- /dev/null
+++ b/Build/source/libs/icu/icu-xetex/layout/ScriptAndLanguage.h
@@ -0,0 +1,52 @@
+/*
+ *
+ * (C) Copyright IBM Corp. 1998-2004 - All Rights Reserved
+ *
+ */
+
+#ifndef __SCRIPTANDLANGUAGE_H
+#define __SCRIPTANDLANGUAGE_H
+
+/**
+ * \file
+ * \internal
+ */
+
+#include "LETypes.h"
+#include "OpenTypeTables.h"
+
+U_NAMESPACE_BEGIN
+
+typedef TagAndOffsetRecord LangSysRecord;
+
+struct LangSysTable
+{
+ Offset lookupOrderOffset;
+ le_uint16 reqFeatureIndex;
+ le_uint16 featureCount;
+ le_uint16 featureIndexArray[ANY_NUMBER];
+};
+
+struct ScriptTable
+{
+ Offset defaultLangSysTableOffset;
+ le_uint16 langSysCount;
+ LangSysRecord langSysRecordArray[ANY_NUMBER];
+
+ const LangSysTable *findLanguage(LETag languageTag, le_bool exactMatch = FALSE) const;
+};
+
+typedef TagAndOffsetRecord ScriptRecord;
+
+struct ScriptListTable
+{
+ le_uint16 scriptCount;
+ ScriptRecord scriptRecordArray[ANY_NUMBER];
+
+ const ScriptTable *findScript(LETag scriptTag) const;
+ const LangSysTable *findLanguage(LETag scriptTag, LETag languageTag, le_bool exactMatch = FALSE) const;
+};
+
+U_NAMESPACE_END
+#endif
+