LaTex学习 – 使用中文

我用的是CTEX套件,中文支持都配置好了。

CCT:

\documentclass[CJK]{cctart}
\begin{document}
\kaishu 这是中文楷体字。
\end{document}

CJK*:

\documentclass{article}
\usepackage{CJK}
\begin{document}
\begin{CJK*}{GBK}{kai}
这是中文楷体字。
\end{CJK*}
\end{document}

编译方法和英文文档一样:

> latex chinese
> dvips chinese
> ps2pdf chinese.ps chinese.pdf

Carbide.c++ Express中如何编译多语言资源文件

Carbide.c++ Express是Nokia推出的用于开发Symbian C++程序的免费IDE,基于Eclipse,目前版本是1.0。由于我是新手,加上以前用Eclipse开发Java程序,所以一下子就选择了用Carbide.c++(还有一个重要的原因是我从来就不喜欢MS的东西,不想用VS)。

最近一直在学习Symbian C++编程,写了一个简单的TicTacToe游戏。想在里面加上Localization的功能,于是参照NewLC上的这篇文章和S60 SDK的文档准备了资源文件。

loc资源文件的内容是这样的:

// TicTacToe.loc
// Localisation for TicTacToe

#if defined LANGUAGE_01 | LANGUAGE_SC
#include "TicTacToe.l01"
#elif defined LANGUAGE_31
#include "TicTacToe.l31"
#endif

// End of File

可见,英文和中文的资源文件分别是 TicTacToe.l01和TicTacToe.l31。只要编译资源文件时指定不同的标志就可以生成两种语言的资源文件。

Carbide C++不支持mmp文件(只能Import),只能在项目的Build Configuration里设置,如下图:

localization.jpg

这样设置以后,并不能把两种语言的资源文件都生成出来。查看了Carbide.c++ Express的Release Note就会知道,它目前一次只能编译一种语言的资源文件,原文如下:

Can only build resources for one language - LANGUAGE_sc by default Change the language macro in the Resource Compiler project preference. You can only build for one language at a time.

解决办法是先编译英文的资源文件, 然后手工拷贝成TicTacToe.r01;再编译中文的,拷贝成TicTacToe.r31。这样pkg文件里就可以使用它们了。

我不想每次都手工的去拷贝文件,就写了一个Python脚本epocrc.py,自动地根据设置的语言标志调用epocrc.pl去编译资源文件。需要改一下Build Configuration的设置,把原来的perl -S epocrc.pl改成epocrc.py,如下图:

epocrc-py.jpg

Meta Refresh Tag 与 IE 5.0

IE 5.0 ?已经成古董了吧?

可是客户居然在用。动态生成的Meta Refresh标记里,URL是带查询参数的,而且参数是带空格的字符串,于是bug出现了:重定向后的页面里得到的查询参数空格后的东西都没了。

不能怪别人为什么还用IE 5。既然知道可能会有空格,为什么不做一下URL Encoding再生成Meta Refresh标记呢?

推卸一下责任:程序不是偶写的,偶只fix bug。

Ref: http://www.permadi.com/tutorial/urlEncoding