In message <[EMAIL PROTECTED]>, Jordi Mallach writes: >I'm building some catalan-enabled floppies, with no LANG_CHOOSER. >It looks like dbootstrap isn't started under the right locale, as it >shows 8bit characters like "?" in some places, and in others, it cuts >the line:
Okay, I think I see the cause of the problem. I'm not sure if it's worth fixing or not, though. The utf-8 enabled newt is using mbrtowc() as part of its text processing (look in textbox.c::doReflow). For this function to work it needs to know what character set is in use -- in absence of information to the contrary it will assume the "C" locale which is restricted to 7-bit ASCII. So, when it comes across a top-bit set character it spits the dummy and returns EILSEQ, which newt dutifully translates into a '?' symbol. To fix it "properly", we would need to ship an appropriate locale file and probably a gconv module. I don't think it especially matters which one, any 8-bit locale will do. And dbootstrap would need to make sure that an appropriate locale is set, probably by hardwiring a call to setlocale() with the right name. This isn't a big intellectual problem, but the locale files can be quite big and we might not want to start putting them on all the root disks. An alternative would be to hack newt so that it detected for itself whether a multibyte locale (ie UTF-8) was in use, and just avoided calls to mbrtowc() if not. Again, this would be relatively easy, but it's a bit of a mess and turning around a new package might take a while. Finally, we could just make sure that the versions of newt and slang that end up on single-locale boot floppies are the non-UTF8 ones. This seems like the most attractive proposition right now and I'm pretty sure it will make the problem go away. p. -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

