2000-11-28 20:56:52 +00:00
|
|
|
/*
|
|
|
|
* @(#)ScriptAndLanguage.h 1.5 00/03/15
|
|
|
|
*
|
2003-06-03 20:58:22 +00:00
|
|
|
* (C) Copyright IBM Corp. 1998-2003 - All Rights Reserved
|
2000-11-28 20:56:52 +00:00
|
|
|
*
|
|
|
|
*/
|
|
|
|
|
|
|
|
#ifndef __SCRIPTANDLANGUAGE_H
|
|
|
|
#define __SCRIPTANDLANGUAGE_H
|
|
|
|
|
2003-01-13 23:15:11 +00:00
|
|
|
/**
|
|
|
|
* \file
|
|
|
|
* \internal
|
|
|
|
*/
|
|
|
|
|
2000-11-28 20:56:52 +00:00
|
|
|
#include "LETypes.h"
|
|
|
|
#include "OpenTypeTables.h"
|
|
|
|
|
2001-10-16 00:39:01 +00:00
|
|
|
U_NAMESPACE_BEGIN
|
|
|
|
|
2000-11-28 20:56:52 +00:00
|
|
|
typedef TagAndOffsetRecord LangSysRecord;
|
|
|
|
|
|
|
|
struct LangSysTable
|
|
|
|
{
|
|
|
|
Offset lookupOrderOffset;
|
|
|
|
le_uint16 reqFeatureIndex;
|
|
|
|
le_uint16 featureCount;
|
|
|
|
le_uint16 featureIndexArray[ANY_NUMBER];
|
|
|
|
};
|
|
|
|
|
|
|
|
struct ScriptTable
|
|
|
|
{
|
2002-04-02 03:33:42 +00:00
|
|
|
Offset defaultLangSysTableOffset;
|
|
|
|
le_uint16 langSysCount;
|
|
|
|
LangSysRecord langSysRecordArray[ANY_NUMBER];
|
2000-11-28 20:56:52 +00:00
|
|
|
|
2003-12-08 22:43:41 +00:00
|
|
|
const LangSysTable *findLanguage(LETag languageTag, le_bool exactMatch = FALSE) const;
|
2000-11-28 20:56:52 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
typedef TagAndOffsetRecord ScriptRecord;
|
|
|
|
|
|
|
|
struct ScriptListTable
|
|
|
|
{
|
2002-04-02 03:33:42 +00:00
|
|
|
le_uint16 scriptCount;
|
|
|
|
ScriptRecord scriptRecordArray[ANY_NUMBER];
|
2000-11-28 20:56:52 +00:00
|
|
|
|
2002-04-02 03:33:42 +00:00
|
|
|
const ScriptTable *findScript(LETag scriptTag) const;
|
2003-12-08 22:43:41 +00:00
|
|
|
const LangSysTable *findLanguage(LETag scriptTag, LETag languageTag, le_bool exactMatch = FALSE) const;
|
2000-11-28 20:56:52 +00:00
|
|
|
};
|
|
|
|
|
2001-10-16 00:39:01 +00:00
|
|
|
U_NAMESPACE_END
|
2000-11-28 20:56:52 +00:00
|
|
|
#endif
|
|
|
|
|