cf026ff0创建于 2025年2月17日历史提交

drawing_font.h

概述

文件中定义了与字体相关的功能函数。

引用文件:<native_drawing/drawing_font.h>

库: libnative_drawing.so

起始版本: 11

相关模块:Drawing

汇总

结构体

名称 描述
struct OH_Drawing_Font_Metrics 定义字体度量信息的结构体。

类型定义

名称 描述
typedef enum OH_Drawing_FontEdging OH_Drawing_FontEdging 字型边缘效果类型枚举。
typedef enum OH_Drawing_FontHinting OH_Drawing_FontHinting 字型轮廓效果类型枚举。
typedef struct OH_Drawing_Font_Metrics OH_Drawing_Font_Metrics 定义字体度量信息的结构体。

枚举

名称 描述
OH_Drawing_FontEdging { FONT_EDGING_ALIAS, FONT_EDGING_ANTI_ALIAS, FONT_EDGING_SUBPIXEL_ANTI_ALIAS } 字型边缘效果类型枚举。
OH_Drawing_FontHinting { FONT_HINTING_NONE, FONT_HINTING_SLIGHT, FONT_HINTING_NORMAL, FONT_HINTING_FULL } 字型轮廓效果类型枚举。

函数

名称 描述
OH_Drawing_ErrorCode OH_Drawing_FontSetThemeFontFollowed (OH_Drawing_Font *font, bool followed) 设置字型中的字体是否跟随主题字体。设置跟随主题字体后,若系统启用主题字体并且字型未被设置字体,字型会使用该主题字体。
OH_Drawing_ErrorCode OH_Drawing_FontIsThemeFontFollowed (const OH_Drawing_Font *font, bool *followed) 获取字型中的字体是否跟随主题字体。默认不跟随主题字体。
OH_Drawing_ErrorCode OH_Drawing_FontGetBounds (const OH_Drawing_Font *font, const uint16_t *glyphs, uint32_t count, OH_Drawing_Array *bounds) 获取字体指定字形索引的矩形边界。
OH_Drawing_ErrorCode OH_Drawing_FontGetPathForGlyph (const OH_Drawing_Font *font, uint16_t glyph, OH_Drawing_Path *path) 获取字体指定字形索引的轮廓。
OH_Drawing_ErrorCode OH_Drawing_FontGetTextPath (const OH_Drawing_Font *font, const void *text, size_t byteLength, OH_Drawing_TextEncoding encoding, float x, float y, OH_Drawing_Path *path) 获取文字轮廓路径。
OH_Drawing_ErrorCode OH_Drawing_FontMeasureSingleCharacter (const OH_Drawing_Font *font, const char *str, float *textWidth) 用于测量单个字符的宽度。当前字型中的字体不支持待测量字符时,退化到使用系统字体测量字符宽度。
OH_Drawing_ErrorCode OH_Drawing_FontMeasureText (const OH_Drawing_Font *font, const void *text, size_t byteLength, OH_Drawing_TextEncoding encoding, OH_Drawing_Rect *bounds, float *textWidth) 用于获取文本的宽度和边界框。
void OH_Drawing_FontSetBaselineSnap (OH_Drawing_Font *, bool baselineSnap) 当前画布矩阵轴对齐时,将字型基线设置为是否与像素对齐。
bool OH_Drawing_FontIsBaselineSnap (const OH_Drawing_Font *) 当前画布矩阵轴对齐时,获取字型基线是否与像素对齐。
void OH_Drawing_FontSetEdging (OH_Drawing_Font *, OH_Drawing_FontEdging) 用于设置字型边缘效果。
OH_Drawing_FontEdging OH_Drawing_FontGetEdging (const OH_Drawing_Font *) 获取字型边缘效果。
void OH_Drawing_FontSetForceAutoHinting (OH_Drawing_Font *, bool isForceAutoHinting) 用于设置是否自动调整字型轮廓。
bool OH_Drawing_FontIsForceAutoHinting (const OH_Drawing_Font *) 获取字型轮廓是否自动调整。
void OH_Drawing_FontSetSubpixel (OH_Drawing_Font *, bool isSubpixel) 设置字型是否使用次像素渲染。
bool OH_Drawing_FontIsSubpixel (const OH_Drawing_Font *) 获取字型是否使用次像素渲染。
OH_Drawing_Font * OH_Drawing_FontCreate (void) 用于创建一个字型对象。
void OH_Drawing_FontSetTypeface (OH_Drawing_Font *, OH_Drawing_Typeface *) 用于给字型设置字体。
OH_Drawing_Typeface * OH_Drawing_FontGetTypeface (OH_Drawing_Font *) 获取字体对象。
void OH_Drawing_FontSetTextSize (OH_Drawing_Font *, float textSize) 用于给字型设置文字大小。
float OH_Drawing_FontGetTextSize (const OH_Drawing_Font *) 获取字型文字大小。
int OH_Drawing_FontCountText (OH_Drawing_Font *, const void *text, size_t byteLength, OH_Drawing_TextEncoding encoding) 获取文本所表示的字符数量。
uint32_t OH_Drawing_FontTextToGlyphs (const OH_Drawing_Font *, const void *text, uint32_t byteLength, OH_Drawing_TextEncoding encoding, uint16_t *glyphs, int maxGlyphCount) 用于将文本转换为字形索引。
void OH_Drawing_FontGetWidths (const OH_Drawing_Font *, const uint16_t *glyphs, int count, float *widths) 用于获取字符串中每个字符的宽度。
void OH_Drawing_FontSetLinearText (OH_Drawing_Font *, bool isLinearText) 用于设置线性可缩放字型。
bool OH_Drawing_FontIsLinearText (const OH_Drawing_Font *) 获取字型是否使用线性缩放。
void OH_Drawing_FontSetTextSkewX (OH_Drawing_Font *, float skewX) 用于给字型设置文本倾斜。
float OH_Drawing_FontGetTextSkewX (const OH_Drawing_Font *) 获取字型文本在x轴上的倾斜度。
void OH_Drawing_FontSetFakeBoldText (OH_Drawing_Font *, bool isFakeBoldText) 用于设置增加描边宽度以近似粗体字体效果。
bool OH_Drawing_FontIsFakeBoldText (const OH_Drawing_Font *) 获取是否增加笔画宽度以接近粗体字体。
void OH_Drawing_FontSetScaleX (OH_Drawing_Font *, float scaleX) 用于设置字型对象在x轴上的缩放比例。
float OH_Drawing_FontGetScaleX (const OH_Drawing_Font *) 获取字型对象在x轴上的缩放比例。
void OH_Drawing_FontSetHinting (OH_Drawing_Font *, OH_Drawing_FontHinting) 用于设置字型轮廓效果。
OH_Drawing_FontHinting OH_Drawing_FontGetHinting (const OH_Drawing_Font *) 获取字型轮廓效果枚举类型。
void OH_Drawing_FontSetEmbeddedBitmaps (OH_Drawing_Font *, bool isEmbeddedBitmaps) 用于设置字型是否转换成位图处理。
bool OH_Drawing_FontIsEmbeddedBitmaps (const OH_Drawing_Font *) 获取字型是否转换成位图处理。
void OH_Drawing_FontDestroy (OH_Drawing_Font *) 用于销毁字型对象并回收该对象占有的内存。
float OH_Drawing_FontGetMetrics (OH_Drawing_Font *, OH_Drawing_Font_Metrics *) 获取字体度量信息。