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

LigatureSubstitutionProcessor.h

Go to the documentation of this file.
00001 /*
00002  * @(#)LigatureSubstitutionProcessor.h  1.6 00/03/15
00003  *
00004  * (C) Copyright IBM Corp. 1998, 1999, 2000 - All Rights Reserved
00005  *
00006  */
00007 
00008 #ifndef __LIGATURESUBSTITUTIONPROCESSOR_H
00009 #define __LIGATURESUBSTITUTIONPROCESSOR_H
00010 
00011 #include "LETypes.h"
00012 #include "MorphTables.h"
00013 #include "SubtableProcessor.h"
00014 #include "StateTableProcessor.h"
00015 #include "LigatureSubstitution.h"
00016 
00017 
00018 #define nComponents 16
00019 
00020 class LigatureSubstitutionProcessor : public StateTableProcessor
00021 {
00022 public:
00023     virtual void beginStateTable();
00024 
00025     virtual ByteOffset processStateEntry(LEGlyphID *glyphs, le_int32 *charIndices, le_int32 &currGlyph,
00026         le_int32 glyphCount, EntryTableIndex index);
00027 
00028     virtual void endStateTable();
00029 
00030     LigatureSubstitutionProcessor(MorphSubtableHeader *morphSubtableHeader);
00031     virtual ~LigatureSubstitutionProcessor();
00032 
00033 private:
00034     LigatureSubstitutionProcessor();
00035 
00036 protected:
00037     ByteOffset ligatureActionTableOffset;
00038     ByteOffset componentTableOffset;
00039     ByteOffset ligatureTableOffset;
00040 
00041     LigatureSubstitutionStateEntry *entryTable;
00042 
00043     le_int32 componentStack[nComponents];
00044     le_int16 m;
00045 
00046     LigatureSubstitutionHeader *ligatureSubstitutionHeader;
00047 };
00048 
00049 #endif

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