{-# LINE 1 "FreeType/Format/Type1.hsc" #-}
{-# LANGUAGE ForeignFunctionInterface #-}
{-# LANGUAGE PatternSynonyms #-}
module FreeType.Format.Type1
(
PS_FontInfoRec (..)
, PS_FontInfo
, PS_PrivateRec (..)
, PS_Private
, CID_FaceDictRec (..)
, CID_FaceDict
, CID_FaceInfoRec (..)
, CID_FaceInfo
, ft_Has_PS_Glyph_Names
, ft_Get_PS_Font_Info
, ft_Get_PS_Font_Private
, ft_Get_PS_Font_Value
, T1_Blend_Flags
, pattern T1_BLEND_UNDERLINE_POSITION
, pattern T1_BLEND_UNDERLINE_THICKNESS
, pattern T1_BLEND_ITALIC_ANGLE
, pattern T1_BLEND_BLUE_VALUES
, pattern T1_BLEND_OTHER_BLUES
, pattern T1_BLEND_STANDARD_WIDTH
, pattern T1_BLEND_STANDARD_HEIGHT
, pattern T1_BLEND_STEM_SNAP_WIDTHS
, pattern T1_BLEND_STEM_SNAP_HEIGHTS
, pattern T1_BLEND_BLUE_SCALE
, pattern T1_BLEND_BLUE_SHIFT
, pattern T1_BLEND_FAMILY_BLUES
, pattern T1_BLEND_FAMILY_OTHER_BLUES
, pattern T1_BLEND_FORCE_BOLD
, T1_EncodingType
, pattern T1_ENCODING_TYPE_NONE
, pattern T1_ENCODING_TYPE_ARRAY
, pattern T1_ENCODING_TYPE_STANDARD
, pattern T1_ENCODING_TYPE_ISOLATIN1
, pattern T1_ENCODING_TYPE_EXPERT
, PS_Dict_Keys
, pattern PS_DICT_FONT_TYPE
, pattern PS_DICT_FONT_MATRIX
, pattern PS_DICT_FONT_BBOX
, pattern PS_DICT_PAINT_TYPE
, pattern PS_DICT_FONT_NAME
, pattern PS_DICT_UNIQUE_ID
, pattern PS_DICT_NUM_CHAR_STRINGS
, pattern PS_DICT_CHAR_STRING_KEY
, pattern PS_DICT_CHAR_STRING
, pattern PS_DICT_ENCODING_TYPE
, pattern PS_DICT_ENCODING_ENTRY
, pattern PS_DICT_NUM_SUBRS
, pattern PS_DICT_SUBR
, pattern PS_DICT_STD_HW
, pattern PS_DICT_STD_VW
, pattern PS_DICT_NUM_BLUE_VALUES
, pattern PS_DICT_BLUE_VALUE
, pattern PS_DICT_BLUE_FUZZ
, pattern PS_DICT_NUM_OTHER_BLUES
, pattern PS_DICT_OTHER_BLUE
, pattern PS_DICT_NUM_FAMILY_BLUES
, pattern PS_DICT_FAMILY_BLUE
, pattern PS_DICT_NUM_FAMILY_OTHER_BLUES
, pattern PS_DICT_FAMILY_OTHER_BLUE
, pattern PS_DICT_BLUE_SCALE
, pattern PS_DICT_BLUE_SHIFT
, pattern PS_DICT_NUM_STEM_SNAP_H
, pattern PS_DICT_STEM_SNAP_H
, pattern PS_DICT_NUM_STEM_SNAP_V
, pattern PS_DICT_STEM_SNAP_V
, pattern PS_DICT_FORCE_BOLD
, pattern PS_DICT_RND_STEM_UP
, pattern PS_DICT_MIN_FEATURE
, pattern PS_DICT_LEN_IV
, pattern PS_DICT_PASSWORD
, pattern PS_DICT_LANGUAGE_GROUP
, pattern PS_DICT_VERSION
, pattern PS_DICT_NOTICE
, pattern PS_DICT_FULL_NAME
, pattern PS_DICT_FAMILY_NAME
, pattern PS_DICT_WEIGHT
, pattern PS_DICT_IS_FIXED_PITCH
, pattern PS_DICT_UNDERLINE_POSITION
, pattern PS_DICT_UNDERLINE_THICKNESS
, pattern PS_DICT_FS_TYPE
, pattern PS_DICT_ITALIC_ANGLE
, T1_FontInfo
) where
import FreeType.Core.Base.Types
import FreeType.Core.Types.Types
import FreeType.Exception.Internal
import FreeType.Format.Type1.Internal
import FreeType.Format.Type1.Types
import Foreign.Marshal.Alloc
import Foreign.Ptr
foreign import ccall "FT_Has_PS_Glyph_Names"
ft_Has_PS_Glyph_Names
:: FT_Face
-> IO FT_Int
ft_Get_PS_Font_Info
:: FT_Face
-> IO PS_FontInfo
ft_Get_PS_Font_Info face = do
infoPtr <- malloc
ftError "ft_Get_PS_Font_Info" $ ft_Get_PS_Font_Info' face infoPtr
return infoPtr
ft_Get_PS_Font_Private
:: FT_Face
-> IO PS_Private
ft_Get_PS_Font_Private face = do
privPtr <- malloc
ftError "ft_Get_PS_Font_Private" $ ft_Get_PS_Font_Private' face privPtr
return privPtr
foreign import ccall "FT_Get_PS_Font_Value"
ft_Get_PS_Font_Value
:: FT_Face
-> PS_Dict_Keys
-> FT_UInt
-> Ptr ()
-> FT_Long
-> IO FT_Long
pattern T1_BLEND_UNDERLINE_POSITION
, T1_BLEND_UNDERLINE_THICKNESS
, T1_BLEND_ITALIC_ANGLE
, T1_BLEND_BLUE_VALUES
, T1_BLEND_OTHER_BLUES
, T1_BLEND_STANDARD_WIDTH
, T1_BLEND_STANDARD_HEIGHT
, T1_BLEND_STEM_SNAP_WIDTHS
, T1_BLEND_STEM_SNAP_HEIGHTS
, T1_BLEND_BLUE_SCALE
, T1_BLEND_BLUE_SHIFT
, T1_BLEND_FAMILY_BLUES
, T1_BLEND_FAMILY_OTHER_BLUES
, T1_BLEND_FORCE_BOLD
:: (Eq a, Num a) => a
pattern T1_BLEND_UNDERLINE_POSITION = 0
{-# LINE 187 "FreeType/Format/Type1.hsc" #-}
pattern T1_BLEND_UNDERLINE_THICKNESS = 1
{-# LINE 188 "FreeType/Format/Type1.hsc" #-}
pattern T1_BLEND_ITALIC_ANGLE = 2
{-# LINE 189 "FreeType/Format/Type1.hsc" #-}
pattern T1_BLEND_BLUE_VALUES = 3
{-# LINE 190 "FreeType/Format/Type1.hsc" #-}
pattern T1_BLEND_OTHER_BLUES = 4
{-# LINE 191 "FreeType/Format/Type1.hsc" #-}
pattern T1_BLEND_STANDARD_WIDTH = 5
{-# LINE 192 "FreeType/Format/Type1.hsc" #-}
pattern T1_BLEND_STANDARD_HEIGHT = 6
{-# LINE 193 "FreeType/Format/Type1.hsc" #-}
pattern T1_BLEND_STEM_SNAP_WIDTHS = 7
{-# LINE 194 "FreeType/Format/Type1.hsc" #-}
pattern T1_BLEND_STEM_SNAP_HEIGHTS = 8
{-# LINE 195 "FreeType/Format/Type1.hsc" #-}
pattern T1_BLEND_BLUE_SCALE = 9
{-# LINE 196 "FreeType/Format/Type1.hsc" #-}
pattern T1_BLEND_BLUE_SHIFT = 10
{-# LINE 197 "FreeType/Format/Type1.hsc" #-}
pattern T1_BLEND_FAMILY_BLUES = 11
{-# LINE 198 "FreeType/Format/Type1.hsc" #-}
pattern T1_BLEND_FAMILY_OTHER_BLUES = 12
{-# LINE 199 "FreeType/Format/Type1.hsc" #-}
pattern T1_BLEND_FORCE_BOLD = 13
{-# LINE 200 "FreeType/Format/Type1.hsc" #-}
pattern T1_ENCODING_TYPE_NONE
, T1_ENCODING_TYPE_ARRAY
, T1_ENCODING_TYPE_STANDARD
, T1_ENCODING_TYPE_ISOLATIN1
, T1_ENCODING_TYPE_EXPERT
:: (Eq a, Num a) => a
pattern T1_ENCODING_TYPE_NONE = 0
{-# LINE 210 "FreeType/Format/Type1.hsc" #-}
pattern T1_ENCODING_TYPE_ARRAY = 1
{-# LINE 211 "FreeType/Format/Type1.hsc" #-}
pattern T1_ENCODING_TYPE_STANDARD = 2
{-# LINE 212 "FreeType/Format/Type1.hsc" #-}
pattern T1_ENCODING_TYPE_ISOLATIN1 = 3
{-# LINE 213 "FreeType/Format/Type1.hsc" #-}
pattern T1_ENCODING_TYPE_EXPERT = 4
{-# LINE 214 "FreeType/Format/Type1.hsc" #-}
pattern PS_DICT_FONT_TYPE
, PS_DICT_FONT_MATRIX
, PS_DICT_FONT_BBOX
, PS_DICT_PAINT_TYPE
, PS_DICT_FONT_NAME
, PS_DICT_UNIQUE_ID
, PS_DICT_NUM_CHAR_STRINGS
, PS_DICT_CHAR_STRING_KEY
, PS_DICT_CHAR_STRING
, PS_DICT_ENCODING_TYPE
, PS_DICT_ENCODING_ENTRY
, PS_DICT_NUM_SUBRS
, PS_DICT_SUBR
, PS_DICT_STD_HW
, PS_DICT_STD_VW
, PS_DICT_NUM_BLUE_VALUES
, PS_DICT_BLUE_VALUE
, PS_DICT_BLUE_FUZZ
, PS_DICT_NUM_OTHER_BLUES
, PS_DICT_OTHER_BLUE
, PS_DICT_NUM_FAMILY_BLUES
, PS_DICT_FAMILY_BLUE
, PS_DICT_NUM_FAMILY_OTHER_BLUES
, PS_DICT_FAMILY_OTHER_BLUE
, PS_DICT_BLUE_SCALE
, PS_DICT_BLUE_SHIFT
, PS_DICT_NUM_STEM_SNAP_H
, PS_DICT_STEM_SNAP_H
, PS_DICT_NUM_STEM_SNAP_V
, PS_DICT_STEM_SNAP_V
, PS_DICT_FORCE_BOLD
, PS_DICT_RND_STEM_UP
, PS_DICT_MIN_FEATURE
, PS_DICT_LEN_IV
, PS_DICT_PASSWORD
, PS_DICT_LANGUAGE_GROUP
, PS_DICT_VERSION
, PS_DICT_NOTICE
, PS_DICT_FULL_NAME
, PS_DICT_FAMILY_NAME
, PS_DICT_WEIGHT
, PS_DICT_IS_FIXED_PITCH
, PS_DICT_UNDERLINE_POSITION
, PS_DICT_UNDERLINE_THICKNESS
, PS_DICT_FS_TYPE
, PS_DICT_ITALIC_ANGLE
:: (Eq a, Num a) => a
pattern PS_DICT_FONT_TYPE = 0
{-# LINE 265 "FreeType/Format/Type1.hsc" #-}
pattern PS_DICT_FONT_MATRIX = 1
{-# LINE 266 "FreeType/Format/Type1.hsc" #-}
pattern PS_DICT_FONT_BBOX = 2
{-# LINE 267 "FreeType/Format/Type1.hsc" #-}
pattern PS_DICT_PAINT_TYPE = 3
{-# LINE 268 "FreeType/Format/Type1.hsc" #-}
pattern PS_DICT_FONT_NAME = 4
{-# LINE 269 "FreeType/Format/Type1.hsc" #-}
pattern PS_DICT_UNIQUE_ID = 5
{-# LINE 270 "FreeType/Format/Type1.hsc" #-}
pattern PS_DICT_NUM_CHAR_STRINGS = 6
{-# LINE 271 "FreeType/Format/Type1.hsc" #-}
pattern PS_DICT_CHAR_STRING_KEY = 7
{-# LINE 272 "FreeType/Format/Type1.hsc" #-}
pattern PS_DICT_CHAR_STRING = 8
{-# LINE 273 "FreeType/Format/Type1.hsc" #-}
pattern PS_DICT_ENCODING_TYPE = 9
{-# LINE 274 "FreeType/Format/Type1.hsc" #-}
pattern PS_DICT_ENCODING_ENTRY = 10
{-# LINE 275 "FreeType/Format/Type1.hsc" #-}
pattern PS_DICT_NUM_SUBRS = 11
{-# LINE 276 "FreeType/Format/Type1.hsc" #-}
pattern PS_DICT_SUBR = 12
{-# LINE 277 "FreeType/Format/Type1.hsc" #-}
pattern PS_DICT_STD_HW = 13
{-# LINE 278 "FreeType/Format/Type1.hsc" #-}
pattern PS_DICT_STD_VW = 14
{-# LINE 279 "FreeType/Format/Type1.hsc" #-}
pattern PS_DICT_NUM_BLUE_VALUES = 15
{-# LINE 280 "FreeType/Format/Type1.hsc" #-}
pattern PS_DICT_BLUE_VALUE = 16
{-# LINE 281 "FreeType/Format/Type1.hsc" #-}
pattern PS_DICT_BLUE_FUZZ = 17
{-# LINE 282 "FreeType/Format/Type1.hsc" #-}
pattern PS_DICT_NUM_OTHER_BLUES = 18
{-# LINE 283 "FreeType/Format/Type1.hsc" #-}
pattern PS_DICT_OTHER_BLUE = 19
{-# LINE 284 "FreeType/Format/Type1.hsc" #-}
pattern PS_DICT_NUM_FAMILY_BLUES = 20
{-# LINE 285 "FreeType/Format/Type1.hsc" #-}
pattern PS_DICT_FAMILY_BLUE = 21
{-# LINE 286 "FreeType/Format/Type1.hsc" #-}
pattern PS_DICT_NUM_FAMILY_OTHER_BLUES = 22
{-# LINE 287 "FreeType/Format/Type1.hsc" #-}
pattern PS_DICT_FAMILY_OTHER_BLUE = 23
{-# LINE 288 "FreeType/Format/Type1.hsc" #-}
pattern PS_DICT_BLUE_SCALE = 24
{-# LINE 289 "FreeType/Format/Type1.hsc" #-}
pattern PS_DICT_BLUE_SHIFT = 25
{-# LINE 290 "FreeType/Format/Type1.hsc" #-}
pattern PS_DICT_NUM_STEM_SNAP_H = 26
{-# LINE 291 "FreeType/Format/Type1.hsc" #-}
pattern PS_DICT_STEM_SNAP_H = 27
{-# LINE 292 "FreeType/Format/Type1.hsc" #-}
pattern PS_DICT_NUM_STEM_SNAP_V = 28
{-# LINE 293 "FreeType/Format/Type1.hsc" #-}
pattern PS_DICT_STEM_SNAP_V = 29
{-# LINE 294 "FreeType/Format/Type1.hsc" #-}
pattern PS_DICT_FORCE_BOLD = 30
{-# LINE 295 "FreeType/Format/Type1.hsc" #-}
pattern PS_DICT_RND_STEM_UP = 31
{-# LINE 296 "FreeType/Format/Type1.hsc" #-}
pattern PS_DICT_MIN_FEATURE = 32
{-# LINE 297 "FreeType/Format/Type1.hsc" #-}
pattern PS_DICT_LEN_IV = 33
{-# LINE 298 "FreeType/Format/Type1.hsc" #-}
pattern PS_DICT_PASSWORD = 34
{-# LINE 299 "FreeType/Format/Type1.hsc" #-}
pattern PS_DICT_LANGUAGE_GROUP = 35
{-# LINE 300 "FreeType/Format/Type1.hsc" #-}
pattern PS_DICT_VERSION = 36
{-# LINE 301 "FreeType/Format/Type1.hsc" #-}
pattern PS_DICT_NOTICE = 37
{-# LINE 302 "FreeType/Format/Type1.hsc" #-}
pattern PS_DICT_FULL_NAME = 38
{-# LINE 303 "FreeType/Format/Type1.hsc" #-}
pattern PS_DICT_FAMILY_NAME = 39
{-# LINE 304 "FreeType/Format/Type1.hsc" #-}
pattern PS_DICT_WEIGHT = 40
{-# LINE 305 "FreeType/Format/Type1.hsc" #-}
pattern PS_DICT_IS_FIXED_PITCH = 41
{-# LINE 306 "FreeType/Format/Type1.hsc" #-}
pattern PS_DICT_UNDERLINE_POSITION = 42
{-# LINE 307 "FreeType/Format/Type1.hsc" #-}
pattern PS_DICT_UNDERLINE_THICKNESS = 43
{-# LINE 308 "FreeType/Format/Type1.hsc" #-}
pattern PS_DICT_FS_TYPE = 44
{-# LINE 309 "FreeType/Format/Type1.hsc" #-}
pattern PS_DICT_ITALIC_ANGLE = 45
{-# LINE 310 "FreeType/Format/Type1.hsc" #-}