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

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

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

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

*   在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/1c/v3/gcwZ7TDDRNe43oEq8YpKvg/zh-cn_image_0000002634009438.png?HW-CC-KV=V1&HW-CC-Date=20260709T132547Z&HW-CC-Expire=86400&HW-CC-Sign=C6CB435904DF784E26B15E5A2DF1BE8A5904815723663288A5D24FCF5997396A) |
| 开启 | ![](https://contentcenter-vali-drcn.dbankcdn.cn/pvt_2/DeveloperAlliance_scene_100_1/e7/v3/abRWkOZYTaeOxbVfnkesEg/zh-cn_image_0000002664208587.png?HW-CC-KV=V1&HW-CC-Date=20260709T132547Z&HW-CC-Expire=86400&HW-CC-Sign=9C2BE95D58011C8AE8477B62B2A6DB90CCC2D1C525F5D7B8409136B1FE518D02) |