pango-Text-Processing: Rendering
Description
Functions to run the rendering pipelineMethods and Functions
pangoItemize(context, text, start.index, length, attrs, cached.iter = NULL)
pangoItemizeWithBaseDir(context, base.dir, text, start.index, length, attrs, cached.iter = NULL)
pangoItemCopy(item)
pangoItemNew()
pangoItemSplit(orig, split.index, split.offset)
pangoReorderItems(logical.items)
pangoContextSetFontMap(object, font.map)
pangoContextGetFontMap(object)
pangoContextGetFontDescription(object)
pangoContextSetFontDescription(object, desc)
pangoContextGetLanguage(object)
pangoContextSetLanguage(object, language)
pangoContextGetBaseDir(object)
pangoContextSetBaseDir(object, direction)
pangoContextGetBaseGravity(object)
pangoContextSetBaseGravity(object, gravity)
pangoContextGetGravity(object)
pangoContextGetGravityHint(object)
pangoContextSetGravityHint(object, hint)
pangoContextGetMatrix(object)
pangoContextSetMatrix(object, matrix)
pangoContextLoadFont(object, desc)
pangoContextLoadFontset(object, desc, language)
pangoContextGetMetrics(object, desc, language = NULL)
pangoContextListFamilies(object)
pangoBreak(text, analysis)
pangoGetLogAttrs(text, level, language)
pangoFindParagraphBoundary(text, length = -1)
pangoShape(text, analysis, glyphs) Hierarchy
GObject
   +----PangoContext
Detailed Description
The Pango rendering pipeline takes a string of
Unicode characters and converts it into glyphs.
The functions described in this section accomplish
various steps of this process.Structures
- PangoContext
- 
The PangoContextstructure stores global information
used to control the itemization process.
- PangoItem
- 
The PangoItemstructure stores information about
a segment of text. It contains the following fields:
- offset
- [integer] the offset of the segment from the beginning of the
         string in bytes.
- length
- [integer] the length of the segment in bytes.
- numChars
- [integer] the length of the segment in characters.
- analysis
- [PangoAnalysis] the properties of the segment.
 
- PangoAnalysis
- 
The PangoAnalysisstructure stores information about
the properties of a segment of text. It has the following
fields:
- font
- [PangoFont] the engine for doing rendering-system-dependent processing.
- level
- [raw] the engine for doing rendering-system-independent processing.
- language
- [PangoLanguage] the font for this segment.
- extraAttrs
- [list] the bidirectional level for this segment.
 
- PangoLogAttr
- 
The PangoLogAttrstructure stores information
about the attributes of a single character.
- isLineBreak
- [numeric] if set, can break line in front of character
- isMandatoryBreak
- [numeric] if set, must break line in front of character
- isCharBreak
- [numeric] if set, can break here when doing character wrapping
- isWhite
- [numeric] is whitespace character
- isCursorPosition
- [numeric] if set, cursor can appear in front of character.
	i.e. this is a grapheme boundary, or the first character
        in the text.
	This flag implements Unicode's
	Grapheme
	Cluster Boundaries (http://www.unicode.org/reports/tr29/) semantics.
- isWordStart
- [numeric] is first character in a word
- isWordEnd
- [numeric] is first non-word char after a word
	Note that in degenerate cases, you could have both is.word.startandis.word.endset for some character.
- isSentenceBoundary
- [numeric] is a sentence boundary.
        There are two ways to divide sentences. The first assigns all
	inter-sentence whitespace/control/format chars to some sentence,
	so all chars are in some sentence; is.sentence.boundarydenotes
	the boundaries there. The second way doesn't assign
	between-sentence spaces, etc. to any sentence, sois.sentence.start/is.sentence.endmark the boundaries
	of those sentences.
- isSentenceStart
- [numeric] is first character in a sentence
- isSentenceEnd
- [numeric] is first char after a sentence.
	Note that in degenerate cases, you could have both is.sentence.startandis.sentence.endset for some character. (e.g. no space after a
	period, so the next sentence starts right away)
- backspaceDeletesCharacter
- [numeric] if set, backspace deletes one character
                              rather than the entire grapheme cluster. This
                              field is only meaningful on grapheme
                              boundaries (where is.cursor.positionis
                              set).  In some languages, the full grapheme
                              (e.g.  letter + diacritics) is considered a
                              unit, while in others, each decomposed
                              character in the grapheme is a unit. In the
                              default implementation ofpangoBreak, this
                              bit is set on all grapheme boundaries except
                              those following Latin, Cyrillic or Greek base
                              characters.