添加字体与字符集(基于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. R语言编程艺术#03#列表(list)

    向量的元素要求都是同类型的,而列表(list)与向量不同,可以组合多个不同类型的对象.类似于C语言中的结构体(struct)类型. 1.创建列表 从技术上讲,列表就是向理.之前我们接触过的普通向量都称 ...

  2. flink 获取上传的Jar源码

    package org.apache.flink.runtime.webmonitor.handlers; /** * Handles .jar file uploads. */public clas ...

  3. 【C语言】两个指针(地址)相减

    两个指针相减,为两个指针之间间隔这两个指针类型的数目. 如:int *p,*q; p-q=(p地址-q地址)/sizeof(int) #include <stdio.h> int main ...

  4. 【iCore1S 双核心板_ARM】例程四:USART通信实验——通过命令控制LED

    实验原理: 开发板上自带一片CH340芯片,完成本实验电脑需要安装CH340驱动, CH340的TXD连接STM32的GPIO(PB6),CH340的RXD连接STM32的 GPIO(PB7),通过串 ...

  5. 【转】在Win7的IIS上搭建FTP服务及用户授权

    [转]在Win7的IIS上搭建FTP服务及用户授权 [转]在Win7的IIS上搭建FTP服务及用户授权 FTP服务 FTP是文件传输协议(File Transfer Protocol)的简称,该协议属 ...

  6. Java知多少(72)文件的随机读写

    Java.io 包提供了 RandomAccessFile 类用于随机文件的创建和访问.使用这个类,可以跳转到文件的任意位置读写数据.程序可以在随机文件中插入数据,而不会破坏该文件的其他数据.此外,程 ...

  7. windows下更换pip源

    (1)在windows文件管理器中,输入 %APPDATA% (2)会定位到一个新的目录下,在该目录下新建pip文件夹,然后到pip文件夹里面去新建个pip.ini文件 (3)在新建的pip.ini文 ...

  8. python一天一题(3)

    #--coding=utf8-- from selenium import webdriver import time import logging import os.path ''' 搜索取搜索的 ...

  9. Java如何计数替换字符串中第一次出现的子字符串?

    在Java编程中,如何拆分正则表达式和字符串? 以下示例演示如何使用Matcher类的replaceFirst()方法替换字符中指定的子字符串的首次出现. package com.yiibai; im ...

  10. Dapper Extensions Change Schema

    Dapper Extensions Change Schema You can use the AutoClassMapper to assign a new schema to your model ...