• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# 文本开发常见问题
2
3<!--Kit: ArkGraphics 2D-->
4<!--Subsystem: Graphics-->
5<!--Owner: @oh_wangxk; @gmiao522; @Lem0nC-->
6<!--Designer: @liumingxiang-->
7<!--Tester: @yhl0101-->
8<!--Adviser: @ge-yafang-->
9
10## 如何对找不到字形的字符进行显示优化
11
12目前对于找不到字形的字符默认显示为空白,可能让用户感到困惑。
13
14系统提供开关,开启后,未找到字形的字符会显示为豆腐块。
15
16- 在ArkTS环境中,可以使用setTextUndefinedGlyphDisplay接口开启开关,找不到字形的字符会强制显示为豆腐块。
17
18  ```ts
19  import { text } from "@kit.ArkGraphics2D";
20
21  text.setTextUndefinedGlyphDisplay(text.TextUndefinedGlyphDisplay.USE_TOFU);
22  ```
23
24
25
26- 在C/C++环境中,可以使用OH_Drawing_SetTextUndefinedGlyphDisplay接口开启开关,找不到字形的字符会强制显示为豆腐块。
27
28  ```c
29  #include "drawing/drawing_text_global.h"
30
31  OH_Drawing_SetTextUndefinedGlyphDisplay(TEXT_NO_GLYPH_USE_TOFU);
32  ```
33
34
35上述两个接口控制同一个开关,使用其一即可。
36
37以`"\uffffHello World\uffff"`文本为例,其中`\uffff `表示一个找不到字形的字符。
38
39对比效果如下:
40
41| 是否开启显示优化 | 示意效果                                                     |
42| ---------------- | ------------------------------------------------------------ |
43| 未开启           | ![zh-cn_image_undefined_off_ts](figures/zh-cn_image_undefined_off_ts.png) |
44| 开启             | ![zh-cn_image_undefined_on_ts](figures/zh-cn_image_undefined_on_ts.png) |