Нужно сделать отображение символов юникода в адекватном виде

введите сюда описание изображенияВсем привет! Пишу код для отображения юникод символов, перепробовал миллион вариантов, однако ни один не может нормально отобразить юникод символ. Если кто знает. то в каком диапазоне находятся эти символы. Про диапозон, я имею в виду циферки, которые писать в 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);

Ответы (0 шт):