annotate src/java.desktop/share/native/libfontmanager/layout/CharSubstitutionFilter.h @ 12677:a4299d47bd00

8134984: Text files should end in exactly one newline Summary: automated fixup of newlines at end-of-file via the usual perl one-liner Reviewed-by: chegar, sherman
author martin
date Wed, 02 Sep 2015 14:11:50 -0700
parents f08705540498
children
rev   line source
duke@0 1 /*
duke@0 2 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
duke@0 3 *
duke@0 4 * This code is free software; you can redistribute it and/or modify it
duke@0 5 * under the terms of the GNU General Public License version 2 only, as
ohair@2362 6 * published by the Free Software Foundation. Oracle designates this
duke@0 7 * particular file as subject to the "Classpath" exception as provided
ohair@2362 8 * by Oracle in the LICENSE file that accompanied this code.
duke@0 9 *
duke@0 10 * This code is distributed in the hope that it will be useful, but WITHOUT
duke@0 11 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
duke@0 12 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
duke@0 13 * version 2 for more details (a copy is included in the LICENSE file that
duke@0 14 * accompanied this code).
duke@0 15 *
duke@0 16 * You should have received a copy of the GNU General Public License version
duke@0 17 * 2 along with this work; if not, write to the Free Software Foundation,
duke@0 18 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
duke@0 19 *
ohair@2362 20 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
ohair@2362 21 * or visit www.oracle.com if you need additional information or have any
ohair@2362 22 * questions.
duke@0 23 *
duke@0 24 */
duke@0 25
duke@0 26 /*
duke@0 27 *
duke@0 28 * (C) Copyright IBM Corp. 1998-2004 - All Rights Reserved
duke@0 29 *
duke@0 30 */
duke@0 31
duke@0 32 #ifndef __CHARSUBSTITUTIONFILTER_H
duke@0 33 #define __CHARSUBSTITUTIONFILTER_H
duke@0 34
duke@0 35 #include "LETypes.h"
duke@0 36 #include "LEGlyphFilter.h"
duke@0 37
srl@1693 38 U_NAMESPACE_BEGIN
srl@1693 39
duke@0 40 class LEFontInstance;
duke@0 41
duke@0 42 /**
duke@0 43 * This filter is used by character-based GSUB processors. It
duke@0 44 * accepts only those characters which the given font can display.
duke@0 45 *
prr@9124 46 * Note: Implementation is in ArabicLayoutEngine.cpp
prr@9124 47 *
duke@0 48 * @internal
duke@0 49 */
srl@1693 50 class CharSubstitutionFilter : public UMemory, public LEGlyphFilter
duke@0 51 {
duke@0 52 private:
duke@0 53 /**
duke@0 54 * Holds the font which is used to test the characters.
duke@0 55 *
duke@0 56 * @internal
duke@0 57 */
duke@0 58 const LEFontInstance *fFontInstance;
duke@0 59
duke@0 60 /**
duke@0 61 * The copy constructor. Not allowed!
duke@0 62 *
duke@0 63 * @internal
duke@0 64 */
duke@0 65 CharSubstitutionFilter(const CharSubstitutionFilter &other); // forbid copying of this class
duke@0 66
duke@0 67 /**
duke@0 68 * The replacement operator. Not allowed!
duke@0 69 *
duke@0 70 * @internal
duke@0 71 */
duke@0 72 CharSubstitutionFilter &operator=(const CharSubstitutionFilter &other); // forbid copying of this class
duke@0 73
duke@0 74 public:
duke@0 75 /**
duke@0 76 * The constructor.
duke@0 77 *
duke@0 78 * @param fontInstance - the font to use to test the characters.
duke@0 79 *
duke@0 80 * @internal
duke@0 81 */
duke@0 82 CharSubstitutionFilter(const LEFontInstance *fontInstance);
duke@0 83
duke@0 84 /**
duke@0 85 * The destructor.
duke@0 86 *
duke@0 87 * @internal
duke@0 88 */
duke@0 89 ~CharSubstitutionFilter();
duke@0 90
duke@0 91 /**
duke@0 92 * This method is used to test if a particular
duke@0 93 * character can be displayed by the filter's
duke@0 94 * font.
duke@0 95 *
duke@0 96 * @param glyph - the Unicode character code to be tested
duke@0 97 *
duke@0 98 * @return TRUE if the filter's font can display this character.
duke@0 99 *
duke@0 100 * @internal
duke@0 101 */
prr@9124 102 le_bool accept(LEGlyphID glyph, LEErrorCode &success) const;
duke@0 103 };
duke@0 104
srl@1693 105 U_NAMESPACE_END
duke@0 106 #endif