[Top][All Lists]

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

Re: [Lynx-dev] lynx iconv for Solaris

From: Takao Fujiwara - Tokyo S/W Center
Subject: Re: [Lynx-dev] lynx iconv for Solaris
Date: Fri, 26 Dec 2008 03:45:13 +0900
User-agent: Thunderbird (X11/20080326)

Thomas Dickey-san wrote (12/25/08 11:11 PM):
On Thu, 25 Dec 2008, Thomas Dickey wrote:

@@ -952,6 +952,20 @@ int UCTransUniCharStr(char *outbuf,
HTSprintf0(&tocode, "%s//TRANSLIT", LYCharSet_UC[charset_out].MIMEname);
         cd = iconv_open(tocode, "UTF-16BE");
+        if (cd == (iconv_t)-1) {
+        HTSprintf0(&tocode, "%s", LYCharSet_UC[charset_out].MIMEname);

I'm puzzled here - since TRANSLIT is less stringent, I would expect
that the check would be first made on the exact translation rather
than on the transliteration.   Any comments?

looking a little further, I see that the issue is that TRANSLIT is
a glibc extension, so it's tried first in case it works.  (google didn't
show much comment about whether it's more/less likely to succeed than the
plain POSIX version).

Yes, you're right.
This means Solaris iconv always failed the "$ENCODING//TRANSLIT".
So if iconv_open("$ENCODING, "UTF-16BE") is added without "//TRANSLIT", it 
works on none GNU iconv.

> -  if ((strcmp(LYCharSet_UC[charset_out].MIMEname, "shift_jis") == 0) ||
> -      (strcmp(LYCharSet_UC[charset_out].MIMEname, "euc-jp") == 0)) {
> +  if (LYCharSet_UC[charset_out].codepage == 0 &&
> +      LYCharSet_UC[charset_out].codepoints == 0) {
>        iconv_t cd;

This means I'd like to use iconv for CJK but not Japanese only.

reply via email to

[Prev in Thread] Current Thread [Next in Thread]