freetype2-0.2.0: FreeType/Format/TrueType/Types.hsc
{-# LANGUAGE ForeignFunctionInterface #-}
{-# LANGUAGE PatternSynonyms #-}
module FreeType.Format.TrueType.Types where
import FreeType.Core.Types.Types
import Data.Function ((&))
import Data.Word
import Foreign.Ptr
import Foreign.Storable
#include "ft2build.h"
#include FT_TRUETYPE_TABLES_H
data TT_Header = TT_Header
{ hTable_Version :: FT_Fixed
, hFont_Revision :: FT_Fixed
, hCheckSum_Adjust :: FT_Long
, hMagic_Number :: FT_Long
, hFlags :: FT_UShort
, hUnits_Per_EM :: FT_UShort
, hCreated :: Ptr FT_ULong
, hModified :: Ptr FT_ULong
, hXMin :: FT_Short
, hYMin :: FT_Short
, hXMax :: FT_Short
, hYMax :: FT_Short
, hMac_Style :: FT_UShort
, hLowest_Rec_PPEM :: FT_UShort
, hFont_Direction :: FT_Short
, hIndex_To_Loc_Format :: FT_Short
, hGlyph_Data_Format :: FT_Short
}
instance Storable TT_Header where
sizeOf _ = #size struct TT_Header_
alignment _ = #alignment struct TT_Header_
peek ptr =
TT_Header
<$> #{peek struct TT_Header_, Table_Version } ptr
<*> #{peek struct TT_Header_, Font_Revision } ptr
<*> #{peek struct TT_Header_, CheckSum_Adjust } ptr
<*> #{peek struct TT_Header_, Magic_Number } ptr
<*> #{peek struct TT_Header_, Flags } ptr
<*> #{peek struct TT_Header_, Units_Per_EM } ptr
<*> #{peek struct TT_Header_, Created } ptr
<*> #{peek struct TT_Header_, Modified } ptr
<*> #{peek struct TT_Header_, xMin } ptr
<*> #{peek struct TT_Header_, yMin } ptr
<*> #{peek struct TT_Header_, xMax } ptr
<*> #{peek struct TT_Header_, yMax } ptr
<*> #{peek struct TT_Header_, Mac_Style } ptr
<*> #{peek struct TT_Header_, Lowest_Rec_PPEM } ptr
<*> #{peek struct TT_Header_, Font_Direction } ptr
<*> #{peek struct TT_Header_, Index_To_Loc_Format} ptr
<*> #{peek struct TT_Header_, Glyph_Data_Format } ptr
poke ptr val = do
#{poke struct TT_Header_, Table_Version } ptr $ val & hTable_Version
#{poke struct TT_Header_, Font_Revision } ptr $ val & hFont_Revision
#{poke struct TT_Header_, CheckSum_Adjust } ptr $ val & hCheckSum_Adjust
#{poke struct TT_Header_, Magic_Number } ptr $ val & hMagic_Number
#{poke struct TT_Header_, Flags } ptr $ val & hFlags
#{poke struct TT_Header_, Units_Per_EM } ptr $ val & hUnits_Per_EM
#{poke struct TT_Header_, Created } ptr $ val & hCreated
#{poke struct TT_Header_, Modified } ptr $ val & hModified
#{poke struct TT_Header_, xMin } ptr $ val & hXMin
#{poke struct TT_Header_, yMin } ptr $ val & hYMin
#{poke struct TT_Header_, xMax } ptr $ val & hXMax
#{poke struct TT_Header_, yMax } ptr $ val & hYMax
#{poke struct TT_Header_, Mac_Style } ptr $ val & hMac_Style
#{poke struct TT_Header_, Lowest_Rec_PPEM } ptr $ val & hLowest_Rec_PPEM
#{poke struct TT_Header_, Font_Direction } ptr $ val & hFont_Direction
#{poke struct TT_Header_, Index_To_Loc_Format} ptr $ val & hIndex_To_Loc_Format
#{poke struct TT_Header_, Glyph_Data_Format } ptr $ val & hGlyph_Data_Format
data TT_HoriHeader = TT_HoriHeader
{ hhVersion :: FT_Fixed
, hhAscender :: FT_Short
, hhDescender :: FT_Short
, hhLine_Gap :: FT_Short
, hhAdvance_Width_Max :: FT_UShort
, hhMin_Left_Side_Bearing :: FT_Short
, hhMin_Right_Side_Bearing :: FT_Short
, hhXMax_Extent :: FT_Short
, hhCaret_Slope_Rise :: FT_Short
, hhCaret_Slope_Run :: FT_Short
, hhCaret_Offset :: FT_Short
, hhReserved :: Ptr FT_Short
, hhMetric_Data_Format :: FT_Short
, hhNumber_Of_HMetrics :: FT_UShort
, hhLong_metrics :: Ptr ()
, hhShort_metrics :: Ptr ()
}
instance Storable TT_HoriHeader where
sizeOf _ = #size struct TT_HoriHeader_
alignment _ = #alignment struct TT_HoriHeader_
peek ptr =
TT_HoriHeader
<$> #{peek struct TT_HoriHeader_, Version } ptr
<*> #{peek struct TT_HoriHeader_, Ascender } ptr
<*> #{peek struct TT_HoriHeader_, Descender } ptr
<*> #{peek struct TT_HoriHeader_, Line_Gap } ptr
<*> #{peek struct TT_HoriHeader_, advance_Width_Max } ptr
<*> #{peek struct TT_HoriHeader_, min_Left_Side_Bearing } ptr
<*> #{peek struct TT_HoriHeader_, min_Right_Side_Bearing} ptr
<*> #{peek struct TT_HoriHeader_, xMax_Extent } ptr
<*> #{peek struct TT_HoriHeader_, caret_Slope_Rise } ptr
<*> #{peek struct TT_HoriHeader_, caret_Slope_Run } ptr
<*> #{peek struct TT_HoriHeader_, caret_Offset } ptr
<*> #{peek struct TT_HoriHeader_, Reserved } ptr
<*> #{peek struct TT_HoriHeader_, metric_Data_Format } ptr
<*> #{peek struct TT_HoriHeader_, number_Of_HMetrics } ptr
<*> #{peek struct TT_HoriHeader_, long_metrics } ptr
<*> #{peek struct TT_HoriHeader_, short_metrics } ptr
poke ptr val = do
#{poke struct TT_HoriHeader_, Version } ptr $ val & hhVersion
#{poke struct TT_HoriHeader_, Ascender } ptr $ val & hhAscender
#{poke struct TT_HoriHeader_, Descender } ptr $ val & hhDescender
#{poke struct TT_HoriHeader_, Line_Gap } ptr $ val & hhLine_Gap
#{poke struct TT_HoriHeader_, advance_Width_Max } ptr $ val & hhAdvance_Width_Max
#{poke struct TT_HoriHeader_, min_Left_Side_Bearing } ptr $ val & hhMin_Left_Side_Bearing
#{poke struct TT_HoriHeader_, min_Right_Side_Bearing} ptr $ val & hhMin_Right_Side_Bearing
#{poke struct TT_HoriHeader_, xMax_Extent } ptr $ val & hhXMax_Extent
#{poke struct TT_HoriHeader_, caret_Slope_Rise } ptr $ val & hhCaret_Slope_Rise
#{poke struct TT_HoriHeader_, caret_Slope_Run } ptr $ val & hhCaret_Slope_Run
#{poke struct TT_HoriHeader_, caret_Offset } ptr $ val & hhCaret_Offset
#{poke struct TT_HoriHeader_, Reserved } ptr $ val & hhReserved
#{poke struct TT_HoriHeader_, metric_Data_Format } ptr $ val & hhMetric_Data_Format
#{poke struct TT_HoriHeader_, number_Of_HMetrics } ptr $ val & hhNumber_Of_HMetrics
#{poke struct TT_HoriHeader_, long_metrics } ptr $ val & hhLong_metrics
#{poke struct TT_HoriHeader_, short_metrics } ptr $ val & hhShort_metrics
data TT_VertHeader = TT_VertHeader
{ vhVersion :: FT_Fixed
, vhAscender :: FT_Short
, vhDescender :: FT_Short
, vhLine_Gap :: FT_Short
, vhAdvance_Height_Max :: FT_UShort
, vhMin_Top_Side_Bearing :: FT_Short
, vhMin_Bottom_Side_Bearing :: FT_Short
, vhYMax_Extent :: FT_Short
, vhCaret_Slope_Rise :: FT_Short
, vhCaret_Slope_Run :: FT_Short
, vhCaret_Offset :: FT_Short
, vhReserved :: Ptr FT_Short
, vhMetric_Data_Format :: FT_Short
, vhNumber_Of_VMetrics :: FT_UShort
, vhLong_metrics :: Ptr ()
, vhShort_metrics :: Ptr ()
}
instance Storable TT_VertHeader where
sizeOf _ = #size struct TT_VertHeader_
alignment _ = #alignment struct TT_VertHeader_
peek ptr =
TT_VertHeader
<$> #{peek struct TT_VertHeader_, Version } ptr
<*> #{peek struct TT_VertHeader_, Ascender } ptr
<*> #{peek struct TT_VertHeader_, Descender } ptr
<*> #{peek struct TT_VertHeader_, Line_Gap } ptr
<*> #{peek struct TT_VertHeader_, advance_Height_Max } ptr
<*> #{peek struct TT_VertHeader_, min_Top_Side_Bearing } ptr
<*> #{peek struct TT_VertHeader_, min_Bottom_Side_Bearing} ptr
<*> #{peek struct TT_VertHeader_, yMax_Extent } ptr
<*> #{peek struct TT_VertHeader_, caret_Slope_Rise } ptr
<*> #{peek struct TT_VertHeader_, caret_Slope_Run } ptr
<*> #{peek struct TT_VertHeader_, caret_Offset } ptr
<*> #{peek struct TT_VertHeader_, Reserved } ptr
<*> #{peek struct TT_VertHeader_, metric_Data_Format } ptr
<*> #{peek struct TT_VertHeader_, number_Of_VMetrics } ptr
<*> #{peek struct TT_VertHeader_, long_metrics } ptr
<*> #{peek struct TT_VertHeader_, short_metrics } ptr
poke ptr val = do
#{poke struct TT_VertHeader_, Version } ptr $ val & vhVersion
#{poke struct TT_VertHeader_, Ascender } ptr $ val & vhAscender
#{poke struct TT_VertHeader_, Descender } ptr $ val & vhDescender
#{poke struct TT_VertHeader_, Line_Gap } ptr $ val & vhLine_Gap
#{poke struct TT_VertHeader_, advance_Height_Max } ptr $ val & vhAdvance_Height_Max
#{poke struct TT_VertHeader_, min_Top_Side_Bearing } ptr $ val & vhMin_Top_Side_Bearing
#{poke struct TT_VertHeader_, min_Bottom_Side_Bearing} ptr $ val & vhMin_Bottom_Side_Bearing
#{poke struct TT_VertHeader_, yMax_Extent } ptr $ val & vhYMax_Extent
#{poke struct TT_VertHeader_, caret_Slope_Rise } ptr $ val & vhCaret_Slope_Rise
#{poke struct TT_VertHeader_, caret_Slope_Run } ptr $ val & vhCaret_Slope_Run
#{poke struct TT_VertHeader_, caret_Offset } ptr $ val & vhCaret_Offset
#{poke struct TT_VertHeader_, Reserved } ptr $ val & vhReserved
#{poke struct TT_VertHeader_, metric_Data_Format } ptr $ val & vhMetric_Data_Format
#{poke struct TT_VertHeader_, number_Of_VMetrics } ptr $ val & vhNumber_Of_VMetrics
#{poke struct TT_VertHeader_, long_metrics } ptr $ val & vhLong_metrics
#{poke struct TT_VertHeader_, short_metrics } ptr $ val & vhShort_metrics
data TT_OS2 = TT_OS2
{ osVersion :: FT_UShort
, osXAvgCharWidth :: FT_Short
, osUsWeightClass :: FT_UShort
, osUsWidthClass :: FT_UShort
, osFsType :: FT_UShort
, osYSubscriptXSize :: FT_Short
, osYSubscriptYSize :: FT_Short
, osYSubscriptXOffset :: FT_Short
, osYSubscriptYOffset :: FT_Short
, osYSuperscriptXSize :: FT_Short
, osYSuperscriptYSize :: FT_Short
, osYSuperscriptXOffset :: FT_Short
, osYSuperscriptYOffset :: FT_Short
, osYStrikeoutSize :: FT_Short
, osYStrikeoutPosition :: FT_Short
, osSFamilyClass :: FT_Short
, osPanose :: Ptr FT_Byte
, osUlUnicodeRange1 :: FT_ULong
, osUlUnicodeRange2 :: FT_ULong
, osUlUnicodeRange3 :: FT_ULong
, osUlUnicodeRange4 :: FT_ULong
, osAchVendID :: Ptr FT_Char
, osFsSelection :: FT_UShort
, osUsFirstCharIndex :: FT_UShort
, osUsLastCharIndex :: FT_UShort
, osSTypoAscender :: FT_Short
, osSTypoDescender :: FT_Short
, osSTypoLineGap :: FT_Short
, osUsWinAscent :: FT_UShort
, osUsWinDescent :: FT_UShort
, osUlCodePageRange1 :: FT_ULong
, osUlCodePageRange2 :: FT_ULong
, osSxHeight :: FT_Short
, osSCapHeight :: FT_Short
, osUsDefaultChar :: FT_UShort
, osUsBreakChar :: FT_UShort
, osUsMaxContext :: FT_UShort
, osUsLowerOpticalPointSize :: FT_UShort
, osUsUpperOpticalPointSize :: FT_UShort
}
instance Storable TT_OS2 where
sizeOf _ = #size struct TT_OS2_
alignment _ = #alignment struct TT_OS2_
peek ptr =
TT_OS2
<$> #{peek struct TT_OS2_, version } ptr
<*> #{peek struct TT_OS2_, xAvgCharWidth } ptr
<*> #{peek struct TT_OS2_, usWeightClass } ptr
<*> #{peek struct TT_OS2_, usWidthClass } ptr
<*> #{peek struct TT_OS2_, fsType } ptr
<*> #{peek struct TT_OS2_, ySubscriptXSize } ptr
<*> #{peek struct TT_OS2_, ySubscriptYSize } ptr
<*> #{peek struct TT_OS2_, ySubscriptXOffset } ptr
<*> #{peek struct TT_OS2_, ySubscriptYOffset } ptr
<*> #{peek struct TT_OS2_, ySuperscriptXSize } ptr
<*> #{peek struct TT_OS2_, ySuperscriptYSize } ptr
<*> #{peek struct TT_OS2_, ySuperscriptXOffset } ptr
<*> #{peek struct TT_OS2_, ySuperscriptYOffset } ptr
<*> #{peek struct TT_OS2_, yStrikeoutSize } ptr
<*> #{peek struct TT_OS2_, yStrikeoutPosition } ptr
<*> #{peek struct TT_OS2_, sFamilyClass } ptr
<*> #{peek struct TT_OS2_, panose } ptr
<*> #{peek struct TT_OS2_, ulUnicodeRange1 } ptr
<*> #{peek struct TT_OS2_, ulUnicodeRange2 } ptr
<*> #{peek struct TT_OS2_, ulUnicodeRange3 } ptr
<*> #{peek struct TT_OS2_, ulUnicodeRange4 } ptr
<*> #{peek struct TT_OS2_, achVendID } ptr
<*> #{peek struct TT_OS2_, fsSelection } ptr
<*> #{peek struct TT_OS2_, usFirstCharIndex } ptr
<*> #{peek struct TT_OS2_, usLastCharIndex } ptr
<*> #{peek struct TT_OS2_, sTypoAscender } ptr
<*> #{peek struct TT_OS2_, sTypoDescender } ptr
<*> #{peek struct TT_OS2_, sTypoLineGap } ptr
<*> #{peek struct TT_OS2_, usWinAscent } ptr
<*> #{peek struct TT_OS2_, usWinDescent } ptr
<*> #{peek struct TT_OS2_, ulCodePageRange1 } ptr
<*> #{peek struct TT_OS2_, ulCodePageRange2 } ptr
<*> #{peek struct TT_OS2_, sxHeight } ptr
<*> #{peek struct TT_OS2_, sCapHeight } ptr
<*> #{peek struct TT_OS2_, usDefaultChar } ptr
<*> #{peek struct TT_OS2_, usBreakChar } ptr
<*> #{peek struct TT_OS2_, usMaxContext } ptr
<*> #{peek struct TT_OS2_, usLowerOpticalPointSize} ptr
<*> #{peek struct TT_OS2_, usUpperOpticalPointSize} ptr
poke ptr val = do
#{poke struct TT_OS2_, version } ptr $ val & osVersion
#{poke struct TT_OS2_, xAvgCharWidth } ptr $ val & osXAvgCharWidth
#{poke struct TT_OS2_, usWeightClass } ptr $ val & osUsWeightClass
#{poke struct TT_OS2_, usWidthClass } ptr $ val & osUsWidthClass
#{poke struct TT_OS2_, fsType } ptr $ val & osFsType
#{poke struct TT_OS2_, ySubscriptXSize } ptr $ val & osYSubscriptXSize
#{poke struct TT_OS2_, ySubscriptYSize } ptr $ val & osYSubscriptYSize
#{poke struct TT_OS2_, ySubscriptXOffset } ptr $ val & osYSubscriptXOffset
#{poke struct TT_OS2_, ySubscriptYOffset } ptr $ val & osYSubscriptYOffset
#{poke struct TT_OS2_, ySuperscriptXSize } ptr $ val & osYSuperscriptXSize
#{poke struct TT_OS2_, ySuperscriptYSize } ptr $ val & osYSuperscriptYSize
#{poke struct TT_OS2_, ySuperscriptXOffset } ptr $ val & osYSuperscriptXOffset
#{poke struct TT_OS2_, ySuperscriptYOffset } ptr $ val & osYSuperscriptYOffset
#{poke struct TT_OS2_, yStrikeoutSize } ptr $ val & osYStrikeoutSize
#{poke struct TT_OS2_, yStrikeoutPosition } ptr $ val & osYStrikeoutPosition
#{poke struct TT_OS2_, sFamilyClass } ptr $ val & osSFamilyClass
#{poke struct TT_OS2_, panose } ptr $ val & osPanose
#{poke struct TT_OS2_, ulUnicodeRange1 } ptr $ val & osUlUnicodeRange1
#{poke struct TT_OS2_, ulUnicodeRange2 } ptr $ val & osUlUnicodeRange2
#{poke struct TT_OS2_, ulUnicodeRange3 } ptr $ val & osUlUnicodeRange3
#{poke struct TT_OS2_, ulUnicodeRange4 } ptr $ val & osUlUnicodeRange4
#{poke struct TT_OS2_, achVendID } ptr $ val & osAchVendID
#{poke struct TT_OS2_, fsSelection } ptr $ val & osFsSelection
#{poke struct TT_OS2_, usFirstCharIndex } ptr $ val & osUsFirstCharIndex
#{poke struct TT_OS2_, usLastCharIndex } ptr $ val & osUsLastCharIndex
#{poke struct TT_OS2_, sTypoAscender } ptr $ val & osSTypoAscender
#{poke struct TT_OS2_, sTypoDescender } ptr $ val & osSTypoDescender
#{poke struct TT_OS2_, sTypoLineGap } ptr $ val & osSTypoLineGap
#{poke struct TT_OS2_, usWinAscent } ptr $ val & osUsWinAscent
#{poke struct TT_OS2_, usWinDescent } ptr $ val & osUsWinDescent
#{poke struct TT_OS2_, ulCodePageRange1 } ptr $ val & osUlCodePageRange1
#{poke struct TT_OS2_, ulCodePageRange2 } ptr $ val & osUlCodePageRange2
#{poke struct TT_OS2_, sxHeight } ptr $ val & osSxHeight
#{poke struct TT_OS2_, sCapHeight } ptr $ val & osSCapHeight
#{poke struct TT_OS2_, usDefaultChar } ptr $ val & osUsDefaultChar
#{poke struct TT_OS2_, usBreakChar } ptr $ val & osUsBreakChar
#{poke struct TT_OS2_, usMaxContext } ptr $ val & osUsMaxContext
#{poke struct TT_OS2_, usLowerOpticalPointSize} ptr $ val & osUsLowerOpticalPointSize
#{poke struct TT_OS2_, usUpperOpticalPointSize} ptr $ val & osUsUpperOpticalPointSize
data TT_Postscript = TT_Postscript
{ pFormatType :: FT_Fixed
, pItalicAngle :: FT_Fixed
, pUnderlinePosition :: FT_Short
, pUnderlineThickness :: FT_Short
, pIsFixedPitch :: FT_ULong
, pMinMemType42 :: FT_ULong
, pMaxMemType42 :: FT_ULong
, pMinMemType1 :: FT_ULong
, pMaxMemType1 :: FT_ULong
}
instance Storable TT_Postscript where
sizeOf _ = #size struct TT_Postscript_
alignment _ = #alignment struct TT_Postscript_
peek ptr =
TT_Postscript
<$> #{peek struct TT_Postscript_, FormatType } ptr
<*> #{peek struct TT_Postscript_, italicAngle } ptr
<*> #{peek struct TT_Postscript_, underlinePosition } ptr
<*> #{peek struct TT_Postscript_, underlineThickness} ptr
<*> #{peek struct TT_Postscript_, isFixedPitch } ptr
<*> #{peek struct TT_Postscript_, minMemType42 } ptr
<*> #{peek struct TT_Postscript_, maxMemType42 } ptr
<*> #{peek struct TT_Postscript_, minMemType1 } ptr
<*> #{peek struct TT_Postscript_, maxMemType1 } ptr
poke ptr val = do
#{poke struct TT_Postscript_, FormatType } ptr $ val & pFormatType
#{poke struct TT_Postscript_, italicAngle } ptr $ val & pItalicAngle
#{poke struct TT_Postscript_, underlinePosition } ptr $ val & pUnderlinePosition
#{poke struct TT_Postscript_, underlineThickness} ptr $ val & pUnderlineThickness
#{poke struct TT_Postscript_, isFixedPitch } ptr $ val & pIsFixedPitch
#{poke struct TT_Postscript_, minMemType42 } ptr $ val & pMinMemType42
#{poke struct TT_Postscript_, maxMemType42 } ptr $ val & pMaxMemType42
#{poke struct TT_Postscript_, minMemType1 } ptr $ val & pMinMemType1
#{poke struct TT_Postscript_, maxMemType1 } ptr $ val & pMaxMemType1
data TT_PCLT = TT_PCLT
{ pcltVersion :: FT_Fixed
, pcltFontNumber :: FT_ULong
, pcltPitch :: FT_UShort
, pcltXHeight :: FT_UShort
, pcltStyle :: FT_UShort
, pcltTypeFamily :: FT_UShort
, pcltCapHeight :: FT_UShort
, pcltSymbolSet :: FT_UShort
, pcltTypeFace :: Ptr FT_Char
, pcltCharacterComplement :: Ptr FT_Char
, pcltFileName :: Ptr FT_Char
, pcltStrokeWeight :: FT_Char
, pcltWidthType :: FT_Char
, pcltSerifStyle :: FT_Byte
, pcltReserved :: FT_Byte
}
instance Storable TT_PCLT where
sizeOf _ = #size struct TT_PCLT_
alignment _ = #alignment struct TT_PCLT_
peek ptr =
TT_PCLT
<$> #{peek struct TT_PCLT_, Version } ptr
<*> #{peek struct TT_PCLT_, FontNumber } ptr
<*> #{peek struct TT_PCLT_, Pitch } ptr
<*> #{peek struct TT_PCLT_, xHeight } ptr
<*> #{peek struct TT_PCLT_, Style } ptr
<*> #{peek struct TT_PCLT_, TypeFamily } ptr
<*> #{peek struct TT_PCLT_, CapHeight } ptr
<*> #{peek struct TT_PCLT_, SymbolSet } ptr
<*> #{peek struct TT_PCLT_, TypeFace } ptr
<*> #{peek struct TT_PCLT_, CharacterComplement} ptr
<*> #{peek struct TT_PCLT_, FileName } ptr
<*> #{peek struct TT_PCLT_, StrokeWeight } ptr
<*> #{peek struct TT_PCLT_, WidthType } ptr
<*> #{peek struct TT_PCLT_, SerifStyle } ptr
<*> #{peek struct TT_PCLT_, Reserved } ptr
poke ptr val = do
#{poke struct TT_PCLT_, Version } ptr $ val & pcltVersion
#{poke struct TT_PCLT_, FontNumber } ptr $ val & pcltFontNumber
#{poke struct TT_PCLT_, Pitch } ptr $ val & pcltPitch
#{poke struct TT_PCLT_, xHeight } ptr $ val & pcltXHeight
#{poke struct TT_PCLT_, Style } ptr $ val & pcltStyle
#{poke struct TT_PCLT_, TypeFamily } ptr $ val & pcltTypeFamily
#{poke struct TT_PCLT_, CapHeight } ptr $ val & pcltCapHeight
#{poke struct TT_PCLT_, SymbolSet } ptr $ val & pcltSymbolSet
#{poke struct TT_PCLT_, TypeFace } ptr $ val & pcltTypeFace
#{poke struct TT_PCLT_, CharacterComplement} ptr $ val & pcltCharacterComplement
#{poke struct TT_PCLT_, FileName } ptr $ val & pcltFileName
#{poke struct TT_PCLT_, StrokeWeight } ptr $ val & pcltStrokeWeight
#{poke struct TT_PCLT_, WidthType } ptr $ val & pcltWidthType
#{poke struct TT_PCLT_, SerifStyle } ptr $ val & pcltSerifStyle
#{poke struct TT_PCLT_, Reserved } ptr $ val & pcltReserved
data TT_MaxProfile = TT_MaxProfile
{ mpVersion :: FT_Fixed
, mpNumGlyphs :: FT_UShort
, mpMaxPoints :: FT_UShort
, mpMaxContours :: FT_UShort
, mpMaxCompositePoints :: FT_UShort
, mpMaxCompositeContours :: FT_UShort
, mpMaxZones :: FT_UShort
, mpMaxTwilightPoints :: FT_UShort
, mpMaxStorage :: FT_UShort
, mpMaxFunctionDefs :: FT_UShort
, mpMaxInstructionDefs :: FT_UShort
, mpMaxStackElements :: FT_UShort
, mpMaxSizeOfInstructions :: FT_UShort
, mpMaxComponentElements :: FT_UShort
, mpMaxComponentDepth :: FT_UShort
}
instance Storable TT_MaxProfile where
sizeOf _ = #size struct TT_MaxProfile_
alignment _ = #alignment struct TT_MaxProfile_
peek ptr =
TT_MaxProfile
<$> #{peek struct TT_MaxProfile_, version } ptr
<*> #{peek struct TT_MaxProfile_, numGlyphs } ptr
<*> #{peek struct TT_MaxProfile_, maxPoints } ptr
<*> #{peek struct TT_MaxProfile_, maxContours } ptr
<*> #{peek struct TT_MaxProfile_, maxCompositePoints } ptr
<*> #{peek struct TT_MaxProfile_, maxCompositeContours } ptr
<*> #{peek struct TT_MaxProfile_, maxZones } ptr
<*> #{peek struct TT_MaxProfile_, maxTwilightPoints } ptr
<*> #{peek struct TT_MaxProfile_, maxStorage } ptr
<*> #{peek struct TT_MaxProfile_, maxFunctionDefs } ptr
<*> #{peek struct TT_MaxProfile_, maxInstructionDefs } ptr
<*> #{peek struct TT_MaxProfile_, maxStackElements } ptr
<*> #{peek struct TT_MaxProfile_, maxSizeOfInstructions} ptr
<*> #{peek struct TT_MaxProfile_, maxComponentElements } ptr
<*> #{peek struct TT_MaxProfile_, maxComponentDepth } ptr
poke ptr val = do
#{poke struct TT_MaxProfile_, version } ptr $ val & mpVersion
#{poke struct TT_MaxProfile_, numGlyphs } ptr $ val & mpNumGlyphs
#{poke struct TT_MaxProfile_, maxPoints } ptr $ val & mpMaxPoints
#{poke struct TT_MaxProfile_, maxContours } ptr $ val & mpMaxContours
#{poke struct TT_MaxProfile_, maxCompositePoints } ptr $ val & mpMaxCompositePoints
#{poke struct TT_MaxProfile_, maxCompositeContours } ptr $ val & mpMaxCompositeContours
#{poke struct TT_MaxProfile_, maxZones } ptr $ val & mpMaxZones
#{poke struct TT_MaxProfile_, maxTwilightPoints } ptr $ val & mpMaxTwilightPoints
#{poke struct TT_MaxProfile_, maxStorage } ptr $ val & mpMaxStorage
#{poke struct TT_MaxProfile_, maxFunctionDefs } ptr $ val & mpMaxFunctionDefs
#{poke struct TT_MaxProfile_, maxInstructionDefs } ptr $ val & mpMaxInstructionDefs
#{poke struct TT_MaxProfile_, maxStackElements } ptr $ val & mpMaxStackElements
#{poke struct TT_MaxProfile_, maxSizeOfInstructions} ptr $ val & mpMaxSizeOfInstructions
#{poke struct TT_MaxProfile_, maxComponentElements } ptr $ val & mpMaxComponentElements
#{poke struct TT_MaxProfile_, maxComponentDepth } ptr $ val & mpMaxComponentDepth
type FT_Sfnt_Tag = #type enum FT_Sfnt_Tag_