]> git.saurik.com Git - apple/icu.git/blame - icuSources/layout/ScriptAndLanguage.h
ICU-491.11.1.tar.gz
[apple/icu.git] / icuSources / layout / ScriptAndLanguage.h
CommitLineData
b75a7d8f 1/*
b75a7d8f 2 *
374ca955 3 * (C) Copyright IBM Corp. 1998-2004 - All Rights Reserved
b75a7d8f
A
4 *
5 */
6
7#ifndef __SCRIPTANDLANGUAGE_H
8#define __SCRIPTANDLANGUAGE_H
9
10/**
11 * \file
12 * \internal
13 */
14
15#include "LETypes.h"
16#include "OpenTypeTables.h"
17
18U_NAMESPACE_BEGIN
19
20typedef TagAndOffsetRecord LangSysRecord;
21
22struct LangSysTable
23{
24 Offset lookupOrderOffset;
25 le_uint16 reqFeatureIndex;
26 le_uint16 featureCount;
27 le_uint16 featureIndexArray[ANY_NUMBER];
28};
29
30struct ScriptTable
31{
32 Offset defaultLangSysTableOffset;
33 le_uint16 langSysCount;
34 LangSysRecord langSysRecordArray[ANY_NUMBER];
35
374ca955 36 const LangSysTable *findLanguage(LETag languageTag, le_bool exactMatch = FALSE) const;
b75a7d8f
A
37};
38
39typedef TagAndOffsetRecord ScriptRecord;
40
41struct ScriptListTable
42{
43 le_uint16 scriptCount;
44 ScriptRecord scriptRecordArray[ANY_NUMBER];
45
46 const ScriptTable *findScript(LETag scriptTag) const;
374ca955 47 const LangSysTable *findLanguage(LETag scriptTag, LETag languageTag, le_bool exactMatch = FALSE) const;
b75a7d8f
A
48};
49
50U_NAMESPACE_END
51#endif
52