## bidi\_t ### 概述 Unicode Bidirectional Algorithm. ---------------------------------- ### 函数

| 函数名称 | 说明 | | -------- | ------------ | | bidi\_deinit | 释放bidi对象相关资源。 | | bidi\_init | 初始化bidi对象。 | | bidi\_log2vis | 将字符串转成用于显示的字符串,输出结果放在bidi->vis_str中。 | | bidi\_type\_from\_name | 将bidi类型的名称转换成类型。 | ### 属性

| 属性名称 | 类型 | 说明 | | -------- | ----- | ------------ | | positions\_L\_to\_V | int32\_t* | logical位置与visual位置的映射。 | | positions\_V\_to\_L | int32\_t* | visual位置与logical位置的映射。 | | request\_type | bidi\_type\_t | 请求的类型。 | | resolved\_type | bidi\_type\_t | 实际的类型。 | | vis\_str | wchar\_t* | 用于显示的字符串(存放log2vis的结果)。 | | vis\_str\_size | uint32\_t | 用于显示的字符串长度(存放log2vis的结果)。 | #### bidi\_deinit 函数 ----------------------- * 函数功能: >

释放bidi对象相关资源。 * 函数原型: ``` ret_t bidi_deinit (bidi_t* bidi); ``` * 参数说明: | 参数 | 类型 | 说明 | | -------- | ----- | --------- | | 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | | bidi | bidi\_t* | bidi对象。 | #### bidi\_init 函数 ----------------------- * 函数功能: >

初始化bidi对象。 * 函数原型: ``` bidi_t* bidi_init (bidi_t* bidi, bool_t alloc_l2v, bool_t alloc_v2l, bidi_type_t type); ``` * 参数说明: | 参数 | 类型 | 说明 | | -------- | ----- | --------- | | 返回值 | bidi\_t* | 返回bidi对象。 | | bidi | bidi\_t* | bidi对象。 | | alloc\_l2v | bool\_t | 是否为positions\_L\_to\_V分配空间。 | | alloc\_v2l | bool\_t | 是否为positions\_V\_to\_L分配空间。 | | type | bidi\_type\_t | 类型。 | #### bidi\_log2vis 函数 ----------------------- * 函数功能: >

将字符串转成用于显示的字符串,输出结果放在bidi->vis_str中。 * 函数原型: ``` ret_t bidi_log2vis (bidi_t* bidi, const wchar_t* str, uint32_t size); ``` * 参数说明: | 参数 | 类型 | 说明 | | -------- | ----- | --------- | | 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | | bidi | bidi\_t* | bidi对象。 | | str | const wchar\_t* | 字符串。 | | size | uint32\_t | 字符串的长度。 | #### bidi\_type\_from\_name 函数 ----------------------- * 函数功能: >

将bidi类型的名称转换成类型。 * 函数原型: ``` bidi_type_t bidi_type_from_name (const char* name); ``` * 参数说明: | 参数 | 类型 | 说明 | | -------- | ----- | --------- | | 返回值 | bidi\_type\_t | 返回bidi对象。 | | name | const char* | 类型名称(取值:rtl,ltr,auto,wrtl,wltr,lro,rlo)。 | #### positions\_L\_to\_V 属性 ----------------------- >

logical位置与visual位置的映射。 * 类型:int32\_t* | 特性 | 是否支持 | | -------- | ----- | | 可直接读取 | 是 | | 可直接修改 | 否 | #### positions\_V\_to\_L 属性 ----------------------- >

visual位置与logical位置的映射。 * 类型:int32\_t* | 特性 | 是否支持 | | -------- | ----- | | 可直接读取 | 是 | | 可直接修改 | 否 | #### request\_type 属性 ----------------------- >

请求的类型。 * 类型:bidi\_type\_t | 特性 | 是否支持 | | -------- | ----- | | 可直接读取 | 是 | | 可直接修改 | 否 | #### resolved\_type 属性 ----------------------- >

实际的类型。 * 类型:bidi\_type\_t | 特性 | 是否支持 | | -------- | ----- | | 可直接读取 | 是 | | 可直接修改 | 否 | #### vis\_str 属性 ----------------------- >

用于显示的字符串(存放log2vis的结果)。 * 类型:wchar\_t* | 特性 | 是否支持 | | -------- | ----- | | 可直接读取 | 是 | | 可直接修改 | 否 | #### vis\_str\_size 属性 ----------------------- >

用于显示的字符串长度(存放log2vis的结果)。 * 类型:uint32\_t | 特性 | 是否支持 | | -------- | ----- | | 可直接读取 | 是 | | 可直接修改 | 否 |