]> gitweb.factorcode.org Git - factor.git/blobdiff - basis/windows/directx/dwrite/dwrite.factor
mason: move alignment to mason.css, right align but-last columns in table body
[factor.git] / basis / windows / directx / dwrite / dwrite.factor
index 3e4167ebad2001dfa1e3886a94da4af72b31340f..dc88252d806208d0b65dade050576a67b4b3fb68 100644 (file)
@@ -1,11 +1,11 @@
 USING: alien.c-types alien.syntax classes.struct windows.com
 windows.com.syntax windows.directx.dcommon windows.kernel32
-windows.ole32 windows.types ;
+windows.ole32 windows.types windows.directx ;
 IN: windows.directx.dwrite
 
 LIBRARY: dwrite
 
-C-ENUM:
+ENUM: DWRITE_FONT_FILE_TYPE
     DWRITE_FONT_FILE_TYPE_UNKNOWN
     DWRITE_FONT_FILE_TYPE_CFF
     DWRITE_FONT_FILE_TYPE_TRUETYPE
@@ -14,9 +14,8 @@ C-ENUM:
     DWRITE_FONT_FILE_TYPE_TYPE1_PFB
     DWRITE_FONT_FILE_TYPE_VECTOR
     DWRITE_FONT_FILE_TYPE_BITMAP ;
-TYPEDEF: int DWRITE_FONT_FILE_TYPE
 
-C-ENUM:
+ENUM: DWRITE_FONT_FACE_TYPE
     DWRITE_FONT_FACE_TYPE_CFF
     DWRITE_FONT_FACE_TYPE_TRUETYPE
     DWRITE_FONT_FACE_TYPE_TRUETYPE_COLLECTION
@@ -24,51 +23,49 @@ C-ENUM:
     DWRITE_FONT_FACE_TYPE_VECTOR
     DWRITE_FONT_FACE_TYPE_BITMAP
     DWRITE_FONT_FACE_TYPE_UNKNOWN ;
