>>10,23,24
http://clang.llvm.org/doxygen/ConvertUTF_8c_source.html
Converting UTF-16 to UTF-32 is one 53 lines function (somewhat bloated, but it's consistent with the others in this file.)
Converting UTF-8 to UTF-32 is a 58 lines function + 23 lines auxillary function + 256-bytes table + 24-bytes table.
Converting UTF-32 to UTF-16 is one 45 lines function.
Converting UTF-32 to UTF-8 is a 49 lines function + 7 bytes table.
Total code to handle UTF-16: 98 lines of functions
Total code to handle UTF-8: 130 lines of functions + 287 bytes table
Now that there's evidence, we can have no more bitching about the complexity of UTF-16.