diff -r 000000000000 -r bde4ae8d615e os/textandloc/fontservices/textshaperplugin/IcuSource/layout/ScriptAndLanguage.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/os/textandloc/fontservices/textshaperplugin/IcuSource/layout/ScriptAndLanguage.h Fri Jun 15 03:10:57 2012 +0200 @@ -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 +