-TYPEDEF: int DWRITE_FONT_FACE_TYPE
-
-CONSTANT: DWRITE_FONT_SIMULATIONS_NONE    0
-CONSTANT: DWRITE_FONT_SIMULATIONS_BOLD    1
-CONSTANT: DWRITE_FONT_SIMULATIONS_OBLIQUE 2
-TYPEDEF: int DWRITE_FONT_SIMULATIONS
-
-CONSTANT: DWRITE_FONT_WEIGHT_THIN        100
-CONSTANT: DWRITE_FONT_WEIGHT_EXTRA_LIGHT 200
-CONSTANT: DWRITE_FONT_WEIGHT_ULTRA_LIGHT 200
-CONSTANT: DWRITE_FONT_WEIGHT_LIGHT       300
-CONSTANT: DWRITE_FONT_WEIGHT_NORMAL      400
-CONSTANT: DWRITE_FONT_WEIGHT_REGULAR     400
-CONSTANT: DWRITE_FONT_WEIGHT_MEDIUM      500
-CONSTANT: DWRITE_FONT_WEIGHT_DEMI_BOLD   600
-CONSTANT: DWRITE_FONT_WEIGHT_SEMI_BOLD   600
-CONSTANT: DWRITE_FONT_WEIGHT_BOLD        700
-CONSTANT: DWRITE_FONT_WEIGHT_EXTRA_BOLD  800
-CONSTANT: DWRITE_FONT_WEIGHT_ULTRA_BOLD  800
-CONSTANT: DWRITE_FONT_WEIGHT_BLACK       900
-CONSTANT: DWRITE_FONT_WEIGHT_HEAVY       900
-CONSTANT: DWRITE_FONT_WEIGHT_EXTRA_BLACK 950
-CONSTANT: DWRITE_FONT_WEIGHT_ULTRA_BLACK 950
-TYPEDEF: int DWRITE_FONT_WEIGHT
-
-CONSTANT: DWRITE_FONT_STRETCH_UNDEFINED       0
-CONSTANT: DWRITE_FONT_STRETCH_ULTRA_CONDENSED 1
-CONSTANT: DWRITE_FONT_STRETCH_EXTRA_CONDENSED 2
-CONSTANT: DWRITE_FONT_STRETCH_CONDENSED       3
-CONSTANT: DWRITE_FONT_STRETCH_SEMI_CONDENSED  4
-CONSTANT: DWRITE_FONT_STRETCH_NORMAL          5
-CONSTANT: DWRITE_FONT_STRETCH_MEDIUM          5
-CONSTANT: DWRITE_FONT_STRETCH_SEMI_EXPANDED   6
-CONSTANT: DWRITE_FONT_STRETCH_EXPANDED        7
-CONSTANT: DWRITE_FONT_STRETCH_EXTRA_EXPANDED  8
-CONSTANT: DWRITE_FONT_STRETCH_ULTRA_EXPANDED  9
-TYPEDEF: int DWRITE_FONT_STRETCH
-
-C-ENUM:
+
+ENUM: DWRITE_FONT_SIMULATIONS
+    DWRITE_FONT_SIMULATIONS_NONE
+    DWRITE_FONT_SIMULATIONS_BOLD
+    DWRITE_FONT_SIMULATIONS_OBLIQUE ;
+
+ENUM: DWRITE_FONT_WEIGHT
+    { DWRITE_FONT_WEIGHT_THIN        100 }
+    { DWRITE_FONT_WEIGHT_EXTRA_LIGHT 200 }
+    { DWRITE_FONT_WEIGHT_ULTRA_LIGHT 200 }
+    { DWRITE_FONT_WEIGHT_LIGHT       300 }
+    { DWRITE_FONT_WEIGHT_NORMAL      400 }
+    { DWRITE_FONT_WEIGHT_REGULAR     400 }
+    { DWRITE_FONT_WEIGHT_MEDIUM      500 }
+    { DWRITE_FONT_WEIGHT_DEMI_BOLD   600 }
+    { DWRITE_FONT_WEIGHT_SEMI_BOLD   600 }
+    { DWRITE_FONT_WEIGHT_BOLD        700 }
+    { DWRITE_FONT_WEIGHT_EXTRA_BOLD  800 }
+    { DWRITE_FONT_WEIGHT_ULTRA_BOLD  800 }
+    { DWRITE_FONT_WEIGHT_BLACK       900 }
+    { DWRITE_FONT_WEIGHT_HEAVY       900 }
+    { DWRITE_FONT_WEIGHT_EXTRA_BLACK 950 }
+    { DWRITE_FONT_WEIGHT_ULTRA_BLACK 950 } ;
+
+ENUM: DWRITE_FONT_STRETCH
+    { DWRITE_FONT_STRETCH_UNDEFINED       0 }
+    { DWRITE_FONT_STRETCH_ULTRA_CONDENSED 1 }
+    { DWRITE_FONT_STRETCH_EXTRA_CONDENSED 2 }
+    { DWRITE_FONT_STRETCH_CONDENSED       3 }
+    { DWRITE_FONT_STRETCH_SEMI_CONDENSED  4 }
+    { DWRITE_FONT_STRETCH_NORMAL          5 }
+    { DWRITE_FONT_STRETCH_MEDIUM          5 }
+    { DWRITE_FONT_STRETCH_SEMI_EXPANDED   6 }
+    { DWRITE_FONT_STRETCH_EXPANDED        7 }
+    { DWRITE_FONT_STRETCH_EXTRA_EXPANDED  8 }
+    { DWRITE_FONT_STRETCH_ULTRA_EXPANDED  9 } ;
+
+ENUM: DWRITE_FONT_STYLE
     DWRITE_FONT_STYLE_NORMAL
     DWRITE_FONT_STYLE_OBLIQUE
     DWRITE_FONT_STYLE_ITALIC ;
-TYPEDEF: int DWRITE_FONT_STYLE
 
-C-ENUM:
+ENUM: DWRITE_INFORMATIONAL_STRING_ID
     DWRITE_INFORMATIONAL_STRING_NONE
     DWRITE_INFORMATIONAL_STRING_COPYRIGHT_NOTICE
     DWRITE_INFORMATIONAL_STRING_VERSION_STRINGS
@@ -85,7 +82,6 @@ C-ENUM:
     DWRITE_INFORMATIONAL_STRING_PREFERRED_FAMILY_NAMES
     DWRITE_INFORMATIONAL_STRING_PREFERRED_SUBFAMILY_NAMES
     DWRITE_INFORMATIONAL_STRING_SAMPLE_TEXT ;
-TYPEDEF: int DWRITE_INFORMATIONAL_STRING_ID
 
 STRUCT: DWRITE_FONT_METRICS
     { designUnitsPerEm       USHORT }
@@ -112,10 +108,9 @@ STRUCT: DWRITE_GLYPH_OFFSET
     { advanceOffset  FLOAT }
     { ascenderOffset FLOAT } ;
 
