文本开发常见问题
========

#### 如何对找不到字形的字符进行显示优化

目前对于找不到字形的字符默认显示为空白，可能让用户感到困惑。

系统提供开关，开启后，未找到字形的字符会显示为豆腐块。

*   在ArkTS环境中，可以使用setTextUndefinedGlyphDisplay接口开启开关，找不到字形的字符会强制显示为豆腐块。
    
    import { text } from "@kit.ArkGraphics2D";
    
    text.setTextUndefinedGlyphDisplay(text.TextUndefinedGlyphDisplay.USE\_TOFU);
    
*   在C/C++环境中，可以使用OH\_Drawing\_SetTextUndefinedGlyphDisplay接口开启开关，找不到字形的字符会强制显示为豆腐块。
    
    #include "drawing/drawing\_text\_global.h"
    
    OH\_Drawing\_SetTextUndefinedGlyphDisplay(TEXT\_NO\_GLYPH\_USE\_TOFU);
    

上述两个接口控制同一个开关，使用其一即可。

以"\\uffffHello World\\uffff"文本为例，其中\\uffff表示一个找不到字形的字符。

对比效果如下：

| 是否开启显示优化 | 示意效果 |
| :-- | :-- |
| 未开启 | ![](https://contentcenter-vali-drcn.dbankcdn.cn/pvt_2/DeveloperAlliance_scene_100_1/c8/v3/Nrw3Bn4DSU-FL12o0TgB1A/zh-cn_image_0000002625188357.png?HW-CC-KV=V1&HW-CC-Date=20260612T073538Z&HW-CC-Expire=86400&HW-CC-Sign=C3D337BC3FB127F85846EB1E421BC78A0BF0B40E563FD6399F3CDA229AF1B026) |
| 开启 | ![](https://contentcenter-vali-drcn.dbankcdn.cn/pvt_2/DeveloperAlliance_scene_100_1/31/v3/l5GfJoHFQYOgUIYt98uc7A/zh-cn_image_0000002625108501.png?HW-CC-KV=V1&HW-CC-Date=20260612T073538Z&HW-CC-Expire=86400&HW-CC-Sign=D94B5A7EDA6B1061E0F6EBCE3CB607D5633908462B38396657A17EFDF60EC8E1) |