Mailing List Archive

Support open source code!


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: tlug: Japanese



From: Totoro <riley@example.com>
Subject: Re: tlug: Japanese
Date: Thu, 4 Jun 1998 17:52:26 +0900 (JST)

riley> On Thu, 4 Jun 1998, Stephen J. Turnbull wrote:
riley> 
riley> > kinput2 is probably not worth worrying about unless you need to do
riley> > shell input (eg, if you telnet to a Japanese site).  It is necessary
riley> > for Japanese input in Netscape.  (Alternatively you can use xwnmo.)
riley> 
riley> Well, as of yet I haven't found a cure for the battle between kinput2
riley> and NS 4.05. If kinput is running, NS dies from a bus error (no core
riley> dump or anything useful to give a clue). Guess I could just sigh and
riley> がまんする, but I'm being stubborn and haven't given up yet...

I can recreate and eliminate this same error on my system.
  cow:/usr/local/netscape$ ./netscape
  Bus error

The fix:
  cow:/usr/local/netscape$ cat netscape.sh 
  #!/bin/sh
  export LD_PRELOAD=/usr/lib/netscape/INSTALL/liblocale.so
  export XFILESEARCHPATH=/usr/local/netscape/Netscape
  export LANG=ja_JP.ujis
  exec /usr/local/netscape/netscape 


I then run netscape.sh instead of netscape.  I've modifed my
app-defaults to display Japanese.  This has nothing to do with the
bus error, it only affects display of Japanese in menus, bookmarks,
and history.  There may be readily available app-defaults for Netscape
now.  Mine are "just-get-it-to-work" hacks and I would prefer if you
found one of the many readily available Japanese app-defaults for
Netscape so I don't get embarrassed. 

This is locale.c :

----------- cut here ---------------------

/* locale.c for Linux
   gcc -fPIC -shared -Wl,-rpath=/usr/X11R6/lib,-soname,liblocale.so \
   -o liblocale.so locale.c -L/usr/X11R6/lib -lX11 -lXt

   LD_PRELOAD=/lin/linlocale.so netscape */

#include <locale.h>
#include <X11/Intrinsic.h>

char *_Xsetlocale (int, const char *);

#undef setlocale
char *setlocale (int c, const char *l)
{
  if ((c == LC_ALL || c == LC_CTYPE) && l != NULL
      && !(*l == 'C' && l[1] == '\0')) {
        XtSetLanguageProc(NULL, NULL, NULL);
        l = NULL;
  }
  return _Xsetlocale(((c == LC_ALL || c == LC_CTYPE) ? 2 : 3), l);
}

---------- end source code -------------------



Compile per comments at top of C code.  Place the output liblocale.so
in some place like /usr/lib/netscape/INSTALL.  If you place it
someplace else, change the shell script accordingly. 
I think the environmental variable XFILESEARCHPATH is the name of the 
app-defaults file.  This is what works for me.  However, it seems
strange.  I keep thinking that it should be the _path_ to search
from.  Probably, I get that idea from the name of the variable.  ;-)
However, I've tried this about a dozen times on my (admittedly
heavily reworked) system and I keep having to specify the name of
the app-defaults file, not the search path.  If someone knows better,
please show me the true path of enlightenment.  


--

Though I suspect there is something strange with my main Debian Hamm-JP
system.  

This is a different subject. 

I have my LANG variable set to ja_JP.ujis.  I have my Japanese
man pages under /usr/man/ja_JP.ujis.  When I just do 

  $ man ls

I get the English manpage.  If I do

  $ man -L ja_JP.ujis ls

I get the Japanese manpage.

My understanding is that setlocale()  takes in the value of LANG
and probably sets LC_ALL for the man program.  Then, it gives 
precedence to the value of LANG.  So, the manpages in /usr/man/ja_JP.ujis
should take precedence over something like /usr/man/man1/ls.1.gz.
Something is not working on my main Debian hamm-jp system.  I can get it 
to work on  Red Hat 5 and TurboLinux 1.4-J libc5.  Has anyone seen this problem
before?  It is kind of weird.  I can get it to work on another system
even if I mount the exact same Japanese manpages in the same place
on a different system.


----
Craig Oda craigoda@example.com http://tlug.linux.or.jp/~craigoda (my PGP)





--------------------------------------------------------------
Next TLUG Meeting: 13 June Sat, Tokyo Station Yaesu gate 12:30
Featuring Stone and Turnbull on .rpm and .deb packages
Next Nomikai: 17 July, 19:30 Tengu TokyoEkiMae 03-3275-3691
After June 13, the next meeting is 8 August at Tokyo Station
--------------------------------------------------------------
Sponsor: PHT, makers of TurboLinux http://www.pht.co.jp

Home | Main Index | Thread Index

Home Page Mailing List Linux and Japan TLUG Members Links