-C-ENUM:
+ENUM: DWRITE_FACTORY_TYPE
     DWRITE_FACTORY_TYPE_SHARED
     DWRITE_FACTORY_TYPE_ISOLATED ;
-TYPEDEF: int DWRITE_FACTORY_TYPE
 
 C-TYPE: IDWriteFontFileStream
 
@@ -138,14 +133,12 @@ COM-INTERFACE: IDWriteFontFile IUnknown {739d886a-cef5-47dc-8769-1a8b41bebbb0}
     HRESULT GetLoader ( IDWriteFontFileLoader** fontFileLoader )
     HRESULT Analyze ( BOOL* isSupportedFontType, DWRITE_FONT_FILE_TYPE* fontFileType, DWRITE_FONT_FACE_TYPE* fontFaceType, UINT32* numberOfFaces ) ;
 
-TYPEDEF: int DWRITE_PIXEL_GEOMETRY
-C-ENUM:
+ENUM: DWRITE_PIXEL_GEOMETRY
     DWRITE_PIXEL_GEOMETRY_FLAT
     DWRITE_PIXEL_GEOMETRY_RGB
     DWRITE_PIXEL_GEOMETRY_BGR ;
 
-TYPEDEF: int DWRITE_RENDERING_MODE
-C-ENUM:
+ENUM: DWRITE_RENDERING_MODE
     DWRITE_RENDERING_MODE_DEFAULT
     DWRITE_RENDERING_MODE_ALIASED
     DWRITE_RENDERING_MODE_CLEARTYPE_GDI_CLASSIC
@@ -240,123 +233,116 @@ COM-INTERFACE: IDWriteFont IUnknown {acd16696-8c14-4f5d-877e-fe3fc1d32737}
     HRESULT HasCharacter ( UINT32 unicodeValue, BOOL* exists )
     HRESULT CreateFontFace ( IDWriteFontFace** fontFace ) ;
 
-TYPEDEF: int DWRITE_READING_DIRECTION
-C-ENUM:
+ENUM: DWRITE_READING_DIRECTION
     DWRITE_READING_DIRECTION_LEFT_TO_RIGHT
     DWRITE_READING_DIRECTION_RIGHT_TO_LEFT ;
 
-TYPEDEF: int DWRITE_FLOW_DIRECTION
-C-ENUM:
+ENUM: DWRITE_FLOW_DIRECTION
     DWRITE_FLOW_DIRECTION_TOP_TO_BOTTOM ;
 
-TYPEDEF: int DWRITE_TEXT_ALIGNMENT
-C-ENUM:
+ENUM: DWRITE_TEXT_ALIGNMENT
     DWRITE_TEXT_ALIGNMENT_LEADING
     DWRITE_TEXT_ALIGNMENT_TRAILING
     DWRITE_TEXT_ALIGNMENT_CENTER ;
 
-TYPEDEF: int DWRITE_PARAGRAPH_ALIGNMENT
-C-ENUM:
+ENUM: DWRITE_PARAGRAPH_ALIGNMENT
     DWRITE_PARAGRAPH_ALIGNMENT_NEAR
     DWRITE_PARAGRAPH_ALIGNMENT_FAR
     DWRITE_PARAGRAPH_ALIGNMENT_CENTER ;
 
-TYPEDEF: int DWRITE_WORD_WRAPPING
-C-ENUM:
+ENUM: DWRITE_WORD_WRAPPING
     DWRITE_WORD_WRAPPING_WRAP
     DWRITE_WORD_WRAPPING_NO_WRAP ;
 
-TYPEDEF: int DWRITE_LINE_SPACING_METHOD
-C-ENUM:
+ENUM: DWRITE_LINE_SPACING_METHOD
     DWRITE_LINE_SPACING_METHOD_DEFAULT
     DWRITE_LINE_SPACING_METHOD_UNIFORM ;
 
-TYPEDEF: int DWRITE_TRIMMING_GRANULARITY
-C-ENUM:
+ENUM: DWRITE_TRIMMING_GRANULARITY
     DWRITE_TRIMMING_GRANULARITY_NONE
     DWRITE_TRIMMING_GRANULARITY_CHARACTER
     DWRITE_TRIMMING_GRANULARITY_WORD ;
 
 TYPEDEF: int DWRITE_FONT_FEATURE_TAG
