一个txt文件从硬盘到显示的过程有关问题

一个txt文件从硬盘到显示的过程问题
一个txt文件,里面有以下内容:
0x61 0x62 0x63
用记事本打开显示 abc
那么这一过程是怎样的?我的设想是:
1 从硬盘把0x61 0x62 0x63读入内存
2 查找当前代码页
3 在代码页中找到对应的字符
4 如果当前字体支持当前代码页对应的字符集,那么从字体文件中找到对应字符字的样子
5 输出(根据字体样子)

我的疑问是:
我的设想对嘛?
代码页就是对某个字符集(比如{abc})的一种编码方式,比如把a看成0x61,把b看成0x62,那么3过程就没有必要存在了,直接4过程不就好了?
求详细。

------解决方案--------------------
显示一个文字其实可以理解为将这个文字所代表的字体文件中的图元显示出来,也就是映射。
以前内存不多的时候为了节省内存就用了代码页,代码页(字符集)代表了一套字符映射方案,字符集中字符的位置跟它的图元在字体文件(或者是内存)中有严格的对应关系。

你说的记事本中选择了某字体而该字体不支持某字符但记事体(或者说系统)既然还能够(注意是能够但不是正确/正常)显示,我估计你用的记事本程序是UNICODE版本的(XP系统的nodepad就是UNICODE版本),如果是ANSI版本的估计就是空白或者乱码了。再说不被支持的字符依然能显示的问题,这要归功于Windows系统,它的字体映射器根据PANOSE信息背地里给你找了一种相似的字体,但这种字体有时候看起来会明显不同(家族/粗细等),例如你打开一个中文文件,然后选择某些西方国家的字体和字符集,你会看到中文和E文的字迹明显不同,这是因为E文用的是你选择的那种字体显示但中文却是系统自己自动选择其他字体的。

在ANSI方式下,一个中文文件你选择中文字体他就显示中文,你选择日文字体他就显示日文或者乱码,但在UNICODE方式下无论选择那种字体他都能显示中文(不包括SYMBOL_CHARSET字符集的字体)。

在ANSI方式下映射很容易出问题,但在UNICODE方式下却很容易成功映射。