00001 /* 00002 * @(#)ScriptAndLanguage.h 1.5 00/03/15 00003 * 00004 * (C) Copyright IBM Corp. 1998, 1999, 2000 - All Rights Reserved 00005 * 00006 */ 00007 00008 #ifndef __SCRIPTANDLANGUAGE_H 00009 #define __SCRIPTANDLANGUAGE_H 00010 00011 #include "LETypes.h" 00012 #include "OpenTypeTables.h" 00013 00014 typedef TagAndOffsetRecord LangSysRecord; 00015 00016 struct LangSysTable 00017 { 00018 Offset lookupOrderOffset; 00019 le_uint16 reqFeatureIndex; 00020 le_uint16 featureCount; 00021 le_uint16 featureIndexArray[ANY_NUMBER]; 00022 }; 00023 00024 struct ScriptTable 00025 { 00026 Offset defaultLangSysTableOffset; 00027 le_uint16 langSysCount; 00028 LangSysRecord langSysRecordArray[ANY_NUMBER]; 00029 00030 LangSysTable *findLanguage(LETag languageTag); 00031 }; 00032 00033 typedef TagAndOffsetRecord ScriptRecord; 00034 00035 struct ScriptListTable 00036 { 00037 le_uint16 scriptCount; 00038 ScriptRecord scriptRecordArray[ANY_NUMBER]; 00039 00040 ScriptTable *findScript(LETag scriptTag); 00041 LangSysTable *findLanguage(LETag scriptTag, LETag languageTag); 00042 }; 00043 00044 #endif 00045