-CONSTANT: DWRITE_FONT_FEATURE_TAG_ALTERNATIVE_FRACTIONS               HEX: 63726661
-CONSTANT: DWRITE_FONT_FEATURE_TAG_PETITE_CAPITALS_FROM_CAPITALS       HEX: 63703263
-CONSTANT: DWRITE_FONT_FEATURE_TAG_SMALL_CAPITALS_FROM_CAPITALS        HEX: 63733263
-CONSTANT: DWRITE_FONT_FEATURE_TAG_CONTEXTUAL_ALTERNATES               HEX: 746c6163
-CONSTANT: DWRITE_FONT_FEATURE_TAG_CASE_SENSITIVE_FORMS                HEX: 65736163
-CONSTANT: DWRITE_FONT_FEATURE_TAG_GLYPH_COMPOSITION_DECOMPOSITION     HEX: 706d6363
-CONSTANT: DWRITE_FONT_FEATURE_TAG_CONTEXTUAL_LIGATURES                HEX: 67696c63
-CONSTANT: DWRITE_FONT_FEATURE_TAG_CAPITAL_SPACING                     HEX: 70737063
-CONSTANT: DWRITE_FONT_FEATURE_TAG_CONTEXTUAL_SWASH                    HEX: 68777363
-CONSTANT: DWRITE_FONT_FEATURE_TAG_CURSIVE_POSITIONING                 HEX: 73727563
-CONSTANT: DWRITE_FONT_FEATURE_TAG_DEFAULT                             HEX: 746c6664
-CONSTANT: DWRITE_FONT_FEATURE_TAG_DISCRETIONARY_LIGATURES             HEX: 67696c64
-CONSTANT: DWRITE_FONT_FEATURE_TAG_EXPERT_FORMS                        HEX: 74707865
-CONSTANT: DWRITE_FONT_FEATURE_TAG_FRACTIONS                           HEX: 63617266
-CONSTANT: DWRITE_FONT_FEATURE_TAG_FULL_WIDTH                          HEX: 64697766
-CONSTANT: DWRITE_FONT_FEATURE_TAG_HALF_FORMS                          HEX: 666c6168
-CONSTANT: DWRITE_FONT_FEATURE_TAG_HALANT_FORMS                        HEX: 6e6c6168
-CONSTANT: DWRITE_FONT_FEATURE_TAG_ALTERNATE_HALF_WIDTH                HEX: 746c6168
-CONSTANT: DWRITE_FONT_FEATURE_TAG_HISTORICAL_FORMS                    HEX: 74736968
-CONSTANT: DWRITE_FONT_FEATURE_TAG_HORIZONTAL_KANA_ALTERNATES          HEX: 616e6b68
-CONSTANT: DWRITE_FONT_FEATURE_TAG_HISTORICAL_LIGATURES                HEX: 67696c68
-CONSTANT: DWRITE_FONT_FEATURE_TAG_HALF_WIDTH                          HEX: 64697768
-CONSTANT: DWRITE_FONT_FEATURE_TAG_HOJO_KANJI_FORMS                    HEX: 6f6a6f68
-CONSTANT: DWRITE_FONT_FEATURE_TAG_JIS04_FORMS                         HEX: 3430706a
-CONSTANT: DWRITE_FONT_FEATURE_TAG_JIS78_FORMS                         HEX: 3837706a
-CONSTANT: DWRITE_FONT_FEATURE_TAG_JIS83_FORMS                         HEX: 3338706a
-CONSTANT: DWRITE_FONT_FEATURE_TAG_JIS90_FORMS                         HEX: 3039706a
-CONSTANT: DWRITE_FONT_FEATURE_TAG_KERNING                             HEX: 6e72656b
-CONSTANT: DWRITE_FONT_FEATURE_TAG_STANDARD_LIGATURES                  HEX: 6167696c
-CONSTANT: DWRITE_FONT_FEATURE_TAG_LINING_FIGURES                      HEX: 6d756e6c
-CONSTANT: DWRITE_FONT_FEATURE_TAG_LOCALIZED_FORMS                     HEX: 6c636f6c
-CONSTANT: DWRITE_FONT_FEATURE_TAG_MARK_POSITIONING                    HEX: 6b72616d
-CONSTANT: DWRITE_FONT_FEATURE_TAG_MATHEMATICAL_GREEK                  HEX: 6b72676d
-CONSTANT: DWRITE_FONT_FEATURE_TAG_MARK_TO_MARK_POSITIONING            HEX: 6b6d6b6d
-CONSTANT: DWRITE_FONT_FEATURE_TAG_ALTERNATE_ANNOTATION_FORMS          HEX: 746c616e
-CONSTANT: DWRITE_FONT_FEATURE_TAG_NLC_KANJI_FORMS                     HEX: 6b636c6e
-CONSTANT: DWRITE_FONT_FEATURE_TAG_OLD_STYLE_FIGURES                   HEX: 6d756e6f
-CONSTANT: DWRITE_FONT_FEATURE_TAG_ORDINALS                            HEX: 6e64726f
-CONSTANT: DWRITE_FONT_FEATURE_TAG_PROPORTIONAL_ALTERNATE_WIDTH        HEX: 746c6170
-CONSTANT: DWRITE_FONT_FEATURE_TAG_PETITE_CAPITALS                     HEX: 70616370
-CONSTANT: DWRITE_FONT_FEATURE_TAG_PROPORTIONAL_FIGURES                HEX: 6d756e70
-CONSTANT: DWRITE_FONT_FEATURE_TAG_PROPORTIONAL_WIDTHS                 HEX: 64697770
-CONSTANT: DWRITE_FONT_FEATURE_TAG_QUARTER_WIDTHS                      HEX: 64697771
-CONSTANT: DWRITE_FONT_FEATURE_TAG_REQUIRED_LIGATURES                  HEX: 67696c72
-CONSTANT: DWRITE_FONT_FEATURE_TAG_RUBY_NOTATION_FORMS                 HEX: 79627572
-CONSTANT: DWRITE_FONT_FEATURE_TAG_STYLISTIC_ALTERNATES                HEX: 746c6173
-CONSTANT: DWRITE_FONT_FEATURE_TAG_SCIENTIFIC_INFERIORS                HEX: 666e6973
-CONSTANT: DWRITE_FONT_FEATURE_TAG_SMALL_CAPITALS                      HEX: 70636d73
-CONSTANT: DWRITE_FONT_FEATURE_TAG_SIMPLIFIED_FORMS                    HEX: 6c706d73
-CONSTANT: DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_1                     HEX: 31307373
-CONSTANT: DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_2                     HEX: 32307373
-CONSTANT: DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_3                     HEX: 33307373
-CONSTANT: DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_4                     HEX: 34307373
-CONSTANT: DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_5                     HEX: 35307373
-CONSTANT: DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_6                     HEX: 36307373
-CONSTANT: DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_7                     HEX: 37307373
-CONSTANT: DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_8                     HEX: 38307373
-CONSTANT: DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_9                     HEX: 39307373
-CONSTANT: DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_10                    HEX: 30317373
-CONSTANT: DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_11                    HEX: 31317373
-CONSTANT: DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_12                    HEX: 32317373
-CONSTANT: DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_13                    HEX: 33317373
-CONSTANT: DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_14                    HEX: 34317373
-CONSTANT: DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_15                    HEX: 35317373
-CONSTANT: DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_16                    HEX: 36317373
-CONSTANT: DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_17                    HEX: 37317373
-CONSTANT: DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_18                    HEX: 38317373
-CONSTANT: DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_19                    HEX: 39317373
-CONSTANT: DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_20                    HEX: 30327373
-CONSTANT: DWRITE_FONT_FEATURE_TAG_SUBSCRIPT                           HEX: 73627573
-CONSTANT: DWRITE_FONT_FEATURE_TAG_SUPERSCRIPT                         HEX: 73707573
-CONSTANT: DWRITE_FONT_FEATURE_TAG_SWASH                               HEX: 68737773
-CONSTANT: DWRITE_FONT_FEATURE_TAG_TITLING                             HEX: 6c746974
-CONSTANT: DWRITE_FONT_FEATURE_TAG_TRADITIONAL_NAME_FORMS              HEX: 6d616e74
-CONSTANT: DWRITE_FONT_FEATURE_TAG_TABULAR_FIGURES                     HEX: 6d756e74
-CONSTANT: DWRITE_FONT_FEATURE_TAG_TRADITIONAL_FORMS                   HEX: 64617274
-CONSTANT: DWRITE_FONT_FEATURE_TAG_THIRD_WIDTHS                        HEX: 64697774
-CONSTANT: DWRITE_FONT_FEATURE_TAG_UNICASE                             HEX: 63696e75
-CONSTANT: DWRITE_FONT_FEATURE_TAG_SLASHED_ZERO                        HEX: 6f72657a
+CONSTANT: DWRITE_FONT_FEATURE_TAG_ALTERNATIVE_FRACTIONS               0x63726661
+CONSTANT: DWRITE_FONT_FEATURE_TAG_PETITE_CAPITALS_FROM_CAPITALS       0x63703263
+CONSTANT: DWRITE_FONT_FEATURE_TAG_SMALL_CAPITALS_FROM_CAPITALS        0x63733263
+CONSTANT: DWRITE_FONT_FEATURE_TAG_CONTEXTUAL_ALTERNATES               0x746c6163
+CONSTANT: DWRITE_FONT_FEATURE_TAG_CASE_SENSITIVE_FORMS                0x65736163
+CONSTANT: DWRITE_FONT_FEATURE_TAG_GLYPH_COMPOSITION_DECOMPOSITION     0x706d6363
+CONSTANT: DWRITE_FONT_FEATURE_TAG_CONTEXTUAL_LIGATURES                0x67696c63
+CONSTANT: DWRITE_FONT_FEATURE_TAG_CAPITAL_SPACING                     0x70737063
+CONSTANT: DWRITE_FONT_FEATURE_TAG_CONTEXTUAL_SWASH                    0x68777363
+CONSTANT: DWRITE_FONT_FEATURE_TAG_CURSIVE_POSITIONING                 0x73727563
+CONSTANT: DWRITE_FONT_FEATURE_TAG_DEFAULT                             0x746c6664
+CONSTANT: DWRITE_FONT_FEATURE_TAG_DISCRETIONARY_LIGATURES             0x67696c64
+CONSTANT: DWRITE_FONT_FEATURE_TAG_EXPERT_FORMS                        0x74707865
+CONSTANT: DWRITE_FONT_FEATURE_TAG_FRACTIONS                           0x63617266
+CONSTANT: DWRITE_FONT_FEATURE_TAG_FULL_WIDTH                          0x64697766
+CONSTANT: DWRITE_FONT_FEATURE_TAG_HALF_FORMS                          0x666c6168
+CONSTANT: DWRITE_FONT_FEATURE_TAG_HALANT_FORMS                        0x6e6c6168
+CONSTANT: DWRITE_FONT_FEATURE_TAG_ALTERNATE_HALF_WIDTH                0x746c6168
+CONSTANT: DWRITE_FONT_FEATURE_TAG_HISTORICAL_FORMS                    0x74736968
+CONSTANT: DWRITE_FONT_FEATURE_TAG_HORIZONTAL_KANA_ALTERNATES          0x616e6b68
+CONSTANT: DWRITE_FONT_FEATURE_TAG_HISTORICAL_LIGATURES                0x67696c68
+CONSTANT: DWRITE_FONT_FEATURE_TAG_HALF_WIDTH                          0x64697768
+CONSTANT: DWRITE_FONT_FEATURE_TAG_HOJO_KANJI_FORMS                    0x6f6a6f68
+CONSTANT: DWRITE_FONT_FEATURE_TAG_JIS04_FORMS                         0x3430706a
+CONSTANT: DWRITE_FONT_FEATURE_TAG_JIS78_FORMS                         0x3837706a
+CONSTANT: DWRITE_FONT_FEATURE_TAG_JIS83_FORMS                         0x3338706a
+CONSTANT: DWRITE_FONT_FEATURE_TAG_JIS90_FORMS                         0x3039706a
+CONSTANT: DWRITE_FONT_FEATURE_TAG_KERNING                             0x6e72656b
+CONSTANT: DWRITE_FONT_FEATURE_TAG_STANDARD_LIGATURES                  0x6167696c
+CONSTANT: DWRITE_FONT_FEATURE_TAG_LINING_FIGURES                      0x6d756e6c
+CONSTANT: DWRITE_FONT_FEATURE_TAG_LOCALIZED_FORMS                     0x6c636f6c
+CONSTANT: DWRITE_FONT_FEATURE_TAG_MARK_POSITIONING                    0x6b72616d
+CONSTANT: DWRITE_FONT_FEATURE_TAG_MATHEMATICAL_GREEK                  0x6b72676d
+CONSTANT: DWRITE_FONT_FEATURE_TAG_MARK_TO_MARK_POSITIONING            0x6b6d6b6d
+CONSTANT: DWRITE_FONT_FEATURE_TAG_ALTERNATE_ANNOTATION_FORMS          0x746c616e
+CONSTANT: DWRITE_FONT_FEATURE_TAG_NLC_KANJI_FORMS                     0x6b636c6e
+CONSTANT: DWRITE_FONT_FEATURE_TAG_OLD_STYLE_FIGURES                   0x6d756e6f
+CONSTANT: DWRITE_FONT_FEATURE_TAG_ORDINALS                            0x6e64726f
+CONSTANT: DWRITE_FONT_FEATURE_TAG_PROPORTIONAL_ALTERNATE_WIDTH        0x746c6170
+CONSTANT: DWRITE_FONT_FEATURE_TAG_PETITE_CAPITALS                     0x70616370
+CONSTANT: DWRITE_FONT_FEATURE_TAG_PROPORTIONAL_FIGURES                0x6d756e70
+CONSTANT: DWRITE_FONT_FEATURE_TAG_PROPORTIONAL_WIDTHS                 0x64697770
+CONSTANT: DWRITE_FONT_FEATURE_TAG_QUARTER_WIDTHS                      0x64697771
+CONSTANT: DWRITE_FONT_FEATURE_TAG_REQUIRED_LIGATURES                  0x67696c72
+CONSTANT: DWRITE_FONT_FEATURE_TAG_RUBY_NOTATION_FORMS                 0x79627572
+CONSTANT: DWRITE_FONT_FEATURE_TAG_STYLISTIC_ALTERNATES                0x746c6173
+CONSTANT: DWRITE_FONT_FEATURE_TAG_SCIENTIFIC_INFERIORS                0x666e6973
+CONSTANT: DWRITE_FONT_FEATURE_TAG_SMALL_CAPITALS                      0x70636d73
+CONSTANT: DWRITE_FONT_FEATURE_TAG_SIMPLIFIED_FORMS                    0x6c706d73
+CONSTANT: DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_1                     0x31307373
+CONSTANT: DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_2                     0x32307373
+CONSTANT: DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_3                     0x33307373
+CONSTANT: DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_4                     0x34307373
+CONSTANT: DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_5                     0x35307373
+CONSTANT: DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_6                     0x36307373
+CONSTANT: DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_7                     0x37307373
+CONSTANT: DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_8                     0x38307373
+CONSTANT: DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_9                     0x39307373
+CONSTANT: DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_10                    0x30317373
+CONSTANT: DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_11                    0x31317373
+CONSTANT: DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_12                    0x32317373
+CONSTANT: DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_13                    0x33317373
+CONSTANT: DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_14                    0x34317373
+CONSTANT: DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_15                    0x35317373
+CONSTANT: DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_16                    0x36317373
+CONSTANT: DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_17                    0x37317373
+CONSTANT: DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_18                    0x38317373
+CONSTANT: DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_19                    0x39317373
+CONSTANT: DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_20                    0x30327373
+CONSTANT: DWRITE_FONT_FEATURE_TAG_SUBSCRIPT                           0x73627573
+CONSTANT: DWRITE_FONT_FEATURE_TAG_SUPERSCRIPT                         0x73707573
+CONSTANT: DWRITE_FONT_FEATURE_TAG_SWASH                               0x68737773
+CONSTANT: DWRITE_FONT_FEATURE_TAG_TITLING                             0x6c746974
+CONSTANT: DWRITE_FONT_FEATURE_TAG_TRADITIONAL_NAME_FORMS              0x6d616e74
+CONSTANT: DWRITE_FONT_FEATURE_TAG_TABULAR_FIGURES                     0x6d756e74
+CONSTANT: DWRITE_FONT_FEATURE_TAG_TRADITIONAL_FORMS                   0x64617274
+CONSTANT: DWRITE_FONT_FEATURE_TAG_THIRD_WIDTHS                        0x64697774
+CONSTANT: DWRITE_FONT_FEATURE_TAG_UNICASE                             0x63696e75
+CONSTANT: DWRITE_FONT_FEATURE_TAG_SLASHED_ZERO                        0x6f72657a
 
 STRUCT: DWRITE_TEXT_RANGE
     { startPosition UINT32 }
