gi-pango-1.0.29: Pango bindings
CopyrightWill Thompson and Iñaki García Etxebarria
LicenseLGPL-2.1
MaintainerIñaki García Etxebarria
Safe HaskellSafe-Inferred
LanguageHaskell2010

GI.Pango.Objects.Font

Description

A PangoFont is used to represent a font in a rendering-system-independent manner.

Synopsis

Exported types

newtype Font Source #

Memory-managed wrapper type.

Constructors

Font (ManagedPtr Font) 

Instances

Instances details
Eq Font Source # 
Instance details

Defined in GI.Pango.Objects.Font

Methods

(==) :: Font -> Font -> Bool #

(/=) :: Font -> Font -> Bool #

GObject Font Source # 
Instance details

Defined in GI.Pango.Objects.Font

ManagedPtrNewtype Font Source # 
Instance details

Defined in GI.Pango.Objects.Font

Methods

toManagedPtr :: Font -> ManagedPtr Font

TypedObject Font Source # 
Instance details

Defined in GI.Pango.Objects.Font

Methods

glibType :: IO GType

HasParentTypes Font Source # 
Instance details

Defined in GI.Pango.Objects.Font

IsGValue (Maybe Font) Source #

Convert Font to and from GValue. See toGValue and fromGValue.

Instance details

Defined in GI.Pango.Objects.Font

Methods

gvalueGType_ :: IO GType

gvalueSet_ :: Ptr GValue -> Maybe Font -> IO ()

gvalueGet_ :: Ptr GValue -> IO (Maybe Font)

type ParentTypes Font Source # 
Instance details

Defined in GI.Pango.Objects.Font

type ParentTypes Font = '[Object]

class (GObject o, IsDescendantOf Font o) => IsFont o Source #

Type class for types which can be safely cast to Font, for instance with toFont.

Instances

Instances details
(GObject o, IsDescendantOf Font o) => IsFont o Source # 
Instance details

Defined in GI.Pango.Objects.Font

toFont :: (MonadIO m, IsFont o) => o -> m Font Source #

Cast to Font, for types for which this is known to be safe. For general casts, use castTo.

Methods

describe

fontDescribe Source #

Arguments

:: (HasCallStack, MonadIO m, IsFont a) 
=> a

font: a PangoFont

-> m FontDescription

Returns: a newly-allocated PangoFontDescription object.

Returns a description of the font, with font size set in points.

Use fontDescribeWithAbsoluteSize if you want the font size in device units.

describeWithAbsoluteSize

fontDescribeWithAbsoluteSize Source #

Arguments

:: (HasCallStack, MonadIO m, IsFont a) 
=> a

font: a PangoFont

-> m FontDescription

Returns: a newly-allocated PangoFontDescription object.

Returns a description of the font, with absolute font size set in device units.

Use fontDescribe if you want the font size in points.

Since: 1.14

descriptionsFree

fontDescriptionsFree Source #

Arguments

:: (HasCallStack, MonadIO m) 
=> Maybe [FontDescription]

descs: a pointer to an array of PangoFontDescription, may be Nothing

-> m () 

Frees an array of font descriptions.

deserialize

fontDeserialize Source #

Arguments

:: (HasCallStack, MonadIO m, IsContext a) 
=> a

context: a PangoContext

-> Bytes

bytes: the bytes containing the data

-> m (Maybe Font)

Returns: a new PangoFont (Can throw GError)

Loads data previously created via fontSerialize.

For a discussion of the supported format, see that function.

Note: to verify that the returned font is identical to the one that was serialized, you can compare bytes to the result of serializing the font again.

Since: 1.50

getCoverage

fontGetCoverage Source #

Arguments

:: (HasCallStack, MonadIO m, IsFont a) 
=> a

font: a PangoFont

-> Language

language: the language tag

-> m Coverage

Returns: a newly-allocated PangoCoverage object.

Computes the coverage map for a given font and language tag.

getFace

fontGetFace Source #

Arguments

