LigatureSubstitution.h revision 0
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder/*
25cc5fbba63f84b47e389af749f55abbbde71c8cChristian Maeder * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
25cc5fbba63f84b47e389af749f55abbbde71c8cChristian Maeder *
25cc5fbba63f84b47e389af749f55abbbde71c8cChristian Maeder * This code is free software; you can redistribute it and/or modify it
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder * under the terms of the GNU General Public License version 2 only, as
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder * published by the Free Software Foundation. Sun designates this
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder * particular file as subject to the "Classpath" exception as provided
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder * by Sun in the LICENSE file that accompanied this code.
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder *
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder * This code is distributed in the hope that it will be useful, but WITHOUT
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder * version 2 for more details (a copy is included in the LICENSE file that
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder * accompanied this code).
08e5741dd8b6bf9b7419e89298e384e18bc57f64Christian Maeder *
08e5741dd8b6bf9b7419e89298e384e18bc57f64Christian Maeder * You should have received a copy of the GNU General Public License version
c0c2380bced8159ff0297ece14eba948bd236471Christian Maeder * 2 along with this work; if not, write to the Free Software Foundation,
ce8b15da31cd181b7e90593cbbca98f47eda29d6Till Mossakowski * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
ac0bbbcb2774629bb87986e69cf53d3402c5f575Christian Maeder *
760ae19a92dde8249679a674f93f58d26a7c5f6bChristian Maeder * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
760ae19a92dde8249679a674f93f58d26a7c5f6bChristian Maeder * CA 95054 USA or visit www.sun.com if you need additional information or
88c800932dd7053322501ea2039d9f234be6866cKlaus Luettich * have any questions.
c0c2380bced8159ff0297ece14eba948bd236471Christian Maeder *
c0c2380bced8159ff0297ece14eba948bd236471Christian Maeder */
c0c2380bced8159ff0297ece14eba948bd236471Christian Maeder
c0c2380bced8159ff0297ece14eba948bd236471Christian Maeder/*
c0c2380bced8159ff0297ece14eba948bd236471Christian Maeder *
c0c2380bced8159ff0297ece14eba948bd236471Christian Maeder * (C) Copyright IBM Corp. 1998-2004 - All Rights Reserved
c0c2380bced8159ff0297ece14eba948bd236471Christian Maeder *
8410667510a76409aca9bb24ff0eda0420088274Christian Maeder */
8410667510a76409aca9bb24ff0eda0420088274Christian Maeder
8410667510a76409aca9bb24ff0eda0420088274Christian Maeder#ifndef __LIGATURESUBSTITUTION_H
404166b9366552e9ec5abb87a37c76ec8a815fb7Klaus Luettich#define __LIGATURESUBSTITUTION_H
404166b9366552e9ec5abb87a37c76ec8a815fb7Klaus Luettich
fdb2d618144159395f7bf8ce3327b3c112a17dd3Till Mossakowski#include "LETypes.h"
404166b9366552e9ec5abb87a37c76ec8a815fb7Klaus Luettich#include "LayoutTables.h"
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder#include "StateTables.h"
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder#include "MorphTables.h"
d67a33b40578beef2e255a274f89bb9c34aaf056Christian Maeder#include "MorphStateTables.h"
ac0bbbcb2774629bb87986e69cf53d3402c5f575Christian Maeder
e593b89bfd4952698dc37feced21cefe869d87a2Christian Maederstruct LigatureSubstitutionHeader : MorphStateTableHeader
ac0bbbcb2774629bb87986e69cf53d3402c5f575Christian Maeder{
6e049108aa87dc46bcff96fae50a4625df1d9648Klaus Luettich ByteOffset ligatureActionTableOffset;
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder ByteOffset componentTableOffset;
c0c2380bced8159ff0297ece14eba948bd236471Christian Maeder ByteOffset ligatureTableOffset;
c6fcd42c6d6d9dae8c7835c24fcb7ce8531a9050Christian Maeder};
c6fcd42c6d6d9dae8c7835c24fcb7ce8531a9050Christian Maeder
31c49f2fa23d4ac089f35145d80a224deb6ea7e4Till Mossakowskienum LigatureSubstitutionFlags
c55a0f77be7e88d3620b419ec8961f4379a586e3Klaus Luettich{
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder lsfSetComponent = 0x8000,
857992065be4ed40a72c6296b6c0aec62ab4c5b9Christian Maeder lsfDontAdvance = 0x4000,
f4505a64a089693012a3f5c3b1f12a82cd7a2a5aKlaus Luettich lsfActionOffsetMask = 0x3FFF
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder};
c0c2380bced8159ff0297ece14eba948bd236471Christian Maeder
61fa0ac06ede811c7aad54ec4c4202346727368eChristian Maederstruct LigatureSubstitutionStateEntry : StateEntry
c0c2380bced8159ff0297ece14eba948bd236471Christian Maeder{
c0c2380bced8159ff0297ece14eba948bd236471Christian Maeder};
c0c2380bced8159ff0297ece14eba948bd236471Christian Maeder
c0c2380bced8159ff0297ece14eba948bd236471Christian Maedertypedef le_uint32 LigatureActionEntry;
c0c2380bced8159ff0297ece14eba948bd236471Christian Maeder
c0c2380bced8159ff0297ece14eba948bd236471Christian Maederenum LigatureActionFlags
c0c2380bced8159ff0297ece14eba948bd236471Christian Maeder{
c0c2380bced8159ff0297ece14eba948bd236471Christian Maeder lafLast = 0x80000000,
c0c2380bced8159ff0297ece14eba948bd236471Christian Maeder lafStore = 0x40000000,
61fa0ac06ede811c7aad54ec4c4202346727368eChristian Maeder lafComponentOffsetMask = 0x3FFFFFFF
61fa0ac06ede811c7aad54ec4c4202346727368eChristian Maeder};
c0c2380bced8159ff0297ece14eba948bd236471Christian Maeder
f4505a64a089693012a3f5c3b1f12a82cd7a2a5aKlaus Luettich#endif
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder