sl@0: /* sl@0: * sl@0: * (C) Copyright IBM Corp. 1998-2004 - All Rights Reserved sl@0: * sl@0: */ sl@0: sl@0: #include "LETypes.h" sl@0: #include "MorphTables.h" sl@0: #include "SubtableProcessor.h" sl@0: #include "NonContextualGlyphSubst.h" sl@0: #include "NonContextualGlyphSubstProc.h" sl@0: #include "SimpleArrayProcessor.h" sl@0: #include "SegmentSingleProcessor.h" sl@0: #include "SegmentArrayProcessor.h" sl@0: #include "SingleTableProcessor.h" sl@0: #include "TrimmedArrayProcessor.h" sl@0: #include "LESwaps.h" sl@0: sl@0: U_NAMESPACE_BEGIN sl@0: sl@0: NonContextualGlyphSubstitutionProcessor::NonContextualGlyphSubstitutionProcessor() sl@0: { sl@0: } sl@0: sl@0: NonContextualGlyphSubstitutionProcessor::NonContextualGlyphSubstitutionProcessor(const MorphSubtableHeader *morphSubtableHeader) sl@0: : SubtableProcessor(morphSubtableHeader) sl@0: { sl@0: } sl@0: sl@0: NonContextualGlyphSubstitutionProcessor::~NonContextualGlyphSubstitutionProcessor() sl@0: { sl@0: } sl@0: sl@0: SubtableProcessor *NonContextualGlyphSubstitutionProcessor::createInstance(const MorphSubtableHeader *morphSubtableHeader) sl@0: { sl@0: const NonContextualGlyphSubstitutionHeader *header = (const NonContextualGlyphSubstitutionHeader *) morphSubtableHeader; sl@0: sl@0: switch (SWAPW(header->table.format)) sl@0: { sl@0: case ltfSimpleArray: sl@0: return new SimpleArrayProcessor(morphSubtableHeader); sl@0: sl@0: case ltfSegmentSingle: sl@0: return new SegmentSingleProcessor(morphSubtableHeader); sl@0: sl@0: case ltfSegmentArray: sl@0: return new SegmentArrayProcessor(morphSubtableHeader); sl@0: sl@0: case ltfSingleTable: sl@0: return new SingleTableProcessor(morphSubtableHeader); sl@0: sl@0: case ltfTrimmedArray: sl@0: return new TrimmedArrayProcessor(morphSubtableHeader); sl@0: sl@0: default: sl@0: return NULL; sl@0: } sl@0: } sl@0: sl@0: U_NAMESPACE_END