mono / libgdiplus

C-based implementation of the GDI+ API
http://www.mono-project.com/
MIT License
335 stars 171 forks source link

Implement UTF-16 support #363

Open Artoria2e5 opened 6 years ago

Artoria2e5 commented 6 years ago

UTF-16 support -- support for surrogates -- is crucial for "modern" texts like Emoji and other new charcters. Microsoft Windows has supported UTF-16 since 2000. The Cairo backend currently used can too handle these characters.

filipnavara commented 6 years ago

The Cairo text rendering backend is broken pretty much for anything outside of the Unicode basic plane. It doesn't support RTL, BiDi or proper shaping, so UTF-16 is least of the concern. If you are aware of any other code that doesn't properly support UTF-16 we are likely to fix it. Otherwise you can weigh in on making Pango the default (or only) text rendering backend (https://github.com/mono/libgdiplus/pull/269).