… | |
… | |
279 | As you might have guessed, FreeBSD does neither define this symobl |
279 | As you might have guessed, FreeBSD does neither define this symobl |
280 | nor does it support it. Instead, it uses it's own internal |
280 | nor does it support it. Instead, it uses it's own internal |
281 | representation of wchar_t. This is, of course, completely fine with |
281 | representation of wchar_t. This is, of course, completely fine with |
282 | respect to standards. |
282 | respect to standards. |
283 | |
283 | |
|
|
284 | However, that means rxvt-unicode only works in "POSIX", "ISO-8859-1" |
|
|
285 | and "UTF-8" locales under FreeBSD (which all use Unicode as wchar_t. |
|
|
286 | |
284 | However, "__STDC_ISO_10646__" is the only sane way to support |
287 | "__STDC_ISO_10646__" is the only sane way to support multi-language |
285 | multi-language apps in an OS, as using a locale-dependent (and |
288 | apps in an OS, as using a locale-dependent (and non-standardized) |
286 | non-standardized) representation of wchar_t makes it impossible to |
289 | representation of wchar_t makes it impossible to convert between |
287 | convert between wchar_t (as used by X11 and your applications) and |
290 | wchar_t (as used by X11 and your applications) and any other |
288 | any other encoding without implementing OS-specific-wrappers for |
291 | encoding without implementing OS-specific-wrappers for each and |
289 | each and every locale. There simply are no APIs to convert wchar_t |
292 | every locale. There simply are no APIs to convert wchar_t into |
290 | into anything except the current locale encoding. |
293 | anything except the current locale encoding. |
291 | |
294 | |
292 | Some applications (such as the formidable mlterm) work around this |
295 | Some applications (such as the formidable mlterm) work around this |
293 | by carrying their own replacement functions for character set |
296 | by carrying their own replacement functions for character set |
294 | handling with them, and either implementing OS-dependent hacks or |
297 | handling with them, and either implementing OS-dependent hacks or |
295 | doing multiple conversions (which is slow and unreliable in case the |
298 | doing multiple conversions (which is slow and unreliable in case the |