添加字体与字符集locale支持(基于busybox文件系统)
基于 支持 添加 文件系统 字体 字符集 busybox locale
2023-09-27 14:21:18 时间
添加字体与字符集(基于busybox文件系统) 2011-10-11 14:07:32
分类: LINUX
1.添加字体
下面以文泉驿为例
$ mkdir -p rootfs/usr/share/fonts/wqy //在busybox 文件系统里创建目录存放wqy 字体
$ cp /usr/share/fonts/misc/wenquanyi* rootfs/usr/share/fonts/wqy
//复制pc机系统里的字体到busybox 文件系统
$ cp /etc/fonts/font.conf rootfs/etc/fonts
$ cp /etc/fonts/font.dtd rootfs/etc/fonts
$ vim rootfs/etc/fonts/font.conf
复制 mkfontscale mkfontdir fc-cache fc-list 命令及相应的库到 busybox 文件系统,以下的操作在运行busybox文件系统的板子上执行
$ cd /usr/share/fonts/wqy
$ mkfontscale // 生成 fonts.alias 文件
$ mkfontdir //生成 fonts.dir 文件
$ fc-cache -vf
//更新字体缓冲 会在 /var/cache/fontconfig(由/etc/fonts/font.conf 指定生成缓存文件的存储路径) 下生成新字体缓冲文件
$ fc-list 查看当前系统里拥有的字体
2.添加字符集
在linux 系统中安装 glibc 时便会安装 locale,localedef 命令,想要添加字体集得安装 locales 软件包
$ cp /usr/bin/locale rootfs/usr/bin
$ cp /usr/sbin/localedef rootfs/usr/bin
$ cp /usr/sbin/locale-gen rootfs/usr/sbin
$ cp /etc/locale.alias rootfs/etc/
$ cp /etc/locale.gen rootfs/etc
$ vi rootfs/etc/locale.gen
找到你想要添加的字符集,去除前面的 "#"
以下的操作在运行busybox文件系统的板子上执行
$ locale-gen //产生字符集 这里以 zh_CN.GBK 为例
zh_CN.GBK character map file `zh_CN.GBK' not found: No such file or directory
复制 /usr/share/i18n/charmaps/GBK.gz 到文件系统对应的目录
zh_CN.GBK cannot open locale definition file 'zh_CN' no such file or directory
原来是/usr/share/i18n/locales/文件夹下的zh_*都没有了,复制过来,再更新OK
zh_CN.GBK cannot open locale definition file 'i18n' no such file or directory
zh_CN.GBK cannot open locale definition file 'iso14651_t1_pinyin' no such file or directory
zh_CN.GBK cannot open locale definition file 'iso14651_t1_common' no such file or directory
zh_CN.GBK cannot open locale definition file 'translit_neutral' no such file or directory
zh_CN.GBK cannot open locale definition file 'translit_combining' no such file or directory
zh_CN.GBK cannot open locale definition file 'translit_circle' no such file or directory
zh_CN.GBK cannot open locale definition file 'translit_cjk_compat' no such file or directory
zh_CN.GBK cannot open locale definition file 'translit_compat' no such file or directory
zh_CN.GBK cannot open locale definition file 'translit_font' no such file or directory
zh_CN.GBK cannot open locale definition file 'translit_fraction' no such file or directory
zh_CN.GBK cannot open locale definition file 'translit_narrow' no such file or directory
zh_CN.GBK cannot open locale definition file 'translit_small' no such file or directory
zh_CN.GBK cannot open locale definition file 'translit_wide' no such file or directory
到/usr/share/i18n/locales/i18n 目录下复制对的文件 到文件系统对应的目录
zh_CN.GBK cannot create temporary file : No such file or directory
$ mkdir -p /usr/lib/locale/ //locale-gen 执行成功之后会在此目录生成locale-archive 文件
$ locale //查看当前所设置的字符集
locale: Cannot set LC_CTYPE to default locale: No such file or directory
locale: Cannot set LC_MESSAGES to default locale: No such file or directory
locale: Cannot set LC_ALL to default locale: No such file or directory
LANG=zh_CN.UTF-8
LC_CTYPE="zh_CN.UTF-8"
LC_NUMERIC="zh_CN.UTF-8"
LC_TIME="zh_CN.UTF-8"
LC_COLLATE="zh_CN.UTF-8"
LC_MONETARY="zh_CN.UTF-8"
LC_MESSAGES="zh_CN.UTF-8"
LC_PAPER="zh_CN.UTF-8"
LC_NAME="zh_CN.UTF-8"
LC_ADDRESS="zh_CN.UTF-8"
LC_TELEPHONE="zh_CN.UTF-8"
LC_MEASUREMENT="zh_CN.UTF-8"
LC_IDENTIFICATION="zh_CN.UTF-8"
LC_ALL=
出现在上面的提示,是因为在执行locale命令时,会根据所设置的$LANG, $LC_ALL环境变量去/usr/share/locale 目录下面找对应的语言包目录,这里由于没有 zh_CN.UTF-8 目录(没有安装zh_CN.UTF-8语言包),所以会有以上提示,复制主机文件系统里 /usr/share/locale/zh_CN.UTF-8 到busybox 文件系统对应的目录就好了
$ locale -a //显示当前的所有字符集
C
POSIX
zh_CN.gbk //这是后添加的,busybox 默认只有支持 C,POSIX 字符集
zh_CN.utf8
相关文章
- 基于Volley,Gson封装支持JWT无状态安全验证和数据防篡改的GsonRequest网络请求类
- mac 下基于firebreath 开发多浏览器支持的浏览器插件
- 基于SVM支持向量机的车牌分割识别算法matlab仿真——详细版
- 基于NSGAII多目标遗传优化的WSN无线传感器网络最优覆盖率matlab仿真
- 基于SIMULINK的六足机器人仿真
- 【FPGA教程案例95】机器学习2——基于FPGA的SVM支持向量机二分类系统实现之Verilog编程设计
- 基于gabor特征提取和SVM支持向量机的人脸识别matlab仿真
- 基于MATLAB的SVM支持向量机的数据分类仿真,包括训练和测试
- 基于MATLAB的维纳滤波复原图像复原与重建设计
- FlinkCEP 介绍及入门案例 (基于flink 1.13.x的源码)
- 在基于acpi的linux系统上如何检查当前系统是否支持深度睡眠?
- 《数据分析实战 基于EXCEL和SPSS系列工具的实践》一2.3 在分析需求和模型之间搭起桥梁
- 基于 MATLAB 车牌识别【100010772】
- 基于springboot跟poi封装的最便捷的excel导出
- 基于SSM + Redis的Shiro权限管理项目
- 基于MiniGPT-4的支持图文的双语开源对话模型
- SwiftUI 前后端完整项目大全 之 网上商店App基于Node.js、Express和Vue构建 (项目含源码)
- SwiftUI 绘画大全之基于CoreData完整绘图APP源码支持后退和cloudkit
- SwiftUI 精品完整源码之记账类App基于CoreData支持Light和Dark模式 Figma(教程含源码)
- SwiftUI 绘画大全之基于CoreData完整绘图APP源码支持后退和cloudkit
- 美团点评基于 Flink 的实时数仓平台实践
- 开源倾情奉献:基于.NET打造IP智能网络视频监控系统(五)客户端介绍