fontservices/textshaperplugin/IcuSource/layout/ScriptAndLanguage.h
changeset 0 1fb32624e06b
equal deleted inserted replaced
-1:000000000000 0:1fb32624e06b
       
     1 /*
       
     2  *
       
     3  * (C) Copyright IBM Corp. 1998-2004 - All Rights Reserved
       
     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 
       
    18 U_NAMESPACE_BEGIN
       
    19 
       
    20 typedef TagAndOffsetRecord LangSysRecord;
       
    21 
       
    22 struct LangSysTable
       
    23 {
       
    24     Offset    lookupOrderOffset;
       
    25     le_uint16 reqFeatureIndex;
       
    26     le_uint16 featureCount;
       
    27     le_uint16 featureIndexArray[ANY_NUMBER];
       
    28 };
       
    29 
       
    30 struct ScriptTable
       
    31 {
       
    32     Offset              defaultLangSysTableOffset;
       
    33     le_uint16           langSysCount;
       
    34     LangSysRecord       langSysRecordArray[ANY_NUMBER];
       
    35 
       
    36     const LangSysTable  *findLanguage(LETag languageTag, le_bool exactMatch = FALSE) const;
       
    37 };
       
    38 
       
    39 typedef TagAndOffsetRecord ScriptRecord;
       
    40 
       
    41 struct ScriptListTable
       
    42 {
       
    43     le_uint16           scriptCount;
       
    44     ScriptRecord        scriptRecordArray[ANY_NUMBER];
       
    45 
       
    46     const ScriptTable   *findScript(LETag scriptTag) const;
       
    47     const LangSysTable  *findLanguage(LETag scriptTag, LETag languageTag, le_bool exactMatch = FALSE) const;
       
    48 };
       
    49 
       
    50 U_NAMESPACE_END
       
    51 #endif
       
    52