在UI设计中,文本设置是必不可少的一环。文本设置过程涉及字体类型、字体大小、字体粗细、行高、线宽和颜色。本文描述的文字设计规范包括以下几个部分:TypeFontSizeFontWeightLineHeightLineWidthColorTypeiOS设备的系统默认字体,中文为平方,英文&数字为SFUIText。Android设备系统默认字体中文为思源黑体,英文和数字为Roboto。不同字号的使用场景有不同的字号。文字的主要使用场景分为:一级标题、二级标题、三级标题、文字和提示文字。文字的最小字号一般为11。也有特殊情况,比如标签里面的文字,字号为10甚至更??小。字重字重是指字体笔划的粗细。字重的高低用来表示同一字族中笔画粗细不同的字体。在UI设计中,常用的字体粗细有两种,一种是Regular,一种是Medium。普通文本使用常规字体(Regular)。当需要突出层次显示和增加对比度时,使用Medium,这在标题中经常使用。行高字号等于文字高度,如下图,当字号为16时,行高设置为16,那么行高也就是字体本身的高度(16pt)。行高=字号+行间距。如下图所示:文字上方行距3pt,文字下方行距3pt。字体高度为16pt。行高(22)=字号(16)+行间距(3+3)。在界面过程中,需要规范字体大小和对应的行高。否则会出现设计排版问题。比如在设计标签时,当字体大小为14,行高为20时,那么为了在视觉上保持字体与周围区域的距离一致,垂直间距为4,左右spacing为8。由于行间距的存在,上下间距和左右间距不能设置相同。如果行高设置为14(文本本身的大小),那么顶部和底部间距也应该是8pt而不是4pt。下表是iOSDesignGuidelines建议的字体大小和对应行高的对照表。下图是Sketch默认字号和行高对比表:可以看出iOS推荐的字号和行高对比表和Sketch默认的不一样。Sketch视觉稿在开发实现的时候,字体大小和对应的行间距会不一致,造成还原度的问题。解决行高无法完美还原的方法有两种:将行高设置为字号,这样就不会出现行间距问题,可以保证完美还原。但是,由于行高加倍,部分机型的字符会被截掉。使用字体插件,可以自动固定Sketch文档中字体的行高,使Sketch中字体的行高和开发中字体的行高100%还原。线宽线宽=字体宽度+两侧字体宽度线宽作用于文本范围,如下图:拉长线宽即设置了文本内容范围,文本与文本之间的距离右边的语音图标是12pt,意思是当文字内容距离语音图标12pt时,文字会被打点或截断。颜色字体颜色的定义有两种方式,一种是直接使用颜色值,如图;另一种方式是通过opacity来实现,通常是根据#000000,设置不同的opacity,如下图所示:一般来说,使用opacity的方式有更广泛的使用场景。
