Main Page   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members  

IndicLayoutEngine.h

Go to the documentation of this file.
00001 
00002 /*
00003  * @(#)IndicLayoutEngine.h      1.4 00/03/15
00004  *
00005  * (C) Copyright IBM Corp. 1998, 1999, 2000 - All Rights Reserved
00006  *
00007  */
00008 
00009 #ifndef __INDICLAYOUTENGINE_H
00010 #define __INDICLAYOUTENGINE_H
00011 
00012 #include "LETypes.h"
00013 #include "LEFontInstance.h"
00014 #include "LEGlyphFilter.h"
00015 #include "LayoutEngine.h"
00016 #include "OpenTypeLayoutEngine.h"
00017 
00018 #include "GlyphSubstitutionTables.h"
00019 #include "GlyphDefinitionTables.h"
00020 #include "GlyphPositioningTables.h"
00021 
00022 #include <string.h>
00023 
00033 class IndicOpenTypeLayoutEngine : public OpenTypeLayoutEngine
00034 {
00035 public:
00051     IndicOpenTypeLayoutEngine(LEFontInstance *fontInstance, le_int32 scriptCode, le_int32 languageCode,
00052                             GlyphSubstitutionTableHeader *gsubTable);
00053 
00065     IndicOpenTypeLayoutEngine(LEFontInstance *fontInstance, le_int32 scriptCode, le_int32 languageCode);
00066 
00070    virtual ~IndicOpenTypeLayoutEngine();
00071 
00072 protected:
00073 
00094     virtual le_int32 characterProcessing(const LEUnicode chars[], le_int32 offset, le_int32 count, le_int32 max, le_bool rightToLeft,
00095             LEUnicode *&outChars, le_int32 *&charIndices, const LETag **&featureTags);
00096 
00123     // Input: characters, tags
00124     // Output: glyphs, char indices
00125     virtual le_int32 glyphProcessing(const LEUnicode chars[], le_int32 offset, le_int32 count, le_int32 max, le_bool rightToLeft,
00126             const LETag **featureTags, LEGlyphID *&glyphs, le_int32 *&charIndices);
00127 };
00128 
00129 #if 0
00130 
00139 class CDACOpenTypeLayoutEngine : public IndicOpenTypeLayoutEngine
00140 {
00141 public:
00158     CDACOpenTypeLayoutEngine(LEFontInstance *fontInstance, le_int32 scriptCode, le_int32 languageCode,
00159         const CDACLayout::ScriptInfo *scriptInfo);
00160 
00164     virtual ~CDACOpenTypeLayoutEngine();
00165 
00166 protected:
00167     const CDACLayout::ScriptInfo *fScriptInfo;
00168 
00183     virtual le_int32 glyphPostProcessing(LEGlyphID tempGlyphs[], le_int32 tempCharIndices[], le_int32 tempGlyphCount,
00184                     LEGlyphID *&glyphs, le_int32 *&charIndices);
00185 
00200     virtual void mapCharsToGlyphs(const LEUnicode chars[], le_int32 offset, le_int32 count, le_bool reverse, le_bool mirror,
00201         LEGlyphID *&glyphs, le_int32 *&charIndices);
00202 };
00203 #endif
00204 
00205 #endif
00206 

Generated at Tue Dec 5 18:13:01 2000 for ICU by doxygen1.2.3 written by Dimitri van Heesch, © 1997-2000