@@ -410,31 +396,29 @@ COM-INTERFACE: IDWriteTypography IUnknown {55f1112b-1dc2-4b3c-9541-f46894ed85b6}
     UINT32 GetFontFeatureCount ( )
     HRESULT GetFontFeature ( UINT32 fontFeatureIndex, DWRITE_FONT_FEATURE* fontFeature ) ;
 
-CONSTANT: DWRITE_SCRIPT_SHAPES_DEFAULT   0
-CONSTANT: DWRITE_SCRIPT_SHAPES_NO_VISUAL 1
-TYPEDEF: int DWRITE_SCRIPT_SHAPES
+ENUM: DWRITE_SCRIPT_SHAPES
+    DWRITE_SCRIPT_SHAPES_DEFAULT
+    DWRITE_SCRIPT_SHAPES_NO_VISUAL ;
 
 STRUCT: DWRITE_SCRIPT_ANALYSIS
     { script USHORT               }
     { shapes DWRITE_SCRIPT_SHAPES } ;
 
-C-ENUM:
+ENUM: DWRITE_BREAK_CONDITION
     DWRITE_BREAK_CONDITION_NEUTRAL
     DWRITE_BREAK_CONDITION_CAN_BREAK
     DWRITE_BREAK_CONDITION_MAY_NOT_BREAK
     DWRITE_BREAK_CONDITION_MUST_BREAK ;
