2000-11-28 20:56:52 +00:00
|
|
|
/*
|
|
|
|
*
|
2013-02-06 07:01:19 +00:00
|
|
|
* (C) Copyright IBM Corp. and Others 1998-2013 - All Rights Reserved
|
2000-11-28 20:56:52 +00:00
|
|
|
*
|
|
|
|
*/
|
|
|
|
|
|
|
|
#ifndef __LIGATURESUBSTITUTION_H
|
|
|
|
#define __LIGATURESUBSTITUTION_H
|
|
|
|
|
2003-01-13 23:15:11 +00:00
|
|
|
/**
|
|
|
|
* \file
|
|
|
|
* \internal
|
|
|
|
*/
|
|
|
|
|
2000-11-28 20:56:52 +00:00
|
|
|
#include "LETypes.h"
|
|
|
|
#include "LayoutTables.h"
|
|
|
|
#include "StateTables.h"
|
|
|
|
#include "MorphTables.h"
|
|
|
|
#include "MorphStateTables.h"
|
|
|
|
|
2001-10-16 00:39:01 +00:00
|
|
|
U_NAMESPACE_BEGIN
|
|
|
|
|
2000-11-28 20:56:52 +00:00
|
|
|
struct LigatureSubstitutionHeader : MorphStateTableHeader
|
|
|
|
{
|
|
|
|
ByteOffset ligatureActionTableOffset;
|
|
|
|
ByteOffset componentTableOffset;
|
|
|
|
ByteOffset ligatureTableOffset;
|
|
|
|
};
|
|
|
|
|
2013-02-06 07:01:19 +00:00
|
|
|
struct LigatureSubstitutionHeader2 : MorphStateTableHeader2
|
|
|
|
{
|
|
|
|
le_uint32 ligActionOffset;
|
|
|
|
le_uint32 componentOffset;
|
|
|
|
le_uint32 ligatureOffset;
|
|
|
|
};
|
|
|
|
|
2000-11-28 20:56:52 +00:00
|
|
|
enum LigatureSubstitutionFlags
|
|
|
|
{
|
|
|
|
lsfSetComponent = 0x8000,
|
|
|
|
lsfDontAdvance = 0x4000,
|
2013-02-06 07:01:19 +00:00
|
|
|
lsfActionOffsetMask = 0x3FFF, // N/A in morx
|
|
|
|
lsfPerformAction = 0x2000
|
2000-11-28 20:56:52 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
struct LigatureSubstitutionStateEntry : StateEntry
|
|
|
|
{
|
|
|
|
};
|
|
|
|
|
2013-02-06 07:01:19 +00:00
|
|
|
struct LigatureSubstitutionStateEntry2
|
|
|
|
{
|
|
|
|
le_uint16 nextStateIndex;
|
|
|
|
le_uint16 entryFlags;
|
|
|
|
le_uint16 ligActionIndex;
|
|
|
|
};
|
|
|
|
|
2000-11-28 20:56:52 +00:00
|
|
|
typedef le_uint32 LigatureActionEntry;
|
|
|
|
|
|
|
|
enum LigatureActionFlags
|
|
|
|
{
|
|
|
|
lafLast = 0x80000000,
|
|
|
|
lafStore = 0x40000000,
|
|
|
|
lafComponentOffsetMask = 0x3FFFFFFF
|
|
|
|
};
|
|
|
|
|
2001-10-16 00:39:01 +00:00
|
|
|
U_NAMESPACE_END
|
2000-11-28 20:56:52 +00:00
|
|
|
#endif
|