layout_object_create 子例程

用途

初始化布局上下文。

布局库 (libi18n.a)

语法

#include <sys/lc_layout.h>
int layout_object_create (locale_name, layout_object)
const char * locale_name;
LayoutObject * layout_object;

描述

layout_object_create 子例程创建与 locale_name 参数指定的语言环境相关联的 LayoutObject 结构。 LayoutObject 结构是一个符号链接,其中包含对指定语言环境的上下文相关字符和双向字符执行布局操作所需的所有数据和方法。

layout_object_create 子例程完成而没有错误时, layout_object 参数指向可由其他 BIDI 子例程使用的有效 LayoutObject 结构。 返回的 LayoutObject 结构将初始化为用于定义 BIDI 子例程行为的初始状态。 此初始状态依赖于语言环境,并由 layout_ object_getvalue 子例程返回的布局值描述。 可以使用 layout_object_setvalue 子例程来更改 LayoutObject 结构的布局值。 由 LayoutObject 结构维护的任何状态都与使用 setlocale 子例程设置的当前全局语言环境无关。

注: 如果要开发可能支持多字节语言环境的国际化应用程序,请参阅 常规编程概念: 编写和调试程序 中的 使用 libcur 包

参数

描述
本地名称 指定语言环境。 建议您通过调用 setlocale (LC_CTYPE, NULL) 子例程来使用 LC_CTYPE 类别。
layout_object 指向可由其他布局子例程使用的有效 LayoutObject 结构。 仅当 layout_object_create 子例程完成而没有错误时,才会使用此参数。

未设置 layout_object 参数,如果无法创建有效的 LayoutObject 结构,那么将返回非零值。

返回值

成功完成时, layout_object_create 子例程返回值 0。 layout_object 参数指向有效的句柄。

错误代码

如果 layout_object_create 子例程失败,那么它将返回以下错误代码:

描述
LAYOUT_EINVAL locale_name 参数指定的语言环境不可用。
LAYOUT_EMFILE 文件描述符的 OPEN_MAX 值当前在调用进程中打开。
LAYOUT_ENOMEM 存储空间不足。