awtk/docs/how_to_enable_bidi.md
2020-07-16 07:58:53 +08:00

58 lines
1.3 KiB
Markdown
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 如何启用文本双向排版 (Unicode Bidirectional Algorithm)
## 1. 启用文本双向排版算法
定义宏 WITH\_TEXT\_BIDI 即可,嵌入式版本请修改 awtk_config.h:
```c
/**
* 如果希望支持文字双向排版算法(如阿拉伯语言),请定义本宏。
*
* #define WITH_TEXT_BIDI 1
*
*/
```
>PC 版本默认已经定义。
### 2. 加入相关文件
```
3rd/fribidi/fribidi-arabic.c
3rd/fribidi/fribidi-bidi-types.c
3rd/fribidi/fribidi-bidi.c
3rd/fribidi/fribidi-brackets.c
3rd/fribidi/fribidi-deprecated.c
3rd/fribidi/fribidi-joining-types.c
3rd/fribidi/fribidi-joining.c
3rd/fribidi/fribidi-mirroring.c
3rd/fribidi/fribidi-run.c
3rd/fribidi/fribidi-shape.c
3rd/fribidi/fribidi.c
src/base/bidi.c
```
>PC 版本默认已经加。
### 3. 控件的bidi属性
默认情况下文字的方向自动确定如果在某些情况下需要自己指定可以通过bidi属性来实现。
示例:
```xml
<label text="1. جامعة كولومبيا عام." style:font_size="30" style:font_name="trado" bidi="lro"/>
```
bidi的可选值有
* rtl Right-To-Left letter。
* ltr Left-To-Right letter。
* auto Auto Detection
* wrtl Weak Right To Left paragraph。
* wltr Weak Left To Right paragraph。
* lro Left-To-Right letter Override。
* rlo Right-To-Left letter Override。