小尺寸显示屏便宜、好用,但它的尺寸本身就是一个难题。屏幕就那么大,能显示的内容有限,字一大,一行放不下几个词;字一小,又糊成一团。这个矛盾,几乎每个做小屏项目的人都遇到过。
为了解决这个问题,mcer12 做了一套叫 PixelFonts 的字体。它的定位很明确:专为低分辨率显示屏设计,目标只有一个——让每一行尽可能装下更多的文字。
它不是一款字体,而是一族
PixelFonts 是一族压缩字体,而不是单独一款。这意味着它在高度和字重上有多种选择,可以根据屏幕的实际空间去挑一个合适的版本。
显示效果上,它提供常规版本,也提供带 3D 阴影的版本。对于小屏幕来说,阴影版能带来一点层次感,而常规版则更省空间。
它还支持带重音符号的字母。不过受限于空间,这些重音字母只有小写形式。这是一个取舍:想要覆盖更多语言,就得在别的地方让出位置。
怎么用:和现有库配合
PixelFonts 可以和 AdafruitGFX 或 U8g2 这两个库配合使用。用法并不复杂:
- 用所选库的常见语法向显示屏写内容;
- 字体本身则来自 PixelFonts。
也就是说,你不需要换掉原来的开发方式,只需要把字体这一环替换掉。对于已经在用这两个库的项目来说,接入成本不高。
如果你还想自己动手改,每一款字体都附带 BDF 文件。BDF 是一种常见的字体源文件格式,有了它,修改字形的门槛就低了很多,也更容易被更多人用起来。
榨干每一个像素,不止一种办法
在小屏幕上,把每一个像素都利用好很重要。但做到这一点,并不只有一条路。
比如在彩色 LCD 上,子像素渲染可以提升小字体的可读性。这是另一种把有限显示尺寸用足的方式。
PixelFonts 走的是字体设计这条路:从字形本身下手,把宽度压下来,让同样一行能容纳更多字符。而子像素渲染走的是显示技术这条路:不改字形,改的是像素怎么被点亮。
两条路并不冲突。一个负责让字更窄,一个负责让窄字更清楚。对于被小屏幕尺寸卡住的人来说,多一种选择,就多一分余地。
小屏幕的局限是真实的,但围绕它的解法,一直在变多。
热门跟贴