PangoLayout

说明 [src]

final class Pango.Layout : GObject.Object
{
  /* No available fields */
}

PangoLayout 结构表示一整段文字。

虽然通过分项和造型的详细界面提供了

一个 PangoLayout 通过一个 PangoContextUTF-8 字符串以及针对该字符串的一组属性来初始化。完成后,从该对象中可以提取出一组已格式化的行,可以渲染布局,在布局文本中的逻辑字符位置和生成字形的物理位置之间可以进行转换。

有一些参数可以调整 PangoLayout 的格式。下图显示了可调整参数(在左侧)和字体指标(在右侧)。

Pango Layout Parameters

下图演示了对齐和两端对齐对文本布局的影响。

align=left align=left, justify
align=center align=center, justify
align=right align=right, justify

同样,也可以忽略 2-D 设置,简单地把 PangoLayout 的结果当作一行列表。

祖先

构造函数

pango_layout_new

创建一个新的 `PangoLayout` 对象,其属性初始化为某个特定 `PangoContext` 的默认值。

函数

pango_layout_deserialize

加载之前通过 `pango_layout_serialize()` 创建的数据。

since: 1.50

实例方法

pango_layout_context_changed

强制重新计算 PangoLayout 中可能依赖于布局内容的任何状态。

pango_layout_copy

创建布局的深度按值拷贝。

pango_layout_get_alignment

获取布局的对齐方式:如何将局部行定位在可用的水平空间内。

pango_layout_get_attributes

获取布局的属性列表(如果有)。

pango_layout_get_auto_dir

获取是否根据布局的内容计算布局的基本方向。

since: 1.4

pango_layout_get_baseline

获取 `layout` 中第一行的基线的 Y 坐标。

since: 1.22

pango_layout_get_caret_pos

提供布局中的索引,确定如果插入点在该索引中, strong 和 weak 光标的位置。

since: 1.50

pango_layout_get_character_count

返回 `layout` 文本中的 Unicode 字符数。

since: 1.30

pango_layout_get_context

检索用于此布局的 `PangoContext`。

pango_layout_get_cursor_pos

提供布局中的索引,确定如果插入点在该索引中, strong 和 weak 光标的位置。

pango_layout_get_direction

获取 `layout` 中给定字符位置的文本方向。

since: 1.46

pango_layout_get_ellipsize

获取针对 `layout` 执行的省略号类型。

since: 1.6

pango_layout_get_extents

计算 `layout` 的逻辑和墨水范围。

pango_layout_get_font_description

获取布局的字体描述(如果有)。

since: 1.8

pango_layout_get_height

获取用于省略号的布局高度。

since: 1.20

pango_layout_get_indent

获取 Pango 单位中的段落缩进宽度。

pango_layout_get_iter

返回一个迭代器来迭代布局的视觉范围。

pango_layout_get_justify

获取是否应将每行完整的文本拉伸为填充布局的整个宽度。

pango_layout_get_justify_last_line

获取是否应将最后一行拉伸为填充布局的整个宽度。

since: 1.50

pango_layout_get_line

从一个 `PangoLayout` 中检索特定行。

pango_layout_get_line_count

检索 `layout` 的行数。

pango_layout_get_line_readonly

从一个 `PangoLayout` 中检索特定行。

since: 1.16

pango_layout_get_line_spacing

获取 `layout` 的行距因子。

since: 1.44

pango_layout_get_lines

将 `layout` 的行作为列表返回。

pango_layout_get_lines_readonly

将 `layout` 的行作为列表返回。

since: 1.16

pango_layout_get_log_attrs

检索 `layout` 中每个字符的逻辑属性数组。

pango_layout_get_log_attrs_readonly

检索 `layout` 中每个字符的逻辑属性数组。

since: 1.30

pango_layout_get_pixel_extents

计算 `layout` 的设备单位中的逻辑和墨水范围。

pango_layout_get_pixel_size

确定 `PangoLayout` 在设备单位中的逻辑宽度和高度。

pango_layout_get_serial

返回当前layout的序列号。

since: 1.32.4

pango_layout_get_single_paragraph_mode

取得layout是否在单段落模式下。

pango_layout_get_size

以 Pango 单元为单位确定一个PangoLayout的逻辑宽度和高度。

pango_layout_get_spacing

获取布局行之间的间距量。

pango_layout_get_tabs

获取此布局当前使用的PangoTabArray

pango_layout_get_text

获取布局中的文本。

pango_layout_get_unknown_glyphs_count

计算layout中未知字形的数量。

since: 1.16

pango_layout_get_width

获取PangoLayout中的行应该换行的宽度。

pango_layout_get_wrap

获取此layout的换行模式。

pango_layout_index_to_line_x

layout中字节index_转换为行以及 X 位置。

pango_layout_index_to_pos

从一个PangoLayout中的索引转换为对应于该索引处音素的屏幕位置。

pango_layout_is_ellipsized

查询布局是否必须省略任何段落。

since: 1.16

pango_layout_is_wrapped

查询布局是否必须换行任何段落。

since: 1.16

pango_layout_move_cursor_visually

从旧位置和方向计算一个新的光标位置。

pango_layout_serialize

layout进行序列化,以便以后通过pango_layout_deserialize()进行反序列化。

since: 1.50

pango_layout_set_alignment

设置布局的对齐:如何将部分行置于可用水平空间中。

pango_layout_set_attributes

设置一个布局对象的文本属性。

pango_layout_set_auto_dir

设置是否根据其内容为布局计算基本方向。

since: 1.4

pango_layout_set_ellipsize

设置对layout执行的省略类型。

since: 1.6

pango_layout_set_font_description

设置此layout的默认字体描述。

pango_layout_set_height

设置PangoLayout在该位置缩略显示的高度。

since: 1.20

pango_layout_set_indent

设置每个段落的缩进宽度,以 Pango 单元为单位。

pango_layout_set_justify

设置每个完整的行是否都应当被拉伸以填满layout的整个宽度。

pango_layout_set_justify_last_line

设置最后一行是否应该被拉伸以填满layout的整个宽度。

since: 1.50

pango_layout_set_line_spacing

设置行距因子。

since: 1.44

pango_layout_set_markup

通过标记文本设置布局文本和属性列表。

pango_layout_set_markup_with_accel

通过标记文本设置布局文本和属性列表。

pango_layout_set_single_paragraph_mode

设置layout的单段落模式。

pango_layout_set_spacing

设置layout行间距的 Pango 单位数量。

pango_layout_set_tabs

设置要用于layout的选项卡,替换默认选项卡。

pango_layout_set_text

设置layout的文本。

pango_layout_set_width

设置PangoLayout中行应该换行或省略的宽度。

pango_layout_set_wrap

设置换行模式

pango_layout_write_to_file

将布局序列化到文件上的一个便捷方法。

since: 1.50

pango_layout_xy_to_index

从布局中的 X 和 Y 位置转换为字符在该逻辑位置的字节索引。

GObject (43) 继承的方法

请参阅 GObject 以获得方法的完整列表。

信号

GObject 中继承的信号 (1)
GObject::notify

当某个属性值通过 g_object_set_property()、g_object_set() 等等进行设置时,会在对象中触发通知信号。

类结构

struct PangoLayoutClass {
  /* no available fields */
}

无可用说明。