HTML 的 canvas API 中的 textBaseline 属性用于设置文字的垂直对齐方式,它控制文本在绘制时相对于给定 y 坐标的垂直位置。该属性的可选值包括以下几种:
alphabetic(默认值)
表示文本基线是普通英文字母的基线,通常对应字母如 a、b、d、g 等的底部。这是默认行为,适用于大多数拉丁文字体。
top
文本基线是字符框(em box)的顶部。这种对齐方式使文本的顶部与指定的 y 坐标对齐。
hanging
文本基线是悬挂基线,常见于某些语言如藏文等。它通常用于一些非拉丁文字体中,与顶部对齐类似,但适用于特定排版需求。
middle
文本基线是字符框的中心线。使用此值时,文本会垂直居中于指定的 y 坐标。
ideographic
文本基线是表意文字基线,适用于中文、日文等表意文字。这种基线通常对应字符的底部,例如汉字的底部。
bottom
文本基线是字符框的底部。使用此值时,文本的底部会与指定的 y 坐标对齐,包括如 g、j、p 等带有下伸部分的字母。
这些值从词源上来看,分别对应了不同语言和排版系统中对文本基线的不同定义。例如,“alphabetic”来源于字母系统,“ideographic”则与表意文字相关,“hanging”则与某些特殊排版方式有关。这些属性值帮助开发者在绘制文本时更精确地控制文本的垂直位置,以满足不同场景下的排版需求。