[oeasy]python0124_Code_page_437_IBM_5150_点阵式字形码_显示器效果

字符显示器

回忆上次内容

  • 简体和繁体的汉字
    • 字符数量都超级大
    • 感谢王选和陈堃銶等前辈发明了激光照排技术
    • 中文排版从此使用上了gb2312编码

[oeasy]python0124_Code_page_437_IBM_5150_点阵式字形码_显示器效果_第1张图片

  • 纸张之外
    • 显示器是更先进的输出设备
  • 计算机是如何在显示器上显示的呢?

点阵字库

  • 计算机显示的原理是
    • 通过具体的像素点
    • 亮或者暗来决定
  • 如果墙一面显示器
    • 那上面可以显示两个数字字符
    • 每个字符使用 3 * 5 像素点阵

[oeasy]python0124_Code_page_437_IBM_5150_点阵式字形码_显示器效果_第2张图片

  • 这些像素点被编码到字形码当中
    • 需要某个字的时候就显示这个字的字形码

[oeasy]python0124_Code_page_437_IBM_5150_点阵式字形码_显示器效果_第3张图片

英文字形码

  • 英文字形相对简单
    • 最低使用 5 * 7 点阵就可以显示一个字符

[oeasy]python0124_Code_page_437_IBM_5150_点阵式字形码_显示器效果_第4张图片

  • LCD1602
    • 每行 16 个字符
    • 总共 2 行

[oeasy]python0124_Code_page_437_IBM_5150_点阵式字形码_显示器效果_第5张图片

  • 字形库并不是很大
  • 计算机显示器呢?

显示系统

  • 1981年的 IBM兼容机
    • 80 * 25 个字符
    • 每个字符 9 * 14 个像素
      • 经历了 5*7 -> 7*11

  • 配一块专门的显卡
    • IBM Monochrome Display Adapter
    • 可以输出到屏幕
    • 也可以输出到打印机

[oeasy]python0124_Code_page_437_IBM_5150_点阵式字形码_显示器效果_第6张图片

字型

[oeasy]python0124_Code_page_437_IBM_5150_点阵式字形码_显示器效果_第7张图片

  • 仔细看

[oeasy]python0124_Code_page_437_IBM_5150_点阵式字形码_显示器效果_第8张图片

  • 右侧都会空两列

[oeasy]python0124_Code_page_437_IBM_5150_点阵式字形码_显示器效果_第9张图片

  • 这些字形存储在ROM中

显示适配器

  • ROM 被放置在显卡上

  • 一般运行在文字模式
    • 按照字符进行渲染
    • 字符编码集 是 IBM的 ascii-exterded
    • 字型来自ROM

[oeasy]python0124_Code_page_437_IBM_5150_点阵式字形码_显示器效果_第10张图片

  • 字形中有一些制表符

    • 可以显示表格效果
  • 虽然如此原始

    • 但也能玩游戏

文字冒险游戏

  • 文字冒险类游戏
    • text adventures

[oeasy]python0124_Code_page_437_IBM_5150_点阵式字形码_显示器效果_第11张图片

  • 键盘输入指令
    • 走遍地图

各种字符

  • 各种字符都试图在5*7的点阵范围

    • 内显示字体
  • 字体风格为

[oeasy]python0124_Code_page_437_IBM_5150_点阵式字形码_显示器效果_第12张图片

  • 西里尔字符和日本假名
    • 如何拥有字型呢?

显示字体

  • 拉丁、西里尔甚至日文片假名都实现了这一目标
    • 但是中文不可能
      • 因为字型实在太复杂
      • 只能勉强实现日、白、田等简单文字

[oeasy]python0124_Code_page_437_IBM_5150_点阵式字形码_显示器效果_第13张图片

  • 也可以有文字游戏

[oeasy]python0124_Code_page_437_IBM_5150_点阵式字形码_显示器效果_第14张图片

  • 这颜色
    • 是支持VT-100控制序列了吗?

控制序列

  • 最开始 只支持
    • 下划线
    • 加亮
    • 翻转
    • 隐藏

[oeasy]python0124_Code_page_437_IBM_5150_点阵式字形码_显示器效果_第15张图片

  • 可以 魔改 控制亮度吗?

魔改版

  • 通过6/7两个管脚控制亮度

[oeasy]python0124_Code_page_437_IBM_5150_点阵式字形码_显示器效果_第16张图片

  • 总共四档亮度

[oeasy]python0124_Code_page_437_IBM_5150_点阵式字形码_显示器效果_第17张图片

  • 3/4/5管脚一直保留
    • 后来被改成RGB

[oeasy]python0124_Code_page_437_IBM_5150_点阵式字形码_显示器效果_第18张图片

  • 可以显示图形吗?

字符模式显示图形

  • 理论分辨率 720×350
    • 但也仅仅只是理论
    • 没能对像素地址编码
    • 只能按照坑位填写字形

[oeasy]python0124_Code_page_437_IBM_5150_点阵式字形码_显示器效果_第19张图片

  • 描述图像
    • 靠的还是字符方式
    • 只能靠 asciiart
  • 这种局面下
    • 中文如何进入计算机世界呢?

总结

  • IBM 将 ASCII 扩展之后
    • 规定了 一个字节的字符集
    • 并制作了 相应的字形库

  • 这种显示模式和字符大小之下

    • 中文该如何进入计算机世界呢?
  • 我们下次再说!

  • 蓝桥->https://www.lanqiao.cn/courses/3584

  • github->https://github.com/overmind1980/oeasy-python-tutorial

  • gitee->https://gitee.com/overmind1980/oeasypython

你可能感兴趣的:(python)