os/textandloc/fontservices/textshaperplugin/IcuSource/layout/GlyphPositioningTables.h
author sl@SLION-WIN7.fritz.box
Fri, 15 Jun 2012 03:10:57 +0200
changeset 0 bde4ae8d615e
permissions -rw-r--r--
First public contribution.
     1 /*
     2  *
     3  * (C) Copyright IBM Corp. 1998-2005 - All Rights Reserved
     4  *
     5  */
     6 
     7 #ifndef __GLYPHPOSITIONINGTABLES_H
     8 #define __GLYPHPOSITIONINGTABLES_H
     9 
    10 /**
    11  * \file
    12  * \internal
    13  */
    14 
    15 #include "LETypes.h"
    16 #include "OpenTypeTables.h"
    17 #include "Lookups.h"
    18 #include "GlyphLookupTables.h"
    19 
    20 U_NAMESPACE_BEGIN
    21 
    22 class  LEFontInstance;
    23 class  LEGlyphStorage;
    24 class  LEGlyphFilter;
    25 class  GlyphPositionAdjustments;
    26 struct GlyphDefinitionTableHeader;
    27 
    28 struct GlyphPositioningTableHeader : public GlyphLookupTableHeader
    29 {
    30     void    process(LEGlyphStorage &glyphStorage, GlyphPositionAdjustments *glyphPositionAdjustments,
    31                 le_bool rightToLeft, LETag scriptTag, LETag languageTag,
    32                 const GlyphDefinitionTableHeader *glyphDefinitionTableHeader,
    33                 LEErrorCode &success,
    34                 const LEFontInstance *fontInstance, const LETag *featureOrder) const;
    35 };
    36 
    37 enum GlyphPositioningSubtableTypes
    38 {
    39     gpstSingle          = 1,
    40     gpstPair            = 2,
    41     gpstCursive         = 3,
    42     gpstMarkToBase      = 4,
    43     gpstMarkToLigature  = 5,
    44     gpstMarkToMark      = 6,
    45     gpstContext         = 7,
    46     gpstChainedContext  = 8,
    47     gpstExtension       = 9
    48 };
    49 
    50 typedef LookupSubtable GlyphPositioningSubtable;
    51 
    52 U_NAMESPACE_END
    53 #endif