1b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru/* 250294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho * (C) Copyright IBM Corp. 1998-2010 - All Rights Reserved 3b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru * 4b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru */ 5b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru 6b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru#ifndef __GLYPHSUBSTITUTIONLOOKUPPROCESSOR_H 7b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru#define __GLYPHSUBSTITUTIONLOOKUPPROCESSOR_H 8b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru 9b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru/** 10b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru * \file 11b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru * \internal 12b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru */ 13b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru 14b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru#include "LETypes.h" 15b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru#include "LEGlyphFilter.h" 16b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru#include "LEFontInstance.h" 17b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru#include "OpenTypeTables.h" 18b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru#include "Lookups.h" 1950294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho#include "ICUFeatures.h" 20b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru#include "GlyphDefinitionTables.h" 21b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru#include "GlyphSubstitutionTables.h" 22b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru#include "GlyphIterator.h" 23b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru#include "LookupProcessor.h" 24b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru 25b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste QueruU_NAMESPACE_BEGIN 26b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru 27b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queruclass GlyphSubstitutionLookupProcessor : public LookupProcessor 28b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru{ 29b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Querupublic: 30b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru GlyphSubstitutionLookupProcessor(const GlyphSubstitutionTableHeader *glyphSubstitutionTableHeader, 31b0ac937921a2c196d8b9da665135bf6ba01a1ccfJean-Baptiste Queru LETag scriptTag, 32b0ac937921a2c196d8b9da665135bf6ba01a1ccfJean-Baptiste Queru LETag languageTag, 33b0ac937921a2c196d8b9da665135bf6ba01a1ccfJean-Baptiste Queru const LEGlyphFilter *filter, 34b0ac937921a2c196d8b9da665135bf6ba01a1ccfJean-Baptiste Queru const FeatureMap *featureMap, 35b0ac937921a2c196d8b9da665135bf6ba01a1ccfJean-Baptiste Queru le_int32 featureMapCount, 36b0ac937921a2c196d8b9da665135bf6ba01a1ccfJean-Baptiste Queru le_bool featureOrder, 37b0ac937921a2c196d8b9da665135bf6ba01a1ccfJean-Baptiste Queru LEErrorCode& success); 38b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru 39b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru virtual ~GlyphSubstitutionLookupProcessor(); 40b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru 41b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru virtual le_uint32 applySubtable(const LookupSubtable *lookupSubtable, le_uint16 lookupType, GlyphIterator *glyphIterator, 42b0ac937921a2c196d8b9da665135bf6ba01a1ccfJean-Baptiste Queru const LEFontInstance *fontInstance, LEErrorCode& success) const; 43b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru 44b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queruprotected: 45b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru GlyphSubstitutionLookupProcessor(); 46b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru 47b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queruprivate: 48b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru const LEGlyphFilter *fFilter; 49b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru 50b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru GlyphSubstitutionLookupProcessor(const GlyphSubstitutionLookupProcessor &other); // forbid copying of this class 51b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru GlyphSubstitutionLookupProcessor &operator=(const GlyphSubstitutionLookupProcessor &other); // forbid copying of this class 52b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru}; 53b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru 54b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste QueruU_NAMESPACE_END 55b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru#endif 56