drawing_text_typography.h

概述

定义绘制模块中排版相关的函数。

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

库: libnative_drawing.so

起始版本: 8

相关模块:Drawing

汇总

结构体

名称 描述
struct OH_Drawing_PlaceholderSpan 用于描述占位符跨度的结构体。
struct OH_Drawing_FontDescriptor 描述系统字体详细信息的结构体。
struct OH_Drawing_LineMetrics 文字行位置信息。
struct OH_Drawing_FontFallbackInfo 备用字体信息结构体。
struct OH_Drawing_FontFallbackGroup 备用字体集信息结构体。
struct OH_Drawing_FontAdjustInfo 字重映射信息结构体。
struct OH_Drawing_FontAliasInfo 别名字体信息结构体。
struct OH_Drawing_FontGenericInfo 系统所支持的通用字体集信息结构体。
struct OH_Drawing_FontConfigInfo 系统字体配置信息结构体。
struct OH_Drawing_FontStyleStruct 定义字体样式信息的结构体。
struct OH_Drawing_FontFeature 描述文本字体特征结构体。
struct OH_Drawing_StrutStyle 用于描述支柱样式的结构体。支柱样式用于控制绘制文本时行之间的间距、基线对齐方式以及其他与行高相关的属性。

类型定义

名称 描述
typedef enum OH_Drawing_PlaceholderVerticalAlignment OH_Drawing_PlaceholderVerticalAlignment 占位符垂直对齐枚举。
typedef struct OH_Drawing_PlaceholderSpan OH_Drawing_PlaceholderSpan 用于描述占位符跨度的结构体。
typedef enum OH_Drawing_TextDecorationStyle OH_Drawing_TextDecorationStyle 文本装饰样式枚举。
typedef enum OH_Drawing_EllipsisModal OH_Drawing_EllipsisModal 省略号样式枚举。
typedef enum OH_Drawing_BreakStrategy OH_Drawing_BreakStrategy 文本的中断策略枚举。
typedef enum OH_Drawing_WordBreakType OH_Drawing_WordBreakType 单词的断词方式枚举。
typedef enum OH_Drawing_RectHeightStyle OH_Drawing_RectHeightStyle 矩形框高度样式枚举。
typedef enum OH_Drawing_RectWidthStyle OH_Drawing_RectWidthStyle 矩形框宽度样式枚举。
typedef struct OH_Drawing_FontDescriptor OH_Drawing_FontDescriptor 描述系统字体详细信息的结构体。
typedef struct OH_Drawing_LineMetrics OH_Drawing_LineMetrics 文字行位置信息。
typedef struct OH_Drawing_FontFallbackInfo OH_Drawing_FontFallbackInfo 备用字体信息结构体。
typedef struct OH_Drawing_FontFallbackGroup OH_Drawing_FontFallbackGroup 备用字体集信息结构体。
typedef struct OH_Drawing_FontAdjustInfo OH_Drawing_FontAdjustInfo 字重映射信息结构体。
typedef struct OH_Drawing_FontAliasInfo OH_Drawing_FontAliasInfo 别名字体信息结构体。
typedef struct OH_Drawing_FontGenericInfo OH_Drawing_FontGenericInfo 系统所支持的通用字体集信息结构体。
typedef struct OH_Drawing_FontConfigInfo OH_Drawing_FontConfigInfo 系统字体配置信息结构体。
typedef struct OH_Drawing_FontStyleStruct OH_Drawing_FontStyleStruct 定义字体样式信息的结构体。
typedef struct OH_Drawing_StrutStyle OH_Drawing_StrutStyle 用于描述支柱样式的结构体。支柱样式用于控制绘制文本时行之间的间距、基线对齐方式以及其他与行高相关的属性。

枚举

