Safe Haskell | None |
---|---|
Language | Haskell2010 |
Synopsis
- ftCharIndex :: FT_Face -> Char -> Word
- ftCharSet :: FT_Face -> CharSet
- ftCharSetAndSpacing :: FT_Face -> (CharSet, Spacing)
- ftQuery :: FilePath -> Int -> IO (Pattern, Int)
- ftQueryAll :: FilePath -> Int -> IO (FontSet, Int)
- ftQueryFace :: FT_Face -> FilePath -> Int -> IO Pattern
- data FTFC_Instance = Instance {
- fontName :: Maybe String
- fontPath :: Maybe String
- fontFace :: FT_Face
- fontLoadFlags :: Int
- fontAntialias :: Bool
- fontEmbolden :: Bool
- fontIsColor :: Bool
- fontRenderFlags :: Int
- fontRenderFlagsSubpixel :: Int
- fontPixelSizeFixup :: Double
- fontPixelFixupEstimated :: Bool
- fontBGR :: Bool
- fontLCDFilter :: FT_LcdFilter
- fontFeats :: [String]
- fontMetrics :: FTFC_Metrics
- data FTFC_Metrics = Metrics {
- height :: Int
- descent :: Int
- ascent :: Int
- maxAdvance :: (Int, Int)
- metricsAntialias :: Bool
- metricsSubpixel :: FTFC_Subpixel
- metricsName :: Maybe String
- data FTFC_Subpixel
- instantiatePattern :: FT_Library -> Pattern -> (Double, Double) -> IO FTFC_Instance
- data FTFC_Glyph a = Glyph {
- glyphFontName :: Maybe String
- glyphImage :: a
- glyphAdvance :: (Double, Double)
- glyphSubpixel :: FTFC_Subpixel
- glyphMetrics :: FT_Glyph_Metrics
- glyphForIndex :: FTFC_Instance -> Word32 -> FTFC_Subpixel -> (FT_Bitmap -> IO a) -> IO (FTFC_Glyph a)
- bmpAndMetricsForIndex :: FTFC_Instance -> FTFC_Subpixel -> Word32 -> IO (FT_Bitmap, FT_Glyph_Metrics)
Documentation
ftCharIndex :: FT_Face -> Char -> Word Source #
Maps a Unicode char to a glyph index. This function uses information from several possible underlying encoding tables to work around broken fonts. As a result, this function isn't designed to be used in performance sensitive areas; results from this function are intended to be cached by higher level functions.
ftCharSet :: FT_Face -> CharSet Source #
Scans a FreeType face and returns the set of encoded Unicode chars.
ftCharSetAndSpacing :: FT_Face -> (CharSet, Spacing) Source #
ftQuery :: FilePath -> Int -> IO (Pattern, Int) Source #
Constructs a pattern representing the id
th face in fst
.
The number of faces in file
is returned in snd
.
ftQueryAll :: FilePath -> Int -> IO (FontSet, Int) Source #
Constructs patterns found in filename
.
If id is -1, then all patterns found in filename
are added to fst
.
Otherwise, this function works exactly like ftQuery
.
The number of faces in filename
is returned in snd
.
ftQueryFace :: FT_Face -> FilePath -> Int -> IO Pattern Source #
Constructs a pattern representing face
.
filename
and id
are used solely as data for pattern elements.
data FTFC_Instance Source #
A FT_Face
queried from FontConfig with glyph-loading parameters.
Instance | |
|
data FTFC_Metrics Source #
Results queried from FontConfig with caller-relevant properties, notably relating to layout.
Metrics | |
|
data FTFC_Subpixel Source #
Defines subpixel order to use. Note that this is *ignored* if antialiasing has been disabled.
SubpixelNone | From FontConfig. |
SubpixelHorizontalRGB | |
SubpixelHorizontalBGR | |
SubpixelVerticalRGB | |
SubpixelVerticalBGR | |
SubpixelDefault | Disable subpixel antialiasing. |
instantiatePattern :: FT_Library -> Pattern -> (Double, Double) -> IO FTFC_Instance Source #
Converts the results of a FontConfig query requesting a specific size
into a FT_Face
& related properties.
Throw exceptions.
data FTFC_Glyph a Source #
Results from glyphForIndex
.
Glyph | |
|
glyphForIndex :: FTFC_Instance -> Word32 -> FTFC_Subpixel -> (FT_Bitmap -> IO a) -> IO (FTFC_Glyph a) Source #
Looks up a given glyph in a FTFC_Instance
& its underlying FT_Face
Taking into account additional properties from FontConfig.
Runs a provided callback to render the glyph into a reusable datastructure.
The FT_Bitmap
given to this callback must not be used outside it.
Throws exceptions.
bmpAndMetricsForIndex :: FTFC_Instance -> FTFC_Subpixel -> Word32 -> IO (FT_Bitmap, FT_Glyph_Metrics) Source #