信息工程院网的工作所犯问题总结

今年2月、3月,有幸成为信息工程学院院网[ http://www.hziee.edu.cn ]制作人,承担了前端页面方面的工作。

现在院网基本进入正常运行。总结一些另自己后悔的问题。

1.起初未和后端的同学,pjsky 协调好字符编码。
由于我本人长期工作在 UTF-8 编码环境下,自然而然选择了 UTF-8 作为前端实现的编码方案,知道后来整合测试才知道,后端同学用了 GBK ,于是我被迫转码了,导致了我这边 GBK 支持的编辑器不太适应,调试修改变得很头疼。

2.对于 HTML 文稿实现时,没有形成成熟的 id 与 class 命名方案。
这是因为自己的经验还是不够多,没有积累下一整套的自己的方案,而正是开工后,也一直没有时间去看一些成熟的框架,学习他们的命名方案。

3.院网工作开始时,没有部署一些版本控制方案。
这直接导致了修改方案时,不能代码回档!!!!  T T   不过,以现在的硬件资源情况,也没有一种好的方式。。。

这几个对于我来说,是相当苦恼的问题,好在基本是解决了,接下去的任务就是要思考怎么把这一堆代码留给下一届的继承人了。

好吧。。继续努力吧。

Kindle Touch 字体无痛修改

Kindle Touch 是原生支持中文的,所以直接显示中文,没有多大问题,但是仔细看的话,会发现,其显示中文的字体是无衬线的,啥叫无衬线呢,微软雅黑和黑体就是无衬线的,学过前端或者印刷或者平面等的同学都会知道,吴衬线字体,其实不适合作为正文的字体的,因为长时间看无衬线字体,会很疲劳,因此。另一个问题就是,有些字体,大小不一,颜色深浅不一,看着不是很舒服,于是,既然越狱了,就干脆改了字体。

注意,一下步骤,需要先将系统越狱,以及安装 usbnetwork,并可以用 ssh 链接到 kindle,具体方法可见我 之前的一片文章《Kindle 折腾起步,越狱及备份》 。

本文方法参考了以下几位前辈的文章:Dnxnwindirtixtab

因为 Kindle Touch 实际上是基于 Linux ,加上 Java 虚拟机,以及一些框架构成的,所以,其字体配置其实就是 Linux 系统下的 Fontconfig 文件,也就是位于 /etc/fonts/ 下的 local.conf 配置文件。

如果您对 Linux 不熟悉的话,可以看下这个文档 “Fontconfig配置详解” ,当然,如果您不愿意去费这力气,继续往下按照我的步骤就是。

这是 local.conf 中关于字体的一段

<alias>
    <family>serif</family>
    <prefer>
    <family>Caecilia Regular</family> #英文字体
    <family>Kindle Symbol</family> #KT中用到的小图标字体
    <family>HeiseiMaruGoth_JIS0213_E</family> #日文字体
    <family>HangulGothicMTC-Medium_E</family> #韩文字体
    <family>MHeiGB18030C-Medium_E</family> #简体中文字体
    <family>MHeiC-Medium-Big5HKSCS_E</family> #正体中文字体
    <family>Code2000</family> #同样是英文字体,备用
    </prefer>
</alias>

这是 serif 也就是衬线字体的配置部分,纵观整个 local.conf ,其实 serif ,sans-serif 的差别只有英文字体部分,而中文字体,只有一个 “MHeiGB18030C-Medium_E” ,而大家知道,日文中,也会有汉语字符,那些个深浅不一的字,就是先从“HeiseiMaruGoth_JIS0213_E”这个日文字体中找到了那个字,所以产生了这种情况,我们要做的,就是在这个字体之前,插入我们自定义的字体。
方法大致如下:


mntroot rw
ln -s /mnt/us/fonts/99-leigh.conf /etc/fonts/conf.d/
cd /usr/share/fonts
mkdir leigh
cd leigh
ln -s /mnt/us/fonts/*.ttf .
mkfontscale
mkfontdir
fc-cache -v -f
mntroot ro
killall cvm
exit

你可以下载我的字体配置文件:下载地址

下面是回复默认的方法,同样需要 ssh 登录~


mntroot rw
rm -f /etc/fonts/conf.d/99-leigh.conf
cd /usr/share/fonts
rm -rf leigh
fc-cache -v -f
mntroot ro
killall cvm
exit

我的配置大致如下:
定义 serif :字体为 方正雅宋;
定义 sans-serif :字体为 华文细黑(常态),微软雅黑(粗体)//原以为华文细黑是 sans-serif,结果貌似在kindle上看起来是 serif ,不管了,反正耶不用 sans-serif 看书,实在有需要或者有完美主义的朋友可以自己改成雅黑之类的
condensed 则使用了微软正黑,如果繁体字的书,可以用这个字体看,也许效果会好一点。
monospace 则是用了 ixtab 包里的 Bitstream Vera Sans Mono 字体,效果还不错。

截图如下:
目录页,因为有定义粗体字,所以不会出现 dnxn 的现象


下面是中文效果,这个字体因该是 雅宋 字体。

下面是英文显示,因该是和原生没有区别的,因为我们是在日文字体之前插入我们的自定义字体,而没有覆盖掉英文的字体设置。

下面是新闻页的展示: