From 96a637dcc3399d5298ed458abdaa4e1317e9a46e Mon Sep 17 00:00:00 2001 From: Andreas Kling Date: Tue, 15 Jun 2010 11:32:13 +0200 Subject: Reorder all internal Harfbuzz structures by member size. Signed-off-by: Simon Hausmann Signed-off-by: Lars Knoll --- src/harfbuzz-buffer.h | 8 +-- src/harfbuzz-gdef-private.h | 13 ++-- src/harfbuzz-gdef.h | 14 ++--- src/harfbuzz-gsub-private.h | 144 ++++++++++++++++++++++---------------------- src/harfbuzz-gsub.h | 16 ++--- src/harfbuzz-open.h | 37 ++++++------ src/harfbuzz-stream.h | 3 +- 7 files changed, 115 insertions(+), 120 deletions(-) diff --git a/src/harfbuzz-buffer.h b/src/harfbuzz-buffer.h index 7e6ad83..0d7c2c2 100644 --- a/src/harfbuzz-buffer.h +++ b/src/harfbuzz-buffer.h @@ -52,13 +52,13 @@ typedef struct HB_PositionRec_ { HB_Fixed y_advance; HB_UShort back; /* number of glyphs to go back for drawing current glyph */ + HB_Short cursive_chain; /* character to which this connects, + may be positive or negative; used + only internally */ HB_Bool new_advance; /* if set, the advance width values are absolute, i.e., they won't be added to the original glyph's value but rather replace them. */ - HB_Short cursive_chain; /* character to which this connects, - may be positive or negative; used - only internally */ } HB_PositionRec, *HB_Position; @@ -70,12 +70,12 @@ typedef struct HB_BufferRec_{ HB_UInt in_pos; HB_UInt out_pos; - HB_Bool separate_out; HB_GlyphItem in_string; HB_GlyphItem out_string; HB_GlyphItem alt_string; HB_Position positions; HB_UShort max_ligID; + HB_Bool separate_out; } HB_BufferRec, *HB_Buffer; HB_Error diff --git a/src/harfbuzz-gdef-private.h b/src/harfbuzz-gdef-private.h index da29d99..2a6d958 100644 --- a/src/harfbuzz-gdef-private.h +++ b/src/harfbuzz-gdef-private.h @@ -42,8 +42,8 @@ HB_BEGIN_HEADER struct HB_AttachPoint_ { - HB_UShort PointCount; /* size of the PointIndex array */ HB_UShort* PointIndex; /* array of contour points */ + HB_UShort PointCount; /* size of the PointIndex array */ }; /* Ligature Caret related structures */ @@ -66,8 +66,8 @@ typedef struct HB_CaretValueFormat2_ HB_CaretValueFormat2; struct HB_CaretValueFormat3_ { - HB_Short Coordinate; /* x or y value (in design units) */ HB_Device* Device; /* Device table for x or y value */ + HB_Short Coordinate; /* x or y value (in design units) */ }; typedef struct HB_CaretValueFormat3_ HB_CaretValueFormat3; @@ -85,8 +85,6 @@ typedef struct HB_CaretValueFormat4_ HB_CaretValueFormat4; struct HB_CaretValue_ { - HB_Byte CaretValueFormat; /* 1, 2, 3, or 4 */ - union { HB_CaretValueFormat1 cvf1; @@ -96,6 +94,8 @@ struct HB_CaretValue_ HB_CaretValueFormat4 cvf4; #endif } cvf; + + HB_Byte CaretValueFormat; /* 1, 2, 3, or 4 */ }; typedef struct HB_CaretValue_ HB_CaretValue; @@ -103,10 +103,9 @@ typedef struct HB_CaretValue_ HB_CaretValue; struct HB_LigGlyph_ { - HB_Bool loaded; - - HB_UShort CaretCount; /* number of caret values */ HB_CaretValue* CaretValue; /* array of caret values */ + HB_UShort CaretCount; /* number of caret values */ + HB_Bool loaded; }; diff --git a/src/harfbuzz-gdef.h b/src/harfbuzz-gdef.h index 9b5dee0..f9a03dd 100644 --- a/src/harfbuzz-gdef.h +++ b/src/harfbuzz-gdef.h @@ -48,12 +48,11 @@ typedef struct HB_AttachPoint_ HB_AttachPoint; struct HB_AttachList_ { - HB_Bool loaded; - + HB_AttachPoint* AttachPoint; /* array of AttachPoint tables */ HB_Coverage Coverage; /* Coverage table */ HB_UShort GlyphCount; /* number of glyphs with attachments */ - HB_AttachPoint* AttachPoint; /* array of AttachPoint tables */ + HB_Bool loaded; }; typedef struct HB_AttachList_ HB_AttachList; @@ -62,11 +61,10 @@ typedef struct HB_LigGlyph_ HB_LigGlyph; struct HB_LigCaretList_ { - HB_Bool loaded; - + HB_LigGlyph* LigGlyph; /* array of LigGlyph tables */ HB_Coverage Coverage; /* Coverage table */ HB_UShort LigGlyphCount; /* number of ligature glyphs */ - HB_LigGlyph* LigGlyph; /* array of LigGlyph tables */ + HB_Bool loaded; }; typedef struct HB_LigCaretList_ HB_LigCaretList; @@ -95,18 +93,18 @@ typedef struct HB_LigCaretList_ HB_LigCaretList; struct HB_GDEFHeader_ { + HB_UShort** NewGlyphClasses; HB_UInt offset; + HB_UInt MarkAttachClassDef_offset; HB_16Dot16 Version; HB_ClassDefinition GlyphClassDef; HB_AttachList AttachList; HB_LigCaretList LigCaretList; - HB_UInt MarkAttachClassDef_offset; HB_ClassDefinition MarkAttachClassDef; /* new in OT 1.2 */ HB_UShort LastGlyph; - HB_UShort** NewGlyphClasses; }; typedef struct HB_GDEFHeader_ HB_GDEFHeader; diff --git a/src/harfbuzz-gsub-private.h b/src/harfbuzz-gsub-private.h index 9f16546..7eb329e 100644 --- a/src/harfbuzz-gsub-private.h +++ b/src/harfbuzz-gsub-private.h @@ -51,9 +51,9 @@ typedef struct HB_SingleSubstFormat1_ HB_SingleSubstFormat1; struct HB_SingleSubstFormat2_ { + HB_UShort* Substitute; /* array of substitute glyph IDs */ HB_UShort GlyphCount; /* number of glyph IDs in Substitute array */ - HB_UShort* Substitute; /* array of substitute glyph IDs */ }; typedef struct HB_SingleSubstFormat2_ HB_SingleSubstFormat2; @@ -61,14 +61,14 @@ typedef struct HB_SingleSubstFormat2_ HB_SingleSubstFormat2; struct HB_SingleSubst_ { - HB_Byte SubstFormat; /* 1 or 2 */ - HB_Coverage Coverage; /* Coverage table */ - union { HB_SingleSubstFormat1 ssf1; HB_SingleSubstFormat2 ssf2; } ssf; + + HB_Coverage Coverage; /* Coverage table */ + HB_Byte SubstFormat; /* 1 or 2 */ }; typedef struct HB_SingleSubst_ HB_SingleSubst; @@ -78,10 +78,10 @@ typedef struct HB_SingleSubst_ HB_SingleSubst; struct HB_Sequence_ { - HB_UShort GlyphCount; /* number of glyph IDs in the - Substitute array */ HB_UShort* Substitute; /* string of glyph IDs to substitute */ + HB_UShort GlyphCount; /* number of glyph IDs in the + Substitute array */ }; typedef struct HB_Sequence_ HB_Sequence; @@ -89,10 +89,10 @@ typedef struct HB_Sequence_ HB_Sequence; struct HB_MultipleSubst_ { - HB_UShort SubstFormat; /* always 1 */ + HB_Sequence* Sequence; /* array of Sequence tables */ HB_Coverage Coverage; /* Coverage table */ + HB_UShort SubstFormat; /* always 1 */ HB_UShort SequenceCount; /* number of Sequence tables */ - HB_Sequence* Sequence; /* array of Sequence tables */ }; typedef struct HB_MultipleSubst_ HB_MultipleSubst; @@ -102,9 +102,9 @@ typedef struct HB_MultipleSubst_ HB_MultipleSubst; struct HB_AlternateSet_ { + HB_UShort* Alternate; /* array of alternate glyph IDs */ HB_UShort GlyphCount; /* number of glyph IDs in the Alternate array */ - HB_UShort* Alternate; /* array of alternate glyph IDs */ }; typedef struct HB_AlternateSet_ HB_AlternateSet; @@ -112,11 +112,11 @@ typedef struct HB_AlternateSet_ HB_AlternateSet; struct HB_AlternateSubst_ { - HB_UShort SubstFormat; /* always 1 */ + HB_AlternateSet* AlternateSet; /* array of AlternateSet tables */ HB_Coverage Coverage; /* Coverage table */ + HB_UShort SubstFormat; /* always 1 */ HB_UShort AlternateSetCount; /* number of AlternateSet tables */ - HB_AlternateSet* AlternateSet; /* array of AlternateSet tables */ }; typedef struct HB_AlternateSubst_ HB_AlternateSubst; @@ -126,10 +126,10 @@ typedef struct HB_AlternateSubst_ HB_AlternateSubst; struct HB_Ligature_ { + HB_UShort* Component; /* array of component glyph IDs */ HB_UShort LigGlyph; /* glyphID of ligature to substitute */ HB_UShort ComponentCount; /* number of components in ligature */ - HB_UShort* Component; /* array of component glyph IDs */ }; typedef struct HB_Ligature_ HB_Ligature; @@ -137,8 +137,8 @@ typedef struct HB_Ligature_ HB_Ligature; struct HB_LigatureSet_ { - HB_UShort LigatureCount; /* number of Ligature tables */ HB_Ligature* Ligature; /* array of Ligature tables */ + HB_UShort LigatureCount; /* number of Ligature tables */ }; typedef struct HB_LigatureSet_ HB_LigatureSet; @@ -146,10 +146,10 @@ typedef struct HB_LigatureSet_ HB_LigatureSet; struct HB_LigatureSubst_ { - HB_UShort SubstFormat; /* always 1 */ + HB_LigatureSet* LigatureSet; /* array of LigatureSet tables */ HB_Coverage Coverage; /* Coverage table */ + HB_UShort SubstFormat; /* always 1 */ HB_UShort LigatureSetCount; /* number of LigatureSet tables */ - HB_LigatureSet* LigatureSet; /* array of LigatureSet tables */ }; typedef struct HB_LigatureSubst_ HB_LigatureSubst; @@ -171,13 +171,13 @@ typedef struct HB_SubstLookupRecord_ HB_SubstLookupRecord; struct HB_SubRule_ { - HB_UShort GlyphCount; /* total number of input glyphs */ - HB_UShort SubstCount; /* number of SubstLookupRecord - tables */ HB_UShort* Input; /* array of input glyph IDs */ HB_SubstLookupRecord* SubstLookupRecord; /* array of SubstLookupRecord tables */ + HB_UShort GlyphCount; /* total number of input glyphs */ + HB_UShort SubstCount; /* number of SubstLookupRecord + tables */ }; typedef struct HB_SubRule_ HB_SubRule; @@ -185,8 +185,8 @@ typedef struct HB_SubRule_ HB_SubRule; struct HB_SubRuleSet_ { - HB_UShort SubRuleCount; /* number of SubRule tables */ HB_SubRule* SubRule; /* array of SubRule tables */ + HB_UShort SubRuleCount; /* number of SubRule tables */ }; typedef struct HB_SubRuleSet_ HB_SubRuleSet; @@ -194,9 +194,9 @@ typedef struct HB_SubRuleSet_ HB_SubRuleSet; struct HB_ContextSubstFormat1_ { + HB_SubRuleSet* SubRuleSet; /* array of SubRuleSet tables */ HB_Coverage Coverage; /* Coverage table */ HB_UShort SubRuleSetCount; /* number of SubRuleSet tables */ - HB_SubRuleSet* SubRuleSet; /* array of SubRuleSet tables */ }; typedef struct HB_ContextSubstFormat1_ HB_ContextSubstFormat1; @@ -204,13 +204,13 @@ typedef struct HB_ContextSubstFormat1_ HB_ContextSubstFormat1; struct HB_SubClassRule_ { - HB_UShort GlyphCount; /* total number of context classes */ - HB_UShort SubstCount; /* number of SubstLookupRecord - tables */ HB_UShort* Class; /* array of classes */ HB_SubstLookupRecord* SubstLookupRecord; /* array of SubstLookupRecord tables */ + HB_UShort GlyphCount; /* total number of context classes */ + HB_UShort SubstCount; /* number of SubstLookupRecord + tables */ }; typedef struct HB_SubClassRule_ HB_SubClassRule; @@ -218,9 +218,9 @@ typedef struct HB_SubClassRule_ HB_SubClassRule; struct HB_SubClassSet_ { + HB_SubClassRule* SubClassRule; /* array of SubClassRule tables */ HB_UShort SubClassRuleCount; /* number of SubClassRule tables */ - HB_SubClassRule* SubClassRule; /* array of SubClassRule tables */ }; typedef struct HB_SubClassSet_ HB_SubClassSet; @@ -232,13 +232,13 @@ typedef struct HB_SubClassSet_ HB_SubClassSet; struct HB_ContextSubstFormat2_ { - HB_UShort MaxContextLength; - /* maximal context length */ + HB_SubClassSet* SubClassSet; /* array of SubClassSet tables */ HB_Coverage Coverage; /* Coverage table */ HB_ClassDefinition ClassDef; /* ClassDef table */ HB_UShort SubClassSetCount; /* number of SubClassSet tables */ - HB_SubClassSet* SubClassSet; /* array of SubClassSet tables */ + HB_UShort MaxContextLength; + /* maximal context length */ }; typedef struct HB_ContextSubstFormat2_ HB_ContextSubstFormat2; @@ -246,11 +246,11 @@ typedef struct HB_ContextSubstFormat2_ HB_ContextSubstFormat2; struct HB_ContextSubstFormat3_ { - HB_UShort GlyphCount; /* number of input glyphs */ - HB_UShort SubstCount; /* number of SubstLookupRecords */ HB_Coverage* Coverage; /* array of Coverage tables */ HB_SubstLookupRecord* SubstLookupRecord; /* array of substitution lookups */ + HB_UShort GlyphCount; /* number of input glyphs */ + HB_UShort SubstCount; /* number of SubstLookupRecords */ }; typedef struct HB_ContextSubstFormat3_ HB_ContextSubstFormat3; @@ -258,14 +258,14 @@ typedef struct HB_ContextSubstFormat3_ HB_ContextSubstFormat3; struct HB_ContextSubst_ { - HB_Byte SubstFormat; /* 1, 2, or 3 */ - union { HB_ContextSubstFormat1 csf1; HB_ContextSubstFormat2 csf2; HB_ContextSubstFormat3 csf3; } csf; + + HB_Byte SubstFormat; /* 1, 2, or 3 */ }; typedef struct HB_ContextSubst_ HB_ContextSubst; @@ -275,18 +275,18 @@ typedef struct HB_ContextSubst_ HB_ContextSubst; struct HB_ChainSubRule_ { + HB_UShort* Backtrack; /* array of backtrack glyph IDs */ + HB_UShort* Input; /* array of input glyph IDs */ + HB_UShort* Lookahead; /* array of lookahead glyph IDs */ + HB_SubstLookupRecord* SubstLookupRecord; + /* array of SubstLookupRecords */ HB_UShort BacktrackGlyphCount; /* total number of backtrack glyphs */ - HB_UShort* Backtrack; /* array of backtrack glyph IDs */ HB_UShort InputGlyphCount; /* total number of input glyphs */ - HB_UShort* Input; /* array of input glyph IDs */ HB_UShort LookaheadGlyphCount; /* total number of lookahead glyphs */ - HB_UShort* Lookahead; /* array of lookahead glyph IDs */ HB_UShort SubstCount; /* number of SubstLookupRecords */ - HB_SubstLookupRecord* SubstLookupRecord; - /* array of SubstLookupRecords */ }; typedef struct HB_ChainSubRule_ HB_ChainSubRule; @@ -294,9 +294,9 @@ typedef struct HB_ChainSubRule_ HB_ChainSubRule; struct HB_ChainSubRuleSet_ { + HB_ChainSubRule* ChainSubRule; /* array of ChainSubRule tables */ HB_UShort ChainSubRuleCount; /* number of ChainSubRule tables */ - HB_ChainSubRule* ChainSubRule; /* array of ChainSubRule tables */ }; typedef struct HB_ChainSubRuleSet_ HB_ChainSubRuleSet; @@ -304,11 +304,11 @@ typedef struct HB_ChainSubRuleSet_ HB_ChainSubRuleSet; struct HB_ChainContextSubstFormat1_ { + HB_ChainSubRuleSet* ChainSubRuleSet; + /* array of ChainSubRuleSet tables */ HB_Coverage Coverage; /* Coverage table */ HB_UShort ChainSubRuleSetCount; /* number of ChainSubRuleSet tables */ - HB_ChainSubRuleSet* ChainSubRuleSet; - /* array of ChainSubRuleSet tables */ }; typedef struct HB_ChainContextSubstFormat1_ HB_ChainContextSubstFormat1; @@ -316,20 +316,20 @@ typedef struct HB_ChainContextSubstFormat1_ HB_ChainContextSubstFormat1; struct HB_ChainSubClassRule_ { + HB_UShort* Backtrack; /* array of backtrack classes */ + HB_UShort* Input; /* array of context classes */ + HB_UShort* Lookahead; /* array of lookahead classes */ + HB_SubstLookupRecord* SubstLookupRecord; + /* array of substitution lookups */ HB_UShort BacktrackGlyphCount; /* total number of backtrack classes */ - HB_UShort* Backtrack; /* array of backtrack classes */ HB_UShort InputGlyphCount; /* total number of context classes */ - HB_UShort* Input; /* array of context classes */ HB_UShort LookaheadGlyphCount; /* total number of lookahead classes */ - HB_UShort* Lookahead; /* array of lookahead classes */ HB_UShort SubstCount; /* number of SubstLookupRecords */ - HB_SubstLookupRecord* SubstLookupRecord; - /* array of substitution lookups */ }; typedef struct HB_ChainSubClassRule_ HB_ChainSubClassRule; @@ -337,12 +337,12 @@ typedef struct HB_ChainSubClassRule_ HB_ChainSubClassRule; struct HB_ChainSubClassSet_ { - HB_UShort ChainSubClassRuleCount; - /* number of ChainSubClassRule - tables */ HB_ChainSubClassRule* ChainSubClassRule; /* array of ChainSubClassRule tables */ + HB_UShort ChainSubClassRuleCount; + /* number of ChainSubClassRule + tables */ }; typedef struct HB_ChainSubClassSet_ HB_ChainSubClassSet; @@ -354,27 +354,27 @@ typedef struct HB_ChainSubClassSet_ HB_ChainSubClassSet; struct HB_ChainContextSubstFormat2_ { + HB_ChainSubClassSet* ChainSubClassSet; + /* array of ChainSubClassSet + tables */ HB_Coverage Coverage; /* Coverage table */ - HB_UShort MaxBacktrackLength; - /* maximal backtrack length */ HB_ClassDefinition BacktrackClassDef; /* BacktrackClassDef table */ - HB_UShort MaxInputLength; - /* maximal input length */ HB_ClassDefinition InputClassDef; /* InputClassDef table */ - HB_UShort MaxLookaheadLength; - /* maximal lookahead length */ HB_ClassDefinition LookaheadClassDef; /* LookaheadClassDef table */ HB_UShort ChainSubClassSetCount; /* number of ChainSubClassSet tables */ - HB_ChainSubClassSet* ChainSubClassSet; - /* array of ChainSubClassSet - tables */ + HB_UShort MaxBacktrackLength; + /* maximal backtrack length */ + HB_UShort MaxLookaheadLength; + /* maximal lookahead length */ + HB_UShort MaxInputLength; + /* maximal input length */ }; typedef struct HB_ChainContextSubstFormat2_ HB_ChainContextSubstFormat2; @@ -382,24 +382,24 @@ typedef struct HB_ChainContextSubstFormat2_ HB_ChainContextSubstFormat2; struct HB_ChainContextSubstFormat3_ { - HB_UShort BacktrackGlyphCount; - /* number of backtrack glyphs */ HB_Coverage* BacktrackCoverage; /* array of backtrack Coverage tables */ - HB_UShort InputGlyphCount; - /* number of input glyphs */ HB_Coverage* InputCoverage; /* array of input coverage tables */ - HB_UShort LookaheadGlyphCount; - /* number of lookahead glyphs */ HB_Coverage* LookaheadCoverage; /* array of lookahead coverage tables */ - HB_UShort SubstCount; /* number of SubstLookupRecords */ HB_SubstLookupRecord* SubstLookupRecord; /* array of substitution lookups */ + HB_UShort BacktrackGlyphCount; + /* number of backtrack glyphs */ + HB_UShort InputGlyphCount; + /* number of input glyphs */ + HB_UShort LookaheadGlyphCount; + /* number of lookahead glyphs */ + HB_UShort SubstCount; /* number of SubstLookupRecords */ }; typedef struct HB_ChainContextSubstFormat3_ HB_ChainContextSubstFormat3; @@ -407,14 +407,14 @@ typedef struct HB_ChainContextSubstFormat3_ HB_ChainContextSubstFormat3; struct HB_ChainContextSubst_ { - HB_Byte SubstFormat; /* 1, 2, or 3 */ - union { HB_ChainContextSubstFormat1 ccsf1; HB_ChainContextSubstFormat2 ccsf2; HB_ChainContextSubstFormat3 ccsf3; } ccsf; + + HB_Byte SubstFormat; /* 1, 2, or 3 */ }; typedef struct HB_ChainContextSubst_ HB_ChainContextSubst; @@ -424,9 +424,9 @@ typedef struct HB_ChainContextSubst_ HB_ChainContextSubst; /* LookupType 7 */ struct HB_ExtensionSubst_ { + HB_GSUB_SubTable *subtable; /* referenced subtable */ HB_UShort SubstFormat; /* always 1 */ HB_UShort LookuptType; /* lookup-type of referenced subtable */ - HB_GSUB_SubTable *subtable; /* referenced subtable */ }; typedef struct HB_ExtensionSubst_ HB_ExtensionSubst; @@ -436,16 +436,16 @@ typedef struct HB_ExtensionSubst_ HB_ExtensionSubst; /* LookupType 8 */ struct HB_ReverseChainContextSubst_ { - HB_UShort SubstFormat; /* always 1 */ - HB_Coverage Coverage; /* coverage table for input glyphs */ - HB_UShort BacktrackGlyphCount; /* number of backtrack glyphs */ + HB_Coverage* LookaheadCoverage; /* array of lookahead Coverage + tables */ + HB_UShort* Substitute; /* array of substitute Glyph ID */ HB_Coverage* BacktrackCoverage; /* array of backtrack Coverage tables */ + HB_Coverage Coverage; /* coverage table for input glyphs */ + HB_UShort SubstFormat; /* always 1 */ + HB_UShort BacktrackGlyphCount; /* number of backtrack glyphs */ HB_UShort LookaheadGlyphCount; /* number of lookahead glyphs */ - HB_Coverage* LookaheadCoverage; /* array of lookahead Coverage - tables */ HB_UShort GlyphCount; /* number of Glyph IDs */ - HB_UShort* Substitute; /* array of substitute Glyph ID */ }; typedef struct HB_ReverseChainContextSubst_ HB_ReverseChainContextSubst; diff --git a/src/harfbuzz-gsub.h b/src/harfbuzz-gsub.h index 5b989ee..b00df44 100644 --- a/src/harfbuzz-gsub.h +++ b/src/harfbuzz-gsub.h @@ -64,6 +64,14 @@ typedef HB_UShort (*HB_AltFunction)(HB_UInt pos, struct HB_GSUBHeader_ { + HB_GDEFHeader* gdef; + + /* the next two fields are used for an alternate substitution callback + function to select the proper alternate glyph. */ + + void* data; + HB_AltFunction altfunc; + HB_UInt offset; HB_16Dot16 Version; @@ -71,14 +79,6 @@ struct HB_GSUBHeader_ HB_ScriptList ScriptList; HB_FeatureList FeatureList; HB_LookupList LookupList; - - HB_GDEFHeader* gdef; - - /* the next two fields are used for an alternate substitution callback - function to select the proper alternate glyph. */ - - HB_AltFunction altfunc; - void* data; }; typedef struct HB_GSUBHeader_ HB_GSUBHeader; diff --git a/src/harfbuzz-open.h b/src/harfbuzz-open.h index 752f17d..4ba6cf5 100644 --- a/src/harfbuzz-open.h +++ b/src/harfbuzz-open.h @@ -46,10 +46,10 @@ HB_BEGIN_HEADER struct HB_LangSys_ { + HB_UShort* FeatureIndex; /* array of Feature indices */ HB_UShort LookupOrderOffset; /* always 0 for TT Open 1.0 */ HB_UShort ReqFeatureIndex; /* required FeatureIndex */ HB_UShort FeatureCount; /* number of Feature indices */ - HB_UShort* FeatureIndex; /* array of Feature indices */ }; typedef struct HB_LangSys_ HB_LangSys; @@ -57,8 +57,8 @@ typedef struct HB_LangSys_ HB_LangSys; struct HB_LangSysRecord_ { - HB_UInt LangSysTag; /* LangSysTag identifier */ HB_LangSys LangSys; /* LangSys table */ + HB_UInt LangSysTag; /* LangSysTag identifier */ }; typedef struct HB_LangSysRecord_ HB_LangSysRecord; @@ -66,9 +66,9 @@ typedef struct HB_LangSysRecord_ HB_LangSysRecord; struct HB_ScriptTable_ { + HB_LangSysRecord* LangSysRecord; /* array of LangSysRecords */ HB_LangSys DefaultLangSys; /* DefaultLangSys table */ HB_UShort LangSysCount; /* number of LangSysRecords */ - HB_LangSysRecord* LangSysRecord; /* array of LangSysRecords */ }; typedef struct HB_ScriptTable_ HB_ScriptTable; @@ -85,8 +85,8 @@ typedef struct HB_ScriptRecord_ HB_ScriptRecord; struct HB_ScriptList_ { - HB_UShort ScriptCount; /* number of ScriptRecords */ HB_ScriptRecord* ScriptRecord; /* array of ScriptRecords */ + HB_UShort ScriptCount; /* number of ScriptRecords */ }; typedef struct HB_ScriptList_ HB_ScriptList; @@ -96,9 +96,9 @@ typedef struct HB_ScriptList_ HB_ScriptList; struct HB_Feature_ { + HB_UShort* LookupListIndex; /* array of LookupList indices */ HB_UShort FeatureParams; /* always 0 for TT Open 1.0 */ HB_UShort LookupListCount; /* number of LookupList indices */ - HB_UShort* LookupListIndex; /* array of LookupList indices */ }; typedef struct HB_Feature_ HB_Feature; @@ -115,9 +115,9 @@ typedef struct HB_FeatureRecord_ HB_FeatureRecord; struct HB_FeatureList_ { - HB_UShort FeatureCount; /* number of FeatureRecords */ - HB_FeatureRecord* FeatureRecord; /* array of FeatureRecords */ HB_UShort* ApplyOrder; /* order to apply features */ + HB_FeatureRecord* FeatureRecord; /* array of FeatureRecords */ + HB_UShort FeatureCount; /* number of FeatureRecords */ HB_UShort ApplyCount; /* number of elements in ApplyOrder */ }; @@ -131,10 +131,10 @@ typedef struct HB_SubTable_ HB_SubTable; struct HB_Lookup_ { + HB_SubTable* SubTable; /* array of SubTables */ HB_UShort LookupType; /* Lookup type */ HB_UShort LookupFlag; /* Lookup qualifiers */ HB_UShort SubTableCount; /* number of SubTables */ - HB_SubTable* SubTable; /* array of SubTables */ }; typedef struct HB_Lookup_ HB_Lookup; @@ -148,9 +148,9 @@ typedef struct HB_Lookup_ HB_Lookup; struct HB_LookupList_ { - HB_UShort LookupCount; /* number of Lookups */ HB_Lookup* Lookup; /* array of Lookup records */ HB_UInt* Properties; /* array of flags */ + HB_UShort LookupCount; /* number of Lookups */ }; typedef struct HB_LookupList_ HB_LookupList; @@ -171,8 +171,8 @@ typedef struct HB_LookupList_ HB_LookupList; struct HB_CoverageFormat1_ { - HB_UShort GlyphCount; /* number of glyphs in GlyphArray */ HB_UShort* GlyphArray; /* array of glyph IDs */ + HB_UShort GlyphCount; /* number of glyphs in GlyphArray */ }; typedef struct HB_CoverageFormat1_ HB_CoverageFormat1; @@ -191,8 +191,8 @@ typedef struct HB_RangeRecord_ HB_RangeRecord; struct HB_CoverageFormat2_ { - HB_UShort RangeCount; /* number of RangeRecords */ HB_RangeRecord* RangeRecord; /* array of RangeRecords */ + HB_UShort RangeCount; /* number of RangeRecords */ }; typedef struct HB_CoverageFormat2_ HB_CoverageFormat2; @@ -214,10 +214,10 @@ typedef struct HB_Coverage_ HB_Coverage; struct HB_ClassDefFormat1_ { + HB_UShort* ClassValueArray; /* array of class values */ HB_UShort StartGlyph; /* first glyph ID of the ClassValueArray */ HB_UShort GlyphCount; /* size of the ClassValueArray */ - HB_UShort* ClassValueArray; /* array of class values */ }; typedef struct HB_ClassDefFormat1_ HB_ClassDefFormat1; @@ -235,10 +235,10 @@ typedef struct HB_ClassRangeRecord_ HB_ClassRangeRecord; struct HB_ClassDefFormat2_ { - HB_UShort ClassRangeCount; - /* number of ClassRangeRecords */ HB_ClassRangeRecord* ClassRangeRecord; /* array of ClassRangeRecords */ + HB_UShort ClassRangeCount; + /* number of ClassRangeRecords */ }; typedef struct HB_ClassDefFormat2_ HB_ClassDefFormat2; @@ -246,15 +246,14 @@ typedef struct HB_ClassDefFormat2_ HB_ClassDefFormat2; struct HB_ClassDefinition_ { - HB_Bool loaded; - - HB_Byte ClassFormat; /* 1 or 2 */ - union { HB_ClassDefFormat1 cd1; HB_ClassDefFormat2 cd2; } cd; + + HB_Byte ClassFormat; /* 1 or 2 */ + HB_Bool loaded; }; typedef struct HB_ClassDefinition_ HB_ClassDefinition; @@ -262,11 +261,11 @@ typedef struct HB_ClassDefinition_ HB_ClassDefinition; struct HB_Device_ { + HB_UShort* DeltaValue; /* array of compressed data */ HB_UShort StartSize; /* smallest size to correct */ HB_UShort EndSize; /* largest size to correct */ HB_Byte DeltaFormat; /* DeltaValue array data format: 1, 2, or 3 */ - HB_UShort* DeltaValue; /* array of compressed data */ }; typedef struct HB_Device_ HB_Device; diff --git a/src/harfbuzz-stream.h b/src/harfbuzz-stream.h index 0670804..a155cc2 100644 --- a/src/harfbuzz-stream.h +++ b/src/harfbuzz-stream.h @@ -37,10 +37,9 @@ HB_BEGIN_HEADER typedef struct HB_StreamRec_ { HB_Byte* base; + HB_Byte* cursor; HB_UInt size; HB_UInt pos; - - HB_Byte* cursor; } HB_StreamRec; #ifdef HB_USE_PACKED_STRUCTS -- cgit v1.2.3