src/share/native/sun/font/layout/IndicRearrangement.h

Print this page
rev 663 : 6501644: sync LayoutEngine *code* structure to match ICU
Reviewed-by: prr, omajid

  15  *
  16  * You should have received a copy of the GNU General Public License version
  17  * 2 along with this work; if not, write to the Free Software Foundation,
  18  * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  19  *
  20  * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
  21  * or visit www.oracle.com if you need additional information or have any
  22  * questions.
  23  *
  24  */
  25 
  26 /*
  27  *
  28  * (C) Copyright IBM Corp. 1998-2004 - All Rights Reserved
  29  *
  30  */
  31 
  32 #ifndef __INDICREARRANGEMENT_H
  33 #define __INDICREARRANGEMENT_H
  34 





  35 #include "LETypes.h"
  36 #include "LayoutTables.h"
  37 #include "StateTables.h"
  38 #include "MorphTables.h"
  39 #include "MorphStateTables.h"
  40 


  41 struct IndicRearrangementSubtableHeader : MorphStateTableHeader
  42 {
  43 };
  44 
  45 enum IndicRearrangementFlags
  46 {
  47     irfMarkFirst    = 0x8000,
  48     irfDontAdvance  = 0x4000,
  49     irfMarkLast     = 0x2000,
  50     irfReserved     = 0x1FF0,
  51     irfVerbMask     = 0x000F
  52 };
  53 
  54 enum IndicRearrangementVerb
  55 {
  56     irvNoAction = 0x0000,               /*   no action    */
  57     irvxA       = 0x0001,               /*    Ax => xA    */
  58     irvDx       = 0x0002,               /*    xD => Dx    */
  59     irvDxA      = 0x0003,               /*   AxD => DxA   */
  60 
  61     irvxAB      = 0x0004,               /*   ABx => xAB   */
  62     irvxBA      = 0x0005,               /*   ABx => xBA   */
  63     irvCDx      = 0x0006,               /*   xCD => CDx   */
  64     irvDCx      = 0x0007,               /*   xCD => DCx   */
  65 
  66     irvCDxA     = 0x0008,               /*  AxCD => CDxA  */
  67     irvDCxA     = 0x0009,               /*  AxCD => DCxA  */
  68     irvDxAB     = 0x000A,               /*  ABxD => DxAB  */
  69     irvDxBA     = 0x000B,               /*  ABxD => DxBA  */
  70 
  71     irvCDxAB    = 0x000C,               /* ABxCD => CDxAB */
  72     irvCDxBA    = 0x000D,               /* ABxCD => CDxBA */
  73     irvDCxAB    = 0x000E,               /* ABxCD => DCxAB */
  74     irvDCxBA    = 0x000F                /* ABxCD => DCxBA */
  75 };
  76 
  77 struct IndicRearrangementStateEntry : StateEntry
  78 {
  79 };
  80 

  81 #endif


  15  *
  16  * You should have received a copy of the GNU General Public License version
  17  * 2 along with this work; if not, write to the Free Software Foundation,
  18  * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  19  *
  20  * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
  21  * or visit www.oracle.com if you need additional information or have any
  22  * questions.
  23  *
  24  */
  25 
  26 /*
  27  *
  28  * (C) Copyright IBM Corp. 1998-2004 - All Rights Reserved
  29  *
  30  */
  31 
  32 #ifndef __INDICREARRANGEMENT_H
  33 #define __INDICREARRANGEMENT_H
  34 
  35 /**
  36  * \file
  37  * \internal
  38  */
  39 
  40 #include "LETypes.h"
  41 #include "LayoutTables.h"
  42 #include "StateTables.h"
  43 #include "MorphTables.h"
  44 #include "MorphStateTables.h"
  45 
  46 U_NAMESPACE_BEGIN
  47 
  48 struct IndicRearrangementSubtableHeader : MorphStateTableHeader
  49 {
  50 };
  51 
  52 enum IndicRearrangementFlags
  53 {
  54     irfMarkFirst    = 0x8000,
  55     irfDontAdvance  = 0x4000,
  56     irfMarkLast     = 0x2000,
  57     irfReserved     = 0x1FF0,
  58     irfVerbMask     = 0x000F
  59 };
  60 
  61 enum IndicRearrangementVerb
  62 {
  63     irvNoAction = 0x0000,               /*   no action    */
  64     irvxA       = 0x0001,               /*    Ax => xA    */
  65     irvDx       = 0x0002,               /*    xD => Dx    */
  66     irvDxA      = 0x0003,               /*   AxD => DxA   */
  67 
  68     irvxAB      = 0x0004,               /*   ABx => xAB   */
  69     irvxBA      = 0x0005,               /*   ABx => xBA   */
  70     irvCDx      = 0x0006,               /*   xCD => CDx   */
  71     irvDCx      = 0x0007,               /*   xCD => DCx   */
  72 
  73     irvCDxA     = 0x0008,               /*  AxCD => CDxA  */
  74     irvDCxA     = 0x0009,               /*  AxCD => DCxA  */
  75     irvDxAB     = 0x000A,               /*  ABxD => DxAB  */
  76     irvDxBA     = 0x000B,               /*  ABxD => DxBA  */
  77 
  78     irvCDxAB    = 0x000C,               /* ABxCD => CDxAB */
  79     irvCDxBA    = 0x000D,               /* ABxCD => CDxBA */
  80     irvDCxAB    = 0x000E,               /* ABxCD => DCxAB */
  81     irvDCxBA    = 0x000F                /* ABxCD => DCxBA */
  82 };
  83 
  84 struct IndicRearrangementStateEntry : StateEntry
  85 {
  86 };
  87 
  88 U_NAMESPACE_END
  89 #endif
  90