On Mon, 13 Mar 2000, Dmitry Timoshkov wrote:

> I didn't understand yours "it is impossible to have two Unicode chars map
> to the same ASCII value". Would you say it more popular please?

Example:

002D;HYPHEN-MINUS;Pd;0;ET;;;;;N;;;;;
00AD;SOFT HYPHEN;Pd;0;ON;;;;;N;;;;;
2010;HYPHEN;Pd;0;ON;;;;;N;;;;;
2011;NON-BREAKING HYPHEN;Pd;0;ON;<noBreak> 2010;;;;N;;;;;
2013;EN DASH;Pd;0;ON;;;;;N;;;;;
2014;EM DASH;Pd;0;ON;;;;;N;;;;;
2015;HORIZONTAL BAR;Pd;0;ON;;;;;N;QUOTATION DASH;;;;

These are just SOME of the Unicode chars that may map to the ASCII minus
sign "-" (0x2d). It is also common to map accentuated chars to their base
chars, e.g. "S WITH CARON" to a plain "S", when the appropriate character
does not exist in the codepage.

> I spent quite much time to understand NT's file format and possibilities
> to generate such files from unicode.org's .txt files. NT's NLS files have
> quite simple format according to Ove's investigations, information gathered
> from Internet and my own tests.

Well, the SBCS codepage NLS files, yes. The other files (toupper/tolower
in l_intl.nls, which I did figure out recently by looking at YAW sources,
the locale files, and especially the sorting tables, which is still a
mystery to me) are not quite as simple.

> However, I have problems with DBCS NLS-files
> and with understanding of unicode.org's .txt for DBCS. Of course, we could
> use as source of information not unicode.org, but NT4 or NT2000 NLS files.
> (I have plenty of them) But how legal is it? (Of course that tables will
> be in some *.c or *.h file and would never be associated with the source
> of information).

Probably not incredibly legal. Using their format is one thing (legal as
long as reverse engineering for compatibility purposes is), but their
data, on the other hand, is under copyright.

> Now question about process of generation. When to generate files? In the
> compile time or in process of "make install"? I propose the second one. But
> due to the latest debates in the newsgroup about install script it seems
> that not all like to use it.

It has always been possible to run Wine without *needing* to do "make
install", so why not create them during compilation? Generation is just
another word for compilation, isn't it?

> More questions:
> How at run time to locate and load generated NLS files?

Loading them is obviously best done with mmap()-ing (known as
MapViewOfFile in the win32 API) to save memory. Perhaps it could search
for these files in places like
-the system dir
-nls/*.nls from the program dir (if the user didn't make install)
-$libdir/wine/*.nls or $libdir/wine/nls/*.nls or whatever
($libdir == $prefix/lib, $prefix == /usr/local or /usr)

> Who can add support for DBCS and Unicode fonts to x11drv or help with it?

I have not worked with Xlib directly... asking on this list won't hurt...
(I think)

> And the very important for me:
> I can write conversion/generation utility, but I am not able to mess with
> make files and I need help with it.

Makefiles aren't that complicated?

Reply via email to