pango-0.13.5.0: Binding to the Pango text rendering engine.

Maintainer gtk2hs-users@lists.sourceforge.net provisional portable (depends on GHC) None Haskell98

Graphics.Rendering.Pango.Enums

Description

Enumerations for describing font characteristics.

Synopsis

Documentation

data Color Source #

Color

• Specifies a color with three integer values for red, green and blue. All values range from 0 (least intense) to 65535 (highest intensity).

Constructors

 Color Word16 Word16 Word16

Instances

 Source # Methods(==) :: Color -> Color -> Bool #(/=) :: Color -> Color -> Bool # Source # MethodsshowsPrec :: Int -> Color -> ShowS #show :: Color -> String #showList :: [Color] -> ShowS #

data Rectangle Source #

Rectangle

• Specifies x, y, width and height

Constructors

 Rectangle Int Int Int Int

Instances

 Source # Methods Source # MethodsshowList :: [Rectangle] -> ShowS #

Rectangles describing an area in Doubles.

• Specifies x, y, width and height

Constructors

 PangoRectangle Double Double Double Double

Instances

 Source # MethodsshowList :: [PangoRectangle] -> ShowS # Source # MethodspokeByteOff :: Ptr b -> Int -> PangoRectangle -> IO () #

The characteristic measurements of a font.

• All values are measured in pixels.
• In Pango versions before 1.6 only ascent, descent, approximateCharWidth and approximateDigitWidth are available.

Constructors

 FontMetrics Fieldsascent :: DoubleThe ascent is the distance from the baseline to the logical top of a line of text. (The logical top may be above or below the top of the actual drawn ink. It is necessary to lay out the text to figure where the ink will be.)descent :: DoubleThe descent is the distance from the baseline to the logical bottom of a line of text. (The logical bottom may be above or below the bottom of the actual drawn ink. It is necessary to lay out the text to figure where the ink will be.)approximateCharWidth :: DoubleThe approximate character width. This is merely a representative value useful, for example, for determining the initial size for a window. Actual characters in text will be wider and narrower than this.approximateDigitWidth :: DoubleThe approximate digit width. This is merely a representative value useful, for example, for determining the initial size for a window. Actual digits in text can be wider and narrower than this, though this value is generally somewhat more accurate than approximateCharWidth.underlineThickness :: DoubleThe suggested thickness to draw an underline.underlinePosition :: DoubleThe suggested position to draw the underline. The value returned is the distance above the baseline of the top of the underline. Since most fonts have underline positions beneath the baseline, this value is typically negative.strikethroughThickness :: DoubleThe suggested thickness to draw for the strikethrough.strikethroughPosition :: DoubleThe suggested position to draw the strikethrough. The value returned is the distance above the baseline of the top of the strikethrough.

Instances

 Source # MethodsshowList :: [FontMetrics] -> ShowS #

data Size Source #

Define attributes for FontSize.

Instances

 Source # MethodsshowsPrec :: Int -> Size -> ShowS #show :: Size -> String #showList :: [Size] -> ShowS #

data FontStyle Source #

The style of a font.

• StyleOblique is a slanted font like StyleItalic, but in a roman style.

Constructors

 StyleNormal StyleOblique StyleItalic

Instances

 Source # MethodsenumFrom :: FontStyle -> [FontStyle] # Source # Methods Source # MethodsshowList :: [FontStyle] -> ShowS #

data Weight Source #

Define attributes for Weight.

Instances

 Source # MethodstoEnum :: Int -> Weight #enumFrom :: Weight -> [Weight] #enumFromThen :: Weight -> Weight -> [Weight] #enumFromTo :: Weight -> Weight -> [Weight] #enumFromThenTo :: Weight -> Weight -> Weight -> [Weight] # Source # Methods(==) :: Weight -> Weight -> Bool #(/=) :: Weight -> Weight -> Bool # Source # MethodsshowsPrec :: Int -> Weight -> ShowS #showList :: [Weight] -> ShowS #

