La Vita è Bella
Saturday, January 22, 2011
Fix epubs
The wonderful epub reader for Android, Aldiko, released a major update recently. Besides some great new features/improvements, it also broke something: all Chinese characters in Pro Git Chinese version can't be displayed. But it didn't simply broke Chinese epubs at all. My other Chinese epubs are just fine.
I contacted Aldiko for help, they just replied claiming that I need to embed Chinese font into epub for them to display, and Adobe Digital Edition have the same problem. I tried my epubs with Adobe Digital Edition and it's really the same. But after I looked into my good and broken epubs (they are simply zip archives with metadata, html, css and pictures inside), I can't find embedded Chinese font (in the good ones, of course) at all.
Instead, I found something else interesting: all my good epubs have an "xml:lang" parameter set to "zh-CN" in every html tag, and the broken one didn't.
So I add that parameter to every html file in progit-zh.epub, and repack the file, now it works (in both Aldiko and Adobe Digital Edition)!
To simplify this work, I wrote a python script to do that automatically. It will unpack the epub file into a temp directory, add "xml:lang" parameter to every html file if didn't present, and then pack the epub back again. It will also output the replaced lines into stderr, like:
./progit_split_000.html:
<html xmlns="http://www.w3.org/1999/xhtml">
->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="zh-CN">
Get it from my script repo on GitHub, and change the LANG constant if needed.
If you have other ideas about it, please let me know.
tags: script, epub, chinese, python
21:28:08 by fishy - i18n.zh - Permanent Link
Tuesday, March 15, 2005
Perfect latex-beamer Chinese support
Just resolved the last problem in latex-beamer's Chinese support: Chinese PDF bookmark.
Howto? Just use the following command to compile it:
pdflatex beamer_slide.tex pdflatex beamer_slide.tex gbk2uni beamer_slide.out pdflatex beamer_slide.tex
tags: latex, beamer, i18n, chinese
18:33:00 by fishy - i18n.zh - Permanent Link
Tuesday, January 25, 2005
Resolved encoding problem in Vim
I've resolved the annoying encoding problem in vim today, and my Vim can handle UTF-8 encoded Chinese files correctly now :)
Just insert the following script into the vimrc file:
set fencs=gb18030,utf-8
In which "fencs" stands for "fileencodings".
The first one (gb18030) will be used for new files. While opening a file, vim will try to convert it use the first one, and the second one if failed, and third...
And I can convert a file between GB18030 and UTF-8 easily with vim now. Just open it, and then set fenc to the desired encoding, then write it, that's all
Vim is pretty good :)
tags: i18n, chinese, vim, utf8
00:19:00 by fishy - i18n.zh - Permanent Link