Не уверен, как создать лицо шрифта, используя привязку lwjgl freetype. Не смог найти достаточно документации или каких -либо примеров вокруг него. /p>
Вот что я пытался сделать: < /p>
package org.example;
import org.lwjgl.*;
import org.lwjgl.system.*;
import org.lwjgl.util.freetype.FT_Face;
import java.io.IOException;
import java.io.InputStream;
import java.nio.*;
import static org.lwjgl.system.MemoryStack.*;
import static org.lwjgl.util.freetype.FreeType.*;
public class Main {
public static void main(String[] args) {
// For now just verify that the FreeType library loads correctly
try (MemoryStack stack = stackPush()) {
PointerBuffer pp = stack.mallocPointer(1);
int err = FT_Init_FreeType(pp);
if (err != FT_Err_Ok) {
throw new IllegalStateException("Failed to initialize FreeType: " + FT_Error_String(err));
}
long library = pp.get(0);
IntBuffer major = stack.mallocInt(1);
IntBuffer minor = stack.mallocInt(1);
IntBuffer patch = stack.mallocInt(1);
FT_Library_Version(library, major, minor, patch);
System.out.println("Loaded FreeType " + major.get(0) + "." + minor.get(0) + "." + patch.get(0));
FT_Done_FreeType(library);
// Load the WOFF file
String fontPath = "AdelleSans-ThinItalic.woff";
byte[] fontData;
try (InputStream fileStream = Main.class.getResourceAsStream(fontPath)) {
assert fileStream != null;
fontData = fileStream.readAllBytes();
}
ByteBuffer fontByteBuffer = MemoryUtil.memAlloc(1024 * 1024);
fontByteBuffer.put(fontData);
fontByteBuffer.flip();
PointerBuffer pointerBuffer = stack.mallocPointer(1); // not sure how to create the PointBuffer
int error = FT_New_Memory_Face(library, fontByteBuffer, fontByteBuffer.remaining(), pointerBuffer);
System.out.println(error);
} catch (IOException e) {
throw new RuntimeException(e);
}
}
}
< /code>
Вот ошибка, которую я получаю: < /p>
Задача: org.example.main.main () не удастся
Загружено Freetype 2.13.3 < /p>
Фактальная ошибка была обнаружена в среде времени выполнения Java: < /p>
sigsegv (0xb) на ПК = 0x000000012f240600, PID = 44875, tid = 259 < /p>
jre version: openjdk среда времени выполнения Temurin-17.0.7+7 (17.0.7+7) (сборка 17.0.7+7)
java vm: openjdk 64-бит Сервер VM Temurin-17.0.7+7 (17.0.7+7, смешанный режим, многоуровневый, сжатый упс, сжатый класс PTRS, G1 GC, BSD-Aarch64)
Проблемная кадр:
c [libfreetype. dylib+0x8600]
Подробнее здесь: https://stackoverflow.com/questions/794 ... etype-bind
Как создать лицо шрифта, используя последнюю версию (3.3.6) Lwjgl Freetype Привязка? ⇐ JAVA
Программисты JAVA общаются здесь
1738260599
Anonymous
Не уверен, как создать лицо шрифта, используя привязку lwjgl freetype. Не смог найти достаточно документации или каких -либо примеров вокруг него. /p>
Вот что я пытался сделать: < /p>
package org.example;
import org.lwjgl.*;
import org.lwjgl.system.*;
import org.lwjgl.util.freetype.FT_Face;
import java.io.IOException;
import java.io.InputStream;
import java.nio.*;
import static org.lwjgl.system.MemoryStack.*;
import static org.lwjgl.util.freetype.FreeType.*;
public class Main {
public static void main(String[] args) {
// For now just verify that the FreeType library loads correctly
try (MemoryStack stack = stackPush()) {
PointerBuffer pp = stack.mallocPointer(1);
int err = FT_Init_FreeType(pp);
if (err != FT_Err_Ok) {
throw new IllegalStateException("Failed to initialize FreeType: " + FT_Error_String(err));
}
long library = pp.get(0);
IntBuffer major = stack.mallocInt(1);
IntBuffer minor = stack.mallocInt(1);
IntBuffer patch = stack.mallocInt(1);
FT_Library_Version(library, major, minor, patch);
System.out.println("Loaded FreeType " + major.get(0) + "." + minor.get(0) + "." + patch.get(0));
FT_Done_FreeType(library);
// Load the WOFF file
String fontPath = "AdelleSans-ThinItalic.woff";
byte[] fontData;
try (InputStream fileStream = Main.class.getResourceAsStream(fontPath)) {
assert fileStream != null;
fontData = fileStream.readAllBytes();
}
ByteBuffer fontByteBuffer = MemoryUtil.memAlloc(1024 * 1024);
fontByteBuffer.put(fontData);
fontByteBuffer.flip();
PointerBuffer pointerBuffer = stack.mallocPointer(1); // not sure how to create the PointBuffer
int error = FT_New_Memory_Face(library, fontByteBuffer, fontByteBuffer.remaining(), pointerBuffer);
System.out.println(error);
} catch (IOException e) {
throw new RuntimeException(e);
}
}
}
< /code>
Вот ошибка, которую я получаю: < /p>
Задача: org.example.main.main () не удастся
Загружено Freetype 2.13.3 < /p>
Фактальная ошибка была обнаружена в среде времени выполнения Java: < /p>
sigsegv (0xb) на ПК = 0x000000012f240600, PID = 44875, tid = 259 < /p>
jre version: openjdk среда времени выполнения Temurin-17.0.7+7 (17.0.7+7) (сборка 17.0.7+7)
java vm: openjdk 64-бит Сервер VM Temurin-17.0.7+7 (17.0.7+7, смешанный режим, многоуровневый, сжатый упс, сжатый класс PTRS, G1 GC, BSD-Aarch64)
Проблемная кадр:
c [libfreetype. dylib+0x8600]
Подробнее здесь: [url]https://stackoverflow.com/questions/79400687/how-do-i-create-a-font-face-using-the-latest-version-3-3-6-lwjgl-freetype-bind[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия