1# drawing_text_font_descriptor.h 2<!--Kit: ArkGraphics 2D--> 3<!--Subsystem: Graphics--> 4<!--Owner: @oh_wangxk; @gmiao522; @Lem0nC--> 5<!--Designer: @liumingxiang--> 6<!--Tester: @yhl0101--> 7<!--Adviser: @ge-yafang--> 8## 概述 9 10定义了字体信息的相关接口,比如获取字体信息,查找指定字体等。 11 12**引用文件:** <native_drawing/drawing_text_font_descriptor.h> 13 14**库:** libnative_drawing.so 15 16**起始版本:** 14 17 18**相关模块:** [Drawing](capi-drawing.md) 19 20## 汇总 21 22### 枚举 23 24| 名称 | typedef关键字 | 描述 | 25| -- | -- | -- | 26| [OH_Drawing_SystemFontType](#oh_drawing_systemfonttype) | OH_Drawing_SystemFontType | 字体类型的枚举。 | 27 28### 函数 29 30| 名称 | 描述 | 31| -- | -- | 32| [OH_Drawing_FontDescriptor* OH_Drawing_MatchFontDescriptors(OH_Drawing_FontDescriptor* desc, size_t* num)](#oh_drawing_matchfontdescriptors) | 获取与指定字体描述符匹配的所有系统字体描述符,其中[OH_Drawing_FontDescriptor](capi-drawing-oh-drawing-fontdescriptor.md)的path字段不作为有效的匹配字段,其余字段不是默认值时生效。<br>如果参数desc的所有字段都是默认值,则获取所有系统字体描述符。<br>如果匹配失败,返回NULL。不再需要[OH_Drawing_FontDescriptor](capi-drawing-oh-drawing-fontdescriptor.md)时,请使用[OH_Drawing_DestroyFontDescriptors](capi-drawing-text-font-descriptor-h.md#oh_drawing_destroyfontdescriptors)接口释放该对象的指针。 | 33| [void OH_Drawing_DestroyFontDescriptors(OH_Drawing_FontDescriptor* descriptors, size_t num)](#oh_drawing_destroyfontdescriptors) | 释放字体描述符[OH_Drawing_FontDescriptor](capi-drawing-oh-drawing-fontdescriptor.md)数组。 | 34| [OH_Drawing_FontDescriptor* OH_Drawing_GetFontDescriptorByFullName(const OH_Drawing_String* fullName,OH_Drawing_SystemFontType fontType)](#oh_drawing_getfontdescriptorbyfullname) | 根据字体名称和字体类型获取指定的字体描述符,支持系统字体、风格字体和用户已安装字体。<br>字体描述符是描述字体特征的一种数据结构,它包含了定义字体外观和属性的详细信息。 | 35| [OH_Drawing_Array* OH_Drawing_GetSystemFontFullNamesByType(OH_Drawing_SystemFontType fontType)](#oh_drawing_getsystemfontfullnamesbytype) | 根据字体类型获取对应字体的字体名称数组。 | 36| [const OH_Drawing_String* OH_Drawing_GetSystemFontFullNameByIndex(OH_Drawing_Array* fullNameArray, size_t index)](#oh_drawing_getsystemfontfullnamebyindex) | 在字体名称数组中通过索引获取对应位置的字体名称。 | 37| [void OH_Drawing_DestroySystemFontFullNames(OH_Drawing_Array* fullNameArray)](#oh_drawing_destroysystemfontfullnames) | 释放通过字体类型获取的对应字体的字体名称数组占用的内存。 | 38 39## 枚举类型说明 40 41### OH_Drawing_SystemFontType 42 43``` 44enum OH_Drawing_SystemFontType 45``` 46 47**描述** 48 49字体类型的枚举。 50 51**起始版本:** 14 52 53| 枚举项 | 描述 | 54| -- | -- | 55| ALL = 1 << 0 | 所有字体类型。 | 56| GENERIC = 1 << 1 | 系统字体类型。 | 57| STYLISH = 1 << 2 | 风格字体类型 | 58| INSTALLED = 1 << 3 | 用户已安装字体类型。 | 59| CUSTOMIZED = 1 << 4 | 自定义字体类型。<br/> **起始版本:** 18| 60 61 62## 函数说明 63 64### OH_Drawing_MatchFontDescriptors() 65 66``` 67OH_Drawing_FontDescriptor* OH_Drawing_MatchFontDescriptors(OH_Drawing_FontDescriptor* desc, size_t* num) 68``` 69 70**描述** 71 72获取与指定字体描述符匹配的所有系统字体描述符,其中[OH_Drawing_FontDescriptor](capi-drawing-oh-drawing-fontdescriptor.md)的path字段不作为有效的匹配字段,其余字段不是默认值时生效。<br>如果参数desc的所有字段都是默认值,则获取所有系统字体描述符。<br>如果匹配失败,返回NULL。不再需要[OH_Drawing_FontDescriptor](capi-drawing-oh-drawing-fontdescriptor.md)时,请使用[OH_Drawing_DestroyFontDescriptors](capi-drawing-text-font-descriptor-h.md#oh_drawing_destroyfontdescriptors)接口释放该对象的指针。 73 74**系统能力:** SystemCapability.Graphic.Graphic2D.NativeDrawing 75 76**起始版本:** 18 77 78 79**参数:** 80 81| 参数项 | 描述 | 82| -- | -- | 83| [OH_Drawing_FontDescriptor](capi-drawing-oh-drawing-fontdescriptor.md)* desc | 指针。<br>建议使用[OH_Drawing_CreateFontDescriptor](capi-drawing-text-typography-h.md#oh_drawing_createfontdescriptor)获得有效的[OH_Drawing_FontDescriptor](capi-drawing-oh-drawing-fontdescriptor.md)实例。<br>如果自己创建[OH_Drawing_FontDescriptor](capi-drawing-oh-drawing-fontdescriptor.md)实例,请确保不用于匹配的字段是默认值。 | 84| size_t* num | 表示返回值数组的成员个数。 | 85 86**返回:** 87 88| 类型 | 说明 | 89| -- | -- | 90| [OH_Drawing_FontDescriptor](capi-drawing-oh-drawing-fontdescriptor.md)* | [OH_Drawing_FontDescriptor](capi-drawing-oh-drawing-fontdescriptor.md)数组,释放时请使用[OH_Drawing_DestroyFontDescriptors](capi-drawing-text-font-descriptor-h.md#oh_drawing_destroyfontdescriptors)。 | 91 92### OH_Drawing_DestroyFontDescriptors() 93 94``` 95void OH_Drawing_DestroyFontDescriptors(OH_Drawing_FontDescriptor* descriptors, size_t num) 96``` 97 98**描述** 99 100释放字体描述符[OH_Drawing_FontDescriptor](capi-drawing-oh-drawing-fontdescriptor.md)数组。 101 102**系统能力:** SystemCapability.Graphic.Graphic2D.NativeDrawing 103 104**起始版本:** 18 105 106 107**参数:** 108 109| 参数项 | 描述 | 110| -- | -- | 111| [OH_Drawing_FontDescriptor](capi-drawing-oh-drawing-fontdescriptor.md)* descriptors | 数组。 | 112| size_t num | [OH_Drawing_FontDescriptor](capi-drawing-oh-drawing-fontdescriptor.md)数组的成员个数。 | 113 114### OH_Drawing_GetFontDescriptorByFullName() 115 116``` 117OH_Drawing_FontDescriptor* OH_Drawing_GetFontDescriptorByFullName(const OH_Drawing_String* fullName,OH_Drawing_SystemFontType fontType) 118``` 119 120**描述** 121 122根据字体名称和字体类型获取指定的字体描述符,支持系统字体、风格字体和用户已安装字体。<br>字体描述符是描述字体特征的一种数据结构,它包含了定义字体外观和属性的详细信息。 123 124**系统能力:** SystemCapability.Graphic.Graphic2D.NativeDrawing 125 126**起始版本:** 14 127 128 129**参数:** 130 131| 参数项 | 描述 | 132| -- | -- | 133| const [OH_Drawing_String](capi-drawing-oh-drawing-string.md)* fullName | 表示指向字体名称字符串[OH_Drawing_String](capi-drawing-oh-drawing-string.md)的指针。 | 134| [OH_Drawing_SystemFontType](#oh_drawing_systemfonttype) fontType | 表示字体类型的枚举值[OH_Drawing_SystemFontType](capi-drawing-text-font-descriptor-h.md#oh_drawing_systemfonttype)。 | 135 136**返回:** 137 138| 类型 | 说明 | 139| -- | -- | 140| [OH_Drawing_FontDescriptor](capi-drawing-oh-drawing-fontdescriptor.md)* | 指向字体描述符对象[OH_Drawing_FontDescriptor](capi-drawing-oh-drawing-fontdescriptor.md)的指针,不再需要[OH_Drawing_FontDescriptor](capi-drawing-oh-drawing-fontdescriptor.md)时,请使用[OH_Drawing_DestroyFontDescriptor](capi-drawing-text-typography-h.md#oh_drawing_destroyfontdescriptor)接口释放该对象的指针。 | 141 142### OH_Drawing_GetSystemFontFullNamesByType() 143 144``` 145OH_Drawing_Array* OH_Drawing_GetSystemFontFullNamesByType(OH_Drawing_SystemFontType fontType) 146``` 147 148**描述** 149 150根据字体类型获取对应字体的字体名称数组。 151 152**系统能力:** SystemCapability.Graphic.Graphic2D.NativeDrawing 153 154**起始版本:** 14 155 156 157**参数:** 158 159| 参数项 | 描述 | 160| -- | -- | 161| [OH_Drawing_SystemFontType](#oh_drawing_systemfonttype) fontType | 表示字体类型的枚举值[OH_Drawing_SystemFontType](capi-drawing-text-font-descriptor-h.md#oh_drawing_systemfonttype)。 | 162 163**返回:** 164 165| 类型 | 说明 | 166| -- | -- | 167| [OH_Drawing_Array](capi-drawing-oh-drawing-array.md)* | 返回对应字体类型的字体名称数组[OH_Drawing_Array](capi-drawing-oh-drawing-array.md)的指针,不再需要[OH_Drawing_Array](capi-drawing-oh-drawing-array.md)时,请使用[OH_Drawing_DestroySystemFontFullNames](capi-drawing-text-font-descriptor-h.md#oh_drawing_destroysystemfontfullnames)接口释放该对象的指针。 | 168 169### OH_Drawing_GetSystemFontFullNameByIndex() 170 171``` 172const OH_Drawing_String* OH_Drawing_GetSystemFontFullNameByIndex(OH_Drawing_Array* fullNameArray, size_t index) 173``` 174 175**描述** 176 177在字体名称数组中通过索引获取对应位置的字体名称。 178 179**系统能力:** SystemCapability.Graphic.Graphic2D.NativeDrawing 180 181**起始版本:** 14 182 183 184**参数:** 185 186| 参数项 | 描述 | 187| -- | -- | 188| [OH_Drawing_Array](capi-drawing-oh-drawing-array.md)* fullNameArray | 表示字体名称数组[OH_Drawing_Array](capi-drawing-oh-drawing-array.md)的指针。 | 189| size_t index | 数组的索引。 | 190 191**返回:** 192 193| 类型 | 说明 | 194| -- | -- | 195| const [OH_Drawing_String](capi-drawing-oh-drawing-string.md)* | 返回对应索引的字体名称[OH_Drawing_String](capi-drawing-oh-drawing-string.md)的指针。 | 196 197### OH_Drawing_DestroySystemFontFullNames() 198 199``` 200void OH_Drawing_DestroySystemFontFullNames(OH_Drawing_Array* fullNameArray) 201``` 202 203**描述** 204 205释放通过字体类型获取的对应字体的字体名称数组占用的内存。 206 207**系统能力:** SystemCapability.Graphic.Graphic2D.NativeDrawing 208 209**起始版本:** 14 210 211 212**参数:** 213 214| 参数项 | 描述 | 215| -- | -- | 216| [OH_Drawing_Array](capi-drawing-oh-drawing-array.md)* fullNameArray | 表示字体名称数组[OH_Drawing_Array](capi-drawing-oh-drawing-array.md)的指针。 | 217 218 219