]> git.saurik.com Git - apple/icu.git/blobdiff - icuSources/layout/StateTables.h
ICU-64232.0.1.tar.gz
[apple/icu.git] / icuSources / layout / StateTables.h
diff --git a/icuSources/layout/StateTables.h b/icuSources/layout/StateTables.h
deleted file mode 100644 (file)
index 8635d1d..0000000
+++ /dev/null
@@ -1,118 +0,0 @@
-/*
- *
- * (C) Copyright IBM Corp. and others 1998-2016 - All Rights Reserved
- *
- */
-
-#ifndef __STATETABLES_H
-#define __STATETABLES_H
-
-/**
- * \file
- * \internal
- */
-
-#include "LETypes.h"
-#include "LayoutTables.h"
-#include "LETableReference.h"
-
-U_NAMESPACE_BEGIN
-
-
-
-
-/* 
- * State table loop detection. 
- * Detects if too many ( LE_STATE_PATIENCE_COUNT ) state changes occur without moving the glyph index 'g'.
- * 
- * Usage (pseudocode):
- *
- * {
- *   LE_STATE_PATIENCE_INIT();
- *
- *   int g=0; // the glyph index - expect it to be moving
- * 
- *   for(;;) {
- *     if(LE_STATE_PATIENCE_DECR()) { // decrements the patience counter
- *        // ran out of patience, get out.
- *        break;
- *     }
- *     
- *     LE_STATE_PATIENCE_CURR(int, g); // store the 'current'
- *     state = newState(state,g);
- *     g+= <something, could be zero>;
- *     LE_STATE_PATIENCE_INCR(g);  // if g has moved, increment the patience counter. Otherwise leave it.
- *   }
- * 
- */
-
-#define LE_STATE_PATIENCE_COUNT 4096 /**< give up if a state table doesn't move the glyph after this many iterations */
-#define LE_STATE_PATIENCE_INIT()  le_uint32 le_patience_count = LE_STATE_PATIENCE_COUNT
-#define LE_STATE_PATIENCE_DECR()  --le_patience_count==0
-#define LE_STATE_PATIENCE_CURR(type,x)  type le_patience_curr=(x)
-#define LE_STATE_PATIENCE_INCR(x)    if((x)!=le_patience_curr) ++le_patience_count;
-
-
-struct StateTableHeader
-{
-    le_int16 stateSize;
-    ByteOffset classTableOffset;
-    ByteOffset stateArrayOffset;
-    ByteOffset entryTableOffset;
-};
-
-struct StateTableHeader2 
-{
-    le_uint32 nClasses;
-    le_uint32 classTableOffset;
-    le_uint32 stateArrayOffset;
-    le_uint32 entryTableOffset;
-};
-
-enum ClassCodes
-{
-    classCodeEOT = 0,
-    classCodeOOB = 1,
-    classCodeDEL = 2,
-    classCodeEOL = 3,
-    classCodeFirstFree = 4,
-    classCodeMAX = 0xFF
-};
-
-typedef le_uint8 ClassCode;
-
-struct ClassTable
-{
-    TTGlyphID firstGlyph;
-    le_uint16 nGlyphs;
-    ClassCode classArray[ANY_NUMBER];
-};
-LE_VAR_ARRAY(ClassTable, classArray)
-
-enum StateNumber
-{
-    stateSOT        = 0,
-    stateSOL        = 1,
-    stateFirstFree  = 2,
-    stateMAX        = 0xFF
-};
-
-typedef le_uint8 EntryTableIndex;
-
-struct StateEntry
-{
-    ByteOffset  newStateOffset;
-    le_int16    flags;
-};
-
-typedef le_uint16 EntryTableIndex2;
-
-struct StateEntry2 // same struct different interpretation
-{
-    le_uint16    newStateIndex;
-    le_uint16    flags;
-};
-
-U_NAMESPACE_END
-#endif
-