[core] Use UTF-16 instead of UTF-32 for label features to avoid extra conversions and reduce in-memory size.

Continue to use uint32 as glyph ID to maintain Glyph PBF, even though we're only using 16 bits of that uint32.
Use std::codecvt instead of boost::unicode_iterator for UTF8->UTF16 conversions.
This commit is contained in:
Chris Loer
2016-11-09 18:23:49 -08:00
committed by John Firebaugh
parent 5c7aeec5c7
commit 40b0c8d076
16 changed files with 40 additions and 39 deletions

View File

@@ -3,7 +3,7 @@
namespace mbgl {
// Note: this only works for the BMP
GlyphRange getGlyphRange(char32_t glyph) {
GlyphRange getGlyphRange(char16_t glyph) {
unsigned start = (glyph/256) * 256;
unsigned end = (start + 255);
if (start > 65280) start = 65280;