Author:
Tory Braybrook (aka "kahm" @ ZUG)
Version 1.1
Revision History
02/16/2005 - Initial release.
02/18/2005 - Updated contents, styles and published at cacko.biz.
Table of Contents
1. Introduction
2. Getting Started
3. Japanese Support
3.1 Japanese Support IPK
3.2 Dictionary
3.3 Translator
4. Best of Both Worlds
4.1 Solutions
4.1.1 Japanese Locale
4.1.2 zh_TW
4.1.3 Helvetica Fonts
4.1.4 Zstyle
4.1.5 Stubear's script
5. Example Install
6. Links
7. Credits and Thanks
This HOWTO is targeted at users of the Zaurus SL-Cxxx series who plan to switch to using the Cacko ROM, a wholly English translated OS, while retaining the Japanese input methods, fonts, and some useful software from the original OS. You'll need a supported Sharp Zaurus: currently any of SL-C700, SL-C750, SL-C760, and SL-C860 are fully supported by the latest version of Cacko (1.22 at the time of this writing).
The SL-C3000 is as yet unsupported, but hopefully the coming months will change that. The SL-C700 and 750 might have problems installing all the software as the space requirements for the dictionary and translator packages are quite high.
North American Zaurii, such as the 5000, 5500, 5600, and 6000, are unsupported by this Cacko ROM version and none but the 6000 has the screen resolution to be able to run the VGA optimized Japanese software anyway.
This HOWTO is a compilation of my experiences regarding Japanese display issues on my Zaurus SL-C860 starting from a clean Cacko install. I can't guarantee any of the information contained within, nor can I be held responsible for any damage or loss of data incurred from this information. Messing with your Zaurus ROM can be tricky business, so make sure you have anything of any importance backed up and safely stashed away.
Before you begin, I recommend reading through each section ahead of time to familiarize yourself with the procedures before following through with them. You'll also need to decide what level of Japanese support you want in your Zaurus. For example, if you are looking to be able to display Japanese characters in a program that allows you to manually select your font (Such as Opie Reader, or a study tool like Kanji Nirvana), then you can simply download the unifont package from the Cacko feed and skip the rest of this document. If you want to run the Japanese software from the Zaurus, you'll instead have to follow through with one of the options in section 4.
Anyone who wants to actually be able to input Japanese characters using the Japanese input methods will have to install the special Japanese kernel that has been made available on the Cacko homepage . This frees up the two Japanese keys that the original kernel rebinds to Control and Alt keys. You can either flash the Japanese kernel at the same time as the rest of the ROM, or at any point afterwards. Specific instructions for replacing your current ROM are available on the Cacko homepage.
Once you've got Cacko running your Zaurus, you're ready to install the base Japanese support packages. There are three of these packages which all consist of various pieces of software gathered from the original Japanese ROM. These three files are:
1) Japanese Input support and fonts
2) Japanese Kanji Dictionary
3) English<->Japanese Translator
The easiest way to acquire these files is to download them from the official Cacko feed , either on another machine or through the "Install Packages via Networks" option in the Zaurus's "Add/Remove Software" applet. If you install from the feed via the Networks option directly onto the Zaurus you'll have to install the Translator and Dictionary data files directly to Internal Flash. If you'd rather install them to a memory card you should download them separately and check the next section. The two translator data files are also available on the install CD that came with the SL-C860.
Also, if you're reading this HOWTO text online from your Zaurus, you can just click on package links, download them and install as you read through the document.
japanese-support_1.0-3_arm.ipk
The Japanese Support IPK is the first and most important of the packages available. This package installs all of the Japanese Fonts, sets up the Japanese Locale for the Zaurus, and installs the numerous Japanese Input methods - six in all.
The Japanese Support IPK must be installed to the internal flash on the Zaurus. It is probably best to install this one before doing anything else in this Howto.
3.2. Japanese Kanji Dictionary
The Japanese "Dictionary" (Jisho from the Applications Tab, sljisho from the command line, or JISPA for SL-Zaurus in the program itself) is an application included with all the SL-Cxx Zaurii. It is a Japanese Kanji dictionary, similar in funtion to the popular clamshell dictionaries like the Canon Wordtank. Mainly used for getting readings for unfamiliar Kanji, it gives both Japanese and English translations for a word plus variations and words or phrases that contain the search term. Generally the dictionary is most useful to intermediate or advanced speakers of Japanese.
Installing to internal flash is quite straightforward - it just works. However, problems occurred when I tried to install to a fat formatted SD card. Fortunately, the dictionary files are relatively easy to set up manually. You can do it on a single card with sufficient space, or unpack on one card then copy to another.
Create a directory on the card (CF or SD) on which you want to run the dictionary from. I called mine "linked" on my SD card (/mnt/card). If you instead wish to install on a Compact Flash card you would use the mount point /mnt/cf.
cd /mnt/card mkdir linkedCopy the dictionary IPK to the linked directory.
cd /mnt/card/linked mv japanese-dict_1.0-2_arm.ipk japanese-dict_1.0-2_arm.tar.gz tar -xvzf japanese-dict_1.0-2_arm.tar.gz rm control.tar.gz debian-binary tar -xvzf data.tar.gz cd opt/QtPalmtop/dic cp .sljisho.conf /home/zaurus/settings/sljisho.conf cd .. mv dic ../.. cd ../.. rm -r -f opt cd /home/zaurus/Settings
Now, edit the sljisho.conf file and change all 12 entries for the dictionary path to match your new path. In my example's case the new path is /mnt/card/linked/dic/DICTIONARY NAME. I recommend using vi from the command line to do your editing, but a general editor like Zeditor should work as well. You won't be able to use Hancom Word or Sharp's original text editor, either.
3.3. English/Japanese Translator
translator_1.0.0-1_arm.ipk
translator-ej-data_1.0.0-1_arm.ipk
translator-je-data_1.0.0-1_arm.ipk
The English/Japanese Translator (translator from the command line and the E/J silkscreen button on the left side of the 860 screen) only came with the SL-C860 originally, but the software will run on any SL-Cxx series Zaurus. It is a full sentence translator similar to Altavista's Babelfish service. You can enter a sentence, either in English or Japanese, and get it translated with moderate levels of accuracy. Like any machine translation it can produce some pretty strange sounding sentences but it is fast, easy, and gets the point across. It is especially useful for surfing Japanese web pages. Definitely a useful program for all levels of Japanese proficiency.
The translator data files are available off of the original software CD for the 860 or from the Cacko feed. The original files on the CD are called translator-ej-data_1.0.0_arm.ipk and translator-je-data_1.0.0_arm.ipk. You'll have to install all three in order for the translator to work. It appears that the translator files have to be installed to the Internal Flash, which can be problematic if you're worried about space as they take up nearly 50mb. I installed the translator_1.0.0-1_arm.ipk to Internal Flash, and manually set the data files up on my SD card:
Copy the translator data IPK files to the linked directory created when you installed the dictionary files to your card (Section 3.1), then from the Konsole:
cd /mnt/card/linked mv translator-ej-data_1.0.0-1_arm.ipk translator-ej-data_1.0.0-1_arm.tar.gz tar -xvzf translator-ej-data_1.0.0-1_arm.tar.gz rm debian-binary control.tar.gz tar -xvzf data.tar.gz rm data.tar.gz mv translator-je-data_1.0.0-1_arm.ipk translator-je-data_1.0.0-1_arm.tar.gz tar -xvzf translator-je-data_1.0.0-1_arm.tar.gz rm debian-binary control.tar.gz tar -xvzf data.tar.gz rm data.tar.gz cd opt/QtPalmtop mv translator /mnt/card/linked cd ../.. rm -r -f opt cd /opt/QtPalmtop su ln -s /mnt/card/linked/translator
Once all of your Japanese IPKs are installed, you'll find that trying to use any of the software runs into an issue - the fonts don't display properly. All you get when you try to view or display Japanese text is empty boxes, known as "mojibake".
The reason you can't normally display the Japanese text has to do with Qtopia's font handling. Qtopia has a set of requirements built into it that allows it to choose fonts for a particular locale. As far as I know, no one is quite sure how it chooses a particular font and there isn't a native way to force it to use a different font. English locale seems to favour the Helvetica fonts, while the Japanese locale favours the Lcfonts.
There seem to be five distinct approaches to solving the problem of mojibake, each with different strengths and weaknesses. I've detailed the solutions I've found, ranging from simple configuration changes to brute force file modification. I personally use option 4, which forces Qtopia's font choice using a 3rd party program.
The easiest solution to the problem is to switch your Z to using the Japanese locale when you want to use the Japanese software. You can do so by going to the "Language" applet on the settings tab and choosing Japanese. You will have to wait a moment for Qtopia to restart, but you will have full Japanese support when it comes back.
There are a couple of obvious downsides to this approach: It takes time to switch the locale back and forth, and most of the menus and program text are in Japanese. This is quite similar to the state of the original Sharp ROM and can be quite difficult for someone without much Japanese experience to operate with.
The next easiest option would be to manually set your locale to zh_TW, which I think is for Taiwan/Mandarin. To do this you have to edit the locale.conf file in /home/zaurus/Settings using and editor like vi or Zeditor. Change the language line to read:
Language = zh_TW
The disadvantages with this approach will vary. When I tried it my English fonts in Qtopia were very small and much harder to read. Some icon names also changed to Chinese - most notably the text editor and the console. To reverse the change make the language line read:
Language = enAnd reboot.
The next easiest method is to hide the Helvetica fonts that Qtopia prefers to use for the English locale. Qtopia appears to fall back on using ~16 point Lcfont, which has full support for Japanese display and input.
To start, open the console application and type:
cd /opt/QtPalmtop/lib/fonts su mkdir oldfonts mv helv* oldfontsThen reboot your Zaurus. You should probably do it by typing "reboot" or "killall qpe" at the command line. I seem to recall that trying to load the shutdown applet after removing the default font caused strange things to happen.
The downsides to this one appear to be mostly cosmetic - the font chosen by default is thin, and noticeably harder to read than Cacko's default font for Qtopia. In the applications themselves things look a bit better. I didn't test extensively, but the one person that I did this for has reported no major issues other than some possibly unrelated mojibake in Netfront instead of some punctuation marks. The other problem is your choice of fonts for everday use, such as for Opie Reader or Hancom Word, are reduced.
Reversing this change is easy. From the console:
cd /opt/QtPalmtop/lib/fonts su cd oldfonts cp * .. cd ..And reboot. It is safe to leave the oldfonts directory intact as it is quite small. You can remove the oldfonts directory by typing:
rm -r -f oldfontsBe careful not to make a typo with this command as root.
My preferred solution to the issue is, on the surface, the simplest one. Simply force Qtopia to use a different font. The fact that Qtopia provides no native interface to do this does complicate matters, so I had to do a little digging to find a way. What I came up with is the infamous Zstyle program, originally designed for the 5xxx series. It lets you change fonts, backgrounds, and styles for a number of different bits of the Qtopia interface. I've redone a bit of scripting to let it install cleanly on my 860. The IPK should be available from the Cacko feed:
Once you've installed the IPK, reboot your Zaurus to enable the OS changes. You should now have a "Zstyle" icon (An eye in a red sphere) on your settings tab. To change your default font:
1) Make sure your Qtopia fonts are on their largest magnification. (FN +2 while on a tab). If you don't do this the Icon text will remain the same size no matter what magnification you are using.
2) Press and hold your stylus on the Zstyle icon, then remove the checkmark from the "Display with magnified screen" option.
3) Open Zstyle.
4) The tab that lets you change the Application font to allow for Japanese display and input is the second from the left, called "Font". I chose Lcfont at size 18.
5) The tab that lets you change the Qtopia font is the second from the right called "Launcher". Put a check in "Custom font" and click "Select". I chose Helvetica, Bold, at Size 20, which should be pretty close to the original Cacko settings. Changing the Qtopia font will set the font for the Icons in the launcher. Unless you have an Icon with a Japanese name that doesn't display properly you can leave this font on Helvetica for readability. It may not be necessary to change this setting - I'd already modified it before before finding out that the Application font was the one needing altering for Japanese support.
6) Click OK, then OK again.
7) Select "No" to restarting Qtopia. I've found that restarting manually via the Shutdown applet works better. You have to fully reboot the Z - just trying to restart Qtopia doesn't always work. Once you have rebooted you should be using the new font, and all the Japanese input programs should now "just work".
I've been using it for several weeks now without issue, but keep in mind that Zstyle is a program originally intended for 5x00 Zaurii, and has been known not to play nice in certain circumstances. I've only used it for changing my Qtopia font and it seems to work perfectly. That being said, I can't be held responsible for it bricking your Z, zapping your data, or anything else for that matter.
To undo the change you can select the Helvetica font in Zstyle, or uninstall the IPK and reboot. To temporarily disable Zstyle for troubleshooting you can the original qpe.sh script used to launch Qtopia at boot. In the console:
cd /opt/QtPalmtop su cp qpe_orig.sh qpe.shAnd reboot. To re-enable Zstyle again afterwards you would instead copy the modified script:
cp qpe_shepherd.sh qpe.shAnd reboot. Don't try editing the content of these files without good reason, as a problem here will leave you unable to enter the Qtopia GUI.
There is one last method available for converting your Z, but I haven't actually tried it yet. Apparently Stubear's famous English conversion script works just as well on the Japanese locale in Cacko as it does on the original Sharp Rom. It is a script that you run on the Z that converts most of your menus and programs to English while maintaining Japanese compatibility. At the time of this writing, Stubear's official link was for
http://www.wbcd.org/computing/zaurus/part_12.html
You should probably select Japanese locale from the Language applet before attempting to run the script.
I've used his script when I originally got my 860 with the original Sharp 1.4 ROM and it worked quite well. It does leave some residual Japanese behind, but I experienced no major functional problems with it. There are a few menus that remain Japanese or mojibake.
In this section I've listed the exact sequence I went through to get my 860 up and running the full Japanese support environment under Cacko 1.22 Lite with Hotfix A, and with the dictionary and translator datafiles on SD card. All IPK files were downloaded manually and saved to a CF card for installation.
1) Backed up any important data. Keep in mind that backups made with the Backup and Restore applet in older versions of Cacko are not compatible with Cacko 1.22.
2) Removed all expansion cards from the Zaurus (SD and CF)
3) Flashed my Zaurus with the Cacko 1.22-Lite ROM, as detailed on the Cacko homepage. (slc7x0-Qtopia-1.22-lite-1149040205.zip )
4) Allowed the Zaurus to boot and did basic configuration for touchscreen calibration and timezone.
5) Flashed the Japanese Kernel, as detailed on the Cacko homepage. (slc7x0-Qtopia-1.22-j-1349311204.zip )
6) Installed the Cacko 1.22A Hotfix IPK to Internal Flash. (cacko-qtopia-rom-hotfix_1.22a_arm.ipk )
7) Installed the Japanese Support IPK to Internal Flash. (japanese-support_1.0-3_arm.ipk )
8) Switched to Japanese Locale using the Language applet on the Settings Tab to confirm proper installation.
9) Switched back to English Locale using the Language Applet on the Settings Tab.
10) Installed the Zstyle IPK to Internal Flash. (zstyle_1.4.1-slc.1.arm.ipk )
11) Rebooted the Zaurus using the Shutdown applet.
12) Pressed and held stylus on Zstyle icon on Settings tab. Removed checkmark from "Display with Magnified Screen."
13) Ran Zstyle. Chose Lcfont/18pt from Font tab. Put check in front of "Custom Font" on Launcher tab. Clicked on select and chose Helvetica/Bold/20pt. Clicked on OK, then OK again. Chose "No" when asked to restart Qtopia.
14) Rebooted the Zaurus using the Shutdown applet.
15) Manually installed the Japanese Kanji Dictionary to SD card.
With japanese-dict_1.0-2_arm.ipk in the root of the SD card:
cd /mnt/card mkdir linked mv japanese-dict_1.0-2_arm.ipk linked cd linked mv japanese-dict_1.0-2_arm.ipk japanese-dict_1.0-2_arm.tar.gz tar -xvzf japanese-dict_1.0-2_arm.tar.gz rm control.tar.gz debian-binary tar -xvzf data.tar.gz cd opt/QtPalmtop/dic cp .sljisho.conf /home/zaurus/settings/sljisho.conf cd .. mv dic /mnt/card/linked cd ../.. rm -r -f opt cd /home/zaurus/Settings vi sljisho.confI changed the 12 entries for the path to the dic directory to the new path of /mnt/card/linked/dic
16) Installed the Translator IPK to internal flash. (translator_1.0.0-1_arm.ipk )
17) Manually installed the Translator data files to SD card
With translator-ej-data_1.0.0-1_arm.ipk and translator-je-data_1.0.0-1_arm.ipk in the root of the SD card:
mv translator-ej-data_1.0.0-1_arm.ipk translator-je-data_1.0.0-1_arm.ipk linked cd linked mv translator-ej-data_1.0.0-1_arm.ipk translator-ej-data_1.0.0-1_arm.tar.gz tar -xvzf translator-ej-data_1.0.0-1_arm.tar.gz rm debian-binary control.tar.gz tar -xvzf data.tar.gz rm data.tar.gz mv translator-je-data_1.0.0-1_arm.ipk translator-je-data_1.0.0-1_arm.tar.gz tar -xvzf translator-je-data_1.0.0-1_arm.tar.gz rm debian-binary control.tar.gz tar -xvzf data.tar.gz rm data.tar.gz cd opt/QtPalmtop mv translator /mnt/card/linked cd ../.. rm -r -f opt cd /opt/QtPalmtop su ln -s /mnt/card/linked/translator18) Done!
Cacko ROM Homepage
http://cacko.biz/cacko
Zaurus User Group
http://www.zaurususergroup.org
Open Embedded Software Foundation - New home of the ZUG Forums.
http://www.oesf.org
Author:
Tory Braybrook
tory DOT bb AT gmail DOT com
Special Thanks to:
maslovsky - Creator of the Cacko ROM
stupkid - Maintainer of the official Cacko Feed
Stubear - The original Zaurus Japanese Guru
offroadgeek - Maintainer of the ZUG and OESF
SHARP's Engineering Department - Creator of these fantastic devices.
Special Insults to:
SHARP's Marketing Department - for making me fly to Japan to pick the
thing up in the first place.
This document is licensed under the Creative Commons
Attribution-NonCommercial-ShareAlike 2.0 license. Redistribution and
modification are allowed for non-commercial reasons as long as the
original author is attributed and any modifications are released under
the same license terms.
This document was mostly created in Hancom Word on the Zaurus while
riding the bus to work. Final edit and spellcheck were done in MS Word
under WinXP. HTML code was created and edited by hand. It should be HTML
compliant, and was tested in Firefox 1.0 and IE 6 under WinXP, and Opera
7 under Cacko 1.22.