现在的位置: 首页 > 综合 > 正文

一些杂项问题 (logo 、文字等)

2012年12月28日 ⁄ 综合 ⁄ 共 1736字 ⁄ 字号 评论关闭
    在开发过程中遇到的一些问题的小结。以后遇到问题,将持续补充。
   
    1:出现Gtk-WARNING **: Locale not supported by C library.错误
       检查gconv库是否在/usr/lib目录下面。gconv一定要在/usr/lib目录下,其他目录好像不行(我个人看法)。
   
    2:生成locale目录下的文件
       localedef -f charmapfile -i inputfile output    [详见man localedef]
       这次要在板子上增加乌克兰文,要生成locale目录下的东西。但是这个东西是和平台相关(主要可能是大小字端相关,猜测,没有验证)的。这样就必须到板子上搞了,但是搞了好几次都被Killed了,用strace也没有发现什么错误,但是在mmap后就退出了,显示被killed了。没办法了,最后一个同事说这个操作比较耗内存,以前他在128M的板子上搞过。找个128M内存的板子,把pc上/usr/share/i18n/目录下的东西都copy过去了,晕,还是出错。最后把locales目录下不要的和charmaps目录下不要的文件全部删掉,只保留需要的文件,最后成功了(其中locales目录下要保留i18n,iso14651_t1,translit_XXXXXX,uk_UA;charmaps目录下保留了UTF-8.gz)。麻烦,还有乌克兰文的字体没有搞定,继续搞吧。

    3:Fontconfig的问题
       检查/etc/fonts/[或者其他etc/fonts]目录下的配置文件是否正确;如果正确,检查对应的fonts目录是否存在。[Fontconfig的一些工具fc-***(fc-cache, fc-cat, fc-list, fc-match)]

    4:查看源代码的代码行数
       find ./ -name '*.[ch]' -typf f|xargs cat|wc -l递归查看当前目录下的所有.c和.h文件中的总行数。
       find ./ -name '*.c' -type f|xargs cat|wc -l递归查看当前目录下的所有.c文件中的总行数。

    5:linux启动时候logo的修改
       如果只是修改logo显示一副图片,可以直接替换内核目录下的include/asm-XXX/linux_logo.h文件。
       如果修改logo显示动画效果。可以作如下修改:把多个linux_logo.h文件的内容合并到一个文件里面。合并后的文件中linux_logo_red,linux_logo_green,linux_logo_blue,linux_logo变成了二维数组,把每个单个的linux_logo.h中对应数组里面的内容作为一个数组元素放到对应的数组中即可;然后修改drivers/video/fbcon.c文件中的fbcon_show_logo函数,把这个函数的原来内容移到一个新的函数中,然后作一下处理来定时显示一副图片,最后在fbcon_show_logo中增加一个定时器来调用这个新加的函数即可。
       其中linux_logo.h可以由一副jpg图片或者png图片得到,步骤如下:convert -colors 223 -dither src.jpg dst.png; fblogo dst.png linux_logo.h(默认的内核只能支持223色。内核中使用8位表示,共有256项,其中有33项留作系统用了,这样只有223色了)。另外,我们板子关机时候的logo是纯的rgb数据,也是从jpg转过来的,步骤如下:convert -colors 223 -dither src.jpg dst.png; convert dst.png -size 480x272 -depth 8 rgb:logo。(具体的convert的用法可以看它的帮助文件)

 

http://blog.chinaunix.net/u1/37325/showart_381619.html

抱歉!评论已关闭.