data Variant Source #

The variant of a font.

• The VariantSmallCaps is a version of a font where lower case letters are shown as physically smaller upper case letters.

Constructors

 VariantNormal VariantSmallCaps

Instances

 Source # MethodsenumFrom :: Variant -> [Variant] #enumFromThen :: Variant -> Variant -> [Variant] #enumFromTo :: Variant -> Variant -> [Variant] #enumFromThenTo :: Variant -> Variant -> Variant -> [Variant] # Source # Methods(==) :: Variant -> Variant -> Bool #(/=) :: Variant -> Variant -> Bool # Source # MethodsshowList :: [Variant] -> ShowS #

data Stretch Source #

Define how wide characters are.

Instances

 Source # MethodsenumFrom :: Stretch -> [Stretch] #enumFromThen :: Stretch -> Stretch -> [Stretch] #enumFromTo :: Stretch -> Stretch -> [Stretch] #enumFromThenTo :: Stretch -> Stretch -> Stretch -> [Stretch] # Source # Methods(==) :: Stretch -> Stretch -> Bool #(/=) :: Stretch -> Stretch -> Bool # Source # MethodsshowList :: [Stretch] -> ShowS #

data Underline Source #

Define attributes for Underline.

• The squiggly underline for errors is only available in Gtk 2.4 and higher.

Instances

 Source # MethodsenumFrom :: Underline -> [Underline] # Source # Methods Source # MethodsshowList :: [Underline] -> ShowS #

The PangoDirection type represents a direction in the Unicode bidirectional algorithm.

• The "weak" values denote a left-to-right or right-to-left direction only if there is no character with a strong direction in a paragraph. An example is a sequence of special, graphical characters which are neutral with respect to their rendering direction. A fresh PangoContext is by default weakly left-to-right.
• Not every value in this enumeration makes sense for every usage of PangoDirection; for example, the return value of unicharDirection and findBaseDir cannot be PangoDirectionWeakLtr or PangoDirectionWeakRtl, since every character is either neutral or has a strong direction; on the other hand PangoDirectionNeutral doesn't make sense to pass to log2visGetEmbeddingLevels.

Instances

 Source # Methods Source # Methods Source # Methods

Attributes for PangoItems.

• A given attribute is applied from its start position paStart up, but not including the end position, paEnd.