:: (HasCallStack, MonadIO m, IsFont a) 
=> a

font: a PangoFont

-> m FontFace

Returns: the PangoFontFace

Gets the PangoFontFace to which font belongs.

Since: 1.46

getFeatures

fontGetFeatures Source #

Arguments

:: (HasCallStack, MonadIO m, IsFont a) 
=> a

font: a PangoFont

-> [FeatureT]

features: Array to features in

-> Word32

numFeatures: the number of used items in features

-> m ([FeatureT], Word32) 

Obtain the OpenType features that are provided by the font.

These are passed to the rendering system, together with features that have been explicitly set via attributes.

Note that this does not include OpenType features which the rendering system enables by default.

Since: 1.44

getFontMap

fontGetFontMap Source #

Arguments

:: (HasCallStack, MonadIO m, IsFont a) 
=> a

font: a PangoFont

-> m (Maybe FontMap)

Returns: the PangoFontMap for the font

Gets the font map for which the font was created.

Note that the font maintains a *weak* reference to the font map, so if all references to font map are dropped, the font map will be finalized even if there are fonts created with the font map that are still alive. In that case this function will return Nothing.

It is the responsibility of the user to ensure that the font map is kept alive. In most uses this is not an issue as a PangoContext holds a reference to the font map.

Since: 1.10

getGlyphExtents

fontGetGlyphExtents Source #

Arguments

:: (HasCallStack, MonadIO m, IsFont a) 
=> a

font: a PangoFont

-> Word32

glyph: the glyph index

-> m (Rectangle, Rectangle) 

Gets the logical and ink extents of a glyph within a font.

The coordinate system for each rectangle has its origin at the base line and horizontal origin of the character with increasing coordinates extending to the right and down. The macros PANGO_ASCENT(), PANGO_DESCENT(), PANGO_LBEARING(), and PANGO_RBEARING() can be used to convert from the extents rectangle to more traditional font metrics. The units of the rectangles are in 1/PANGO_SCALE of a device unit.

If font is Nothing, this function gracefully sets some sane values in the output variables and returns.

getLanguages

fontGetLanguages Source #

Arguments

:: (HasCallStack, MonadIO m, IsFont a) 
=> a

font: a PangoFont

-> m (Maybe [Language])

Returns: an array of PangoLanguage

Returns the languages that are supported by font.

If the font backend does not provide this information, Nothing is returned. For the fontconfig backend, this corresponds to the FC_LANG member of the FcPattern.

The returned array is only valid as long as the font and its fontmap are valid.

Since: 1.50

getMetrics

fontGetMetrics Source #

Arguments

:: (HasCallStack, MonadIO m, IsFont a) 
=> a

font: a PangoFont

-> Maybe Language

language: language tag used to determine which script to get the metrics for, or Nothing to indicate to get the metrics for the entire font.

-> m FontMetrics

Returns: a PangoFontMetrics object. The caller must call fontMetricsUnref when finished using the object.

Gets overall metric information for a font.

Since the metrics may be substantially different for different scripts, a language tag can be provided to indicate that the metrics should be retrieved that correspond to the script(s) used by that language.

If font is Nothing, this function gracefully sets some sane values in the output variables and returns.

hasChar

fontHasChar Source #

Arguments

:: (HasCallStack, MonadIO m, IsFont a) 
=> a

font: a PangoFont

-> Char

wc: a Unicode character

-> m Bool

Returns: TRUE if font can render wc

Returns whether the font provides a glyph for this character.

Since: 1.44

serialize

fontSerialize Source #

Arguments

:: (HasCallStack, MonadIO m, IsFont a) 
=> a

font: a PangoFont

-> m Bytes

Returns: a GBytes containing the serialized form of font

Serializes the font in a way that can be uniquely identified.

There are no guarantees about the format of the output across different versions of Pango.

The intended use of this function is testing, benchmarking and debugging. The format is not meant as a permanent storage format.

To recreate a font from its serialized form, use [funcpango.Font.deserialize].

Since: 1.50