当前位置: 首页 > news >正文

基于QEMU-aarch64学习UEFI(EDK2)-9中文字符添加

1 基于QEMU-aarch64学习UEFI(EDK2)-9中文字符添加

文章目录

  • 1 基于QEMU-aarch64学习UEFI(EDK2)-9中文字符添加
    • 1.1 如何让BIOS支持中文显示
      • 1.1.1 编码格式
      • 1.1.2 字符显示原理
    • 1.2 实践
      • 1.2.1 字库添加
        • 1.2.1.1 新增变量
        • 1.2.1.2 注册中文
      • 1.2.2 程序输出
      • 1.2.3 编写程序提取字库的字模
      • 1.2.4 编写驱动模块,加载汉字字库
        • 1.2.4.1 `ChineseFontDxe.inf`文件内容
        • 1.2.4.2 `ChineseFontDxe.c`文件内容
        • 1.2.4.3 `ChineseFont.h`文件内容
        • 1.2.4.4 `ChineseFont.c`文件内容
        • 1.2.4.5 驱动编译
        • 1.2.4.6 执行程序
      • 1.2.5 使用软件生成字库
        • 1.2.5.1 软件配置
        • 1.2.5.2 测试
    • 1.3 设置界面汉化
      • 1.3.1 中文语言添加
      • 1.3.2 切换语言
      • 1.3.3 自定义中文显示驱动

程序开发我们以 edk2-stable202302版本为准。

1.1 如何让BIOS支持中文显示

参考链接:https://zhuanlan.zhihu.com/p/25986442 如何让UEFI BIOS支持汉字显示:汉字编码与显示实践

具体原理可以参考上面链接,有详细介绍,下面只引用部分章节。

1.1.1 编码格式

UEFI采取了折中的方式,没有采用他们中任何一个,而是采用标准的UCS-2编码,即每个字符占两个字节,字符串长度=编码长度 / 2;(强迫症发作,不得不加个分号) ,对于UTF-16的扩展部分,答案很简单,不支持

1.1.2 字符显示原理

UEFI已经替我们考虑好了怎么显示字符,它定义了SimpleFont格式。SimpleFont是一种点阵字体,

相关文章:

  • SQL ③-基本语法
  • 数据库如何确定或计算 LSN(日志序列号)
  • 【Python】分析图标可视化visualization - 详解 1期
  • 解锁气象行业 UI 设计密码,打造极致用户体验
  • oracle 数据库字段类型为NUMBER(5,2)时,并且数据库值为0.1,为什么Java执行SQL查出来时为“.1“?
  • git分支合并信息查看
  • Spring MVC 国际化机制详解(MessageSource 接口体系)
  • 无人机镜头镜片进行防雾测试的意义和目的
  • DeepSeek 在金融领域的应用解决方案
  • 使用 kind 创建 K8s 集群并部署 StarRocks 的完整指南
  • 树莓派5从零开发至脱机脚本运行教程——5.硬件模块测试篇
  • SpringAOP新链浅析
  • Android中系统服务和bind的应用服务有什么区别?
  • MATLAB基于统计特征与指数退化模型的风力发电机高速轴承剩余寿命预测
  • rustdesk自建服务器怎么填写客户端配置信息
  • Go 语言范围 (Range)
  • 课程7. 机器学习的集成算法
  • zk基础—zk实现分布式功能
  • Spring 核心注解深度解析:@Autowired、@Repository 与它们的协作关系
  • VSCode英文翻译插件:变量命名、翻单词、翻句子
  • 做720全景好的网站/seo怎么做推广
  • wordpress博客类主题/手机优化大师
  • 石家庄seo网站优化电话/sem和seo的关系
  • 莱州双语网站/目前网络推广平台
  • 三维立体网站建设/欧洲网站服务器
  • 建材企业网站源码/百度推广开户怎么开