-TYPEDEF: int DWRITE_BREAK_CONDITION
 
 STRUCT: DWRITE_LINE_BREAKPOINT
     { data BYTE } ;
 
-C-ENUM:
+ENUM: DWRITE_NUMBER_SUBSTITUTION_METHOD
     DWRITE_NUMBER_SUBSTITUTION_METHOD_FROM_CULTURE
     DWRITE_NUMBER_SUBSTITUTION_METHOD_CONTEXTUAL
     DWRITE_NUMBER_SUBSTITUTION_METHOD_NONE
     DWRITE_NUMBER_SUBSTITUTION_METHOD_NATIONAL
     DWRITE_NUMBER_SUBSTITUTION_METHOD_TRADITIONAL ;
-TYPEDEF: int DWRITE_NUMBER_SUBSTITUTION_METHOD
 
 COM-INTERFACE: IDWriteNumberSubstitution IUnknown {14885CC9-BAB0-4f90-B6ED-5C366A2CD03D} ;
 
@@ -511,7 +495,7 @@ STRUCT: DWRITE_LINE_METRICS
     { isTrimmed                BOOL   } ;
 
 STRUCT: DWRITE_CLUSTER_METRICS
-    { width  FLOAT  } 
+    { width  FLOAT  }
     { length USHORT }
     { data   USHORT } ;
 
