Copyright | Will Thompson and Iñaki García Etxebarria |
---|---|
License | LGPL-2.1 |
Maintainer | Iñaki García Etxebarria |
Safe Haskell | Safe-Inferred |
Language | Haskell2010 |
A PangoFont
is used to represent a font in a
rendering-system-independent manner.
Synopsis
- newtype Font = Font (ManagedPtr Font)
- class (GObject o, IsDescendantOf Font o) => IsFont o
- toFont :: (MonadIO m, IsFont o) => o -> m Font
- fontDescribe :: (HasCallStack, MonadIO m, IsFont a) => a -> m FontDescription
- fontDescribeWithAbsoluteSize :: (HasCallStack, MonadIO m, IsFont a) => a -> m FontDescription
- fontDescriptionsFree :: (HasCallStack, MonadIO m) => Maybe [FontDescription] -> m ()
- fontDeserialize :: (HasCallStack, MonadIO m, IsContext a) => a -> Bytes -> m (Maybe Font)
- fontGetCoverage :: (HasCallStack, MonadIO m, IsFont a) => a -> Language -> m Coverage
- fontGetFace :: (HasCallStack, MonadIO m, IsFont a) => a -> m FontFace
- fontGetFeatures :: (HasCallStack, MonadIO m, IsFont a) => a -> [FeatureT] -> Word32 -> m ([FeatureT], Word32)
- fontGetFontMap :: (HasCallStack, MonadIO m, IsFont a) => a -> m (Maybe FontMap)
- fontGetGlyphExtents :: (HasCallStack, MonadIO m, IsFont a) => a -> Word32 -> m (Rectangle, Rectangle)
- fontGetLanguages :: (HasCallStack, MonadIO m, IsFont a) => a -> m (Maybe [Language])
- fontGetMetrics :: (HasCallStack, MonadIO m, IsFont a) => a -> Maybe Language -> m FontMetrics
- fontHasChar :: (HasCallStack, MonadIO m, IsFont a) => a -> Char -> m Bool
- fontSerialize :: (HasCallStack, MonadIO m, IsFont a) => a -> m Bytes
Exported types
Memory-managed wrapper type.
Instances
Eq Font Source # | |
GObject Font Source # | |
Defined in GI.Pango.Objects.Font | |
ManagedPtrNewtype Font Source # | |
Defined in GI.Pango.Objects.Font toManagedPtr :: Font -> ManagedPtr Font # | |
TypedObject Font Source # | |
Defined in GI.Pango.Objects.Font | |
HasParentTypes Font Source # | |
Defined in GI.Pango.Objects.Font | |
IsGValue (Maybe Font) Source # | Convert |
Defined in GI.Pango.Objects.Font | |
type ParentTypes Font Source # | |
Defined in GI.Pango.Objects.Font |
class (GObject o, IsDescendantOf Font o) => IsFont o Source #
Instances
(GObject o, IsDescendantOf Font o) => IsFont o Source # | |
Defined in GI.Pango.Objects.Font |
Methods
Click to display all available methods, including inherited ones
Methods
bindProperty, bindPropertyFull, describe, describeWithAbsoluteSize, forceFloating, freezeNotify, getv, hasChar, isFloating, notify, notifyByPspec, ref, refSink, runDispose, serialize, stealData, stealQdata, thawNotify, unref, watchClosure.
Getters
getCoverage, getData, getFace, getFeatures, getFontMap, getGlyphExtents, getLanguages, getMetrics, getProperty, getQdata.
Setters
describe
:: (HasCallStack, MonadIO m, IsFont a) | |
=> a |
|
-> m FontDescription | Returns: a newly-allocated |
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 #
:: (HasCallStack, MonadIO m, IsFont a) | |
=> a |
|
-> m FontDescription | Returns: a newly-allocated |
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
:: (HasCallStack, MonadIO m) | |
=> Maybe [FontDescription] |
|
-> m () |
Frees an array of font descriptions.
deserialize
:: (HasCallStack, MonadIO m, IsContext a) | |
=> a |
|
-> Bytes |
|
-> m (Maybe Font) | Returns: a new |
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
:: (HasCallStack, MonadIO m, IsFont a) | |
=> a |
|
-> Language |
|
-> m Coverage | Returns: a newly-allocated |
Computes the coverage map for a given font and language tag.
getFace
:: (HasCallStack, MonadIO m, IsFont a) | |
=> a |
|
-> m FontFace | Returns: the |
Gets the PangoFontFace
to which font
belongs.
Since: 1.46
getFeatures
:: (HasCallStack, MonadIO m, IsFont a) | |
=> a |
|
-> [FeatureT] |
|
-> Word32 |
|
-> 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
:: (HasCallStack, MonadIO m, IsFont a) | |
=> a |
|
-> m (Maybe FontMap) | Returns: the |
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
:: (HasCallStack, MonadIO m, IsFont a) | |
=> a |
|
-> Word32 |
|
-> 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
:: (HasCallStack, MonadIO m, IsFont a) | |
=> a |
|
-> m (Maybe [Language]) | Returns: an array of |
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
:: (HasCallStack, MonadIO m, IsFont a) | |
=> a |
|
-> Maybe Language |
|
-> m FontMetrics | Returns: a |
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
:: (HasCallStack, MonadIO m, IsFont a) | |
=> a |
|
-> Char |
|
-> m Bool |
Returns whether the font provides a glyph for this character.
Returns True
if font
can render wc
Since: 1.44
serialize
:: (HasCallStack, MonadIO m, IsFont a) | |
=> a |
|
-> m Bytes | Returns: a |
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