]> git.saurik.com Git - apple/icu.git/blob - icuSources/layout/CharSubstitutionFilter.h
ICU-551.24.tar.gz
[apple/icu.git] / icuSources / layout / CharSubstitutionFilter.h
1 /*
2 *
3 * (C) Copyright IBM Corp. 1998-2004 - All Rights Reserved
4 *
5 */
6
7 #ifndef __CHARSUBSTITUTIONFILTER_H
8 #define __CHARSUBSTITUTIONFILTER_H
9
10 #include "LETypes.h"
11 #include "LEGlyphFilter.h"
12
13 U_NAMESPACE_BEGIN
14
15 class LEFontInstance;
16
17 /**
18 * This filter is used by character-based GSUB processors. It
19 * accepts only those characters which the given font can display.
20 *
21 * @internal
22 */
23 class CharSubstitutionFilter : public UMemory, public LEGlyphFilter
24 {
25 private:
26 /**
27 * Holds the font which is used to test the characters.
28 *
29 * @internal
30 */
31 const LEFontInstance *fFontInstance;
32
33 /**
34 * The copy constructor. Not allowed!
35 *
36 * @internal
37 */
38 CharSubstitutionFilter(const CharSubstitutionFilter &other); // forbid copying of this class
39
40 /**
41 * The replacement operator. Not allowed!
42 *
43 * @internal
44 */
45 CharSubstitutionFilter &operator=(const CharSubstitutionFilter &other); // forbid copying of this class
46
47 public:
48 /**
49 * The constructor.
50 *
51 * @param fontInstance - the font to use to test the characters.
52 *
53 * @internal
54 */
55 CharSubstitutionFilter(const LEFontInstance *fontInstance);
56
57 /**
58 * The destructor.
59 *
60 * @internal
61 */
62 ~CharSubstitutionFilter();
63
64 /**
65 * This method is used to test if a particular
66 * character can be displayed by the filter's
67 * font.
68 *
69 * @param glyph - the Unicode character code to be tested
70 *
71 * @return TRUE if the filter's font can display this character.
72 *
73 * @internal
74 */
75 le_bool accept(LEGlyphID glyph) const;
76 };
77
78 U_NAMESPACE_END
79 #endif
80
81