Нужно сделать отображение символов юникода в адекватном виде
Всем привет! Пишу код для отображения юникод символов, перепробовал миллион вариантов, однако ни один не может нормально отобразить юникод символ. Если кто знает. то в каком диапазоне находятся эти символы. Про диапозон, я имею в виду циферки, которые писать в STBTTPackedchar.create() Код ниже:
ByteBuffer bitmap = BufferUtils.createByteBuffer(size * size);
STBTTPackedchar.Buffer[] cdata = {
STBTTPackedchar.create(129535),//, // Basic Latin
STBTTPackedchar.create(127),//, // Basic Latin
STBTTPackedchar.create(239)//, // Basic Latin
//STBTTPackedchar.create(65533),//, // Basic Latin
//STBTTPackedchar.create(65533)//, // Basic Latin
//STBTTPackedchar.create(255) // Basic Latin
};
// create and initialise packing context
STBTTPackContext packContext = STBTTPackContext.create();
STBTruetype.stbtt_PackBegin(packContext, bitmap, size, size, 0 ,1);
// create the pack range, populate with the specific packing ranges
STBTTPackRange.Buffer packRange = STBTTPackRange.create(cdata.length);
packRange.put(STBTTPackRange.create().set(height, 0, null, 129535, cdata[0], (byte) 2, (byte) 2)); //32-127
packRange.put(STBTTPackRange.create().set(height, 917504, null, 127, cdata[1], (byte) 2, (byte) 2)); //32-127
packRange.put(STBTTPackRange.create().set(height, 917760, null, 239, cdata[2], (byte) 2, (byte) 2)); //32-127
//packRange.put(STBTTPackRange.create().set(height, 983040, null, 65533, cdata[1], (byte) 2, (byte) 2)); //32-127
//packRange.put(STBTTPackRange.create().set(height, 1048576, null, 65533, cdata[1], (byte) 2, (byte) 2)); //32-127
//packRange.put(STBTTPackRange.create().set(height, 129280, null, 255, cdata[1], (byte) 2, (byte) 2)); //128-255
//packRange.put(STBTTPackRange.create().set(height, 160, null, 96, cdata[1], (byte) 2, (byte) 2));
//packRange.put(STBTTPackRange.create().set(height, 256, null, 128, cdata[2], (byte) 2, (byte) 2));
//packRange.put(STBTTPackRange.create().set(height, 880, null, 144, cdata[3], (byte) 2, (byte) 2));
//packRange.put(STBTTPackRange.create().set(height, 1024, null, 256, cdata[5], (byte) 2, (byte) 2));
//packRange.put(STBTTPackRange.create().set(height, 8734, null, 1, cdata[6], (byte) 2, (byte) 2)); // lol
packRange.flip();
// write and finish
STBTruetype.stbtt_PackFontRanges(packContext, buffer, 0, packRange);
STBTruetype.stbtt_PackEnd(packContext);