Я скачал шрифт Roboto.ttf и использовал typeface.js , чтобы преобразовать шрифт в формат .json и загрузить его с Three.js
var loader = new THREE.FontLoader();
loader.load( 'fonts/Roboto Mono_Regular.json', function ( font ) {
var geometry = new THREE.TextGeometry( 'äüö', {
font: font,
size: 80,
height: 2,
curveSegments: 12,
bevelEnabled: true,
bevelThickness: 10,
bevelSize: 2,
bevelSegments: 5
});
var material = new THREE.MeshPhongMaterial({ambient: 0x000000, color: 0x000000});
label = new THREE.Mesh( geometry, material );
label.name = "label"
label.scale.set(0.01,0.01,0.01);
label.rotation.y = 1.57;
label.position.set(0.85,-0.32,1);
scene.add(label);
});
Но это только отображает: ??? - Шрифт Roboto содержит эти символы, а также преобразованный .json содержит эти символы в глифах. Все файлы имеют одинаковую кодировку. Как я могу это исправить? То же самое с польскими символами; Я думаю, что мне нужно UTF-16.
Восстановлен шрифт, остались проблемы. При написании: «öÖäÄüÜ»
Решено:
Проблема заключалась в том, что я поставил галочку напротив опции «Обратное направление шрифта».
Используйте это, чтобы исправить проблемы с дырами в символах, таких как 'd', 'o' и '8'. "На facetype.js - без этой проверки это работает!