wx/archive.h \
wx/arrimpl.cpp \
wx/arrstr.h \
+ wx/atomic.h \
wx/beforestd.h \
wx/buffer.h \
wx/build.h \
wx/archive.h \
wx/arrimpl.cpp \
wx/arrstr.h \
+ wx/atomic.h \
wx/beforestd.h \
wx/buffer.h \
wx/build.h \
src/mac/carbon/morefilex/MoreFilesX.c \
src/mac/corefoundation/cfstring.cpp \
src/mac/corefoundation/stdpaths_cf.cpp \
+ src/mac/corefoundation/strconv_cf.cpp \
src/mac/corefoundation/utilsexc_base.cpp \
src/os2/dir.cpp \
src/os2/mimetype.cpp \
wx/unix/stdpaths.h \
wx/mac/corefoundation/cfstring.h \
wx/mac/corefoundation/hid.h \
- wx/mac/corefoundation/stdpaths.h
+ wx/mac/corefoundation/stdpaths.h \
+ wx/mac/corefoundation/private/strconv_cf.h
@COND_TOOLKIT_@BASE_MACOSX_HDR = $(COND_TOOLKIT__BASE_MACOSX_HDR)
COND_TOOLKIT_COCOA_BASE_MACOSX_HDR = \
wx/unix/app.h \
wx/unix/stdpaths.h \
wx/mac/corefoundation/cfstring.h \
wx/mac/corefoundation/hid.h \
- wx/mac/corefoundation/stdpaths.h
+ wx/mac/corefoundation/stdpaths.h \
+ wx/mac/corefoundation/private/strconv_cf.h
@COND_TOOLKIT_COCOA@BASE_MACOSX_HDR = $(COND_TOOLKIT_COCOA_BASE_MACOSX_HDR)
COND_TOOLKIT_GTK_BASE_MACOSX_HDR = \
wx/unix/app.h \
wx/unix/stdpaths.h \
wx/mac/corefoundation/cfstring.h \
wx/mac/corefoundation/hid.h \
- wx/mac/corefoundation/stdpaths.h
+ wx/mac/corefoundation/stdpaths.h \
+ wx/mac/corefoundation/private/strconv_cf.h
@COND_TOOLKIT_GTK@BASE_MACOSX_HDR = $(COND_TOOLKIT_GTK_BASE_MACOSX_HDR)
COND_TOOLKIT_MAC_BASE_MACOSX_HDR = \
wx/mac/corefoundation/cfstring.h \
wx/mac/corefoundation/hid.h \
wx/mac/corefoundation/stdpaths.h \
+ wx/mac/corefoundation/private/strconv_cf.h \
wx/unix/app.h \
wx/unix/apptbase.h \
wx/unix/apptrait.h \
wx/unix/stdpaths.h \
wx/mac/corefoundation/cfstring.h \
wx/mac/corefoundation/hid.h \
- wx/mac/corefoundation/stdpaths.h
+ wx/mac/corefoundation/stdpaths.h \
+ wx/mac/corefoundation/private/strconv_cf.h
@COND_TOOLKIT_MOTIF@BASE_MACOSX_HDR = $(COND_TOOLKIT_MOTIF_BASE_MACOSX_HDR)
COND_TOOLKIT_X11_BASE_MACOSX_HDR = \
wx/unix/app.h \
wx/unix/stdpaths.h \
wx/mac/corefoundation/cfstring.h \
wx/mac/corefoundation/hid.h \
- wx/mac/corefoundation/stdpaths.h
+ wx/mac/corefoundation/stdpaths.h \
+ wx/mac/corefoundation/private/strconv_cf.h
@COND_TOOLKIT_X11@BASE_MACOSX_HDR = $(COND_TOOLKIT_X11_BASE_MACOSX_HDR)
@COND_PLATFORM_MACOSX_1@BASE_PLATFORM_HDR = $(BASE_MACOSX_HDR)
@COND_PLATFORM_MSDOS_1@BASE_PLATFORM_HDR = wx/msdos/mimetype.h
monodll_MoreFilesX.o \
monodll_cfstring.o \
monodll_stdpaths_cf.o \
+ monodll_strconv_cf.o \
monodll_utilsexc_base.o \
monodll_DirectoryCopy.o \
monodll_FSpCompat.o \
monodll_timerunx.o \
monodll_cfstring.o \
monodll_stdpaths_cf.o \
+ monodll_strconv_cf.o \
monodll_utilsexc_base.o
@COND_TOOLKIT_@__BASE_MACOSX_SRC_OBJECTS = $(COND_TOOLKIT____BASE_MACOSX_SRC_OBJECTS)
COND_TOOLKIT_COCOA___BASE_MACOSX_SRC_OBJECTS = \
monodll_timerunx.o \
monodll_cfstring.o \
monodll_stdpaths_cf.o \
+ monodll_strconv_cf.o \
monodll_utilsexc_base.o
@COND_TOOLKIT_COCOA@__BASE_MACOSX_SRC_OBJECTS = $(COND_TOOLKIT_COCOA___BASE_MACOSX_SRC_OBJECTS)
COND_TOOLKIT_GTK___BASE_MACOSX_SRC_OBJECTS = \
monodll_timerunx.o \
monodll_cfstring.o \
monodll_stdpaths_cf.o \
+ monodll_strconv_cf.o \
monodll_utilsexc_base.o
@COND_TOOLKIT_GTK@__BASE_MACOSX_SRC_OBJECTS = $(COND_TOOLKIT_GTK___BASE_MACOSX_SRC_OBJECTS)
COND_TOOLKIT_MAC___BASE_MACOSX_SRC_OBJECTS = \
monodll_MoreFilesX.o \
monodll_cfstring.o \
monodll_stdpaths_cf.o \
+ monodll_strconv_cf.o \
monodll_utilsexc_base.o \
monodll_fdiodispatcher.o \
monodll_selectdispatcher.o \
monodll_timerunx.o \
monodll_cfstring.o \
monodll_stdpaths_cf.o \
+ monodll_strconv_cf.o \
monodll_utilsexc_base.o
@COND_TOOLKIT_MOTIF@__BASE_MACOSX_SRC_OBJECTS = $(COND_TOOLKIT_MOTIF___BASE_MACOSX_SRC_OBJECTS)
COND_TOOLKIT_X11___BASE_MACOSX_SRC_OBJECTS = \
monodll_timerunx.o \
monodll_cfstring.o \
monodll_stdpaths_cf.o \
+ monodll_strconv_cf.o \
monodll_utilsexc_base.o
@COND_TOOLKIT_X11@__BASE_MACOSX_SRC_OBJECTS = $(COND_TOOLKIT_X11___BASE_MACOSX_SRC_OBJECTS)
@COND_PLATFORM_MACOSX_1@__BASE_AND_GUI_PLATFORM_SRC_OBJECTS \
monolib_MoreFilesX.o \
monolib_cfstring.o \
monolib_stdpaths_cf.o \
+ monolib_strconv_cf.o \
monolib_utilsexc_base.o \
monolib_DirectoryCopy.o \
monolib_FSpCompat.o \
monolib_timerunx.o \
monolib_cfstring.o \
monolib_stdpaths_cf.o \
+ monolib_strconv_cf.o \
monolib_utilsexc_base.o
@COND_TOOLKIT_@__BASE_MACOSX_SRC_OBJECTS_1 = $(COND_TOOLKIT____BASE_MACOSX_SRC_OBJECTS_1)
COND_TOOLKIT_COCOA___BASE_MACOSX_SRC_OBJECTS_1 = \
monolib_timerunx.o \
monolib_cfstring.o \
monolib_stdpaths_cf.o \
+ monolib_strconv_cf.o \
monolib_utilsexc_base.o
@COND_TOOLKIT_COCOA@__BASE_MACOSX_SRC_OBJECTS_1 = $(COND_TOOLKIT_COCOA___BASE_MACOSX_SRC_OBJECTS_1)
COND_TOOLKIT_GTK___BASE_MACOSX_SRC_OBJECTS_1 = \
monolib_timerunx.o \
monolib_cfstring.o \
monolib_stdpaths_cf.o \
+ monolib_strconv_cf.o \
monolib_utilsexc_base.o
@COND_TOOLKIT_GTK@__BASE_MACOSX_SRC_OBJECTS_1 = $(COND_TOOLKIT_GTK___BASE_MACOSX_SRC_OBJECTS_1)
COND_TOOLKIT_MAC___BASE_MACOSX_SRC_OBJECTS_1 = \
monolib_MoreFilesX.o \
monolib_cfstring.o \
monolib_stdpaths_cf.o \
+ monolib_strconv_cf.o \
monolib_utilsexc_base.o \
monolib_fdiodispatcher.o \
monolib_selectdispatcher.o \
monolib_timerunx.o \
monolib_cfstring.o \
monolib_stdpaths_cf.o \
+ monolib_strconv_cf.o \
monolib_utilsexc_base.o
@COND_TOOLKIT_MOTIF@__BASE_MACOSX_SRC_OBJECTS_1 = $(COND_TOOLKIT_MOTIF___BASE_MACOSX_SRC_OBJECTS_1)
COND_TOOLKIT_X11___BASE_MACOSX_SRC_OBJECTS_1 = \
monolib_timerunx.o \
monolib_cfstring.o \
monolib_stdpaths_cf.o \
+ monolib_strconv_cf.o \
monolib_utilsexc_base.o
@COND_TOOLKIT_X11@__BASE_MACOSX_SRC_OBJECTS_1 = $(COND_TOOLKIT_X11___BASE_MACOSX_SRC_OBJECTS_1)
@COND_PLATFORM_MACOSX_1@__BASE_AND_GUI_PLATFORM_SRC_OBJECTS_1 \
basedll_MoreFilesX.o \
basedll_cfstring.o \
basedll_stdpaths_cf.o \
+ basedll_strconv_cf.o \
basedll_utilsexc_base.o \
basedll_DirectoryCopy.o \
basedll_FSpCompat.o \
basedll_timerunx.o \
basedll_cfstring.o \
basedll_stdpaths_cf.o \
+ basedll_strconv_cf.o \
basedll_utilsexc_base.o
@COND_TOOLKIT_@__BASE_MACOSX_SRC_OBJECTS_2 = $(COND_TOOLKIT____BASE_MACOSX_SRC_OBJECTS_2)
COND_TOOLKIT_COCOA___BASE_MACOSX_SRC_OBJECTS_2 = \
basedll_timerunx.o \
basedll_cfstring.o \
basedll_stdpaths_cf.o \
+ basedll_strconv_cf.o \
basedll_utilsexc_base.o
@COND_TOOLKIT_COCOA@__BASE_MACOSX_SRC_OBJECTS_2 = $(COND_TOOLKIT_COCOA___BASE_MACOSX_SRC_OBJECTS_2)
COND_TOOLKIT_GTK___BASE_MACOSX_SRC_OBJECTS_2 = \
basedll_timerunx.o \
basedll_cfstring.o \
basedll_stdpaths_cf.o \
+ basedll_strconv_cf.o \
basedll_utilsexc_base.o
@COND_TOOLKIT_GTK@__BASE_MACOSX_SRC_OBJECTS_2 = $(COND_TOOLKIT_GTK___BASE_MACOSX_SRC_OBJECTS_2)
COND_TOOLKIT_MAC___BASE_MACOSX_SRC_OBJECTS_2 = \
basedll_MoreFilesX.o \
basedll_cfstring.o \
basedll_stdpaths_cf.o \
+ basedll_strconv_cf.o \
basedll_utilsexc_base.o \
basedll_fdiodispatcher.o \
basedll_selectdispatcher.o \
basedll_timerunx.o \
basedll_cfstring.o \
basedll_stdpaths_cf.o \
+ basedll_strconv_cf.o \
basedll_utilsexc_base.o
@COND_TOOLKIT_MOTIF@__BASE_MACOSX_SRC_OBJECTS_2 = $(COND_TOOLKIT_MOTIF___BASE_MACOSX_SRC_OBJECTS_2)
COND_TOOLKIT_X11___BASE_MACOSX_SRC_OBJECTS_2 = \
basedll_timerunx.o \
basedll_cfstring.o \
basedll_stdpaths_cf.o \
+ basedll_strconv_cf.o \
basedll_utilsexc_base.o
@COND_TOOLKIT_X11@__BASE_MACOSX_SRC_OBJECTS_2 = $(COND_TOOLKIT_X11___BASE_MACOSX_SRC_OBJECTS_2)
@COND_PLATFORM_MACOSX_1@__BASE_AND_GUI_PLATFORM_SRC_OBJECTS_2 \
baselib_MoreFilesX.o \
baselib_cfstring.o \
baselib_stdpaths_cf.o \
+ baselib_strconv_cf.o \
baselib_utilsexc_base.o \
baselib_DirectoryCopy.o \
baselib_FSpCompat.o \
baselib_timerunx.o \
baselib_cfstring.o \
baselib_stdpaths_cf.o \
+ baselib_strconv_cf.o \
baselib_utilsexc_base.o
@COND_TOOLKIT_@__BASE_MACOSX_SRC_OBJECTS_3 = $(COND_TOOLKIT____BASE_MACOSX_SRC_OBJECTS_3)
COND_TOOLKIT_COCOA___BASE_MACOSX_SRC_OBJECTS_3 = \
baselib_timerunx.o \
baselib_cfstring.o \
baselib_stdpaths_cf.o \
+ baselib_strconv_cf.o \
baselib_utilsexc_base.o
@COND_TOOLKIT_COCOA@__BASE_MACOSX_SRC_OBJECTS_3 = $(COND_TOOLKIT_COCOA___BASE_MACOSX_SRC_OBJECTS_3)
COND_TOOLKIT_GTK___BASE_MACOSX_SRC_OBJECTS_3 = \
baselib_timerunx.o \
baselib_cfstring.o \
baselib_stdpaths_cf.o \
+ baselib_strconv_cf.o \
baselib_utilsexc_base.o
@COND_TOOLKIT_GTK@__BASE_MACOSX_SRC_OBJECTS_3 = $(COND_TOOLKIT_GTK___BASE_MACOSX_SRC_OBJECTS_3)
COND_TOOLKIT_MAC___BASE_MACOSX_SRC_OBJECTS_3 = \
baselib_MoreFilesX.o \
baselib_cfstring.o \
baselib_stdpaths_cf.o \
+ baselib_strconv_cf.o \
baselib_utilsexc_base.o \
baselib_fdiodispatcher.o \
baselib_selectdispatcher.o \
baselib_timerunx.o \
baselib_cfstring.o \
baselib_stdpaths_cf.o \
+ baselib_strconv_cf.o \
baselib_utilsexc_base.o
@COND_TOOLKIT_MOTIF@__BASE_MACOSX_SRC_OBJECTS_3 = $(COND_TOOLKIT_MOTIF___BASE_MACOSX_SRC_OBJECTS_3)
COND_TOOLKIT_X11___BASE_MACOSX_SRC_OBJECTS_3 = \
baselib_timerunx.o \
baselib_cfstring.o \
baselib_stdpaths_cf.o \
+ baselib_strconv_cf.o \
baselib_utilsexc_base.o
@COND_TOOLKIT_X11@__BASE_MACOSX_SRC_OBJECTS_3 = $(COND_TOOLKIT_X11___BASE_MACOSX_SRC_OBJECTS_3)
@COND_PLATFORM_MACOSX_1@__BASE_AND_GUI_PLATFORM_SRC_OBJECTS_3 \
@COND_PLATFORM_MACOS_1@monodll_stdpaths_cf.o: $(srcdir)/src/mac/corefoundation/stdpaths_cf.cpp $(MONODLL_ODEP)
@COND_PLATFORM_MACOS_1@ $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/mac/corefoundation/stdpaths_cf.cpp
+@COND_PLATFORM_MACOSX_1_TOOLKIT_MAC@monodll_strconv_cf.o: $(srcdir)/src/mac/corefoundation/strconv_cf.cpp $(MONODLL_ODEP)
+@COND_PLATFORM_MACOSX_1_TOOLKIT_MAC@ $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/mac/corefoundation/strconv_cf.cpp
+
+@COND_PLATFORM_MACOSX_1_TOOLKIT_COCOA@monodll_strconv_cf.o: $(srcdir)/src/mac/corefoundation/strconv_cf.cpp $(MONODLL_ODEP)
+@COND_PLATFORM_MACOSX_1_TOOLKIT_COCOA@ $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/mac/corefoundation/strconv_cf.cpp
+
+@COND_PLATFORM_MACOSX_1_TOOLKIT_GTK@monodll_strconv_cf.o: $(srcdir)/src/mac/corefoundation/strconv_cf.cpp $(MONODLL_ODEP)
+@COND_PLATFORM_MACOSX_1_TOOLKIT_GTK@ $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/mac/corefoundation/strconv_cf.cpp
+
+@COND_PLATFORM_MACOSX_1_TOOLKIT_X11@monodll_strconv_cf.o: $(srcdir)/src/mac/corefoundation/strconv_cf.cpp $(MONODLL_ODEP)
+@COND_PLATFORM_MACOSX_1_TOOLKIT_X11@ $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/mac/corefoundation/strconv_cf.cpp
+
+@COND_PLATFORM_MACOSX_1_TOOLKIT_MOTIF@monodll_strconv_cf.o: $(srcdir)/src/mac/corefoundation/strconv_cf.cpp $(MONODLL_ODEP)
+@COND_PLATFORM_MACOSX_1_TOOLKIT_MOTIF@ $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/mac/corefoundation/strconv_cf.cpp
+
+@COND_PLATFORM_MACOSX_1_TOOLKIT_@monodll_strconv_cf.o: $(srcdir)/src/mac/corefoundation/strconv_cf.cpp $(MONODLL_ODEP)
+@COND_PLATFORM_MACOSX_1_TOOLKIT_@ $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/mac/corefoundation/strconv_cf.cpp
+
+@COND_PLATFORM_MACOS_1@monodll_strconv_cf.o: $(srcdir)/src/mac/corefoundation/strconv_cf.cpp $(MONODLL_ODEP)
+@COND_PLATFORM_MACOS_1@ $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/mac/corefoundation/strconv_cf.cpp
+
@COND_PLATFORM_MACOSX_1_TOOLKIT_MAC@monodll_utilsexc_base.o: $(srcdir)/src/mac/corefoundation/utilsexc_base.cpp $(MONODLL_ODEP)
@COND_PLATFORM_MACOSX_1_TOOLKIT_MAC@ $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/mac/corefoundation/utilsexc_base.cpp
@COND_PLATFORM_MACOS_1@monolib_stdpaths_cf.o: $(srcdir)/src/mac/corefoundation/stdpaths_cf.cpp $(MONOLIB_ODEP)
@COND_PLATFORM_MACOS_1@ $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/mac/corefoundation/stdpaths_cf.cpp
+@COND_PLATFORM_MACOSX_1_TOOLKIT_MAC@monolib_strconv_cf.o: $(srcdir)/src/mac/corefoundation/strconv_cf.cpp $(MONOLIB_ODEP)
+@COND_PLATFORM_MACOSX_1_TOOLKIT_MAC@ $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/mac/corefoundation/strconv_cf.cpp
+
+@COND_PLATFORM_MACOSX_1_TOOLKIT_COCOA@monolib_strconv_cf.o: $(srcdir)/src/mac/corefoundation/strconv_cf.cpp $(MONOLIB_ODEP)
+@COND_PLATFORM_MACOSX_1_TOOLKIT_COCOA@ $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/mac/corefoundation/strconv_cf.cpp
+
+@COND_PLATFORM_MACOSX_1_TOOLKIT_GTK@monolib_strconv_cf.o: $(srcdir)/src/mac/corefoundation/strconv_cf.cpp $(MONOLIB_ODEP)
+@COND_PLATFORM_MACOSX_1_TOOLKIT_GTK@ $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/mac/corefoundation/strconv_cf.cpp
+
+@COND_PLATFORM_MACOSX_1_TOOLKIT_X11@monolib_strconv_cf.o: $(srcdir)/src/mac/corefoundation/strconv_cf.cpp $(MONOLIB_ODEP)
+@COND_PLATFORM_MACOSX_1_TOOLKIT_X11@ $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/mac/corefoundation/strconv_cf.cpp
+
+@COND_PLATFORM_MACOSX_1_TOOLKIT_MOTIF@monolib_strconv_cf.o: $(srcdir)/src/mac/corefoundation/strconv_cf.cpp $(MONOLIB_ODEP)
+@COND_PLATFORM_MACOSX_1_TOOLKIT_MOTIF@ $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/mac/corefoundation/strconv_cf.cpp
+
+@COND_PLATFORM_MACOSX_1_TOOLKIT_@monolib_strconv_cf.o: $(srcdir)/src/mac/corefoundation/strconv_cf.cpp $(MONOLIB_ODEP)
+@COND_PLATFORM_MACOSX_1_TOOLKIT_@ $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/mac/corefoundation/strconv_cf.cpp
+
+@COND_PLATFORM_MACOS_1@monolib_strconv_cf.o: $(srcdir)/src/mac/corefoundation/strconv_cf.cpp $(MONOLIB_ODEP)
+@COND_PLATFORM_MACOS_1@ $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/mac/corefoundation/strconv_cf.cpp
+
@COND_PLATFORM_MACOSX_1_TOOLKIT_MAC@monolib_utilsexc_base.o: $(srcdir)/src/mac/corefoundation/utilsexc_base.cpp $(MONOLIB_ODEP)
@COND_PLATFORM_MACOSX_1_TOOLKIT_MAC@ $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/mac/corefoundation/utilsexc_base.cpp
@COND_PLATFORM_MACOS_1@basedll_stdpaths_cf.o: $(srcdir)/src/mac/corefoundation/stdpaths_cf.cpp $(BASEDLL_ODEP)
@COND_PLATFORM_MACOS_1@ $(CXXC) -c -o $@ $(BASEDLL_CXXFLAGS) $(srcdir)/src/mac/corefoundation/stdpaths_cf.cpp
+@COND_PLATFORM_MACOSX_1_TOOLKIT_MAC@basedll_strconv_cf.o: $(srcdir)/src/mac/corefoundation/strconv_cf.cpp $(BASEDLL_ODEP)
+@COND_PLATFORM_MACOSX_1_TOOLKIT_MAC@ $(CXXC) -c -o $@ $(BASEDLL_CXXFLAGS) $(srcdir)/src/mac/corefoundation/strconv_cf.cpp
+
+@COND_PLATFORM_MACOSX_1_TOOLKIT_COCOA@basedll_strconv_cf.o: $(srcdir)/src/mac/corefoundation/strconv_cf.cpp $(BASEDLL_ODEP)
+@COND_PLATFORM_MACOSX_1_TOOLKIT_COCOA@ $(CXXC) -c -o $@ $(BASEDLL_CXXFLAGS) $(srcdir)/src/mac/corefoundation/strconv_cf.cpp
+
+@COND_PLATFORM_MACOSX_1_TOOLKIT_GTK@basedll_strconv_cf.o: $(srcdir)/src/mac/corefoundation/strconv_cf.cpp $(BASEDLL_ODEP)
+@COND_PLATFORM_MACOSX_1_TOOLKIT_GTK@ $(CXXC) -c -o $@ $(BASEDLL_CXXFLAGS) $(srcdir)/src/mac/corefoundation/strconv_cf.cpp
+
+@COND_PLATFORM_MACOSX_1_TOOLKIT_X11@basedll_strconv_cf.o: $(srcdir)/src/mac/corefoundation/strconv_cf.cpp $(BASEDLL_ODEP)
+@COND_PLATFORM_MACOSX_1_TOOLKIT_X11@ $(CXXC) -c -o $@ $(BASEDLL_CXXFLAGS) $(srcdir)/src/mac/corefoundation/strconv_cf.cpp
+
+@COND_PLATFORM_MACOSX_1_TOOLKIT_MOTIF@basedll_strconv_cf.o: $(srcdir)/src/mac/corefoundation/strconv_cf.cpp $(BASEDLL_ODEP)
+@COND_PLATFORM_MACOSX_1_TOOLKIT_MOTIF@ $(CXXC) -c -o $@ $(BASEDLL_CXXFLAGS) $(srcdir)/src/mac/corefoundation/strconv_cf.cpp
+
+@COND_PLATFORM_MACOSX_1_TOOLKIT_@basedll_strconv_cf.o: $(srcdir)/src/mac/corefoundation/strconv_cf.cpp $(BASEDLL_ODEP)
+@COND_PLATFORM_MACOSX_1_TOOLKIT_@ $(CXXC) -c -o $@ $(BASEDLL_CXXFLAGS) $(srcdir)/src/mac/corefoundation/strconv_cf.cpp
+
+@COND_PLATFORM_MACOS_1@basedll_strconv_cf.o: $(srcdir)/src/mac/corefoundation/strconv_cf.cpp $(BASEDLL_ODEP)
+@COND_PLATFORM_MACOS_1@ $(CXXC) -c -o $@ $(BASEDLL_CXXFLAGS) $(srcdir)/src/mac/corefoundation/strconv_cf.cpp
+
@COND_PLATFORM_MACOSX_1_TOOLKIT_MAC@basedll_utilsexc_base.o: $(srcdir)/src/mac/corefoundation/utilsexc_base.cpp $(BASEDLL_ODEP)
@COND_PLATFORM_MACOSX_1_TOOLKIT_MAC@ $(CXXC) -c -o $@ $(BASEDLL_CXXFLAGS) $(srcdir)/src/mac/corefoundation/utilsexc_base.cpp
@COND_PLATFORM_MACOS_1@baselib_stdpaths_cf.o: $(srcdir)/src/mac/corefoundation/stdpaths_cf.cpp $(BASELIB_ODEP)
@COND_PLATFORM_MACOS_1@ $(CXXC) -c -o $@ $(BASELIB_CXXFLAGS) $(srcdir)/src/mac/corefoundation/stdpaths_cf.cpp
+@COND_PLATFORM_MACOSX_1_TOOLKIT_MAC@baselib_strconv_cf.o: $(srcdir)/src/mac/corefoundation/strconv_cf.cpp $(BASELIB_ODEP)
+@COND_PLATFORM_MACOSX_1_TOOLKIT_MAC@ $(CXXC) -c -o $@ $(BASELIB_CXXFLAGS) $(srcdir)/src/mac/corefoundation/strconv_cf.cpp
+
+@COND_PLATFORM_MACOSX_1_TOOLKIT_COCOA@baselib_strconv_cf.o: $(srcdir)/src/mac/corefoundation/strconv_cf.cpp $(BASELIB_ODEP)
+@COND_PLATFORM_MACOSX_1_TOOLKIT_COCOA@ $(CXXC) -c -o $@ $(BASELIB_CXXFLAGS) $(srcdir)/src/mac/corefoundation/strconv_cf.cpp
+
+@COND_PLATFORM_MACOSX_1_TOOLKIT_GTK@baselib_strconv_cf.o: $(srcdir)/src/mac/corefoundation/strconv_cf.cpp $(BASELIB_ODEP)
+@COND_PLATFORM_MACOSX_1_TOOLKIT_GTK@ $(CXXC) -c -o $@ $(BASELIB_CXXFLAGS) $(srcdir)/src/mac/corefoundation/strconv_cf.cpp
+
+@COND_PLATFORM_MACOSX_1_TOOLKIT_X11@baselib_strconv_cf.o: $(srcdir)/src/mac/corefoundation/strconv_cf.cpp $(BASELIB_ODEP)
+@COND_PLATFORM_MACOSX_1_TOOLKIT_X11@ $(CXXC) -c -o $@ $(BASELIB_CXXFLAGS) $(srcdir)/src/mac/corefoundation/strconv_cf.cpp
+
+@COND_PLATFORM_MACOSX_1_TOOLKIT_MOTIF@baselib_strconv_cf.o: $(srcdir)/src/mac/corefoundation/strconv_cf.cpp $(BASELIB_ODEP)
+@COND_PLATFORM_MACOSX_1_TOOLKIT_MOTIF@ $(CXXC) -c -o $@ $(BASELIB_CXXFLAGS) $(srcdir)/src/mac/corefoundation/strconv_cf.cpp
+
+@COND_PLATFORM_MACOSX_1_TOOLKIT_@baselib_strconv_cf.o: $(srcdir)/src/mac/corefoundation/strconv_cf.cpp $(BASELIB_ODEP)
+@COND_PLATFORM_MACOSX_1_TOOLKIT_@ $(CXXC) -c -o $@ $(BASELIB_CXXFLAGS) $(srcdir)/src/mac/corefoundation/strconv_cf.cpp
+
+@COND_PLATFORM_MACOS_1@baselib_strconv_cf.o: $(srcdir)/src/mac/corefoundation/strconv_cf.cpp $(BASELIB_ODEP)
+@COND_PLATFORM_MACOS_1@ $(CXXC) -c -o $@ $(BASELIB_CXXFLAGS) $(srcdir)/src/mac/corefoundation/strconv_cf.cpp
+
@COND_PLATFORM_MACOSX_1_TOOLKIT_MAC@baselib_utilsexc_base.o: $(srcdir)/src/mac/corefoundation/utilsexc_base.cpp $(BASELIB_ODEP)
@COND_PLATFORM_MACOSX_1_TOOLKIT_MAC@ $(CXXC) -c -o $@ $(BASELIB_CXXFLAGS) $(srcdir)/src/mac/corefoundation/utilsexc_base.cpp
<set var="BASE_COREFOUNDATION_SRC" hints="files">
src/mac/corefoundation/cfstring.cpp
src/mac/corefoundation/stdpaths_cf.cpp
+ src/mac/corefoundation/strconv_cf.cpp
src/mac/corefoundation/utilsexc_base.cpp
</set>
<set var="BASE_COREFOUNDATION_HDR" hints="files">
wx/mac/corefoundation/cfstring.h
wx/mac/corefoundation/hid.h
wx/mac/corefoundation/stdpaths.h
+ wx/mac/corefoundation/private/strconv_cf.h
</set>
<!-- Base files used by Carbon on OS X and CarbonLib (not true Classic) -->
--- /dev/null
+/////////////////////////////////////////////////////////////////////////////
+// Name: include/wx/mac/corefoundation/strconv_cf.h
+// Purpose: Unicode conversion classes
+// Author: David Elliott, Ryan Norton
+// Modified by:
+// Created: 2007-07-06
+// RCS-ID: $Id$
+// Copyright: (c) 2004 Ryan Norton
+// (c) 2007 David Elliott
+// Licence: wxWindows licence
+/////////////////////////////////////////////////////////////////////////////
+
+#include "wx/strconv.h"
+
+#include <CoreFoundation/CFString.h>
+#include <CoreFoundation/CFStringEncodingExt.h>
+
+// ============================================================================
+// CoreFoundation conversion classes
+// ============================================================================
+
+inline CFStringEncoding wxCFStringEncFromFontEnc(wxFontEncoding encoding)
+{
+ CFStringEncoding enc = kCFStringEncodingInvalidId ;
+
+ switch (encoding)
+ {
+ case wxFONTENCODING_DEFAULT :
+ enc = CFStringGetSystemEncoding();
+ break ;
+
+ case wxFONTENCODING_ISO8859_1 :
+ enc = kCFStringEncodingISOLatin1 ;
+ break ;
+ case wxFONTENCODING_ISO8859_2 :
+ enc = kCFStringEncodingISOLatin2;
+ break ;
+ case wxFONTENCODING_ISO8859_3 :
+ enc = kCFStringEncodingISOLatin3 ;
+ break ;
+ case wxFONTENCODING_ISO8859_4 :
+ enc = kCFStringEncodingISOLatin4;
+ break ;
+ case wxFONTENCODING_ISO8859_5 :
+ enc = kCFStringEncodingISOLatinCyrillic;
+ break ;
+ case wxFONTENCODING_ISO8859_6 :
+ enc = kCFStringEncodingISOLatinArabic;
+ break ;
+ case wxFONTENCODING_ISO8859_7 :
+ enc = kCFStringEncodingISOLatinGreek;
+ break ;
+ case wxFONTENCODING_ISO8859_8 :
+ enc = kCFStringEncodingISOLatinHebrew;
+ break ;
+ case wxFONTENCODING_ISO8859_9 :
+ enc = kCFStringEncodingISOLatin5;
+ break ;
+ case wxFONTENCODING_ISO8859_10 :
+ enc = kCFStringEncodingISOLatin6;
+ break ;
+ case wxFONTENCODING_ISO8859_11 :
+ enc = kCFStringEncodingISOLatinThai;
+ break ;
+ case wxFONTENCODING_ISO8859_13 :
+ enc = kCFStringEncodingISOLatin7;
+ break ;
+ case wxFONTENCODING_ISO8859_14 :
+ enc = kCFStringEncodingISOLatin8;
+ break ;
+ case wxFONTENCODING_ISO8859_15 :
+ enc = kCFStringEncodingISOLatin9;
+ break ;
+
+ case wxFONTENCODING_KOI8 :
+ enc = kCFStringEncodingKOI8_R;
+ break ;
+ case wxFONTENCODING_ALTERNATIVE : // MS-DOS CP866
+ enc = kCFStringEncodingDOSRussian;
+ break ;
+
+// case wxFONTENCODING_BULGARIAN :
+// enc = ;
+// break ;
+
+ case wxFONTENCODING_CP437 :
+ enc = kCFStringEncodingDOSLatinUS ;
+ break ;
+ case wxFONTENCODING_CP850 :
+ enc = kCFStringEncodingDOSLatin1;
+ break ;
+ case wxFONTENCODING_CP852 :
+ enc = kCFStringEncodingDOSLatin2;
+ break ;
+ case wxFONTENCODING_CP855 :
+ enc = kCFStringEncodingDOSCyrillic;
+ break ;
+ case wxFONTENCODING_CP866 :
+ enc = kCFStringEncodingDOSRussian ;
+ break ;
+ case wxFONTENCODING_CP874 :
+ enc = kCFStringEncodingDOSThai;
+ break ;
+ case wxFONTENCODING_CP932 :
+ enc = kCFStringEncodingDOSJapanese;
+ break ;
+ case wxFONTENCODING_CP936 :
+ enc = kCFStringEncodingDOSChineseSimplif ;
+ break ;
+ case wxFONTENCODING_CP949 :
+ enc = kCFStringEncodingDOSKorean;
+ break ;
+ case wxFONTENCODING_CP950 :
+ enc = kCFStringEncodingDOSChineseTrad;
+ break ;
+ case wxFONTENCODING_CP1250 :
+ enc = kCFStringEncodingWindowsLatin2;
+ break ;
+ case wxFONTENCODING_CP1251 :
+ enc = kCFStringEncodingWindowsCyrillic ;
+ break ;
+ case wxFONTENCODING_CP1252 :
+ enc = kCFStringEncodingWindowsLatin1 ;
+ break ;
+ case wxFONTENCODING_CP1253 :
+ enc = kCFStringEncodingWindowsGreek;
+ break ;
+ case wxFONTENCODING_CP1254 :
+ enc = kCFStringEncodingWindowsLatin5;
+ break ;
+ case wxFONTENCODING_CP1255 :
+ enc = kCFStringEncodingWindowsHebrew ;
+ break ;
+ case wxFONTENCODING_CP1256 :
+ enc = kCFStringEncodingWindowsArabic ;
+ break ;
+ case wxFONTENCODING_CP1257 :
+ enc = kCFStringEncodingWindowsBalticRim;
+ break ;
+// This only really encodes to UTF7 (if that) evidently
+// case wxFONTENCODING_UTF7 :
+// enc = kCFStringEncodingNonLossyASCII ;
+// break ;
+ case wxFONTENCODING_UTF8 :
+ enc = kCFStringEncodingUTF8 ;
+ break ;
+ case wxFONTENCODING_EUC_JP :
+ enc = kCFStringEncodingEUC_JP;
+ break ;
+/* Don't support conversion to/from UTF16 as wxWidgets can do this better.
+ * In particular, ToWChar would fail miserably using strlen on an input UTF16.
+ case wxFONTENCODING_UTF16 :
+ enc = kCFStringEncodingUnicode ;
+ break ;
+*/
+ case wxFONTENCODING_MACROMAN :
+ enc = kCFStringEncodingMacRoman ;
+ break ;
+ case wxFONTENCODING_MACJAPANESE :
+ enc = kCFStringEncodingMacJapanese ;
+ break ;
+ case wxFONTENCODING_MACCHINESETRAD :
+ enc = kCFStringEncodingMacChineseTrad ;
+ break ;
+ case wxFONTENCODING_MACKOREAN :
+ enc = kCFStringEncodingMacKorean ;
+ break ;
+ case wxFONTENCODING_MACARABIC :
+ enc = kCFStringEncodingMacArabic ;
+ break ;
+ case wxFONTENCODING_MACHEBREW :
+ enc = kCFStringEncodingMacHebrew ;
+ break ;
+ case wxFONTENCODING_MACGREEK :
+ enc = kCFStringEncodingMacGreek ;
+ break ;
+ case wxFONTENCODING_MACCYRILLIC :
+ enc = kCFStringEncodingMacCyrillic ;
+ break ;
+ case wxFONTENCODING_MACDEVANAGARI :
+ enc = kCFStringEncodingMacDevanagari ;
+ break ;
+ case wxFONTENCODING_MACGURMUKHI :
+ enc = kCFStringEncodingMacGurmukhi ;
+ break ;
+ case wxFONTENCODING_MACGUJARATI :
+ enc = kCFStringEncodingMacGujarati ;
+ break ;
+ case wxFONTENCODING_MACORIYA :
+ enc = kCFStringEncodingMacOriya ;
+ break ;
+ case wxFONTENCODING_MACBENGALI :
+ enc = kCFStringEncodingMacBengali ;
+ break ;
+ case wxFONTENCODING_MACTAMIL :
+ enc = kCFStringEncodingMacTamil ;
+ break ;
+ case wxFONTENCODING_MACTELUGU :
+ enc = kCFStringEncodingMacTelugu ;
+ break ;
+ case wxFONTENCODING_MACKANNADA :
+ enc = kCFStringEncodingMacKannada ;
+ break ;
+ case wxFONTENCODING_MACMALAJALAM :
+ enc = kCFStringEncodingMacMalayalam ;
+ break ;
+ case wxFONTENCODING_MACSINHALESE :
+ enc = kCFStringEncodingMacSinhalese ;
+ break ;
+ case wxFONTENCODING_MACBURMESE :
+ enc = kCFStringEncodingMacBurmese ;
+ break ;
+ case wxFONTENCODING_MACKHMER :
+ enc = kCFStringEncodingMacKhmer ;
+ break ;
+ case wxFONTENCODING_MACTHAI :
+ enc = kCFStringEncodingMacThai ;
+ break ;
+ case wxFONTENCODING_MACLAOTIAN :
+ enc = kCFStringEncodingMacLaotian ;
+ break ;
+ case wxFONTENCODING_MACGEORGIAN :
+ enc = kCFStringEncodingMacGeorgian ;
+ break ;
+ case wxFONTENCODING_MACARMENIAN :
+ enc = kCFStringEncodingMacArmenian ;
+ break ;
+ case wxFONTENCODING_MACCHINESESIMP :
+ enc = kCFStringEncodingMacChineseSimp ;
+ break ;
+ case wxFONTENCODING_MACTIBETAN :
+ enc = kCFStringEncodingMacTibetan ;
+ break ;
+ case wxFONTENCODING_MACMONGOLIAN :
+ enc = kCFStringEncodingMacMongolian ;
+ break ;
+ case wxFONTENCODING_MACETHIOPIC :
+ enc = kCFStringEncodingMacEthiopic ;
+ break ;
+ case wxFONTENCODING_MACCENTRALEUR :
+ enc = kCFStringEncodingMacCentralEurRoman ;
+ break ;
+ case wxFONTENCODING_MACVIATNAMESE :
+ enc = kCFStringEncodingMacVietnamese ;
+ break ;
+ case wxFONTENCODING_MACARABICEXT :
+ enc = kCFStringEncodingMacExtArabic ;
+ break ;
+ case wxFONTENCODING_MACSYMBOL :
+ enc = kCFStringEncodingMacSymbol ;
+ break ;
+ case wxFONTENCODING_MACDINGBATS :
+ enc = kCFStringEncodingMacDingbats ;
+ break ;
+ case wxFONTENCODING_MACTURKISH :
+ enc = kCFStringEncodingMacTurkish ;
+ break ;
+ case wxFONTENCODING_MACCROATIAN :
+ enc = kCFStringEncodingMacCroatian ;
+ break ;
+ case wxFONTENCODING_MACICELANDIC :
+ enc = kCFStringEncodingMacIcelandic ;
+ break ;
+ case wxFONTENCODING_MACROMANIAN :
+ enc = kCFStringEncodingMacRomanian ;
+ break ;
+ case wxFONTENCODING_MACCELTIC :
+ enc = kCFStringEncodingMacCeltic ;
+ break ;
+ case wxFONTENCODING_MACGAELIC :
+ enc = kCFStringEncodingMacGaelic ;
+ break ;
+// case wxFONTENCODING_MACKEYBOARD :
+// enc = kCFStringEncodingMacKeyboardGlyphs ;
+// break ;
+
+ default :
+ // because gcc is picky
+ break ;
+ }
+
+ return enc ;
+}
+
+
+class wxMBConv_cf : public wxMBConv
+{
+public:
+ wxMBConv_cf()
+ {
+ Init(CFStringGetSystemEncoding()) ;
+ }
+
+ wxMBConv_cf(const wxMBConv_cf& conv)
+ {
+ m_encoding = conv.m_encoding;
+ }
+
+#if wxUSE_FONTMAP
+ wxMBConv_cf(const char* name)
+ {
+ Init( wxCFStringEncFromFontEnc(wxFontMapperBase::Get()->CharsetToEncoding(name, false) ) ) ;
+ }
+#endif
+
+ wxMBConv_cf(wxFontEncoding encoding)
+ {
+ Init( wxCFStringEncFromFontEnc(encoding) );
+ }
+
+ virtual ~wxMBConv_cf()
+ {
+ }
+
+ void Init( CFStringEncoding encoding)
+ {
+ m_encoding = encoding ;
+ }
+
+ virtual size_t ToWChar(wchar_t * dst, size_t dstSize, const char * src, size_t srcSize = wxNO_LEN) const;
+ virtual size_t FromWChar(char *dst, size_t dstSize, const wchar_t *src, size_t srcSize = wxNO_LEN) const;
+
+ virtual wxMBConv *Clone() const { return new wxMBConv_cf(*this); }
+
+ bool IsOk() const
+ {
+ return m_encoding != kCFStringEncodingInvalidId &&
+ CFStringIsEncodingAvailable(m_encoding);
+ }
+
+private:
+ CFStringEncoding m_encoding ;
+};
+
#include "wx/fontmap.h"
#ifdef __DARWIN__
-#include <CoreFoundation/CFString.h>
-#include <CoreFoundation/CFStringEncodingExt.h>
-
-#include "wx/mac/corefoundation/cfref.h"
+#include "wx/mac/corefoundation/private/strconv_cf.h"
#endif //def __DARWIN__
#ifdef __WXMAC__
#endif // wxHAVE_WIN32_MB2WC
-// ============================================================================
-// CoreFoundation conversion classes
-// ============================================================================
-
-#ifdef __DARWIN__
-
-CFStringEncoding wxCFStringEncFromFontEnc(wxFontEncoding encoding)
-{
- CFStringEncoding enc = kCFStringEncodingInvalidId ;
-
- switch (encoding)
- {
- case wxFONTENCODING_DEFAULT :
- enc = CFStringGetSystemEncoding();
- break ;
-
- case wxFONTENCODING_ISO8859_1 :
- enc = kCFStringEncodingISOLatin1 ;
- break ;
- case wxFONTENCODING_ISO8859_2 :
- enc = kCFStringEncodingISOLatin2;
- break ;
- case wxFONTENCODING_ISO8859_3 :
- enc = kCFStringEncodingISOLatin3 ;
- break ;
- case wxFONTENCODING_ISO8859_4 :
- enc = kCFStringEncodingISOLatin4;
- break ;
- case wxFONTENCODING_ISO8859_5 :
- enc = kCFStringEncodingISOLatinCyrillic;
- break ;
- case wxFONTENCODING_ISO8859_6 :
- enc = kCFStringEncodingISOLatinArabic;
- break ;
- case wxFONTENCODING_ISO8859_7 :
- enc = kCFStringEncodingISOLatinGreek;
- break ;
- case wxFONTENCODING_ISO8859_8 :
- enc = kCFStringEncodingISOLatinHebrew;
- break ;
- case wxFONTENCODING_ISO8859_9 :
- enc = kCFStringEncodingISOLatin5;
- break ;
- case wxFONTENCODING_ISO8859_10 :
- enc = kCFStringEncodingISOLatin6;
- break ;
- case wxFONTENCODING_ISO8859_11 :
- enc = kCFStringEncodingISOLatinThai;
- break ;
- case wxFONTENCODING_ISO8859_13 :
- enc = kCFStringEncodingISOLatin7;
- break ;
- case wxFONTENCODING_ISO8859_14 :
- enc = kCFStringEncodingISOLatin8;
- break ;
- case wxFONTENCODING_ISO8859_15 :
- enc = kCFStringEncodingISOLatin9;
- break ;
-
- case wxFONTENCODING_KOI8 :
- enc = kCFStringEncodingKOI8_R;
- break ;
- case wxFONTENCODING_ALTERNATIVE : // MS-DOS CP866
- enc = kCFStringEncodingDOSRussian;
- break ;
-
-// case wxFONTENCODING_BULGARIAN :
-// enc = ;
-// break ;
-
- case wxFONTENCODING_CP437 :
- enc = kCFStringEncodingDOSLatinUS ;
- break ;
- case wxFONTENCODING_CP850 :
- enc = kCFStringEncodingDOSLatin1;
- break ;
- case wxFONTENCODING_CP852 :
- enc = kCFStringEncodingDOSLatin2;
- break ;
- case wxFONTENCODING_CP855 :
- enc = kCFStringEncodingDOSCyrillic;
- break ;
- case wxFONTENCODING_CP866 :
- enc = kCFStringEncodingDOSRussian ;
- break ;
- case wxFONTENCODING_CP874 :
- enc = kCFStringEncodingDOSThai;
- break ;
- case wxFONTENCODING_CP932 :
- enc = kCFStringEncodingDOSJapanese;
- break ;
- case wxFONTENCODING_CP936 :
- enc = kCFStringEncodingDOSChineseSimplif ;
- break ;
- case wxFONTENCODING_CP949 :
- enc = kCFStringEncodingDOSKorean;
- break ;
- case wxFONTENCODING_CP950 :
- enc = kCFStringEncodingDOSChineseTrad;
- break ;
- case wxFONTENCODING_CP1250 :
- enc = kCFStringEncodingWindowsLatin2;
- break ;
- case wxFONTENCODING_CP1251 :
- enc = kCFStringEncodingWindowsCyrillic ;
- break ;
- case wxFONTENCODING_CP1252 :
- enc = kCFStringEncodingWindowsLatin1 ;
- break ;
- case wxFONTENCODING_CP1253 :
- enc = kCFStringEncodingWindowsGreek;
- break ;
- case wxFONTENCODING_CP1254 :
- enc = kCFStringEncodingWindowsLatin5;
- break ;
- case wxFONTENCODING_CP1255 :
- enc = kCFStringEncodingWindowsHebrew ;
- break ;
- case wxFONTENCODING_CP1256 :
- enc = kCFStringEncodingWindowsArabic ;
- break ;
- case wxFONTENCODING_CP1257 :
- enc = kCFStringEncodingWindowsBalticRim;
- break ;
-// This only really encodes to UTF7 (if that) evidently
-// case wxFONTENCODING_UTF7 :
-// enc = kCFStringEncodingNonLossyASCII ;
-// break ;
- case wxFONTENCODING_UTF8 :
- enc = kCFStringEncodingUTF8 ;
- break ;
- case wxFONTENCODING_EUC_JP :
- enc = kCFStringEncodingEUC_JP;
- break ;
-/* Don't support conversion to/from UTF16 as wxWidgets can do this better.
- * In particular, ToWChar would fail miserably using strlen on an input UTF16.
- case wxFONTENCODING_UTF16 :
- enc = kCFStringEncodingUnicode ;
- break ;
-*/
- case wxFONTENCODING_MACROMAN :
- enc = kCFStringEncodingMacRoman ;
- break ;
- case wxFONTENCODING_MACJAPANESE :
- enc = kCFStringEncodingMacJapanese ;
- break ;
- case wxFONTENCODING_MACCHINESETRAD :
- enc = kCFStringEncodingMacChineseTrad ;
- break ;
- case wxFONTENCODING_MACKOREAN :
- enc = kCFStringEncodingMacKorean ;
- break ;
- case wxFONTENCODING_MACARABIC :
- enc = kCFStringEncodingMacArabic ;
- break ;
- case wxFONTENCODING_MACHEBREW :
- enc = kCFStringEncodingMacHebrew ;
- break ;
- case wxFONTENCODING_MACGREEK :
- enc = kCFStringEncodingMacGreek ;
- break ;
- case wxFONTENCODING_MACCYRILLIC :
- enc = kCFStringEncodingMacCyrillic ;
- break ;
- case wxFONTENCODING_MACDEVANAGARI :
- enc = kCFStringEncodingMacDevanagari ;
- break ;
- case wxFONTENCODING_MACGURMUKHI :
- enc = kCFStringEncodingMacGurmukhi ;
- break ;
- case wxFONTENCODING_MACGUJARATI :
- enc = kCFStringEncodingMacGujarati ;
- break ;
- case wxFONTENCODING_MACORIYA :
- enc = kCFStringEncodingMacOriya ;
- break ;
- case wxFONTENCODING_MACBENGALI :
- enc = kCFStringEncodingMacBengali ;
- break ;
- case wxFONTENCODING_MACTAMIL :
- enc = kCFStringEncodingMacTamil ;
- break ;
- case wxFONTENCODING_MACTELUGU :
- enc = kCFStringEncodingMacTelugu ;
- break ;
- case wxFONTENCODING_MACKANNADA :
- enc = kCFStringEncodingMacKannada ;
- break ;
- case wxFONTENCODING_MACMALAJALAM :
- enc = kCFStringEncodingMacMalayalam ;
- break ;
- case wxFONTENCODING_MACSINHALESE :
- enc = kCFStringEncodingMacSinhalese ;
- break ;
- case wxFONTENCODING_MACBURMESE :
- enc = kCFStringEncodingMacBurmese ;
- break ;
- case wxFONTENCODING_MACKHMER :
- enc = kCFStringEncodingMacKhmer ;
- break ;
- case wxFONTENCODING_MACTHAI :
- enc = kCFStringEncodingMacThai ;
- break ;
- case wxFONTENCODING_MACLAOTIAN :
- enc = kCFStringEncodingMacLaotian ;
- break ;
- case wxFONTENCODING_MACGEORGIAN :
- enc = kCFStringEncodingMacGeorgian ;
- break ;
- case wxFONTENCODING_MACARMENIAN :
- enc = kCFStringEncodingMacArmenian ;
- break ;
- case wxFONTENCODING_MACCHINESESIMP :
- enc = kCFStringEncodingMacChineseSimp ;
- break ;
- case wxFONTENCODING_MACTIBETAN :
- enc = kCFStringEncodingMacTibetan ;
- break ;
- case wxFONTENCODING_MACMONGOLIAN :
- enc = kCFStringEncodingMacMongolian ;
- break ;
- case wxFONTENCODING_MACETHIOPIC :
- enc = kCFStringEncodingMacEthiopic ;
- break ;
- case wxFONTENCODING_MACCENTRALEUR :
- enc = kCFStringEncodingMacCentralEurRoman ;
- break ;
- case wxFONTENCODING_MACVIATNAMESE :
- enc = kCFStringEncodingMacVietnamese ;
- break ;
- case wxFONTENCODING_MACARABICEXT :
- enc = kCFStringEncodingMacExtArabic ;
- break ;
- case wxFONTENCODING_MACSYMBOL :
- enc = kCFStringEncodingMacSymbol ;
- break ;
- case wxFONTENCODING_MACDINGBATS :
- enc = kCFStringEncodingMacDingbats ;
- break ;
- case wxFONTENCODING_MACTURKISH :
- enc = kCFStringEncodingMacTurkish ;
- break ;
- case wxFONTENCODING_MACCROATIAN :
- enc = kCFStringEncodingMacCroatian ;
- break ;
- case wxFONTENCODING_MACICELANDIC :
- enc = kCFStringEncodingMacIcelandic ;
- break ;
- case wxFONTENCODING_MACROMANIAN :
- enc = kCFStringEncodingMacRomanian ;
- break ;
- case wxFONTENCODING_MACCELTIC :
- enc = kCFStringEncodingMacCeltic ;
- break ;
- case wxFONTENCODING_MACGAELIC :
- enc = kCFStringEncodingMacGaelic ;
- break ;
-// case wxFONTENCODING_MACKEYBOARD :
-// enc = kCFStringEncodingMacKeyboardGlyphs ;
-// break ;
-
- default :
- // because gcc is picky
- break ;
- }
-
- return enc ;
-}
-
-#if MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_4
-// Provide a constant for the wchat_t encoding used by the host platform.
-#ifdef WORDS_BIGENDIAN
- static const CFStringEncoding wxCFStringEncodingWcharT = kCFStringEncodingUTF32BE;
-#else
- static const CFStringEncoding wxCFStringEncodingWcharT = kCFStringEncodingUTF32LE;
-#endif
-
-#endif /* MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_4 */
-
-class wxMBConv_cf : public wxMBConv
-{
-public:
- wxMBConv_cf()
- {
- Init(CFStringGetSystemEncoding()) ;
- }
-
- wxMBConv_cf(const wxMBConv_cf& conv)
- {
- m_encoding = conv.m_encoding;
- }
-
-#if wxUSE_FONTMAP
- wxMBConv_cf(const char* name)
- {
- Init( wxCFStringEncFromFontEnc(wxFontMapperBase::Get()->CharsetToEncoding(name, false) ) ) ;
- }
-#endif
-
- wxMBConv_cf(wxFontEncoding encoding)
- {
- Init( wxCFStringEncFromFontEnc(encoding) );
- }
-
- virtual ~wxMBConv_cf()
- {
- }
-
- void Init( CFStringEncoding encoding)
- {
- m_encoding = encoding ;
- }
-
- virtual size_t ToWChar(wchar_t * dst, size_t dstSize, const char * src, size_t srcSize = wxNO_LEN) const
- {
- wxCHECK(src, wxCONV_FAILED);
-
- /* NOTE: This is wrong if the source encoding has an element size
- * other than char (e.g. it's kCFStringEncodingUnicode)
- * If the user specifies it, it's presumably right though.
- * Right now we don't support UTF-16 in anyway since wx can do a better job.
- */
- if(srcSize == wxNO_LEN)
- srcSize = strlen(src) + 1;
-
- // First create the temporary CFString
- wxCFRef<CFStringRef> theString( CFStringCreateWithBytes (
- NULL, //the allocator
- (const UInt8*)src,
- srcSize,
- m_encoding,
- false //no BOM/external representation
- ));
-
- wxCHECK(theString != NULL, wxCONV_FAILED);
-
- /* NOTE: The string content includes the NULL element if the source string did
- * That means we have to do nothing special because the destination will have
- * the NULL element iff the source did and the NULL element will be included
- * in the count iff it was included in the source count.
- */
-
-
-/* If we're compiling against Tiger headers we can support direct conversion
- * to UTF32. If we are then run against a pre-Tiger system, the encoding
- * won't be available so we'll defer to the string->UTF-16->UTF-32 conversion.
- */
-#if MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_4
- if(CFStringIsEncodingAvailable(wxCFStringEncodingWcharT))
- {
- CFRange fullStringRange = CFRangeMake(0, CFStringGetLength(theString));
- CFIndex usedBufLen;
-
- CFIndex charsConverted = CFStringGetBytes(
- theString,
- fullStringRange,
- wxCFStringEncodingWcharT,
- 0,
- false,
- // if dstSize is 0 then pass NULL to get required length in usedBufLen
- dstSize != 0?(UInt8*)dst:NULL,
- dstSize * sizeof(wchar_t),
- &usedBufLen);
-
- // charsConverted is > 0 iff conversion succeeded
- if(charsConverted <= 0)
- return wxCONV_FAILED;
-
- /* usedBufLen is the number of bytes written, so we divide by
- * sizeof(wchar_t) to get the number of elements written.
- */
- wxASSERT( (usedBufLen % sizeof(wchar_t)) == 0 );
-
- // CFStringGetBytes does exactly the right thing when buffer
- // pointer is NULL and returns the number of bytes required
- return usedBufLen / sizeof(wchar_t);
- }
- else
-#endif /* MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_4 */
- {
- // NOTE: Includes NULL iff source did
- /* NOTE: This is an approximation. The eventual UTF-32 will
- * possibly have less elements but certainly not more.
- */
- size_t returnSize = CFStringGetLength(theString);
-
- if (dstSize == 0 || dst == NULL)
- {
- return returnSize;
- }
-
- // Convert the entire string.. too hard to figure out how many UTF-16 we'd need
- // for an undersized UTF-32 destination buffer.
- CFRange fullStringRange = CFRangeMake(0, CFStringGetLength(theString));
- UniChar *szUniCharBuffer = new UniChar[fullStringRange.length];
-
- CFStringGetCharacters(theString, fullStringRange, szUniCharBuffer);
-
- wxMBConvUTF16 converter;
- returnSize = converter.ToWChar( dst, dstSize, (const char*)szUniCharBuffer, fullStringRange.length );
- delete [] szUniCharBuffer;
-
- return returnSize;
- }
- // NOTREACHED
- }
-
- virtual size_t FromWChar(char *dst, size_t dstSize, const wchar_t *src, size_t srcSize) const
- {
- wxCHECK(src, wxCONV_FAILED);
-
- if(srcSize == wxNO_LEN)
- srcSize = wxStrlen(src) + 1;
-
- // Temporary CFString
- wxCFRef<CFStringRef> theString;
-
-/* If we're compiling against Tiger headers we can support direct conversion
- * from UTF32. If we are then run against a pre-Tiger system, the encoding
- * won't be available so we'll defer to the UTF-32->UTF-16->string conversion.
- */
-#if MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_4
- if(CFStringIsEncodingAvailable(wxCFStringEncodingWcharT))
- {
- theString = wxCFRef<CFStringRef>(CFStringCreateWithBytes(
- kCFAllocatorDefault,
- (UInt8*)src,
- srcSize * sizeof(wchar_t),
- wxCFStringEncodingWcharT,
- false));
- }
- else
-#endif /* MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_4 */
- {
- wxMBConvUTF16 converter;
- size_t cbUniBuffer = converter.FromWChar( NULL, 0, src, srcSize );
- wxASSERT(cbUniBuffer % sizeof(UniChar));
-
- // Will be free'd by kCFAllocatorMalloc when CFString is released
- UniChar *tmpUniBuffer = (UniChar*)malloc(cbUniBuffer);
-
- cbUniBuffer = converter.FromWChar( (char*) tmpUniBuffer, cbUniBuffer, src, srcSize );
- wxASSERT(cbUniBuffer % sizeof(UniChar));
-
- theString = wxCFRef<CFStringRef>(CFStringCreateWithCharactersNoCopy(
- kCFAllocatorDefault,
- tmpUniBuffer,
- cbUniBuffer / sizeof(UniChar),
- kCFAllocatorMalloc
- ));
-
- }
-
- wxCHECK(theString != NULL, wxCONV_FAILED);
-
- CFIndex usedBufLen;
-
- CFIndex charsConverted = CFStringGetBytes(
- theString,
- CFRangeMake(0, CFStringGetLength(theString)),
- m_encoding,
- 0, // FAIL on unconvertible characters
- false, // not an external representation
- // if dstSize is 0 then pass NULL to get required length in usedBufLen
- (dstSize != 0)?(UInt8*)dst:NULL,
- dstSize,
- &usedBufLen
- );
-
- // charsConverted is > 0 iff conversion succeeded
- if(charsConverted <= 0)
- return wxCONV_FAILED;
-
- return usedBufLen;
- }
-
- virtual wxMBConv *Clone() const { return new wxMBConv_cf(*this); }
-
- bool IsOk() const
- {
- return m_encoding != kCFStringEncodingInvalidId &&
- CFStringIsEncodingAvailable(m_encoding);
- }
-
-private:
- CFStringEncoding m_encoding ;
-};
-
-#endif // __DARWIN__
// ============================================================================
// Mac conversion classes
--- /dev/null
+/////////////////////////////////////////////////////////////////////////////
+// Name: src/mac/corefoundation/strconv.cpp
+// Purpose: Unicode conversion classes
+// Author: David Elliott
+// Modified by:
+// Created: 2007-07-06
+// RCS-ID: $Id$
+// Copyright: (c) 2007 David Elliott
+// Licence: wxWindows licence
+/////////////////////////////////////////////////////////////////////////////
+
+// For compilers that support precompilation, includes "wx.h".
+#include "wx/wxprec.h"
+
+#ifndef WX_PRECOMP
+ #include "wx/string.h"
+#endif
+
+#include "wx/strconv.h"
+#include "wx/fontmap.h"
+
+#ifdef __DARWIN__
+
+#include "wx/mac/corefoundation/private/strconv_cf.h"
+#include "wx/mac/corefoundation/cfref.h"
+
+
+// ============================================================================
+// CoreFoundation conversion classes
+// ============================================================================
+
+
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_4
+// Provide a constant for the wchat_t encoding used by the host platform.
+#ifdef WORDS_BIGENDIAN
+ static const CFStringEncoding wxCFStringEncodingWcharT = kCFStringEncodingUTF32BE;
+#else
+ static const CFStringEncoding wxCFStringEncodingWcharT = kCFStringEncodingUTF32LE;
+#endif
+
+#endif /* MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_4 */
+
+ size_t wxMBConv_cf::ToWChar(wchar_t * dst, size_t dstSize, const char * src, size_t srcSize) const
+ {
+ wxCHECK(src, wxCONV_FAILED);
+
+ /* NOTE: This is wrong if the source encoding has an element size
+ * other than char (e.g. it's kCFStringEncodingUnicode)
+ * If the user specifies it, it's presumably right though.
+ * Right now we don't support UTF-16 in anyway since wx can do a better job.
+ */
+ if(srcSize == wxNO_LEN)
+ srcSize = strlen(src) + 1;
+
+ // First create the temporary CFString
+ wxCFRef<CFStringRef> theString( CFStringCreateWithBytes (
+ NULL, //the allocator
+ (const UInt8*)src,
+ srcSize,
+ m_encoding,
+ false //no BOM/external representation
+ ));
+
+ wxCHECK(theString != NULL, wxCONV_FAILED);
+
+ /* NOTE: The string content includes the NULL element if the source string did
+ * That means we have to do nothing special because the destination will have
+ * the NULL element iff the source did and the NULL element will be included
+ * in the count iff it was included in the source count.
+ */
+
+
+/* If we're compiling against Tiger headers we can support direct conversion
+ * to UTF32. If we are then run against a pre-Tiger system, the encoding
+ * won't be available so we'll defer to the string->UTF-16->UTF-32 conversion.
+ */
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_4
+ if(CFStringIsEncodingAvailable(wxCFStringEncodingWcharT))
+ {
+ CFRange fullStringRange = CFRangeMake(0, CFStringGetLength(theString));
+ CFIndex usedBufLen;
+
+ CFIndex charsConverted = CFStringGetBytes(
+ theString,
+ fullStringRange,
+ wxCFStringEncodingWcharT,
+ 0,
+ false,
+ // if dstSize is 0 then pass NULL to get required length in usedBufLen
+ dstSize != 0?(UInt8*)dst:NULL,
+ dstSize * sizeof(wchar_t),
+ &usedBufLen);
+
+ // charsConverted is > 0 iff conversion succeeded
+ if(charsConverted <= 0)
+ return wxCONV_FAILED;
+
+ /* usedBufLen is the number of bytes written, so we divide by
+ * sizeof(wchar_t) to get the number of elements written.
+ */
+ wxASSERT( (usedBufLen % sizeof(wchar_t)) == 0 );
+
+ // CFStringGetBytes does exactly the right thing when buffer
+ // pointer is NULL and returns the number of bytes required
+ return usedBufLen / sizeof(wchar_t);
+ }
+ else
+#endif /* MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_4 */
+ {
+ // NOTE: Includes NULL iff source did
+ /* NOTE: This is an approximation. The eventual UTF-32 will
+ * possibly have less elements but certainly not more.
+ */
+ size_t returnSize = CFStringGetLength(theString);
+
+ if (dstSize == 0 || dst == NULL)
+ {
+ return returnSize;
+ }
+
+ // Convert the entire string.. too hard to figure out how many UTF-16 we'd need
+ // for an undersized UTF-32 destination buffer.
+ CFRange fullStringRange = CFRangeMake(0, CFStringGetLength(theString));
+ UniChar *szUniCharBuffer = new UniChar[fullStringRange.length];
+
+ CFStringGetCharacters(theString, fullStringRange, szUniCharBuffer);
+
+ wxMBConvUTF16 converter;
+ returnSize = converter.ToWChar( dst, dstSize, (const char*)szUniCharBuffer, fullStringRange.length );
+ delete [] szUniCharBuffer;
+
+ return returnSize;
+ }
+ // NOTREACHED
+ }
+
+ size_t wxMBConv_cf::FromWChar(char *dst, size_t dstSize, const wchar_t *src, size_t srcSize) const
+ {
+ wxCHECK(src, wxCONV_FAILED);
+
+ if(srcSize == wxNO_LEN)
+ srcSize = wxStrlen(src) + 1;
+
+ // Temporary CFString
+ wxCFRef<CFStringRef> theString;
+
+/* If we're compiling against Tiger headers we can support direct conversion
+ * from UTF32. If we are then run against a pre-Tiger system, the encoding
+ * won't be available so we'll defer to the UTF-32->UTF-16->string conversion.
+ */
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_4
+ if(CFStringIsEncodingAvailable(wxCFStringEncodingWcharT))
+ {
+ theString = wxCFRef<CFStringRef>(CFStringCreateWithBytes(
+ kCFAllocatorDefault,
+ (UInt8*)src,
+ srcSize * sizeof(wchar_t),
+ wxCFStringEncodingWcharT,
+ false));
+ }
+ else
+#endif /* MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_4 */
+ {
+ wxMBConvUTF16 converter;
+ size_t cbUniBuffer = converter.FromWChar( NULL, 0, src, srcSize );
+ wxASSERT(cbUniBuffer % sizeof(UniChar));
+
+ // Will be free'd by kCFAllocatorMalloc when CFString is released
+ UniChar *tmpUniBuffer = (UniChar*)malloc(cbUniBuffer);
+
+ cbUniBuffer = converter.FromWChar( (char*) tmpUniBuffer, cbUniBuffer, src, srcSize );
+ wxASSERT(cbUniBuffer % sizeof(UniChar));
+
+ theString = wxCFRef<CFStringRef>(CFStringCreateWithCharactersNoCopy(
+ kCFAllocatorDefault,
+ tmpUniBuffer,
+ cbUniBuffer / sizeof(UniChar),
+ kCFAllocatorMalloc
+ ));
+
+ }
+
+ wxCHECK(theString != NULL, wxCONV_FAILED);
+
+ CFIndex usedBufLen;
+
+ CFIndex charsConverted = CFStringGetBytes(
+ theString,
+ CFRangeMake(0, CFStringGetLength(theString)),
+ m_encoding,
+ 0, // FAIL on unconvertible characters
+ false, // not an external representation
+ // if dstSize is 0 then pass NULL to get required length in usedBufLen
+ (dstSize != 0)?(UInt8*)dst:NULL,
+ dstSize,
+ &usedBufLen
+ );
+
+ // charsConverted is > 0 iff conversion succeeded
+ if(charsConverted <= 0)
+ return wxCONV_FAILED;
+
+ return usedBufLen;
+ }
+
+#endif // __DARWIN__
+
+