Skip to content

字体显示

Overview

点阵字库

顾名思义, 就是点阵形式的字库, 对于一个字符, 我们只需要保存它在每一个像素的状态就行了, 使用一位来表示一个像素, 1 就是 显示, 0 则反之 举个例子:

I be-like: (星号是1 , 点是0)

1
2
3
4
5
6
7
8
********
...*....
...*....
...*....
...*....
...*....
...*....
********

可以用 TypeTrue 吗?

???

也不是不行! 但在 kernel 中没有必要

奥卡姆剃刀定律 : 如无必要,勿增实体 1

存储?

在 020 的时候已经讲过了, 这里直接将字体文件硬编码进内核...

使用 Linux 是有好处的 -> 使用 xxd 来将文件转换成数组:

xxd ASC16 -i > glyph.c

-i 是关键!

Toy

我起初是使用 020 中所述的 ArgStack 的方式, 编写了 Uefi loader 部分的字体文件加载测试的代码, 现在已经沦为玩具, 但是我选择保留它这块纪念碑.


  1. https://baike.baidu.com/item/%E5%A5%A5%E5%8D%A1%E5%A7%86%E5%89%83%E5%88%80%E5%8E%9F%E7%90%86/10900565