… | |
… | |
310 | |
310 | |
311 | As you might have guessed, FreeBSD does neither define this symobl nor |
311 | As you might have guessed, FreeBSD does neither define this symobl nor |
312 | does it support it. Instead, it uses it's own internal representation of |
312 | does it support it. Instead, it uses it's own internal representation of |
313 | B<wchar_t>. This is, of course, completely fine with respect to standards. |
313 | B<wchar_t>. This is, of course, completely fine with respect to standards. |
314 | |
314 | |
|
|
315 | However, that means rxvt-unicode only works in C<POSIX>, C<ISO-8859-1> and |
|
|
316 | C<UTF-8> locales under FreeBSD (which all use Unicode as B<wchar_t>. |
|
|
317 | |
315 | However, C<__STDC_ISO_10646__> is the only sane way to support |
318 | C<__STDC_ISO_10646__> is the only sane way to support multi-language |
316 | multi-language apps in an OS, as using a locale-dependent (and |
319 | apps in an OS, as using a locale-dependent (and non-standardized) |
317 | non-standardized) representation of B<wchar_t> makes it impossible to |
320 | representation of B<wchar_t> makes it impossible to convert between |
318 | convert between B<wchar_t> (as used by X11 and your applications) and any |
321 | B<wchar_t> (as used by X11 and your applications) and any other encoding |
319 | other encoding without implementing OS-specific-wrappers for each and |
322 | without implementing OS-specific-wrappers for each and every locale. There |
320 | every locale. There simply are no APIs to convert B<wchar_t> into anything |
323 | simply are no APIs to convert B<wchar_t> into anything except the current |
321 | except the current locale encoding. |
324 | locale encoding. |
322 | |
325 | |
323 | Some applications (such as the formidable B<mlterm>) work around this |
326 | Some applications (such as the formidable B<mlterm>) work around this |
324 | by carrying their own replacement functions for character set handling |
327 | by carrying their own replacement functions for character set handling |
325 | with them, and either implementing OS-dependent hacks or doing multiple |
328 | with them, and either implementing OS-dependent hacks or doing multiple |
326 | conversions (which is slow and unreliable in case the OS implements |
329 | conversions (which is slow and unreliable in case the OS implements |