Georg Baum <[EMAIL PROTECTED]> writes: | Index: src/support/types.h | =================================================================== | --- src/support/types.h (Revision 14982) | +++ src/support/types.h (Arbeitskopie) | @@ -18,20 +18,10 @@ | | #include "docstring.h" | | -#include <boost/cstdint.hpp> | - | #include <cstddef> | -#include <string> | | namespace lyx { | | - // The type used to hold characters in paragraphs | - typedef boost::uint32_t char_type; // Possibly the ucs-4 type we will use | - //typedef wchar_t char_type; // The wide char type CJK-LyX uses | - //typedef char char_type; // Current narrow char type in use | - | - //typedef std::wstring docstring;
see below. | /// a type for positions used in paragraphs | // needs to be signed for a while to hold the special value -1 that is | // used there | Index: src/support/docstring.h | =================================================================== | --- src/support/docstring.h (Revision 14982) | +++ src/support/docstring.h (Arbeitskopie) | @@ -18,8 +18,19 @@ | | namespace lyx { | | +/// The type used to hold characters in paragraphs | +#if defined(HAVE_WCHAR_T) && SIZEOF_WCHAR_T == 4 | +// Prefer this if possible because GNU libstdc++ has usable std::ctype<wchar_t> | +// locale facets but not std::ctype<boost::uint32_t>. gcc older than 3.4 is | +// also missing usable std::char_traits<boost::uint32_t>. | +typedef wchar_t char_type; | +#else | +// This works on msvc | +typedef boost::uint32_t char_type; | +#endif I think I'd like to keep this in types.h. | Index: configure.ac | =================================================================== | --- configure.ac (Revision 14982) | +++ configure.ac (Arbeitskopie) | @@ -147,6 +147,9 @@ AC_SUBST(AIKSAURUS_LIBS) | | LYX_USE_INCLUDED_BOOST | | +# Needed for our char_type | +AC_CHECK_SIZEOF(wchar_t) Should we have AC_CHECK_TYPES(wchar_t) as well? (for completeness.) -- Lgb