4. 排版与字体:车载字体选择、字号层级、信息可读性设计

好,咱们进入第四讲。排版和字体,说实话,这是很多刚入行的设计师容易忽略的环节。大家往往把精力都放在图标好不好看、动效炫不炫上,结果一上车,字看不清,信息层级乱成一锅粥。我当年刚做HMI时也犯过这毛病,后来被测试工程师追着改了好几版,才彻底明白——在车上,看得清比什么都重要。

4.1 车载字体的特殊要求

车载字体和手机字体,完全是两码事。你想想看,手机你拿在手里,距离眼睛也就30厘米。车机呢?至少60到80厘米,甚至更远。而且车内光线变化剧烈,从地库的暗光到正午的强光,字体必须扛得住。

核心原则:清晰度优先,风格其次。

我个人习惯,选车载字体时主要看三点:

  • 字怀要宽:比如“口”字,中间的空隙要大。窄字怀在强光下容易糊成一团。
  • 笔画粗细均匀:不要有极细的横或者极粗的竖。我在项目中遇到过一款字体,笔画对比度太高,阳光下“一”和“—”根本分不清。
  • 数字和字母区分度高:比如“0”和“O”,“1”和“l”,在车速60km/h时扫一眼,必须一眼能认出来。

推荐字体方向:

  • 思源黑体(Noto Sans CJK)——开源、字重丰富、字怀适中
  • 阿里巴巴普惠体——中文显示友好,数字清晰
  • 一些定制字体,比如蔚来、小鹏都有自己的定制字体,但成本高

避坑指南:我曾经试过用苹方字体做车机原型,结果在低分辨率屏幕上,小字号下的“捺”和“点”直接消失了。所以,一定要在目标屏幕(或者模拟器)上实际测试,别只看设计稿。

4.2 字号层级:从远到近的视觉节奏

车载HMI的字号层级,说白了就是告诉用户:什么信息最重要,什么信息扫一眼就行。

我一般把字号分成四个层级:

层级 用途 推荐字号(px) 视距参考
一级(主标题) 车速、导航提示、警告信息 48-64px 一眼看清,0.5秒内
二级(重要信息) 续航里程、当前时间、媒体歌名 32-40px 1秒内可读
三级(辅助信息) 温度、空调模式、小计里程 24-28px 需要时再看
四级(次要/装饰) 单位符号、版权信息、状态标签 18-20px 几乎不主动看

嗯,这里要注意,这个字号是基于12.3英寸、1920x720分辨率屏幕的。如果你用的是更大的屏幕(比如15.6英寸),字号要适当放大。我习惯的做法是:先定好一级字号,然后按0.75、0.6、0.45的比例往下缩。

小技巧:在Figma或Sketch里,把字号层级做成组件样式。这样你调整一个,所有关联的文本都会自动更新。我每次做新项目,第一件事就是搭好这个字号系统。

4.3 信息可读性设计:别让用户猜

可读性,说白了就是用户能不能在最短时间内,获取到最准确的信息。开车时,视线离开路面超过2秒,事故风险就翻倍。所以,我们的设计必须做到“零思考”。

几个关键原则:

  • 对比度要够:文字和背景的对比度至少4.5:1(WCAG AA标准)。我建议做到7:1以上。白色背景上不要用浅灰色文字,阳光下根本看不见。
  • 行高要宽松:车载文本的行高建议是字号的1.4到1.6倍。太挤了,多行文本读起来很累;太松了,信息密度不够。
  • 不要用斜体:斜体在屏幕上会降低识别速度。尤其是中文斜体,很多字体根本没有真正的斜体,只是强行倾斜,效果很差。
  • 避免全大写:英文全大写在车载上要慎用。全大写单词的轮廓是矩形的,人眼识别靠的是单词轮廓,全大写反而降低了阅读速度。

实战案例:我之前做一款新能源车的仪表盘,续航里程显示用了浅蓝色文字配深色背景。白天看着还行,一到晚上,蓝色文字在暗光下变得很刺眼,而且对比度不够。后来改成了白色文字配半透明黑色背景,问题就解决了。所以,一定要考虑白天和夜晚两种模式下的可读性。

4.4 排版布局:网格与呼吸感

车载屏幕的排版,我建议用8px网格系统。为什么是8px?因为大多数屏幕的分辨率是8的倍数,而且8px足够小,能做出精细的间距调整,又不会像4px那样碎。

间距规范:

  • 内容块之间的间距:24px或32px
  • 同一内容块内元素间距:8px或16px
  • 屏幕边缘留白:16px或24px

你想想看,如果所有元素都挤在一起,用户开车时余光一扫,根本分不清哪里是重点。适当的留白,其实就是给信息“呼吸”的空间。

注意:不要为了追求“科技感”而把文字排得太散。我见过一个设计,每个字之间间距拉得很大,说是“呼吸感”。结果用户反馈说“像在拼字游戏”。呼吸感是整体布局的事,不是单个字间距的事。

4.5 实战:一个简单的仪表盘文本系统

好,咱们来点实际的。假设你要设计一个仪表盘,包含车速、续航、挡位、时间四个信息。我会这样排:

/* 基础字号层级 */
:root {
  --font-size-hero: 56px;   /* 车速 */
  --font-size-primary: 36px; /* 续航、挡位 */
  --font-size-secondary: 24px; /* 时间、单位 */
  --font-size-tertiary: 18px; /* 标签、辅助文字 */
}

/* 字体设置 */
body {
  font-family: 'Noto Sans SC', 'Noto Sans', sans-serif;
  font-weight: 400;
  line-height: 1.5;
}

/* 车速:最大、最粗、居中 */
.speed-value {
  font-size: var(--font-size-hero);
  font-weight: 700;
  text-align: center;
}

/* 续航:次大,左对齐 */
.range-value {
  font-size: var(--font-size-primary);
  font-weight: 500;
}

/* 单位:小字号,跟随数值 */
.unit {
  font-size: var(--font-size-tertiary);
  font-weight: 300;
  color: rgba(255, 255, 255, 0.7);
}

这个代码只是一个示例,实际项目中你还要考虑字体加载、回退字体、不同语言下的显示效果。我建议把字体文件压缩到woff2格式,体积能小一半。

最后一个小建议:做完排版后,找个同事,让他站在1.5米外,模拟驾驶位视角,看能不能在2秒内说出所有关键信息。如果不行,那就得调整。这个测试方法,我用了好多年,比任何理论都管用。

好,这一讲就到这里。排版和字体,看似基础,但决定了整个HMI的可用性下限。下一讲我们会聊色彩与视觉风格,到时候见。