名称 描述
OH_Drawing_TextDirection { TEXT_DIRECTION_RTL, TEXT_DIRECTION_LTR } 文字方向
OH_Drawing_TextAlign {
TEXT_ALIGN_LEFT, TEXT_ALIGN_RIGHT, TEXT_ALIGN_CENTER, TEXT_ALIGN_JUSTIFY,
TEXT_ALIGN_START, TEXT_ALIGN_END
}
文字对齐方式
OH_Drawing_FontWeight {
FONT_WEIGHT_100, FONT_WEIGHT_200, FONT_WEIGHT_300, FONT_WEIGHT_400,
FONT_WEIGHT_500, FONT_WEIGHT_600, FONT_WEIGHT_700, FONT_WEIGHT_800,
FONT_WEIGHT_900
}
字重
OH_Drawing_TextBaseline { TEXT_BASELINE_ALPHABETIC, TEXT_BASELINE_IDEOGRAPHIC } 基线位置
OH_Drawing_TextDecoration { TEXT_DECORATION_NONE = 0x0, TEXT_DECORATION_UNDERLINE = 0x1, TEXT_DECORATION_OVERLINE = 0x2, TEXT_DECORATION_LINE_THROUGH = 0x4 } 文本装饰
OH_Drawing_FontStyle { FONT_STYLE_NORMAL, FONT_STYLE_ITALIC, FONT_STYLE_OBLIQUE } 区分字体是否为斜体
OH_Drawing_PlaceholderVerticalAlignment {
ALIGNMENT_OFFSET_AT_BASELINE, ALIGNMENT_ABOVE_BASELINE, ALIGNMENT_BELOW_BASELINE, ALIGNMENT_TOP_OF_ROW_BOX,
ALIGNMENT_BOTTOM_OF_ROW_BOX, ALIGNMENT_CENTER_OF_ROW_BOX
}
占位符垂直对齐枚举
OH_Drawing_TextDecorationStyle {
TEXT_DECORATION_STYLE_SOLID, TEXT_DECORATION_STYLE_DOUBLE, TEXT_DECORATION_STYLE_DOTTED, TEXT_DECORATION_STYLE_DASHED,
TEXT_DECORATION_STYLE_WAVY
}
文本装饰样式枚举
OH_Drawing_EllipsisModal { ELLIPSIS_MODAL_HEAD = 0, ELLIPSIS_MODAL_MIDDLE = 1, ELLIPSIS_MODAL_TAIL = 2 } 省略号样式枚举
OH_Drawing_BreakStrategy { BREAK_STRATEGY_GREEDY = 0, BREAK_STRATEGY_HIGH_QUALITY = 1, BREAK_STRATEGY_BALANCED = 2 } 文本的中断策略枚举
OH_Drawing_WordBreakType { WORD_BREAK_TYPE_NORMAL = 0, WORD_BREAK_TYPE_BREAK_ALL = 1, WORD_BREAK_TYPE_BREAK_WORD = 2, WORD_BREAK_TYPE_BREAK_HYPHEN = 3 } 单词的断词方式枚举
OH_Drawing_RectHeightStyle {
RECT_HEIGHT_STYLE_TIGHT, [RECT_HEIGHT_STYLE_MAX, RECT_HEIGHT_STYLE_INCLUDELINESPACEMIDDLE, RECT_HEIGHT_STYLE_INCLUDELINESPACETOP,
RECT_HEIGHT_STYLE_INCLUDELINESPACEBOTTOM, RECT_HEIGHT_STYLE_STRUCT
}
矩形框高度样式枚举
OH_Drawing_RectWidthStyle { RECT_WIDTH_STYLE_TIGHT, RECT_WIDTH_STYLE_MAX } 矩形框宽度样式枚举
OH_Drawing_FontConfigInfoErrorCode {
SUCCESS_FONT_CONFIG_INFO = 0, ERROR_FONT_CONFIG_INFO_UNKNOWN = 1, ERROR_FONT_CONFIG_INFO_PARSE_FILE = 2, ERROR_FONT_CONFIG_INFO_ALLOC_MEMORY = 3,
ERROR_FONT_CONFIG_INFO_COPY_STRING_DATA = 4
}
获取系统字体配置信息列表结果枚举。
OH_Drawing_FontWidth {
FONT_WIDTH_ULTRA_CONDENSED = 1, FONT_WIDTH_EXTRA_CONDENSED = 2, FONT_WIDTH_CONDENSED = 3, FONT_WIDTH_SEMI_CONDENSED = 4,
FONT_WIDTH_NORMAL = 5, FONT_WIDTH_SEMI_EXPANDED = 6, FONT_WIDTH_EXPANDED = 7, FONT_WIDTH_EXTRA_EXPANDED = 8,
FONT_WIDTH_ULTRA_EXPANDED = 9
}
字体宽度的枚举。
OH_Drawing_TextHeightBehavior { TEXT_HEIGHT_ALL = 0x0, TEXT_HEIGHT_DISABLE_FIRST_ASCENT = 0x1, TEXT_HEIGHT_DISABLE_LAST_ASCENT = 0x2, TEXT_HEIGHT_DISABLE_ALL = 0x1 | 0x2 } 文本高度修饰符模式枚举。
OH_Drawing_TextStyleType {
TEXT_STYLE_NONE, TEXT_STYLE_ALL_ATTRIBUTES, TEXT_STYLE_FONT, TEXT_STYLE_FOREGROUND,
TEXT_STYLE_BACKGROUND, TEXT_STYLE_SHADOW, TEXT_STYLE_DECORATIONS, TEXT_STYLE_LETTER_SPACING,
TEXT_STYLE_WORD_SPACING
}
文本样式类型枚举。

函数

名称 描述
OH_Drawing_TypographyStyle * OH_Drawing_CreateTypographyStyle (void) 创建指向OH_Drawing_TypographyStyle对象的指针。不再需要OH_Drawing_TypographyStyle时,请使用OH_Drawing_DestroyTypographyStyle接口释放该对象的指针。
void OH_Drawing_DestroyTypographyStyle (OH_Drawing_TypographyStyle *) 释放被OH_Drawing_TypographyStyle对象占据的内存。
void OH_Drawing_SetTypographyTextDirection (OH_Drawing_TypographyStyle *, int) 设置指定排版样式中的文本方向。
void OH_Drawing_SetTypographyTextAlign (OH_Drawing_TypographyStyle *, int) 设置文本对齐方式。
int OH_Drawing_TypographyGetEffectiveAlignment (OH_Drawing_TypographyStyle *style) 获取文字对齐方式。
void OH_Drawing_SetTypographyTextMaxLines (OH_Drawing_TypographyStyle *, int) 设置文本最大行数。
OH_Drawing_TextStyle * OH_Drawing_CreateTextStyle (void) 创建指向OH_Drawing_TextStyle对象的指针。
OH_Drawing_TextStyle * OH_Drawing_TypographyGetTextStyle (OH_Drawing_TypographyStyle *style) 获取指定排版样式中设置的默认文本样式。
void OH_Drawing_DestroyTextStyle (OH_Drawing_TextStyle *) 释放被OH_Drawing_TextStyle对象占据的内存。
void OH_Drawing_SetTextStyleColor (OH_Drawing_TextStyle *, uint32_t) 设置文本颜色。
void OH_Drawing_SetTextStyleFontSize (OH_Drawing_TextStyle *, double) 设置字号。
void OH_Drawing_SetTextStyleFontWeight (OH_Drawing_TextStyle *, int) 为指定文本样式设置字重。目前只有系统默认字体支持字重的调节,其他字体设置字重值小于semi-bold时字体粗细无变化,当设置字重值大于等于semi-bold时可能会触发伪加粗效果。
void OH_Drawing_SetTextStyleBaseLine (OH_Drawing_TextStyle *, int) 设置文本样式的字体基线位置。
void OH_Drawing_SetTextStyleDecoration (OH_Drawing_TextStyle *, int) 设置指定文本样式中的装饰线类型,只能设置一个装饰线类型,添加多个需要使用OH_Drawing_AddTextStyleDecoration
void OH_Drawing_AddTextStyleDecoration (OH_Drawing_TextStyle *, int) 新增指定装饰,可同时显示多种装饰线。
void OH_Drawing_RemoveTextStyleDecoration (OH_Drawing_TextStyle *, int) 删除指定装饰。
void OH_Drawing_SetTextStyleDecorationColor (OH_Drawing_TextStyle *, uint32_t) 设置指定文本样式中的装饰线颜色。如果不调用该接口或者设置color为0时,装饰线颜色跟随文本颜色。
void OH_Drawing_SetTextStyleFontHeight (OH_Drawing_TextStyle *, double) 设置行高,按当前字体大小的倍数进行设置。
void OH_Drawing_SetTextStyleFontFamilies (OH_Drawing_TextStyle *, int, const char *fontFamilies[]) 设置指定文本样式的字体家族类型。
void OH_Drawing_SetTextStyleFontStyle (OH_Drawing_TextStyle *, int) 为指定文本样式设置字体样式。
void OH_Drawing_SetTextStyleLocale (OH_Drawing_TextStyle *, const char *) 设置文本语言环境。
void OH_Drawing_SetTextStyleForegroundBrush (OH_Drawing_TextStyle *, OH_Drawing_Brush *) 设置指定文本样式中的前景色画刷。
void OH_Drawing_TextStyleGetForegroundBrush (OH_Drawing_TextStyle *, OH_Drawing_Brush *) 返回设置的前景色画刷。
void OH_Drawing_SetTextStyleForegroundPen (OH_Drawing_TextStyle *, OH_Drawing_Pen *) 设置指定文本样式中的前景色画笔。
void OH_Drawing_TextStyleGetForegroundPen (OH_Drawing_TextStyle *, OH_Drawing_Pen *) 返回设置的前景色画笔。
void OH_Drawing_SetTextStyleBackgroundBrush (OH_Drawing_TextStyle *, OH_Drawing_Brush *) 设置指定文本样式中的背景色画刷。
void OH_Drawing_TextStyleGetBackgroundBrush (OH_Drawing_TextStyle *, OH_Drawing_Brush *) 返回设置的背景色画刷。
void OH_Drawing_SetTextStyleBackgroundPen (OH_Drawing_TextStyle *, OH_Drawing_Pen *) 设置指定文本样式中的背景色画笔。
void OH_Drawing_TextStyleGetBackgroundPen (OH_Drawing_TextStyle *, OH_Drawing_Pen *) 返回设置的背景色画笔。
OH_Drawing_TypographyCreate * OH_Drawing_CreateTypographyHandler (OH_Drawing_TypographyStyle *, OH_Drawing_FontCollection *) 创建指向OH_Drawing_TypographyCreate对象的指针。不再需要OH_Drawing_TypographyCreate时,请使用OH_Drawing_DestroyTypographyHandler接口释放该对象的指针。
void OH_Drawing_DestroyTypographyHandler (OH_Drawing_TypographyCreate *) 释放被OH_Drawing_TypographyCreate对象占据的内存。
void OH_Drawing_TypographyHandlerPushTextStyle (OH_Drawing_TypographyCreate *, OH_Drawing_TextStyle *) 将指定文本样式压入文本样式栈,后续添加的文本总是会使用栈顶的文本样式。
void OH_Drawing_TypographyHandlerAddText (OH_Drawing_TypographyCreate *, const char *) 设置文本内容。
void OH_Drawing_TypographyHandlerPopTextStyle (OH_Drawing_TypographyCreate *) 从文本样式栈中弹出栈顶文本样式。
OH_Drawing_Typography * OH_Drawing_CreateTypography (OH_Drawing_TypographyCreate *) 创建指向OH_Drawing_Typography对象的指针。不再需要OH_Drawing_Typography时,请使用OH_Drawing_DestroyTypography接口释放该对象的指针。
void OH_Drawing_DestroyTypography (OH_Drawing_Typography *) 释放OH_Drawing_Typography对象占据的内存。
void OH_Drawing_TypographyLayout (OH_Drawing_Typography *, double) 排版布局。
void OH_Drawing_TypographyPaint (OH_Drawing_Typography *, OH_Drawing_Canvas *, double, double) 在指定位置绘制文本,从左上角开始绘制,该接口需要在OH_Drawing_TypographyLayout接口调用并生效之后调用。
void OH_Drawing_TypographyPaintOnPath (OH_Drawing_Typography * typography, OH_Drawing_Canvas * canvas, OH_Drawing_Path * path, double hOffset, double vOffset) 沿指定路径绘制文本。建议搭配OH_Drawing_SetTypographyTextMaxLines接口设置最大行为1行,避免因文本宽度超过排版宽度出现跨行重叠问题。
double OH_Drawing_TypographyGetMaxWidth (OH_Drawing_Typography *) 获取用户设置的排版宽度,该接口需要在OH_Drawing_TypographyLayout接口调用之后调用。
double OH_Drawing_TypographyGetHeight (OH_Drawing_Typography *) 获取排版对象整体的高度,该接口需要在OH_Drawing_TypographyLayout接口调用之后调用。
double OH_Drawing_TypographyGetLongestLine (OH_Drawing_Typography *) 获取排版对象最长行的宽度,该接口需要在OH_Drawing_TypographyLayout接口调用之后调用,建议实际使用时将返回值向上取整。当文本内容为空时,返回0.0。
double OH_Drawing_TypographyGetLongestLineWithIndent (OH_Drawing_Typography *) 获取排版对象最长行的宽度(该宽度包含当前行缩进的宽度),该接口需要在OH_Drawing_TypographyLayout接口调用之后调用,建议实际使用时将返回值向上取整。当文本内容为空时,返回0.0。
double OH_Drawing_TypographyGetMinIntrinsicWidth (OH_Drawing_Typography *) 获取排版对象的最小固有宽度,该接口需要在OH_Drawing_TypographyLayout接口调用之后调用。
double OH_Drawing_TypographyGetMaxIntrinsicWidth (OH_Drawing_Typography *) 获取排版对象的最大固有宽度,该接口需要在OH_Drawing_TypographyLayout接口调用之后调用。
double OH_Drawing_TypographyGetAlphabeticBaseline (OH_Drawing_Typography *) 获取排版样式字母文字基线。
double OH_Drawing_TypographyGetIdeographicBaseline (OH_Drawing_Typography *) 获取排版样式表意文字基线。
void OH_Drawing_TypographyHandlerAddPlaceholder (OH_Drawing_TypographyCreate *, OH_Drawing_PlaceholderSpan *) 设置占位符。
bool OH_Drawing_TypographyDidExceedMaxLines (OH_Drawing_Typography *) 获取排版对象中文本是否超过最大行,该接口需要在OH_Drawing_TypographyLayout接口调用之后调用,如果没有通过OH_Drawing_SetTypographyTextMaxLines接口设置最大行,则返回false。
OH_Drawing_TextBox * OH_Drawing_TypographyGetRectsForRange (OH_Drawing_Typography *, size_t, size_t, OH_Drawing_RectHeightStyle, OH_Drawing_RectWidthStyle) 获取排版对象中指定范围内的文本框,该接口需要在OH_Drawing_TypographyLayout接口调用之后调用。不再需要OH_Drawing_TextBox时,请使用OH_Drawing_TypographyDestroyTextBox接口释放该对象的指针。
OH_Drawing_TextBox * OH_Drawing_TypographyGetRectsForPlaceholders (OH_Drawing_Typography *) 获取排版对象中占位符的文本框,该接口需要在OH_Drawing_TypographyLayout接口调用之后调用。不再需要OH_Drawing_TextBox时,请使用OH_Drawing_TypographyDestroyTextBox接口释放该对象的指针。
float OH_Drawing_GetLeftFromTextBox (OH_Drawing_TextBox *, int) 获取文本框左侧位置。
float OH_Drawing_GetRightFromTextBox (OH_Drawing_TextBox *, int) 获取文本框右侧位置。
float OH_Drawing_GetTopFromTextBox (OH_Drawing_TextBox *, int) 获取文本框顶部位置。
float OH_Drawing_GetBottomFromTextBox (OH_Drawing_TextBox *, int) 获取文本框底部位置。
int OH_Drawing_GetTextDirectionFromTextBox (OH_Drawing_TextBox *, int) 获取文本框方向。
size_t OH_Drawing_GetSizeOfTextBox (OH_Drawing_TextBox *) 获取文本框数量大小。
OH_Drawing_PositionAndAffinity * OH_Drawing_TypographyGetGlyphPositionAtCoordinate (OH_Drawing_Typography *, double, double) 获取坐标处文本的索引位置和亲和性。
OH_Drawing_PositionAndAffinity * OH_Drawing_TypographyGetGlyphPositionAtCoordinateWithCluster (OH_Drawing_Typography *, double, double) 获取坐标处文本所属字符簇的索引位置和亲和性,字符簇指一个或多个字符组成的整体。
size_t OH_Drawing_GetPositionFromPositionAndAffinity (OH_Drawing_PositionAndAffinity *) 获取OH_Drawing_PositionAndAffinity对象的位置属性。
int OH_Drawing_GetAffinityFromPositionAndAffinity (OH_Drawing_PositionAndAffinity *) 获取OH_Drawing_PositionAndAffinity对象的亲和性,根据亲和性可判断字体会靠近前方文本还是后方文本。
OH_Drawing_Range * OH_Drawing_TypographyGetWordBoundary (OH_Drawing_Typography *, size_t) 获取排版对象中单词的边界。
size_t OH_Drawing_GetStartFromRange (OH_Drawing_Range *) 获取OH_Drawing_Range对象开始位置。
size_t OH_Drawing_GetEndFromRange (OH_Drawing_Range *) 获取OH_Drawing_Range对象结束位置。
size_t OH_Drawing_TypographyGetLineCount (OH_Drawing_Typography *) 获取排版对象中文本行数,该接口需要在OH_Drawing_TypographyLayout接口调用之后调用。
void OH_Drawing_SetTextStyleDecorationStyle (OH_Drawing_TextStyle *, int) 设置指定文本样式中的装饰线样式。
void OH_Drawing_SetTextStyleDecorationThicknessScale (OH_Drawing_TextStyle *, double) 设置文本装饰线的粗细缩放比例。
void OH_Drawing_SetTextStyleLetterSpacing (OH_Drawing_TextStyle *, double) 设置文本的字符间距。
void OH_Drawing_SetTextStyleWordSpacing (OH_Drawing_TextStyle *, double) 设置文本的单词间距。
void OH_Drawing_SetTextStyleHalfLeading (OH_Drawing_TextStyle *, bool) 设置文本为一半行间距。
void OH_Drawing_SetTextStyleEllipsis (OH_Drawing_TextStyle *, const char *) 设置文本的省略号内容。
void OH_Drawing_SetTextStyleEllipsisModal (OH_Drawing_TextStyle *, int) 设置文本的省略号样式。
void OH_Drawing_SetTypographyTextBreakStrategy (OH_Drawing_TypographyStyle *, int) 设置文本的中断策略。
void OH_Drawing_SetTypographyTextWordBreakType (OH_Drawing_TypographyStyle *, int) 设置单词的断词方式。
void OH_Drawing_SetTypographyTextEllipsisModal (OH_Drawing_TypographyStyle *, int) 设置排版样式省略模式。
void OH_Drawing_SetTypographyTextEllipsis (OH_Drawing_TypographyStyle *style, const char *ellipsis) 设置省略号样式。
double OH_Drawing_TypographyGetLineHeight (OH_Drawing_Typography *, int) 获取排版对象中指定行的行高,该接口需要在OH_Drawing_TypographyLayout接口调用之后调用。
double OH_Drawing_TypographyGetLineWidth (OH_Drawing_Typography *, int) 获取指定行的行宽,该接口需要在OH_Drawing_TypographyLayout接口调用之后调用。
void OH_Drawing_SetTypographyTextSplitRatio (OH_Drawing_TypographyStyle *style, float textSplitRatio) 设置文本划分比率。
bool OH_Drawing_TypographyIsLineUnlimited (OH_Drawing_TypographyStyle *style) 获取文本是否有最大行数限制。
bool OH_Drawing_TypographyIsEllipsized (OH_Drawing_TypographyStyle *style) 获取指定排版样式是否配置省略号。
void OH_Drawing_SetTypographyTextLocale (OH_Drawing_TypographyStyle *style, const char *locale) 设置指定排版样式的语言环境。
bool OH_Drawing_TextStyleGetFontMetrics (OH_Drawing_Typography *, OH_Drawing_TextStyle *, OH_Drawing_Font_Metrics *) 获取文本字体属性。
void OH_Drawing_SetTypographyTextStyle (OH_Drawing_TypographyStyle *, OH_Drawing_TextStyle *) 设置排版样式。
OH_Drawing_FontDescriptor * OH_Drawing_CreateFontDescriptor (void) 构造字体描述对象,用于描述系统字体详细信息。
void OH_Drawing_DestroyFontDescriptor (OH_Drawing_FontDescriptor *) 释放字体描述对象占用的内存。
OH_Drawing_FontParser * OH_Drawing_CreateFontParser (void) 构造字体解析对象,用于解析系统字体。
void OH_Drawing_DestroyFontParser (OH_Drawing_FontParser *) 释放字体解析对象占用的内存。
char ** OH_Drawing_FontParserGetSystemFontList (OH_Drawing_FontParser *, size_t *) 获取系统字体名称列表,此接口仅在2in1、phone设备上可用。
void OH_Drawing_DestroySystemFontList (char **, size_t) 释放系统字体名称列表占用的内存。
OH_Drawing_FontDescriptor * OH_Drawing_FontParserGetFontByName (OH_Drawing_FontParser *, const char *) 根据传入的系统字体名称获取系统字体的相关信息。
OH_Drawing_LineMetrics * OH_Drawing_TypographyGetLineMetrics (OH_Drawing_Typography *) 获取排版对象的行位置信息,该接口需要在OH_Drawing_TypographyLayout接口调用之后调用。不再需要OH_Drawing_LineMetrics时,请使用OH_Drawing_DestroyLineMetrics接口释放该对象的指针。
size_t OH_Drawing_LineMetricsGetSize (OH_Drawing_LineMetrics *) 获取行数量。
void OH_Drawing_DestroyLineMetrics (OH_Drawing_LineMetrics *) 释放行位置信息对象占用的内存。
bool OH_Drawing_TypographyGetLineMetricsAt (OH_Drawing_Typography *, int, OH_Drawing_LineMetrics *) 获取排版对象的指定行位置信息,具体参见OH_Drawing_LineMetrics结构体,该接口需要在OH_Drawing_TypographyLayout接口调用之后调用。
bool OH_Drawing_TypographyGetLineInfo (OH_Drawing_Typography *, int, bool, bool, OH_Drawing_LineMetrics *) 获取排版对象中指定行的位置信息或指定行第一个字符的位置信息,该接口需要在OH_Drawing_TypographyLayout接口调用之后调用。
void OH_Drawing_SetTypographyTextFontWeight (OH_Drawing_TypographyStyle *, int) 设置排版样式默认字重。目前只有系统默认字体支持字重的调节,其他字体设置字重值小于semi-bold时字体粗细无变化,当设置字重值大于等于semi-bold时可能会触发伪加粗效果。
void OH_Drawing_SetTypographyTextFontStyle (OH_Drawing_TypographyStyle *, int) 设置排版样式默认的字体样式。
void OH_Drawing_SetTypographyTextFontFamily (OH_Drawing_TypographyStyle *, const char *) 设置字体家族的名称。
void OH_Drawing_SetTypographyTextFontSize (OH_Drawing_TypographyStyle *, double) 设置文本排版字号。
void OH_Drawing_SetTypographyTextFontHeight (OH_Drawing_TypographyStyle *, double) 设置文本排版字体高度。
void OH_Drawing_SetTypographyTextHalfLeading (OH_Drawing_TypographyStyle *, bool) 设置文本排版是否为一半行间距。
void OH_Drawing_SetTypographyTextUseLineStyle (OH_Drawing_TypographyStyle *, bool) 设置文本排版是否启用行样式。
void OH_Drawing_SetTypographyTextLineStyleFontWeight (OH_Drawing_TypographyStyle *, int) 设置排版样式中支柱样式的文本样式字重。目前只有系统默认字体支持字重的调节,其他字体设置字重值小于semi-bold时字体粗细无变化,当设置字重值大于等于semi-bold时可能会触发伪加粗效果。
void OH_Drawing_SetTypographyTextLineStyleFontStyle (OH_Drawing_TypographyStyle *, int) 设置文本排版样式中支柱样式的字体样式。
void OH_Drawing_SetTypographyTextLineStyleFontFamilies (OH_Drawing_TypographyStyle *, int, const char *fontFamilies[]) 设置文本排版行样式字体类型。
void OH_Drawing_SetTypographyTextLineStyleFontSize (OH_Drawing_TypographyStyle *, double) 设置文本排版行样式字号。
void OH_Drawing_SetTypographyTextLineStyleFontHeight (OH_Drawing_TypographyStyle *, double) 设置文本排版行样式字体高度。
void OH_Drawing_SetTypographyTextLineStyleHalfLeading (OH_Drawing_TypographyStyle *, bool) 设置文本排版行样式中支柱样式是否开启一半行间距。
void OH_Drawing_SetTypographyTextLineStyleSpacingScale (OH_Drawing_TypographyStyle *, double) 设置文本排版行样式间距比例。
void OH_Drawing_SetTypographyTextLineStyleOnly (OH_Drawing_TypographyStyle *, bool) 设置文本排版是否仅启用行样式。
OH_Drawing_TextShadow * OH_Drawing_CreateTextShadow (void) 创建指向字体阴影对象的指针。不再需要OH_Drawing_TextShadow时,请使用OH_Drawing_DestroyTextShadow接口释放该对象的指针。
void OH_Drawing_DestroyTextShadow (OH_Drawing_TextShadow *) 释放被字体阴影对象占据的内存。
OH_Drawing_TextShadow * OH_Drawing_TextStyleGetShadows (OH_Drawing_TextStyle *) 获取字体阴影容器。不再需要OH_Drawing_TextShadow时,请使用OH_Drawing_DestroyTextShadows接口释放该对象的指针。
int OH_Drawing_TextStyleGetShadowCount (OH_Drawing_TextStyle *) 获取字体阴影容器的大小。
void OH_Drawing_TextStyleAddShadow (OH_Drawing_TextStyle *, const OH_Drawing_TextShadow *) 字体阴影容器中添加字体阴影元素。
void OH_Drawing_TextStyleClearShadows (OH_Drawing_TextStyle *) 清除字体阴影容器中的所有元素。
OH_Drawing_TextShadow * OH_Drawing_TextStyleGetShadowWithIndex (OH_Drawing_TextStyle *, int) 根据下标获取字体阴影容器中的元素。
void OH_Drawing_TypographySetIndents (OH_Drawing_Typography *, int, const float indents[]) 设置文本的排版缩进,不调用此接口默认文本无缩进。
float OH_Drawing_TypographyGetIndentsWithIndex (OH_Drawing_Typography *, int) 根据行索引获取排版对象缩进容器中的元素,行索引从0开始。
OH_Drawing_Range * OH_Drawing_TypographyGetLineTextRange (OH_Drawing_Typography *, int, bool) 获取排版对象中行的边界,该接口需要在OH_Drawing_TypographyLayout接口调用之后调用。该接口只能获取已有行的边界,即输入行索引从0开始,最大行索引为OH_Drawing_TypographyGetLineCount - 1。
void OH_Drawing_DestroyTextShadows (OH_Drawing_TextShadow *) 释放由被字体阴影对象OH_Drawing_TextShadow构成的vector占据的内存。
OH_Drawing_FontConfigInfo * OH_Drawing_GetSystemFontConfigInfo (OH_Drawing_FontConfigInfoErrorCode *) 获取系统字体配置信息。
void OH_Drawing_DestroySystemFontConfigInfo (OH_Drawing_FontConfigInfo *) 释放系统字体配置信息占用的的内存。
void OH_Drawing_SetTextStyleFontStyleStruct (OH_Drawing_TextStyle *drawingTextStyle, OH_Drawing_FontStyleStruct fontStyle) 设置文本样式中的字体样式,包括字体字重、字体宽度和字体斜度。
OH_Drawing_FontStyleStruct OH_Drawing_TextStyleGetFontStyleStruct (OH_Drawing_TextStyle *drawingTextStyle) 获取文本样式中的字体样式,包括字体字重、字体宽度和字体斜度。
void OH_Drawing_SetTypographyStyleFontStyleStruct (OH_Drawing_TypographyStyle *drawingStyle, OH_Drawing_FontStyleStruct fontStyle) 设置排版样式中默认文本样式的字体样式,包括字体字重、字体宽度和字体斜度。
OH_Drawing_FontStyleStruct OH_Drawing_TypographyStyleGetFontStyleStruct (OH_Drawing_TypographyStyle *drawingStyle) 获取排版样式中默认文本样式的字体样式,包括字体字重、字体宽度和字体斜度。
void OH_Drawing_TextStyleSetBackgroundRect (OH_Drawing_TextStyle *, const OH_Drawing_RectStyle_Info *, int styleId) 设置文本背景矩形框和样式id。样式id仅当背景框为圆角矩形时有效。
void OH_Drawing_TypographyHandlerAddSymbol (OH_Drawing_TypographyCreate *, uint32_t symbol) 设置排版创建过程中的符号。
void OH_Drawing_TextStyleAddFontFeature (OH_Drawing_TextStyle *, const char *tag, int value) 设置文本样式中指定字体特征是否启用。
void OH_Drawing_TextStyleAddFontVariation (OH_Drawing_TextStyle *, const char *, const float) 添加可变字体属性。对应的字体文件(.ttf文件)需要支持可变调节,此接口才能生效。当对应的字体不支持可变调节时,此接口调用不生效。
OH_Drawing_FontFeature * OH_Drawing_TextStyleGetFontFeatures (OH_Drawing_TextStyle *) 获取指定文本样式的字体特征map容器中所有内容。
void OH_Drawing_TextStyleDestroyFontFeatures (OH_Drawing_FontFeature *, size_t fontFeatureSize) 释放存放字体特征所有内容的结构体数组所占用的空间。
size_t OH_Drawing_TextStyleGetFontFeatureSize (OH_Drawing_TextStyle *) 获取指定文本样式中字体特征map容器的大小。
void OH_Drawing_TextStyleClearFontFeature (OH_Drawing_TextStyle *) 清除指定文本样式的字体特征map容器中所有内容。
double OH_Drawing_TextStyleGetBaselineShift (OH_Drawing_TextStyle *) 获取文本的基线偏移。
void OH_Drawing_TextStyleSetBaselineShift (OH_Drawing_TextStyle *, double lineShift) 设置文本样式基线偏移。
void OH_Drawing_TypographyTextSetHeightBehavior (OH_Drawing_TypographyStyle *, OH_Drawing_TextHeightBehavior heightMode) 设置文本高度修饰符模式。
OH_Drawing_TextHeightBehavior OH_Drawing_TypographyTextGetHeightBehavior (OH_Drawing_TypographyStyle *) 获取文本高度修饰符模式。
OH_Drawing_Font_Metrics * OH_Drawing_TypographyGetLineFontMetrics (OH_Drawing_Typography *, size_t lineNumber, size_t *fontMetricsSize) 从排版对象中目标行获取所有字体度量信息,该接口需要在OH_Drawing_TypographyLayout接口调用之后调用,否则会返回空指针。不再需要OH_Drawing_Font_Metrics时,请使用OH_Drawing_TypographyDestroyLineFontMetrics接口释放该对象的指针。
void OH_Drawing_TypographyDestroyLineFontMetrics (OH_Drawing_Font_Metrics *) 释放指定行所有字体度量结构体集合所占用的所有空间。
bool OH_Drawing_TextStyleIsEqual (const OH_Drawing_TextStyle *style, const OH_Drawing_TextStyle *comparedStyle) 判断两个文本样式对象是否相等,字宽属性不参与对比。
bool OH_Drawing_TextStyleIsEqualByFont (const OH_Drawing_TextStyle *style, const OH_Drawing_TextStyle *comparedStyle) 判断两个字体样式对象的字体样式属性是否相等。
bool OH_Drawing_TextStyleIsAttributeMatched (const OH_Drawing_TextStyle *style, const OH_Drawing_TextStyle *comparedStyle, OH_Drawing_TextStyleType textStyleType) 判断两个字体样式对象是否有一样的文本样式类型。
void OH_Drawing_TextStyleSetPlaceholder (OH_Drawing_TextStyle *style) 设置占位符。
bool OH_Drawing_TextStyleIsPlaceholder (OH_Drawing_TextStyle *style) 返回是否有设置文本占位符。
OH_Drawing_TextAlign OH_Drawing_TypographyStyleGetEffectiveAlignment (OH_Drawing_TypographyStyle *style) 获取文本对齐模式。
bool OH_Drawing_TypographyStyleIsHintEnabled (OH_Drawing_TypographyStyle *style) 获取文本是否启用字形轮廓自动调整。字形轮廓自动调整用于在渲染小字号文本时改善其可读性和外观。
void OH_Drawing_SetTypographyStyleTextStrutStyle (OH_Drawing_TypographyStyle *, OH_Drawing_StrutStyle *) 设置文本支柱样式。
OH_Drawing_StrutStyle * OH_Drawing_TypographyStyleGetStrutStyle (OH_Drawing_TypographyStyle *) 获取文本支柱样式。
void OH_Drawing_TypographyStyleDestroyStrutStyle (OH_Drawing_StrutStyle *) 释放被支柱样式对象占据的内存。
bool OH_Drawing_TypographyStyleStrutStyleEquals (OH_Drawing_StrutStyle *from, OH_Drawing_StrutStyle *to) 判断支柱样式结构体是否相同。
void OH_Drawing_TypographyStyleSetHintsEnabled (OH_Drawing_TypographyStyle *style, bool hintsEnabled) 设置文本是否启用字形轮廓自动调整。字形轮廓自动调整用于在渲染小字号文本时改善其可读性和外观。
void OH_Drawing_TypographyMarkDirty (OH_Drawing_Typography *) 将排版标记为脏数据,用于初始化排版状态。
int32_t OH_Drawing_TypographyGetUnresolvedGlyphsCount (OH_Drawing_Typography *) 获取文本中尚未解析的字形的数量,该接口需要在OH_Drawing_TypographyLayout接口调用并生效之后调用。
void OH_Drawing_TypographyUpdateFontSize (OH_Drawing_Typography *, size_t from, size_t to, float fontSize) 更新排版对象中的字体大小。
bool OH_Drawing_TypographyTextGetLineStyle (OH_Drawing_TypographyStyle *) 获取文本排版是否启用行样式。
OH_Drawing_FontWeight OH_Drawing_TypographyTextlineStyleGetFontWeight (OH_Drawing_TypographyStyle *) 获取排版样式中支柱样式字重。
OH_Drawing_FontStyle OH_Drawing_TypographyTextlineStyleGetFontStyle (OH_Drawing_TypographyStyle *) 获取文本排版样式中支柱样式的字体样式。
char ** OH_Drawing_TypographyTextlineStyleGetFontFamilies (OH_Drawing_TypographyStyle *, size_t *num) 获取文本排版支柱样式字体家族名。
void OH_Drawing_TypographyTextlineStyleDestroyFontFamilies (char **fontFamilies, size_t fontFamiliesNum) 释放字体类型占用的内存。
double OH_Drawing_TypographyTextlineStyleGetFontSize (OH_Drawing_TypographyStyle *) 获取文本排版行样式字号。
double OH_Drawing_TypographyTextlineStyleGetHeightScale (OH_Drawing_TypographyStyle *) 获取文本排版行样式的行高缩放系数。
bool OH_Drawing_TypographyTextlineStyleGetHeightOnly (OH_Drawing_TypographyStyle *) 获取字体渲染过程中计算字体块高度相关参数的方法。
bool OH_Drawing_TypographyTextlineStyleGetHalfLeading (OH_Drawing_TypographyStyle *) 获取文本排版行样式是否为一半行间距。
double OH_Drawing_TypographyTextlineStyleGetSpacingScale (OH_Drawing_TypographyStyle *) 获取文本排版行样式间距比例。
bool OH_Drawing_TypographyTextlineGetStyleOnly (OH_Drawing_TypographyStyle *) 获取文本排版是否仅启用行样式。
OH_Drawing_TextAlign OH_Drawing_TypographyGetTextAlign (OH_Drawing_TypographyStyle *) 获取文本对齐方式。
OH_Drawing_TextDirection OH_Drawing_TypographyGetTextDirection (OH_Drawing_TypographyStyle *) 获取指定排版样式中的文本方向。
size_t OH_Drawing_TypographyGetTextMaxLines (OH_Drawing_TypographyStyle *) 获取文本的最大行数。
char * OH_Drawing_TypographyGetTextEllipsis (OH_Drawing_TypographyStyle *) 获取指定排版样式设置的省略号文本。
void OH_Drawing_TypographyDestroyEllipsis (char *ellipsis) 释放省略号名称列表占用的内存。
bool OH_Drawing_TypographyStyleEquals (OH_Drawing_TypographyStyle *from, OH_Drawing_TypographyStyle *to) 判断排版样式是否相同,当前文本高度修饰符模式OH_Drawing_TextHeightBehavior没有被纳入比较。
uint32_t OH_Drawing_TextStyleGetColor (OH_Drawing_TextStyle *) 获取文本颜色。
OH_Drawing_TextDecorationStyle OH_Drawing_TextStyleGetDecorationStyle (OH_Drawing_TextStyle *) 获取文本装饰样式。
OH_Drawing_FontWeight OH_Drawing_TextStyleGetFontWeight (OH_Drawing_TextStyle *) 获取指定文本样式字重。
OH_Drawing_FontStyle OH_Drawing_TextStyleGetFontStyle (OH_Drawing_TextStyle *) 获取指定文本样式的字体样式。
OH_Drawing_TextBaseline OH_Drawing_TextStyleGetBaseline (OH_Drawing_TextStyle *) 获取指定文本样式的字体基线位置。
char ** OH_Drawing_TextStyleGetFontFamilies (OH_Drawing_TextStyle *, size_t *num) 获取字体类型名称列表。
void OH_Drawing_TextStyleDestroyFontFamilies (char **fontFamilies, size_t num) 释放长度为num的字体家族名称列表占用的内存。
double OH_Drawing_TextStyleGetFontSize (OH_Drawing_TextStyle *) 获取指定文本样式字号。
double OH_Drawing_TextStyleGetLetterSpacing (OH_Drawing_TextStyle *) 获取指定文本样式的字符间距。
double OH_Drawing_TextStyleGetWordSpacing (OH_Drawing_TextStyle *) 获取指定文本样式的单词间距。
double OH_Drawing_TextStyleGetFontHeight (OH_Drawing_TextStyle *) 获取指定文本样式行高缩放系数。
bool OH_Drawing_TextStyleGetHalfLeading (OH_Drawing_TextStyle *) 获取指定文本样式一半行间距开关状态。
const char * OH_Drawing_TextStyleGetLocale (OH_Drawing_TextStyle *) 获取语言环境。
void OH_Drawing_TypographyDestroyTextBox (OH_Drawing_TextBox *) 释放文本框占用的内存。
void OH_Drawing_SetTextShadow (OH_Drawing_TextShadow *shadow, uint32_t color, OH_Drawing_Point *offset, double blurRadius) 设置字体阴影对象的参数。
OH_Drawing_TextTab * OH_Drawing_CreateTextTab (OH_Drawing_TextAlign alignment, float location) 创建文本制表符对象。
void OH_Drawing_DestroyTextTab (OH_Drawing_TextTab *) 释放文本制表符对象占据的内存。
OH_Drawing_TextAlign OH_Drawing_GetTextTabAlignment (OH_Drawing_TextTab *) 获取文本制表符对象的对齐方式。
float OH_Drawing_GetTextTabLocation (OH_Drawing_TextTab *) 获取文本制表符的位置。
void OH_Drawing_SetTypographyTextTab (OH_Drawing_TypographyStyle *, OH_Drawing_TextTab *TextTab) 设置文本制表符对齐方式及位置。当设置了文本对齐方式或者省略号风格时制表符不生效,当制表符位置小于1.0时为替换成空格的效果。
size_t OH_Drawing_GetDrawingArraySize (OH_Drawing_Array *drawingArray) 获取传入类型为对象数组OH_Drawing_Array中的对象个数。