Fix DejaVu font problem for non-Latin

The guys who want to localise Puppy for Chinese and Japanese (and other non-Latin) languages, have a particular problem as many configuration files specify the 'DejaVu Sans' font.

The DejaVu home page gives an overview of the languages supported:

To localise to Chinese or Japanese, a special font package is required to be installed. To get applications such as JWM (window manager) to use it, their config files must replace "DejaVu Sans" with just "Sans".
If the system recognises "Sans" as mapping to the new Chinese/Japanese font set, then it will work.

Actually, in theory the fontconfig mapping could remap "DejaVu Sans" to the new Chinese/Japanese font set, but it seems that no one has figured out how to do that. It would be the simplest solution though.

Anyway, I have modified two scripts to replace all occurrences of "DejaVu Sans" with just "Sans".

This file is read by MoManager and becomes the post-install script for a langpack.
There is no Chinese or Japanese langpack yet (there is one for some older 4.x and early 5.x puppies but that is not compatible with recent pups). When someone uses MoManager to create a Chinese/Japanese langpack, it will have this new in it.

This takes care of replacing "DejaVu Sans" with "Sans" when certain packages are installed by the user.

Note, it is not just JWM that has this "DejaVu problem". There are various JWM and GTK theme PETs, and other PETs such as openbox, seamonkey, firefox.

You can find the updated scripts here:

Posted on 24 Sep 2012, 22:59


Posted on 25 Sep 2012, 5:23 by GCMartin
non-Latin Languages
Maybe we can cnsult with Shinobar and others. They may be able to work with the distro/WOOF to achieve success.

Shinobar, as I remember, has been addressing something akin to the blog issue for many years.

Puppy is maturing.
Here to help.

Posted on 25 Sep 2012, 8:04 by shinobar
CJK langpacks
Thanks for the script against the "DejaVu problem".
The CJK(Chinese/Japanese/Korean) langpacks need special components:
1. They need special fonts.
2. They need special input method.
3. They need special files for making their locale.
That is because they need special treatment.
I and the Japanese team are working on this, but may need more time.

Posted on 28 Sep 2012, 6:51 by aarf
no all lang pet
wget -4c

--2012-09-28 04:48:02--  (try: 3)

Connecting to failed: Connection timed out.

--2012-09-28 04:48:26-- (try: 4)
Connecting to

too many times. i've tried. can we have this pet hosted somewhere else please.

Posted on 28 Sep 2012, 7:03 by aarf
crashing gparted
while we are here.
i have lang_pack_cjk-lupq-0.2.sfs in racy5.3 and luci528.005. i have a file that has a title written in chinese characters. it just shown as ?????.rar instead of the correct characters.
when i try to do a gparted "check" of this partition with the ????.file on 8g kingston micro, gparted will crash without notice before finishing the check. happens in both racy and lupu.

Posted on 28 Sep 2012, 7:05 by aarf
"file that has a title written in chinese characters"
should be "file that has a file name written in chinese characters"

Posted on 28 Sep 2012, 7:07 by aarf
partition is fat32.

Posted on 28 Sep 2012, 7:14 by aarf
copy fail
if i try to copy the two chinese named files to ext3, because they are equal length of name in chinese characters in the same folder, one will overwrite the other as the names of both are now ????.rar and ????.rar even though the two files are different vastly sizes.

Posted on 28 Sep 2012, 8:36 by BarryK
Re langpacks
The langpacks that you are referring to are not officially supported for Puppy.

The supported langpacks are so far those announced here:

Do a search for "momanager" in my blog for more info.

Posted on 23 Oct 2012, 5:18 by vicmz
CJK langpacks
Since langpacks aren't expected to have any executable files, Chinese, Japanese and Korean language packs would have to include translations only, and special input methods would have to be offered as separate downloads. I think this can be uncomfortable for some users, but it is also convenient, unless it is possible to make a single input method PET package that works in each of the more than 10 Puppy versions and derivatives supporting Momanager translations.