clean up printer & use boost property trees instead. Use ICU for converting unicode codepoints.