delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp-workers/2001/07/31/16:24:52

From: "Tim Van Holder" <tim DOT van DOT holder AT pandora DOT be>
To: <djgpp-workers AT delorie DOT com>, "JT Williams" <jeffw AT darwin DOT sfbr DOT org>
Subject: Re: gettext port
Date: Tue, 31 Jul 2001 21:51:01 +0200
Message-ID: <CAEGKOHJKAAFPKOCLHDIEEBHCGAA.tim.van.holder@pandora.be>
MIME-Version: 1.0
X-Priority: 3 (Normal)
X-MSMail-Priority: Normal
X-Mailer: Microsoft Outlook IMO, Build 9.0.2416 (9.0.2910.0)
In-Reply-To: <7458-Tue31Jul2001211847+0300-eliz@is.elta.co.il>
X-MimeOLE: Produced By Microsoft MimeOLE V5.50.4133.2400
Importance: Normal
Reply-To: djgpp-workers AT delorie DOT com
Errors-To: nobody AT delorie DOT com
X-Mailing-List: djgpp-workers AT delorie DOT com
X-Unsubscribes-To: listserv AT delorie DOT com

> > Surely NLS support is a good thing, but I really was shocked at the
> > resulting increase in size of the NLS-capable executable.  E.g.,
> > sed 3.02.80 with NLS support---even stripped and UPX-compressed---is
> > seven times larger than the corresponding 3.02 executable!  I naively
> > expected NLS support to involve a few hooks in the application itself,
> > with the real nuts and bolts---and code overhead---of the support to
> > reside elswhere (e.g., an optional app).
> 
> NLS support requires translation between different character sets,
> like between ISO-8859-1 and the corresponding DOS codepage 850 (to
> pick an example that is relevant for DJGPP).  Each such conversion
> requires 2 tables: from the source charset to Unicode and from Unicode
> to the target charset.  Taking into consideration how many charsets
> are supported, you can imagine the sheer volume of the tables this
> requires.  All of those tables are sitting inside the program.

Exactly - I consider this a bad design decision, coming from the
standpoint 'It's a shared library anyway', which simply doesn't hold
true on all platforms (even though libiconv's configure.in tries to
disable static builds IIRC).  It seems to make much more sense to have
data files in $prefix/share/iconv, with only those tables that are
actually required loaded into memory.  If none are found (as would be
the case on systems without libiconv installed), this would mean no
charset translation was possible, but that is a small drawback 
compared to wasting several megabytes of disk space.

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019