1# ArkGraphics2D变更说明 2 3## cl.arkgraphics2d.1 主模块metadata标签新增ohos.graphics2d.text.adapter_text_height支持全局使能新的行高计算规则 4 5**访问级别** 6 7公开接口 8 9**变更原因** 10 11为了进一步提升文字显示效果,新增支持应用全局使用新的行高计算规则。 12 13**变更影响** 14 15该变更为兼容性变更。 16在主模块的[module.json5配置文件metadata标签](../../../application-dev/quick-start/module-configuration-file.md#metadata标签)中新增ohos.graphics2d.text.adapter_text_height以支持应用使能新的行高计算规则。 17 18```json 19{ 20 "module": { 21 "name": "test", 22 "type": "entry", 23 "metadata": [ 24 { 25 "name": "ohos.graphics2d.text.adapter_text_height", 26 } 27 ] 28 } 29} 30``` 31应用未配置ohos.graphics2d.text.adapter_text_height的情况(即默认情况)下仍使用默认的行高计算规则。 32默认行高规则如下: 33 34当字号为fontSize(单位为px)时,默认的行高计算规则为`(|descender|+|ascender|)/unitsPerEm*fontSize`。 35 36在主模块配置ohos.graphics2d.text.adapter_text_height后,整个应用使能新的行高规则。 37新的行高计算规则如下: 38 391. 自定义字体:当字号为fontSize(单位为px)时,对应的行高计算规则为`(|yMin|+|yMax|)/unitsPerEm*fontSize`。 402. 系统字体:当字号为fontSize(单位为px)时,对应的行高计算规则为`(|yMin|+|yMax|)/unitsPerEm*fontSize`。系统字体行高以HarmonyOS_Sans.ttf文件中的行高计算结果为准。 41 42可以使用[字体文件查看工具](https://opentype.js.org/font-inspector.html),查看对应字体文件的各项参数,了解将要使用的字体行高和效果等。 43 44下面以查看HarmonyOS_Sans.ttf文件为例,介绍系统字体行高的默认计算规则和新增支持的行高计算规则。 45 46| HarmonyOS_Sans.ttf字体文件参数 | 47| ----------------------------------------------------- | 48|  | 49 50上图表示HarmonyOS_Sans字体,在1000px字号下,yMin值为-271,yMax值为1056,ascender值为928,descender值为-244。 511. 默认的行高计算规则下,50px的HaromonyOS_Sans字体的行高为(|-244|+|928|)/1000*50=58.6px。 522. 新的行高计算规则下,50px的HaromonyOS_Sans字体的行高为(|-271|+|1056|)/1000*50=66.35px。 53 54**起始API Level** 55 5613 57 58**变更发生版本** 59 60从OpenHarmony SDK 5.0.0.46版本开始。 61 62**变更的接口/组件** 63 64不涉及 65 66**适配指导** 67 68此次支持新的行高计算规则,后续版本可能直接作为默认规则,基于后续兼容性及UI效果展示等各项原因,建议各项应用在开发过程中都使用新的字体行高规则。 69 70主模块配置ohos.graphics2d.text.adapter_text_height使用新的字体行高规则后,应用界面可能会出现截断、遮挡、内容相对位置发生变化等不符合预期的显示异常,需要开发者根据新的行高数值修改对应的页面布局。