3 * (C) Copyright IBM Corp. 1998-2004 - All Rights Reserved
8 #include "MorphTables.h"
9 #include "SubtableProcessor.h"
10 #include "NonContextualGlyphSubst.h"
11 #include "NonContextualGlyphSubstProc.h"
12 #include "SimpleArrayProcessor.h"
13 #include "SegmentSingleProcessor.h"
14 #include "SegmentArrayProcessor.h"
15 #include "SingleTableProcessor.h"
16 #include "TrimmedArrayProcessor.h"
21 NonContextualGlyphSubstitutionProcessor::NonContextualGlyphSubstitutionProcessor()
25 NonContextualGlyphSubstitutionProcessor::NonContextualGlyphSubstitutionProcessor(const MorphSubtableHeader
*morphSubtableHeader
)
26 : SubtableProcessor(morphSubtableHeader
)
30 NonContextualGlyphSubstitutionProcessor::~NonContextualGlyphSubstitutionProcessor()
34 SubtableProcessor
*NonContextualGlyphSubstitutionProcessor::createInstance(const MorphSubtableHeader
*morphSubtableHeader
)
36 const NonContextualGlyphSubstitutionHeader
*header
= (const NonContextualGlyphSubstitutionHeader
*) morphSubtableHeader
;
38 switch (SWAPW(header
->table
.format
))
41 return new SimpleArrayProcessor(morphSubtableHeader
);
43 case ltfSegmentSingle
:
44 return new SegmentSingleProcessor(morphSubtableHeader
);
47 return new SegmentArrayProcessor(morphSubtableHeader
);
50 return new SingleTableProcessor(morphSubtableHeader
);
53 return new TrimmedArrayProcessor(morphSubtableHeader
);