函数

Pangoitemize

声明 [src]

GList*
pango_itemize (
  PangoContext* context,
  const char* text,
  int start_index,
  int length,
  PangoAttrList* attrs,
  PangoAttrIterator* cached_iter
)

描述 [src]

将一段文字分解为具有始终如一的文本方向等级和字体的段落。

text 的每个字节都将在返回列表的其中一项中,生成的项目列表将按逻辑顺序排列(项目的开始偏移量是升序的)。

cached_iter 应该是 attrs 上的一个迭代器,当前定位于包含 start_index 之前或包含 start_index 的一个范围;cached_iter 将前进到涵盖 start_index + length 之后的那个位置的范围。(即在循环中进行项目化时,只需要不断传递相同的 cached_iter)。

参数

context

类型: PangoContext

一个包含影响项目化过程的信息的结构。

数据由函数调用者拥有。
text

类型: const char*

要项目化的文本。必须是有效的 UTF-8。

数据由函数调用者拥有。
该值为一个以 NUL 结尾的 UTF-8 字符串。
start_index

类型: int

要处理的 text 中的第一个字节。

length

类型: int

start_index 之后要处理的字节数(而不是字符数)。该值必须大于等于 0。

attrs

类型: PangoAttrList

应用于 text 的一组属性。

数据由函数调用者拥有。
cached_iter

类型: PangoAttrIterator

已缓存的属性迭代器。

该参数可以为 NULL
数据由函数调用者拥有。

返回值

类型: PangoItem* 的一个列表

一个 PangoItem 结构的 GList。项目应该使用 pango_item_free() 结合 g_list_free_full() 来释放。

函数调用者拥有该数据的所权,并且负责释放它。