• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# drawing_typeface.h
2
3## 概述
4
5文件中定义了与字形相关的功能函数。<br>不同的平台有自己的默认字形,也可以从ttf文件解析出三方指定字形,如宋体、黑体字形等。
6
7**引用文件:** <native_drawing/drawing_typeface.h>
8
9**库:** libnative_drawing.so
10
11**起始版本:** 11
12
13**相关模块:** [Drawing](capi-drawing.md)
14
15## 汇总
16
17### 函数
18
19| 名称 | 描述 |
20| -- | -- |
21| [OH_Drawing_Typeface* OH_Drawing_TypefaceCreateDefault(void)](#oh_drawing_typefacecreatedefault) | 用于创建一个默认的字形对象。 |
22| [OH_Drawing_Typeface* OH_Drawing_TypefaceCreateFromFile(const char* path, int index)](#oh_drawing_typefacecreatefromfile) | 通过文件创建一个字形对象。<br>本接口会产生错误码,可以通过[OH_Drawing_ErrorCodeGet](capi-drawing-error-code-h.md#oh_drawing_errorcodeget)查看错误码的取值。<br>path为NULL时返回OH_DRAWING_ERROR_INVALID_PARAMETER。 |
23| [OH_Drawing_Typeface* OH_Drawing_TypefaceCreateFromFileWithArguments(const char* path,const OH_Drawing_FontArguments* fontArguments)](#oh_drawing_typefacecreatefromfilewitharguments) | 从指定文件路径创建带有字型参数的字体对象。<br>如果字体对象不支持字型参数中描述的可变维度,此函数将会创建默认字型参数的字体对象。<br>在这种情况下,此函数将提供与[OH_Drawing_TypefaceCreateFromFile](capi-drawing-typeface-h.md#oh_drawing_typefacecreatefromfile)相同的功能。 |
24| [OH_Drawing_Typeface* OH_Drawing_TypefaceCreateFromCurrent(const OH_Drawing_Typeface* current,const OH_Drawing_FontArguments* fontArguments)](#oh_drawing_typefacecreatefromcurrent) | 通过已存在的字体对象创建带有字型参数的字体对象。 |
25| [OH_Drawing_Typeface* OH_Drawing_TypefaceCreateFromStream(OH_Drawing_MemoryStream* memoryStream, int32_t index)](#oh_drawing_typefacecreatefromstream) | 通过内存流创建一个字形对象。如果内存流是无效的字体文件,返回空指针。内存流传入后,所有权转移,开发者不能再释放它。<br>本接口会产生错误码,可以通过[OH_Drawing_ErrorCodeGet](capi-drawing-error-code-h.md#oh_drawing_errorcodeget)查看错误码的取值。<br>memoryStream为NULL时返回OH_DRAWING_ERROR_INVALID_PARAMETER。 |
26| [void OH_Drawing_TypefaceDestroy(OH_Drawing_Typeface* typeface)](#oh_drawing_typefacedestroy) | 用于销毁字形对象并回收该对象占有的内存。 |
27| [OH_Drawing_FontArguments* OH_Drawing_FontArgumentsCreate(void)](#oh_drawing_fontargumentscreate) | 用于创建一个字型参数对象。字型参数用于创建带有自定义属性的字体对象。 |
28| [OH_Drawing_ErrorCode OH_Drawing_FontArgumentsAddVariation(OH_Drawing_FontArguments* fontArguments,const char* axis, float value)](#oh_drawing_fontargumentsaddvariation) | 给字型参数对象添加可变维度。 |
29| [OH_Drawing_ErrorCode OH_Drawing_FontArgumentsDestroy(OH_Drawing_FontArguments* fontArguments)](#oh_drawing_fontargumentsdestroy) | 用于销毁一个字型参数对象。 |
30
31## 函数说明
32
33### OH_Drawing_TypefaceCreateDefault()
34
35```
36OH_Drawing_Typeface* OH_Drawing_TypefaceCreateDefault(void)
37```
38
39**描述**
40
41用于创建一个默认的字形对象。
42
43**系统能力:** SystemCapability.Graphic.Graphic2D.NativeDrawing
44
45**起始版本:** 11
46
47**返回:**
48
49| 类型 | 说明 |
50| -- | -- |
51| [OH_Drawing_Typeface](capi-drawing-oh-drawing-typeface.md)* | 返回一个指针,指针指向创建的字形对象。 |
52
53### OH_Drawing_TypefaceCreateFromFile()
54
55```
56OH_Drawing_Typeface* OH_Drawing_TypefaceCreateFromFile(const char* path, int index)
57```
58
59**描述**
60
61通过文件创建一个字形对象。<br>本接口会产生错误码,可以通过[OH_Drawing_ErrorCodeGet](capi-drawing-error-code-h.md#oh_drawing_errorcodeget)查看错误码的取值。<br>path为NULL时返回OH_DRAWING_ERROR_INVALID_PARAMETER。
62
63**系统能力:** SystemCapability.Graphic.Graphic2D.NativeDrawing
64
65**起始版本:** 12
66
67
68**参数:**
69
70| 参数项 | 描述 |
71| -- | -- |
72| const char* path | 指向文件路径的指针。 |
73| int index | 文件索引。 |
74
75**返回:**
76
77| 类型 | 说明 |
78| -- | -- |
79| [OH_Drawing_Typeface](capi-drawing-oh-drawing-typeface.md)* | 函数返回一个指针,指针指向创建的字形对象[OH_Drawing_Typeface](capi-drawing-oh-drawing-typeface.md)。 |
80
81### OH_Drawing_TypefaceCreateFromFileWithArguments()
82
83```
84OH_Drawing_Typeface* OH_Drawing_TypefaceCreateFromFileWithArguments(const char* path,const OH_Drawing_FontArguments* fontArguments)
85```
86
87**描述**
88
89从指定文件路径创建带有字型参数的字体对象。<br>如果字体对象不支持字型参数中描述的可变维度,此函数将会创建默认字型参数的字体对象。<br>在这种情况下,此函数将提供与[OH_Drawing_TypefaceCreateFromFile](capi-drawing-typeface-h.md#oh_drawing_typefacecreatefromfile)相同的功能。
90
91**系统能力:** SystemCapability.Graphic.Graphic2D.NativeDrawing
92
93**起始版本:** 13
94
95
96**参数:**
97
98| 参数项 | 描述 |
99| -- | -- |
100| const char* path | 指向字体对象所在文件路径的指针。 |
101| const [OH_Drawing_FontArguments](capi-drawing-oh-drawing-fontarguments.md)* fontArguments | 指向字型参数对象[OH_Drawing_FontArguments](capi-drawing-oh-drawing-fontarguments.md)的指针。 |
102
103**返回:**
104
105| 类型 | 说明 |
106| -- | -- |
107| [OH_Drawing_Typeface](capi-drawing-oh-drawing-typeface.md)* | 函数返回一个指针,指针指向创建的字体对象[OH_Drawing_Typeface](capi-drawing-oh-drawing-typeface.md)。<br> 如果返回的对象指针为空,则表示字体对象创建失败。失败的原因可能为:没有可用的内存、传入的文件路径对象指针或字型参数为空、传入的路径无效。 |
108
109### OH_Drawing_TypefaceCreateFromCurrent()
110
111```
112OH_Drawing_Typeface* OH_Drawing_TypefaceCreateFromCurrent(const OH_Drawing_Typeface* current,const OH_Drawing_FontArguments* fontArguments)
113```
114
115**描述**
116
117通过已存在的字体对象创建带有字型参数的字体对象。
118
119**系统能力:** SystemCapability.Graphic.Graphic2D.NativeDrawing
120
121**起始版本:** 13
122
123
124**参数:**
125
126| 参数项 | 描述 |
127| -- | -- |
128| const [OH_Drawing_Typeface](capi-drawing-oh-drawing-typeface.md)* current | 指向字体对象[OH_Drawing_Typeface](capi-drawing-oh-drawing-typeface.md)的指针。 |
129| const [OH_Drawing_FontArguments](capi-drawing-oh-drawing-fontarguments.md)* fontArguments | 指向字型参数对象[OH_Drawing_FontArguments](capi-drawing-oh-drawing-fontarguments.md)的指针。 |
130
131**返回:**
132
133| 类型 | 说明 |
134| -- | -- |
135| [OH_Drawing_Typeface](capi-drawing-oh-drawing-typeface.md)* | 函数返回一个指针,指针指向创建的字体对象[OH_Drawing_Typeface](capi-drawing-oh-drawing-typeface.md)。<br> 如果返回的对象指针为空,则表示字体对象创建失败。失败的原因可能为:没有可用的内存、传入的文件路径对象指针或字型参数为空、传入的字体对象不支持字型参数对象中描述的可变维度。 |
136
137### OH_Drawing_TypefaceCreateFromStream()
138
139```
140OH_Drawing_Typeface* OH_Drawing_TypefaceCreateFromStream(OH_Drawing_MemoryStream* memoryStream, int32_t index)
141```
142
143**描述**
144
145通过内存流创建一个字形对象。如果内存流是无效的字体文件,返回空指针。内存流传入后,所有权转移,开发者不能再释放它。<br>本接口会产生错误码,可以通过[OH_Drawing_ErrorCodeGet](capi-drawing-error-code-h.md#oh_drawing_errorcodeget)查看错误码的取值。<br>memoryStream为NULL时返回OH_DRAWING_ERROR_INVALID_PARAMETER。
146
147**系统能力:** SystemCapability.Graphic.Graphic2D.NativeDrawing
148
149**起始版本:** 12
150
151
152**参数:**
153
154| 参数项 | 描述 |
155| -- | -- |
156| [OH_Drawing_MemoryStream](capi-drawing-oh-drawing-memorystream.md)* memoryStream | 指向内存流对象[OH_Drawing_MemoryStream](capi-drawing-oh-drawing-memorystream.md)的指针。 |
157| int32_t index | 内存流索引。 |
158
159**返回:**
160
161| 类型 | 说明 |
162| -- | -- |
163| [OH_Drawing_Typeface](capi-drawing-oh-drawing-typeface.md)* | 返回一个指针,指针指向创建的字形对象[OH_Drawing_Typeface](capi-drawing-oh-drawing-typeface.md)。 |
164
165### OH_Drawing_TypefaceDestroy()
166
167```
168void OH_Drawing_TypefaceDestroy(OH_Drawing_Typeface* typeface)
169```
170
171**描述**
172
173用于销毁字形对象并回收该对象占有的内存。
174
175**系统能力:** SystemCapability.Graphic.Graphic2D.NativeDrawing
176
177**起始版本:** 11
178
179
180**参数:**
181
182| 参数项 | 描述 |
183| -- | -- |
184| [OH_Drawing_Typeface](capi-drawing-oh-drawing-typeface.md)* typeface | 指向字形对象的指针。 |
185
186### OH_Drawing_FontArgumentsCreate()
187
188```
189OH_Drawing_FontArguments* OH_Drawing_FontArgumentsCreate(void)
190```
191
192**描述**
193
194用于创建一个字型参数对象。字型参数用于创建带有自定义属性的字体对象。
195
196**系统能力:** SystemCapability.Graphic.Graphic2D.NativeDrawing
197
198**起始版本:** 13
199
200**返回:**
201
202| 类型 | 说明 |
203| -- | -- |
204| [OH_Drawing_FontArguments](capi-drawing-oh-drawing-fontarguments.md)* | 返回一个指针,指针指向创建的字型参数对象。 |
205
206### OH_Drawing_FontArgumentsAddVariation()
207
208```
209OH_Drawing_ErrorCode OH_Drawing_FontArgumentsAddVariation(OH_Drawing_FontArguments* fontArguments,const char* axis, float value)
210```
211
212**描述**
213
214给字型参数对象添加可变维度。
215
216**系统能力:** SystemCapability.Graphic.Graphic2D.NativeDrawing
217
218**起始版本:** 13
219
220
221**参数:**
222
223| 参数项 | 描述 |
224| -- | -- |
225| [OH_Drawing_FontArguments](capi-drawing-oh-drawing-fontarguments.md)* fontArguments | 指向字型参数对象[OH_Drawing_FontArguments](capi-drawing-oh-drawing-fontarguments.md)的指针。 |
226| const char* axis | 字型参数对象可变维度的标签,必须为4个ASCII字符。具体可支持的标签取决于加载的字体文件,如'wght'即为字重标签。 |
227| float value | 可变维度标签对应的取值。 |
228
229**返回:**
230
231| 类型 | 说明 |
232| -- | -- |
233| [OH_Drawing_ErrorCode](capi-drawing-error-code-h.md#oh_drawing_errorcode) | 函数返回执行错误码。<br> 返回OH_DRAWING_SUCCESS,表示执行成功。<br> 返回OH_DRAWING_ERROR_INVALID_PARAMETER,表示参数fontArguments或axis任意一个为NULL或者axis的长度不为4。 |
234
235### OH_Drawing_FontArgumentsDestroy()
236
237```
238OH_Drawing_ErrorCode OH_Drawing_FontArgumentsDestroy(OH_Drawing_FontArguments* fontArguments)
239```
240
241**描述**
242
243用于销毁一个字型参数对象。
244
245**系统能力:** SystemCapability.Graphic.Graphic2D.NativeDrawing
246
247**起始版本:** 13
248
249**参数:**
250
251| 参数项 | 描述 |
252| -- | -- |
253| [OH_Drawing_FontArguments](capi-drawing-oh-drawing-fontarguments.md)* fontArguments | 指向字型参数对象[OH_Drawing_FontArguments](capi-drawing-oh-drawing-fontarguments.md)的指针。 |
254
255**返回:**
256
257| 类型 | 说明 |
258| -- | -- |
259| [OH_Drawing_ErrorCode](capi-drawing-error-code-h.md#oh_drawing_errorcode) | 函数返回执行错误码。<br> 返回OH_DRAWING_SUCCESS,表示执行成功。<br> 返回OH_DRAWING_ERROR_INVALID_PARAMETER,表示参数fontArguments为NULL。 |
260
261
262