• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  *
3  * (C) Copyright IBM Corp. 1998-2004 - All Rights Reserved
4  *
5  */
6 
7 #include "LETypes.h"
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"
17 #include "LESwaps.h"
18 
19 U_NAMESPACE_BEGIN
20 
NonContextualGlyphSubstitutionProcessor()21 NonContextualGlyphSubstitutionProcessor::NonContextualGlyphSubstitutionProcessor()
22 {
23 }
24 
NonContextualGlyphSubstitutionProcessor(const MorphSubtableHeader * morphSubtableHeader)25 NonContextualGlyphSubstitutionProcessor::NonContextualGlyphSubstitutionProcessor(const MorphSubtableHeader *morphSubtableHeader)
26     : SubtableProcessor(morphSubtableHeader)
27 {
28 }
29 
~NonContextualGlyphSubstitutionProcessor()30 NonContextualGlyphSubstitutionProcessor::~NonContextualGlyphSubstitutionProcessor()
31 {
32 }
33 
createInstance(const MorphSubtableHeader * morphSubtableHeader)34 SubtableProcessor *NonContextualGlyphSubstitutionProcessor::createInstance(const MorphSubtableHeader *morphSubtableHeader)
35 {
36     const NonContextualGlyphSubstitutionHeader *header = (const NonContextualGlyphSubstitutionHeader *) morphSubtableHeader;
37 
38     switch (SWAPW(header->table.format))
39     {
40     case ltfSimpleArray:
41         return new SimpleArrayProcessor(morphSubtableHeader);
42 
43     case ltfSegmentSingle:
44         return new SegmentSingleProcessor(morphSubtableHeader);
45 
46     case ltfSegmentArray:
47         return new SegmentArrayProcessor(morphSubtableHeader);
48 
49     case ltfSingleTable:
50         return new SingleTableProcessor(morphSubtableHeader);
51 
52     case ltfTrimmedArray:
53         return new TrimmedArrayProcessor(morphSubtableHeader);
54 
55     default:
56         return NULL;
57     }
58 }
59 
60 U_NAMESPACE_END
61