Constructors

 AttrLanguage A hint as to what language this piece of text is written in. FieldspaStart :: Int paEnd :: Int paLang :: Language AttrFamily The font family, e.g. sans serif. FieldspaStart :: Int paEnd :: Int paFamily :: DefaultGlibString AttrStyle The slant of the current font. FieldspaStart :: Int paEnd :: Int paStyle :: FontStyle AttrWeight Weight of font, e.g. WeightBold. FieldspaStart :: Int paEnd :: Int paWeight :: Weight AttrVariant VariantSmallCaps will display lower case letters as small upper case letters (if the font supports this). FieldspaStart :: Int paEnd :: Int paVariant :: Variant AttrStretch Stretch or condense the width of the letters. FieldspaStart :: Int paEnd :: Int paStretch :: Stretch AttrSize Specify the size of the font in points. FieldspaStart :: Int paEnd :: Int paSize :: Double AttrAbsSize Specify the size of the font in device units (pixels).Available in Pango 1.8.0 and higher. FieldspaStart :: Int paEnd :: Int paSize :: Double AttrFontDescription Specify several attributes of a font at once. Note that no deep copy of the description is made when this attributes is passed to or received from functions. Fields AttrForeground Specify the foreground color. FieldspaStart :: Int paEnd :: Int paColor :: Color AttrBackground Specify the background color. FieldspaStart :: Int paEnd :: Int paColor :: Color AttrUnderline Specify the kind of underline, e.g. UnderlineSingle. FieldspaStart :: Int paEnd :: Int paUnderline :: Underline AttrUnderlineColor Specify the color of an underline.Available in Pango 1.8.0 and higher. FieldspaStart :: Int paEnd :: Int paColor :: Color AttrStrikethrough Specify if this piece of text should have a line through it. FieldspaStart :: Int paEnd :: Int paStrikethrough :: Bool AttrStrikethroughColor Specify the color of the strike through line.Available in Pango 1.8.0 and higher. FieldspaStart :: Int paEnd :: Int paColor :: Color AttrRise Displace the text vertically. Positive values move the text upwards. FieldspaStart :: Int paEnd :: Int paRise :: Double AttrShape Restrict the amount of what is drawn of the marked shapes.Available in Pango 1.8.0 and higher. FieldspaStart :: Int paEnd :: Int paInk :: PangoRectangle paLogical :: PangoRectangle AttrScale Scale the font up (values greater than one) or shrink the font. FieldspaStart :: Int paEnd :: Int paScale :: Double AttrFallback Determine if a fall back font should be substituted if no matching font is available. FieldspaStart :: Int paEnd :: Int paFallback :: Bool AttrLetterSpacing Add extra space between graphemes of the text.Available in Pango 1.6.0 and higher. FieldspaStart :: Int paEnd :: Int paLetterSpacing :: Double AttrGravity Sets the gravity field of a font description. The gravity field specifies how the glyphs should be rotated. If gravity is GravityAuto, this actually unsets the gravity mask on the font description.This function is seldom useful to the user. Gravity should normally be set on a PangoContext.Available in Pango 1.16.0 and higher. FieldspaStart :: Int paEnd :: Int paGravity :: PangoGravity AttrGravityHint Set the way horizontal scripts behave in a vertical context.Available in Pango 1.16.0 and higher. FieldspaStart :: Int paEnd :: Int paGravityHint :: PangoGravityHint

Instances

 Source # MethodsshowList :: [PangoAttribute] -> ShowS #

The EllipsizeMode type describes what sort of (if any) ellipsization should be applied to a line of text. In the ellipsization process characters are removed from the text in order to make it fit to a given width and replaced with an ellipsis.

Constructors

 EllipsizeNone EllipsizeStart EllipsizeMiddle EllipsizeEnd

Instances

 Source # Methods Source # Methods

The PangoGravity type represents the orientation of glyphs in a segment of text. The value GravitySouth, for instance, indicates that the text stands upright, i.e. that the base of the letter is directed downwards.

This is useful when rendering vertical text layouts. In those situations, the layout is rotated using a non-identity PangoMatrix, and then glyph orientation is controlled using PangoGravity. Not every value in this enumeration makes sense for every usage of Gravity; for example, PangoGravityAuto only can be passed to pangoContextSetBaseGravity and can only be returned by pangoContextGetBaseGravity.

• See also: PangoGravityHint
• Gravity is resolved from the context matrix.
• Since Pango 1.16

Instances

 Source # Methods Source # Methods Source # MethodsshowList :: [PangoGravity] -> ShowS #

The PangoGravityHint defines how horizontal scripts should behave in a vertical context.

• PangoGravityHintNatural: scripts will take their natural gravity based on the base gravity and the script. This is the default.
• PangoGravityHintStrong: always use the base gravity set, regardless of the script.
• PangoGravityHintLine: for scripts not in their natural direction (eg. Latin in East gravity), choose per-script gravity such that every script respects the line progression. This means, Latin and Arabic will take opposite gravities and both flow top-to-bottom for example.

Instances

 Source # Methods Source # Methods Source # MethodsshowList :: [PangoGravityHint] -> ShowS #

data Language Source #

An RFC-3066 language designator to choose scripts.

Instances

 Source # Methods Source # MethodsshowList :: [Language] -> ShowS #

Specifying no particular language.

languageFromString :: GlibString string => string -> IO Language Source #

Take a RFC-3066 format language tag as a string and convert it to a Language type that can be efficiently passed around and compared with other language tags.

• This function first canonicalizes the string by converting it to lowercase, mapping '_' to '-', and stripping all characters other than letters and '-'.