@@ -628,9 +612,9 @@ COM-INTERFACE: IDWriteGdiInterop IUnknown {1edd9491-9853-4299-898f-6432983b6f3a}
     HRESULT CreateFontFaceFromHdc ( HDC hdc, IDWriteFontFace** fontFace )
     HRESULT CreateBitmapRenderTarget ( HDC hdc, UINT32 width, UINT32 height, IDWriteBitmapRenderTarget** renderTarget ) ;
 
-C-ENUM: DWRITE_TEXTURE_ALIASED_1x1
-        DWRITE_TEXTURE_CLEARTYPE_3x1 ;
-TYPEDEF: int DWRITE_TEXTURE_TYPE
+ENUM: DWRITE_TEXTURE_TYPE
+    DWRITE_TEXTURE_ALIASED_1x1
+    DWRITE_TEXTURE_CLEARTYPE_3x1 ;
 
 CONSTANT: DWRITE_ALPHA_MAX 255
 
@@ -665,12 +649,12 @@ COM-INTERFACE: IDWriteFactory IUnknown {b859ee5a-d838-4b5b-a2e8-1adc7d93db48}
 FUNCTION: HRESULT DWriteCreateFactory (
     DWRITE_FACTORY_TYPE factoryType,
     REFIID              iid,
-    IUnknown**          factory ) ;
-
-CONSTANT: DWRITE_E_FILEFORMAT             HEX: 88985000
-CONSTANT: DWRITE_E_UNEXPECTED             HEX: 88985001
-CONSTANT: DWRITE_E_NOFONT                 HEX: 88985002
-CONSTANT: DWRITE_E_FILENOTFOUND           HEX: 88985003
-CONSTANT: DWRITE_E_FILEACCESS             HEX: 88985004
-CONSTANT: DWRITE_E_FONTCOLLECTIONOBSOLETE HEX: 88985005
-CONSTANT: DWRITE_E_ALREADYREGISTERED      HEX: 88985006
+    IUnknown**          factory )
+
+CONSTANT: DWRITE_E_FILEFORMAT             0x88985000
+CONSTANT: DWRITE_E_UNEXPECTED             0x88985001
+CONSTANT: DWRITE_E_NOFONT                 0x88985002
+CONSTANT: DWRITE_E_FILENOTFOUND           0x88985003
+CONSTANT: DWRITE_E_FILEACCESS             0x88985004
+CONSTANT: DWRITE_E_FONTCOLLECTIONOBSOLETE 0x88985005
+CONSTANT: DWRITE_E_ALREADYREGISTERED      0x88985006