[pango/harfbuzz-ng] [HB] More shuffling



commit cd966a0ef311bc28e8d4a0025846c213f84cca9c
Author: Behdad Esfahbod <behdad behdad org>
Date:   Sun May 17 20:13:02 2009 -0400

    [HB] More shuffling
---
 pango/opentype/hb-ot-layout-gsub-private.h     |   71 ++++++++++++++----------
 pango/opentype/hb-ot-layout-gsubgpos-private.h |   30 ++++++++++
 pango/opentype/hb-ot-layout-open-private.h     |   41 --------------
 3 files changed, 71 insertions(+), 71 deletions(-)

diff --git a/pango/opentype/hb-ot-layout-gsub-private.h b/pango/opentype/hb-ot-layout-gsub-private.h
index 8722105..d09fd76 100644
--- a/pango/opentype/hb-ot-layout-gsub-private.h
+++ b/pango/opentype/hb-ot-layout-gsub-private.h
@@ -29,6 +29,16 @@
 
 #include "hb-ot-layout-gsubgpos-private.h"
 
+/* XXX */
+#include "harfbuzz-impl.h"
+HB_INTERNAL HB_Error
+_hb_buffer_add_output_glyph_ids( HB_Buffer  buffer,
+			      HB_UShort  num_in,
+			      HB_UShort  num_out,
+			      const GlyphID *glyph_data,
+			      HB_UShort  component,
+			      HB_UShort  ligID );
+
 struct SingleSubstFormat1 {
 
   friend struct SingleSubst;
@@ -47,7 +57,7 @@ struct SingleSubstFormat1 {
   }
 
   private:
-  USHORT	substFormat;		/* Format identifier--format = 1 */
+  USHORT	format;			/* Format identifier--format = 1 */
   OffsetTo<Coverage>
 		coverage;		/* Offset to Coverage table--from
 					 * beginning of Substitution table */
@@ -74,7 +84,7 @@ struct SingleSubstFormat2 {
   }
 
   private:
-  USHORT	substFormat;		/* Format identifier--format = 2 */
+  USHORT	format;			/* Format identifier--format = 2 */
   OffsetTo<Coverage>
 		coverage;		/* Offset to Coverage table--from
 					 * beginning of Substitution table */
@@ -180,7 +190,7 @@ struct MultipleSubstFormat1 {
   }
 
   private:
-  USHORT	substFormat;		/* Format identifier--format = 1 */
+  USHORT	format;			/* Format identifier--format = 1 */
   OffsetTo<Coverage>
 		coverage;		/* Offset to Coverage table--from
 					 * beginning of Substitution table */
@@ -258,7 +268,7 @@ struct AlternateSubstFormat1 {
   }
 
   private:
-  USHORT	substFormat;		/* Format identifier--format = 1 */
+  USHORT	format;			/* Format identifier--format = 1 */
   OffsetTo<Coverage>
 		coverage;		/* Offset to Coverage table--from
 					 * beginning of Substitution table */
@@ -415,7 +425,7 @@ struct LigatureSubstFormat1 {
   }
 
   private:
-  USHORT	substFormat;		/* Format identifier--format = 1 */
+  USHORT	format;			/* Format identifier--format = 1 */
   OffsetTo<Coverage>
 		coverage;		/* Offset to Coverage table--from
 					 * beginning of Substitution table */
@@ -504,7 +514,7 @@ struct ChainContextSubstFormat1 {
   }
 
   private:
-  USHORT	substFormat;		/* Format identifier--format = 1 */
+  USHORT	format;			/* Format identifier--format = 1 */
   Offset	coverage;		/* Offset to Coverage table--from
 					 * beginning of Substitution table */
   USHORT	chainSubRuleSetCount;	/* Number of ChainSubRuleSet
@@ -564,7 +574,7 @@ struct ChainContextSubstFormat2 {
   }
 
   private:
-  USHORT	substFormat;		/* Format identifier--format = 2 */
+  USHORT	format;			/* Format identifier--format = 2 */
   Offset	coverage;		/* Offset to Coverage table--from
 					 * beginning of Substitution table */
   Offset	backtrackClassDef;	/* Offset to glyph ClassDef table
@@ -594,7 +604,7 @@ struct ChainContextSubstFormat3 {
   }
 
   private:
-  USHORT	substFormat;		/* Format identifier--format = 3 */
+  USHORT	format;			/* Format identifier--format = 3 */
   USHORT	backtrackGlyphCount;	/* Number of glyphs in the backtracking
 					 * sequence */
   Offset	backtrackCoverage[];	/* Array of offsets to coverage tables
@@ -651,7 +661,7 @@ struct ExtensionSubstFormat1 {
   inline bool substitute (LOOKUP_ARGS_DEF) const;
 
   private:
-  USHORT	substFormat;		/* Format identifier. Set to 1. */
+  USHORT	format;			/* Format identifier. Set to 1. */
   USHORT	extensionLookupType;	/* Lookup type of subtable referenced
 					 * by ExtensionOffset (i.e. the
 					 * extension subtable). */
@@ -697,7 +707,7 @@ struct ReverseChainSingleSubstFormat1 {
   /* TODO */
 
   private:
-  USHORT	substFormat;		/* Format identifier--format = 1 */
+  USHORT	format;			/* Format identifier--format = 1 */
   Offset	coverage;		/* Offset to Coverage table -- from
 					 * beginning of Substitution table */
   USHORT	backtrackGlyphCount;	/* Number of glyphs in the backtracking
@@ -740,17 +750,17 @@ struct SubstLookupSubTable {
 			  unsigned int lookup_type) const {
 
     switch (lookup_type) {
-    case GSUB_Single:				return u.single.substitute (LOOKUP_ARGS);
-    case GSUB_Multiple:				return u.multiple.substitute (LOOKUP_ARGS);
-    case GSUB_Alternate:			return u.alternate.substitute (LOOKUP_ARGS);
-    case GSUB_Ligature:				return u.ligature.substitute (LOOKUP_ARGS);
-    case GSUB_Context:				return u.context.substitute (LOOKUP_ARGS);
+    case GSUB_Single:				return u.single->substitute (LOOKUP_ARGS);
+    case GSUB_Multiple:				return u.multiple->substitute (LOOKUP_ARGS);
+    case GSUB_Alternate:			return u.alternate->substitute (LOOKUP_ARGS);
+    case GSUB_Ligature:				return u.ligature->substitute (LOOKUP_ARGS);
+    case GSUB_Context:				return u.context->substitute (LOOKUP_ARGS);
     /*
-    case GSUB_ChainingContext:			return u.chainingContext.substitute (LOOKUP_ARGS);
+    case GSUB_ChainingContext:			return u.chainingContext->substitute (LOOKUP_ARGS);
     */
-    case GSUB_Extension:			return u.extension.substitute (LOOKUP_ARGS);
+    case GSUB_Extension:			return u.extension->substitute (LOOKUP_ARGS);
 			/*
-    case GSUB_ReverseChainingContextSingle:	return u.reverseChainingContextSingle.substitute (LOOKUP_ARGS);
+    case GSUB_ReverseChainingContextSingle:	return u.reverseChainingContextSingle->substitute (LOOKUP_ARGS);
     */
     default:return false;
     }
@@ -758,21 +768,22 @@ struct SubstLookupSubTable {
 
   private:
   union {
-  USHORT				substFormat;
-  SingleSubst				single;
-  MultipleSubst				multiple;
-  AlternateSubst			alternate;
-  LigatureSubst				ligature;
-  ContextSubst				context;
+  USHORT				format;
+  SingleSubst				single[];
+  MultipleSubst				multiple[];
+  AlternateSubst			alternate[];
+  LigatureSubst				ligature[];
+  ContextSubst				context[];
   /*
-  ChainingContextSubst			chainingContext;
+  ChainingContextSubst			chainingContext[];
   */
-  ExtensionSubst			extension;
+  ExtensionSubst			extension[];
   /*
-  ReverseChainingContextSingleSubst	reverseChainingContextSingle;
+  ReverseChainingContextSingleSubst	reverseChainingContextSingle[];
   */
   } u;
 };
+ASSERT_SIZE (SubstLookupSubTable, 2);
 
 
 struct SubstLookup : Lookup {
@@ -790,7 +801,7 @@ struct SubstLookup : Lookup {
       /* Return lookup type of first extension subtable.
        * The spec says all of them should have the same type.
        * XXX check for that somehow */
-      type = get_subtable(0).u.extension.get_type ();
+      type = get_subtable(0).u.extension->get_type ();
     }
 
     return type;
@@ -875,6 +886,7 @@ struct SubstLookup : Lookup {
     return ret;
   }
 };
+ASSERT_SIZE (SubstLookup, 6);
 
 
 /*
@@ -899,8 +911,7 @@ struct GSUB : GSUBGPOS {
   }
 
 };
-
-
+ASSERT_SIZE (GSUB, 10);
 
 
 /* Out-of-class implementation for methods chaining */
diff --git a/pango/opentype/hb-ot-layout-gsubgpos-private.h b/pango/opentype/hb-ot-layout-gsubgpos-private.h
index 43f81c9..3741484 100644
--- a/pango/opentype/hb-ot-layout-gsubgpos-private.h
+++ b/pango/opentype/hb-ot-layout-gsubgpos-private.h
@@ -332,5 +332,35 @@ struct Context {
 };
 ASSERT_SIZE (Context, 2);
 
+/*
+ * GSUB/GPOS Common
+ */
+
+struct GSUBGPOS {
+  static const hb_tag_t GSUBTag		= HB_TAG ('G','S','U','B');
+  static const hb_tag_t GPOSTag		= HB_TAG ('G','P','O','S');
+
+  STATIC_DEFINE_GET_FOR_DATA (GSUBGPOS);
+  /* XXX check version here? */
+
+  DEFINE_TAG_LIST_INTERFACE (Script,  script );	/* get_script_count (), get_script (i), get_script_tag (i) */
+  DEFINE_TAG_LIST_INTERFACE (Feature, feature);	/* get_feature_count(), get_feature(i), get_feature_tag(i) */
+  DEFINE_LIST_INTERFACE     (Lookup,  lookup );	/* get_lookup_count (), get_lookup (i) */
+
+  // LONGTERMTODO bsearch
+  DEFINE_TAG_FIND_INTERFACE (Script,  script );	/* find_script_index (), get_script_by_tag (tag) */
+  DEFINE_TAG_FIND_INTERFACE (Feature, feature);	/* find_feature_index(), get_feature_by_tag(tag) */
+
+  private:
+  Fixed_Version	version;	/* Version of the GSUB/GPOS table--initially set
+				 * to 0x00010000 */
+  OffsetTo<ScriptList>
+		scriptList;  	/* ScriptList table */
+  OffsetTo<FeatureList>
+		featureList; 	/* FeatureList table */
+  OffsetTo<LookupList>
+		lookupList; 	/* LookupList table */
+};
+ASSERT_SIZE (GSUBGPOS, 10);
 
 #endif /* HB_OT_LAYOUT_GSUBGPOS_PRIVATE_H */
diff --git a/pango/opentype/hb-ot-layout-open-private.h b/pango/opentype/hb-ot-layout-open-private.h
index 0fd647a..c653075 100644
--- a/pango/opentype/hb-ot-layout-open-private.h
+++ b/pango/opentype/hb-ot-layout-open-private.h
@@ -908,45 +908,4 @@ struct Device {
 };
 ASSERT_SIZE (Device, 6);
 
-/*
- * GSUB/GPOS Common
- */
-
-struct GSUBGPOS {
-  static const hb_tag_t GSUBTag		= HB_TAG ('G','S','U','B');
-  static const hb_tag_t GPOSTag		= HB_TAG ('G','P','O','S');
-
-  STATIC_DEFINE_GET_FOR_DATA (GSUBGPOS);
-  /* XXX check version here? */
-
-  DEFINE_TAG_LIST_INTERFACE (Script,  script );	/* get_script_count (), get_script (i), get_script_tag (i) */
-  DEFINE_TAG_LIST_INTERFACE (Feature, feature);	/* get_feature_count(), get_feature(i), get_feature_tag(i) */
-  DEFINE_LIST_INTERFACE     (Lookup,  lookup );	/* get_lookup_count (), get_lookup (i) */
-
-  // LONGTERMTODO bsearch
-  DEFINE_TAG_FIND_INTERFACE (Script,  script );	/* find_script_index (), get_script_by_tag (tag) */
-  DEFINE_TAG_FIND_INTERFACE (Feature, feature);	/* find_feature_index(), get_feature_by_tag(tag) */
-
-  private:
-  Fixed_Version	version;	/* Version of the GSUB/GPOS table--initially set
-				 * to 0x00010000 */
-  OffsetTo<ScriptList>
-		scriptList;  	/* ScriptList table */
-  OffsetTo<FeatureList>
-		featureList; 	/* FeatureList table */
-  OffsetTo<LookupList>
-		lookupList; 	/* LookupList table */
-};
-ASSERT_SIZE (GSUBGPOS, 10);
-
-/* XXX */
-#include "harfbuzz-impl.h"
-HB_INTERNAL HB_Error
-_hb_buffer_add_output_glyph_ids( HB_Buffer  buffer,
-			      HB_UShort  num_in,
-			      HB_UShort  num_out,
-			      const GlyphID *glyph_data,
-			      HB_UShort  component,
-			      HB_UShort  ligID );
-
 #endif /* HB_OT_LAYOUT_OPEN_PRIVATE_H */



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]