GlyphPosnLookupProc.h revision 5980
7db630a55be9d955c8ac125da609b304cbcc6010vboxsync/*
7db630a55be9d955c8ac125da609b304cbcc6010vboxsync * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
7db630a55be9d955c8ac125da609b304cbcc6010vboxsync *
7db630a55be9d955c8ac125da609b304cbcc6010vboxsync * This code is free software; you can redistribute it and/or modify it
7db630a55be9d955c8ac125da609b304cbcc6010vboxsync * under the terms of the GNU General Public License version 2 only, as
7db630a55be9d955c8ac125da609b304cbcc6010vboxsync * published by the Free Software Foundation. Oracle designates this
c58f1213e628a545081c70e26c6b67a841cff880vboxsync * particular file as subject to the "Classpath" exception as provided
a16eb14ad7a4b5ef91ddc22d3e8e92d930f736fcvboxsync * by Oracle in the LICENSE file that accompanied this code.
a16eb14ad7a4b5ef91ddc22d3e8e92d930f736fcvboxsync *
a16eb14ad7a4b5ef91ddc22d3e8e92d930f736fcvboxsync * This code is distributed in the hope that it will be useful, but WITHOUT
a16eb14ad7a4b5ef91ddc22d3e8e92d930f736fcvboxsync * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
a16eb14ad7a4b5ef91ddc22d3e8e92d930f736fcvboxsync * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
a16eb14ad7a4b5ef91ddc22d3e8e92d930f736fcvboxsync * version 2 for more details (a copy is included in the LICENSE file that
a16eb14ad7a4b5ef91ddc22d3e8e92d930f736fcvboxsync * accompanied this code).
a16eb14ad7a4b5ef91ddc22d3e8e92d930f736fcvboxsync *
a16eb14ad7a4b5ef91ddc22d3e8e92d930f736fcvboxsync * You should have received a copy of the GNU General Public License version
a16eb14ad7a4b5ef91ddc22d3e8e92d930f736fcvboxsync * 2 along with this work; if not, write to the Free Software Foundation,
a16eb14ad7a4b5ef91ddc22d3e8e92d930f736fcvboxsync * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
a16eb14ad7a4b5ef91ddc22d3e8e92d930f736fcvboxsync *
a16eb14ad7a4b5ef91ddc22d3e8e92d930f736fcvboxsync * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
a16eb14ad7a4b5ef91ddc22d3e8e92d930f736fcvboxsync * or visit www.oracle.com if you need additional information or have any
a16eb14ad7a4b5ef91ddc22d3e8e92d930f736fcvboxsync * questions.
a16eb14ad7a4b5ef91ddc22d3e8e92d930f736fcvboxsync *
a16eb14ad7a4b5ef91ddc22d3e8e92d930f736fcvboxsync */
a16eb14ad7a4b5ef91ddc22d3e8e92d930f736fcvboxsync
7db630a55be9d955c8ac125da609b304cbcc6010vboxsync/*
7db630a55be9d955c8ac125da609b304cbcc6010vboxsync * (C) Copyright IBM Corp. 1998-2005 - All Rights Reserved
7db630a55be9d955c8ac125da609b304cbcc6010vboxsync *
7db630a55be9d955c8ac125da609b304cbcc6010vboxsync */
7db630a55be9d955c8ac125da609b304cbcc6010vboxsync
7db630a55be9d955c8ac125da609b304cbcc6010vboxsync#ifndef __GLYPHPOSITIONINGLOOKUPPROCESSOR_H
7db630a55be9d955c8ac125da609b304cbcc6010vboxsync#define __GLYPHPOSITIONINGLOOKUPPROCESSOR_H
7db630a55be9d955c8ac125da609b304cbcc6010vboxsync
4db428018b0a098eec7231fc88b688d70b814933vboxsync/**
7db630a55be9d955c8ac125da609b304cbcc6010vboxsync * \file
bd53394d08b77c8294f14b32dd26aa4670f888eevboxsync * \internal
bd53394d08b77c8294f14b32dd26aa4670f888eevboxsync */
bd53394d08b77c8294f14b32dd26aa4670f888eevboxsync
7db630a55be9d955c8ac125da609b304cbcc6010vboxsync#include "LETypes.h"
7db630a55be9d955c8ac125da609b304cbcc6010vboxsync#include "LEFontInstance.h"
4db428018b0a098eec7231fc88b688d70b814933vboxsync#include "OpenTypeTables.h"
7db630a55be9d955c8ac125da609b304cbcc6010vboxsync#include "Lookups.h"
f1184d89598af5d77617104b80c6cae0fe69f730vboxsync#include "ICUFeatures.h"
7db630a55be9d955c8ac125da609b304cbcc6010vboxsync#include "GlyphDefinitionTables.h"
7db630a55be9d955c8ac125da609b304cbcc6010vboxsync#include "GlyphPositioningTables.h"
f1184d89598af5d77617104b80c6cae0fe69f730vboxsync#include "GlyphIterator.h"
7db630a55be9d955c8ac125da609b304cbcc6010vboxsync#include "LookupProcessor.h"
7db630a55be9d955c8ac125da609b304cbcc6010vboxsync
7db630a55be9d955c8ac125da609b304cbcc6010vboxsyncU_NAMESPACE_BEGIN
7db630a55be9d955c8ac125da609b304cbcc6010vboxsync
7db630a55be9d955c8ac125da609b304cbcc6010vboxsyncclass GlyphPositioningLookupProcessor : public LookupProcessor
7db630a55be9d955c8ac125da609b304cbcc6010vboxsync{
7db630a55be9d955c8ac125da609b304cbcc6010vboxsyncpublic:
7db630a55be9d955c8ac125da609b304cbcc6010vboxsync GlyphPositioningLookupProcessor(const LEReferenceTo<GlyphPositioningTableHeader> &glyphPositioningTableHeader,
7db630a55be9d955c8ac125da609b304cbcc6010vboxsync LETag scriptTag,
7db630a55be9d955c8ac125da609b304cbcc6010vboxsync LETag languageTag,
7db630a55be9d955c8ac125da609b304cbcc6010vboxsync const FeatureMap *featureMap,
7db630a55be9d955c8ac125da609b304cbcc6010vboxsync le_int32 featureMapCount,
7db630a55be9d955c8ac125da609b304cbcc6010vboxsync le_bool featureOrder,
7db630a55be9d955c8ac125da609b304cbcc6010vboxsync LEErrorCode& success);
7db630a55be9d955c8ac125da609b304cbcc6010vboxsync
7db630a55be9d955c8ac125da609b304cbcc6010vboxsync virtual ~GlyphPositioningLookupProcessor();
7db630a55be9d955c8ac125da609b304cbcc6010vboxsync
7db630a55be9d955c8ac125da609b304cbcc6010vboxsync virtual le_uint32 applySubtable(const LEReferenceTo<LookupSubtable> &lookupSubtable, le_uint16 lookupType, GlyphIterator *glyphIterator,
7db630a55be9d955c8ac125da609b304cbcc6010vboxsync const LEFontInstance *fontInstance, LEErrorCode& success) const;
protected:
GlyphPositioningLookupProcessor();
private:
GlyphPositioningLookupProcessor(const GlyphPositioningLookupProcessor &other); // forbid copying of this class
GlyphPositioningLookupProcessor &operator=(const GlyphPositioningLookupProcessor &other); // forbid copying of this class
};
U_NAMESPACE_END
#endif