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 
PangoContext structure stores global information
used to control the itemization process.   PangoItem- 
The 
PangoItem structure 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 
PangoAnalysis structure 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 
PangoLogAttr structure 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.start
	and is.word.end set 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.boundary denotes
	the boundaries there. The second way doesn't assign
	between-sentence spaces, etc. to any sentence, so
	is.sentence.start/is.sentence.end mark 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.start
	and is.sentence.end set 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.position is
                              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 of pangoBreak, this
                              bit is set on all grapheme boundaries except
                              those following Latin, Cyrillic or Greek base
                              characters.