Рисуйте символы Юникода/UTF-8, такие как «ಠ», с помощью AWT Graphics в Java.JAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Рисуйте символы Юникода/UTF-8, такие как «ಠ», с помощью AWT Graphics в Java.

Сообщение Anonymous »

Я пытаюсь нарисовать лицо с помощью таких юникодов:
ಠ_ಠ
Однако получается прямоугольники вместо этого.
Я попробовал следующее:

Код: Выделить всё

BufferedImage image = new BufferedImage(WIDTH, HEIGHT, BufferedImage.TYPE_INT_ARGB);
Graphics g = image.getGraphics();
Font font = new Font("Arial", Font.BOLD, FACE_SIZE);

g.setColor(FACE_COLOR);
g.setFont(font);
g.drawString("ಠ_ಠ", x, y);
Я также пробовал следующие методы:

Код: Выделить всё

g.drawString(new String("ಠ_ಠ".getBytes("UTF-8"), "UTF-8"), x, y);

Код: Выделить всё

g.drawString(StringEscapeUtils.unescapeJava("\\u0ca0\\u005f\\u0ca0"), x, y);
Но всё дало следующий результат:
Изображение результата предыдущих методов
Я тоже пробовал на Linux, Windows, результат тот же. Изменение шрифта не помогает.
В настройках Gradle я позаботился о следующем:

Код: Выделить всё

compileJava.options.encoding = 'UTF-8'
tasks.withType( JavaCompile ) {
options.encoding = 'UTF-8'
}
Я знаю, что Arial поддерживает символы, потому что я могу нарисовать их в программе для редактирования изображений.
Если это может помочь, это в проекте Spring Boot .

Подробнее здесь: https://stackoverflow.com/questions/785 ... cs-in-java
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»