| Maintainer | gtk2hs-users@lists.sourceforge.net |
|---|---|
| Stability | provisional |
| Portability | portable (depends on GHC) |
| Safe Haskell | None |
| Language | Haskell98 |
Graphics.Rendering.Pango.Font
Description
Fonts. The selection of an appropriate font to render text becomes a substantial task in the presence of Unicode where a single font does not cover the whole range of possible characters. Pango provides several concepts to find appropriate fonts and to query information about them:
FontDescription: Font descriptions provide a way to query and state requirements on fonts. This data structure has several fields describing different characteristics of a font. Each of these fields can be set of left unspecified.FontMap: A font map represents the set of fonts available for a particular rendering system. In particular this map defines the relation between font size and pixel size in terms of the output medium.FontFamily: A font family represents a set of fonts that have related faces, that is, their faces share a common design, but differ in slant, weight, width and other aspects.FontFace: A face is a specific font where all characteristics are fixed except for the size.Font: A font in the underlying rendering system.FontMetrics: Information about the font that will be used to render a specificContextorPangoItem.
- data FontDescription
- fontDescriptionNew :: IO FontDescription
- fontDescriptionCopy :: FontDescription -> IO FontDescription
- fontDescriptionSetFamily :: GlibString string => FontDescription -> string -> IO ()
- fontDescriptionGetFamily :: GlibString string => FontDescription -> IO (Maybe string)
- fontDescriptionSetStyle :: FontDescription -> FontStyle -> IO ()
- fontDescriptionGetStyle :: FontDescription -> IO (Maybe FontStyle)
- fontDescriptionSetVariant :: FontDescription -> Variant -> IO ()
- fontDescriptionGetVariant :: FontDescription -> IO (Maybe Variant)
- fontDescriptionSetWeight :: FontDescription -> Weight -> IO ()
- fontDescriptionGetWeight :: FontDescription -> IO (Maybe Weight)
- fontDescriptionSetStretch :: FontDescription -> Stretch -> IO ()
- fontDescriptionGetStretch :: FontDescription -> IO (Maybe Stretch)
- fontDescriptionSetSize :: FontDescription -> Double -> IO ()
- fontDescriptionGetSize :: FontDescription -> IO (Maybe Double)
- data FontMask
- fontDescriptionUnsetFields :: FontDescription -> [FontMask] -> IO ()
- fontDescriptionMerge :: FontDescription -> FontDescription -> Bool -> IO ()
- fontDescriptionBetterMatch :: FontDescription -> FontDescription -> FontDescription -> Bool
- fontDescriptionFromString :: GlibString string => string -> IO FontDescription
- fontDescriptionToString :: GlibString string => FontDescription -> IO string
- data FontMap
- class GObjectClass o => FontMapClass o
- pangoFontMapListFamilies :: FontMap -> IO [FontFamily]
- data FontFamily
- class GObjectClass o => FontFamilyClass o
- pangoFontFamilyIsMonospace :: FontFamily -> Bool
- pangoFontFamilyListFaces :: FontFamily -> IO [FontFace]
- data FontFace
- class GObjectClass o => FontFaceClass o
- pangoFontFaceListSizes :: FontFace -> IO (Maybe [Double])
- pangoFontFaceDescribe :: FontFace -> IO FontDescription
- data Font
- class GObjectClass o => FontClass o
Documentation
fontDescriptionNew :: IO FontDescription Source
Create a new font description.
- All field are unset.
fontDescriptionCopy :: FontDescription -> IO FontDescription Source
Make a deep copy of a font description.
fontDescriptionSetFamily :: GlibString string => FontDescription -> string -> IO () Source
Set the font famliy.
- A font family is a name designating the design of the font (e.g. Sans or Times) without the variant.
- In some contexts a comma separated list of font families can be used.
fontDescriptionGetFamily :: GlibString string => FontDescription -> IO (Maybe string) Source
Get the font family.
Nothingis returned if the font family is not set.
fontDescriptionSetStyle :: FontDescription -> FontStyle -> IO () Source
fontDescriptionGetStyle :: FontDescription -> IO (Maybe FontStyle) Source
Get the style field.
fontDescriptionSetVariant :: FontDescription -> Variant -> IO () Source
Set the variant field.
fontDescriptionGetVariant :: FontDescription -> IO (Maybe Variant) Source
Get the variant field.
fontDescriptionSetWeight :: FontDescription -> Weight -> IO () Source
Set the weight field.
fontDescriptionGetWeight :: FontDescription -> IO (Maybe Weight) Source
Get the weight field.
fontDescriptionSetStretch :: FontDescription -> Stretch -> IO () Source
Set the stretch field.
fontDescriptionGetStretch :: FontDescription -> IO (Maybe Stretch) Source
Get the stretch field.
fontDescriptionSetSize :: FontDescription -> Double -> IO () Source
Set the size field.
- The given size is in points (pts). One point is 1/72 inch.
fontDescriptionGetSize :: FontDescription -> IO (Maybe Double) Source
Get the size field.
Flags denoting which fields in a font description are set.
Constructors
| PangoFontMaskFamily | |
| PangoFontMaskStyle | |
| PangoFontMaskVariant | |
| PangoFontMaskWeight | |
| PangoFontMaskStretch | |
| PangoFontMaskSize | |
| PangoFontMaskGravity |
Instances
| Bounded FontMask | |
| Enum FontMask | Set the style field.
|
| Flags FontMask |
fontDescriptionUnsetFields :: FontDescription -> [FontMask] -> IO () Source
Reset fields in a font description.
fontDescriptionMerge :: FontDescription -> FontDescription -> Bool -> IO () Source
Merge two font descriptions.
- Copy fields from the second description to the first. If the boolean parameter is set, existing fields in the first description will be replaced.
fontDescriptionBetterMatch :: FontDescription -> FontDescription -> FontDescription -> Bool Source
Determine which of two descriptions matches a given description better.
- Returns
Trueif the last description is a better match to the first arguement than the middle one. - Approximate matching is done on weight and style. If the other
attributes do not match, the function returns
False.
fontDescriptionFromString :: GlibString string => string -> IO FontDescription Source
Create a font description from a string.
- The given argument must have the form
[FAMILY-LIST] [STYLE-OPTIONS] [SIZE]whereFAMILY_LISTis a comma separated list of font families optionally terminated by a comma,STYLE_OPTIONSis a whitespace separated list of words where each word describes one of style, variant, weight or stretch.SIZEis a decimal number giving the size of the font in points. If any of these fields is absent, the resultingFontDescriptionwill have the corresponing fields unset.
fontDescriptionToString :: GlibString string => FontDescription -> IO string Source
Convert a font description to a string.
- Creates a string representation of a font description. See
fontDescriptionFromStringfor the format of the string.
Instances
class GObjectClass o => FontMapClass o Source
Instances
pangoFontMapListFamilies :: FontMap -> IO [FontFamily] Source
Ask for the different font families that a particular back-end supports.
- The
FontMapcan be acquired by callingcairoFontMapGetDefault.
data FontFamily Source
class GObjectClass o => FontFamilyClass o Source
Instances
pangoFontFamilyIsMonospace :: FontFamily -> Bool Source
Ask if the given family contains monospace fonts.
- A monospace font is a font designed for text display where the characters form a regular grid. For Western languages this would mean that the advance width of all characters are the same, but this categorization also includes Asian fonts which include double-width characters: characters that occupy two grid cells.
- The best way to find out the grid-cell size is to query the members
of the according
FontMetricsstructure.
pangoFontFamilyListFaces :: FontFamily -> IO [FontFace] Source
Ask for the faces contained in a particular family.
- Asks for all font faces in the given family. The faces in a family share a common design, but differ in slant, weight, width and other aspects. For example, the font family Sans contains several fonts such as Helvetica and Arial.
class GObjectClass o => FontFaceClass o Source
Instances
pangoFontFaceListSizes :: FontFace -> IO (Maybe [Double]) Source
Ask for available sizes of this font face.
- List the available sizes for a font. This is only applicable to bitmap
fonts since all other fonts can be scaled arbitrarily. For scalable
fonts, this function returns
Nothing. The sizes returned are in ascending order, their unit is points (1/72 inch).
pangoFontFaceDescribe :: FontFace -> IO FontDescription Source
Ask for a description of this face.
- Returns the family, style, variant, weight and stretch of a
FontFace. The size field of the resulting font description will be unset.
class GObjectClass o => FontClass o Source