Typesetting LaTeX with CJK on Mac OS X is provided out-of-box by MacTeX, so working with LaTeX should be a breeze on Mac OS X. However, MacTeX ships with only two Chinese fonts, Arphic Ming Big5 (bsmi) and Arphic Sung GB2312 (gbsn). As I want to use Kai I have to look around for solutions.
I found this great website that explains how to use LaTeX and the CJK package on OS X. The good news is that the author of the page provides a shell script for installing any Unicode truetype fonts for TexLive so that you can use the truetype fonts in your LaTeX documents. The bad news is… it doesn’t work on my system. I tried it on both Arphic Big5 and GB2312 Kai fonts, and when I ran my LaTeX document through the
latex command (or in TeXShop, for that matters), I came to this error:
! Package inputenc Error: Keyboard character used is undefined (inputenc) in inputencoding `utf8'. See the inputenc package documentation for explanation. Type H
for immediate help. ... l.194 ^^[ ndinput
Trying the shell script on the STKaiti font (/Library/Fonts/华文楷体.ttf) shipped with OS X, is even worse, because ttf2tfm gives a "Bus error" (or segfault on Linux) when parsing the truetype font, looks like a bug in ttf2tfm:
$ ttf2tfm stkaiti.ttf -P 0 -E 3 -w "stkaitiu@Unicode@" This is ttf2tfm version 1.5 stkaitiu00: Glyph Code Glyph Name Width llx lly urx ury ------------------------------------------------------------------------ Bus error
At the end, I resort to extracting the necessary files from Debian packages (hurray Debian) and put them into ~/Library/texmf, and that works!
The Debian packages I use are latex-cjk-chinese-arphic-bkai00mp and latex-cjk-chinese-arphic-gkai00mp. Since Debian packages are just
ar archives, they can be extracted by the
ar x command. After the deb package has been extracted, extract the data.tar.gz file, and then look for the folders called
tex, move them to
~/Library/texmf, which you have to create. Now you should have a directory structure like this:
After the font files have been put in place, run these two commands (for the Big5 Kai truetype font):
$ sudo texhash $ sudo updmap --enable Map bkaiu.map
For the GB2312 one, use:
$ sudo texhash $ sudo updmap --enable Map gkaiu.map
It's that easy!
Popularity: 17% [?]
Stumbled upon a toy which performs Japanese handwriting recognition online by using ajax as the frontend. As I said it’s just a toy so the correctness is so so, but nonetheless a very good proof-of-concept. This toy uses Support Vector Machine as the underlying algorithm so the program is able to learn from the user’s handwriting. Ever since I made lamerpad I realize that pattern recognition should be a better means to handle handwriting recognition than analyzing stroke patterns, such as stroke order, numbers and positions, which lamerpad employs, as stroke structures vary from person to person. But by using machine learning algorithms like SVM or artificial neural networks, a hybrid system could be made, such system not only can learn from how the character looks, but also how the character is written by the user. By now Chinese handwriting recognition technology is already quite mature, but just no such open source programs, SCIM handwriting module, anyone?
- http://www.teresi.us/html/writing/handwriting.html: “Handwriting Recognition, Using a Neural Network Character Classifier”, have a description of Newton Messagepad’s handwriting recognition engine
- http://www.byte.com/art/9609/sec17/art7.htm: overview of companies that work on Chinese handwriting recognition
Popularity: 22% [?]
Now Google Calendar users in China can finally enjoy the same SMS alert service as in other countries. Although they mentions China Unicom as the only mobile provider to be supported, I have no problem in registering the service and receiving alerts even I’m a China Mobile subscriber. This alert service is very handy to everyone, as Google Calendar will send you SMS to your mobile phone whenever an event is going to begin.
An interesting tidbit is, they sent the verification code to my mobile phone via HUTCHISON_HK, where HUTCHISON is one of the mobile service providers in Hong Kong. It seems that Google choose neither China Mobile nor China Unicom, the two major mobile providers in China, as their partners.
Popularity: 5% [?]
Ditu (地圖, 地图) means map in Chinese. China has long been missing from the global Google Maps. Zooming into the China border, only patches of grey blocks are shown, occasionally with blue lines here and there indicating rivers and lakes, and worst of all, maps are just unavailable after you have drilled down deep enough.
Usually this doesn’t pose any problems as Google China serves China maps (and only China maps) at Google 地图, which provides all the functionalities of the global Google Maps website, sans satellite images. This is annoying nevertheless, it’d be the best if users can see maps of China seamlessly when they’re viewing maps.google.com, without jumping out from maps.google.com and then type in another URL just to view some data that’s still backwardly regarded by the Chinese authority as confidential and sensitive.
“Hybrid” mode for China maps is another feature that would be handy to Chinese users. Satellites images are already available but just not being shown on ditu.google.com. Since hybrid mode requires a special layer of map tiles, specially they have a transparent background so that the satellite images can show through underneath the maps, without post-processing map data provided by Mapabc this is not achievable. By Google’s terms of usage of the map data, processing the maps and then re-distribute is not legal. We can only use some freely redistributable map data such as from www.openstreetmap.org.
Hooking up maps.google.com with maps from Google China is not difficult, actually that’s much easier than I thought because Google Maps API already have the mechanism to add a new map type for showing custom map data. My proof-of-concept is shown below, press the “Ditu” button at the top right hand corner and you’ll see maps delivered from ditu.google.com.
Ideally, this “mashup” should best be implemented using the new Google Mapplets, this will give users the best user experience as they only need to add a mapplet and then Google China maps will be embedded to the map window automatically, users are not required to go to this page. But since Google Mapplets doesn’t support adding new map types due to security concerns, this currently is not an option. Frankly, I don’t see there’s any security concerns by supporting new map types.
Don’t be surprised if you notice that the satellite images do not align with the Google China maps, because Google China intentionally shifted the latter to please the Chinese authority. Did it say that the maps are regarded as national security?
Popularity: 13% [?]
Last night I gave a short presentation at Beijing Linux User Group (BLUG) on the Debian project and the new Etch release. As Roy Chan had given a talk about the new release in the Hong Kong Debian Etch release party, I asked for his permission to use his slides for this talk, and he happily agreed. I made some modifications to his slides and cut out the part about Linux introduction, you can find the presentation slides in OpenOffice.org 2 format here, PDF version here. In the meeting Darren mentioned the idea of using peer-to-peer technology in apt, so that users don’t need to set any repositories in the configuration, this is a very good idea, and coincidentally there is a Google Summer of Code project on this topic.
Popularity: 3% [?]