添加字体与字符集(基于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

/usr/share/fonts/zh_CNusr/share/fonts/wqy       // 此处添加寻找字体的路径
复制 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

添加字体与字符集locale支持(基于busybox文件系统)的更多相关文章

  1. [转]TrueType(TTF)字体文件裁剪(支持简体中文,繁体中文TTF字体裁剪)

    原文入口: TTF字体文件裁剪(支持简体中文,繁体中文TTF字体裁剪) 对于TrueType(TTF)字体格式的介绍可以看: https://www.cnblogs.com/slysky/p/1131 ...

  2. 基于s5pv210嵌入式系统busybox文件系统移植

    基于s5pv210嵌入式系统busybox文件系统移植 1.下载源码 busybox.net/downloads下载最新版的busybox源码,最新源码为1.21.1 2.解压源码文件 tar xvf ...

  3. 基于busybox的Linux小系统制作 (initrd)

    我们有时候有需要在busybox基础上,制作linux,可是却不知道具体怎么做,这里将对基于busybox的linux小系统制作做出详细的步骤说明.准备环境:1.一个Redhat完整系统的虚拟机,本次 ...

  4. C# 嵌入dll 动软代码生成器基础使用 系统缓存全解析 .NET开发中的事务处理大比拼 C#之数据类型学习 【基于EF Core的Code First模式的DotNetCore快速开发框架】完成对DB First代码生成的支持 基于EF Core的Code First模式的DotNetCore快速开发框架 【懒人有道】在asp.net core中实现程序集注入

    C# 嵌入dll   在很多时候我们在生成C#exe文件时,如果在工程里调用了dll文件时,那么如果不加以处理的话在生成的exe文件运行时需要连同这个dll一起转移,相比于一个单独干净的exe,这种形 ...

  5. [ExtJS5学习笔记]第五节 使用fontawesome给你的extjs5应用添加字体图标

    本文地址:http://blog.csdn.net/sushengmiyan/article/details/38458411本文作者:sushengmiyan-------------------- ...

  6. MongoVUE1.6.9破解启动提示System.ArgumentException: 字体“Courier New”不支持样式“Regular”

    用MongoVUE,发现报错,报错信息如下: System.ArgumentException: 字体"Courier New"不支持样式"Regular". ...

  7. linux服务器下添加字体

    版权声明:本文为楼主原创文章,未经楼主允许不得转载,如要转载请注明来源. 引言:这两天在开发一个动态生成海报的东西(图片拼接,图片水印),开发在windows下没有问题,图片和文字都能正常的生成出来. ...

  8. ASP.NET 为GridView添加序号列,且支持分页连续累计显示

    为GridView添加序号列,且支持分页连续累计显示,废话不多说,直接上代码: <%@ Page Language="C#" AutoEventWireup="tr ...

  9. 【转】Windows下使用VS2008编译OpenCV 2.1 添加Intel TBB和Python支持

    Windows下使用VS2008编译OpenCV2.1 添加Intel TBB和Python支持 步骤: 1.仔细阅读OpenCV官网上的InstallGuide:http://opencv.will ...

随机推荐

  1. Apache Spark 2.3.0 重要特性介绍

    文章标题 Introducing Apache Spark 2.3 Apache Spark 2.3 介绍 Now Available on Databricks Runtime 4.0 现在可以在D ...

  2. 译:3.消费一个RESTful Web Service

    这节课我们根据官网教程学习如何去消费(调用)一个 RESTful Web Service . 原文链接 https://spring.io/guides/gs/consuming-rest/ 本指南将 ...

  3. TypeScript学习笔记(九):装饰器(Decorators)

    装饰器简介 装饰器(Decorators)为我们在类的声明及成员上通过元编程语法添加标注提供了一种方式. 需要注意的是:装饰器是一项实验性特性,在未来的版本中可能会发生改变. 若要启用实验性的装饰器特 ...

  4. 菜鸟教程之工具使用(八)——EGit禁止自动转换回车换行符

    众所周知,Windows和Linux系统的回车换行是不一样的.想要进一步了解它们的可以阅读下面的介绍,不感兴趣的可以直接跳过. 产生背景 关于“回车”(carriage return)和“换行”(li ...

  5. hello.cpp 第一个C++程序(本博客没有特指都是以QT测试)

    操作步骤:1.文件->新建文件或项目(N)->New File or Project->Qt Console Application->Choose->“名称”中输入工程 ...

  6. var_dump

    1:var_dump 主要输出类型和.长度和变量的值: 2: var_dump() 能打印出类型print_r() 只能打出值echo() 是正常输出...需要精确调试的时候用 var_dump(); ...

  7. qt在GUI显示时,将调试信息输出到控制台的设置

    1. 在.pro文件中添加一下设置: CONFIG += console 2. 项目的[构建和运行]中,需要勾选[Run in terminal]:

  8. 牛客网_Go语言相关练习_选择题(1)

    声明:题目源自牛客网. 一.单项选择题 解析:作为形参时,可以要求单向,只读或只写. 解析:Go语言的内存回收机制规定,只要有一个指针指向引用一个变量,那么这个变量就不会被释放(内存逃逸),因此在Go ...

  9. [Installing Metasploit Framework on CentOS_RHEL 6]在CentOS_RHEL 6上安装Metasploit的框架【翻译】

    [Installing Metasploit Framework on CentOS_RHEL 6]在CentOS_RHEL 6上安装Metasploit的框架[翻译] 标记声明:蓝色汉子为翻译上段英 ...

  10. Scala学习笔记(二):object、伴生对象和基本类

    object object 是只有一个实例的类.它的定义与Java中的class类似,如: // 单例对象 object AppEntry { def main(args: Array[String] ...