Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   русский шрифт и неправильное расположение текста (https://javascript.ru/forum/dom-window/44458-russkijj-shrift-i-nepravilnoe-raspolozhenie-teksta.html)

avrudoi 20.01.2014 16:14

русский шрифт и неправильное расположение текста
 
вот код который я использую для того чтобы выводить три Д текст с прямогольниками, вообщем получаеться что текст не накладываеться на фигуру.

var menu_podarki = "Подарки";
//var hash = document.location.hash.substr( 1 );

//if ( hash.length !== 0 ) {

// menu_podarki = hash;

//}

menu_text1 = new THREE.TextGeometry( menu_podarki, {

size: 80,
height: 20,
curveSegments: 2,
font: "helvetiker"

});


menu_text1.computeBoundingBox();
var centerOffset = -0.5 * ( menu_text1.boundingBox.max.x - menu_text1.boundingBox.min.x );

var textMaterial = new THREE.MeshBasicMaterial( { color: Math.random() * 0xffffff, overdraw: true } );
var text1 = new THREE.Mesh( menu_text1, textMaterial );
text1.rotation.y = 120 * Math.PI/180;
text1.position.set = (-50* Math.cos(text1.rotation.y), 0, 50* Math.sin(text1.rotation.y));


//menu_text1.position.y = 100;
//menu_text1.position.z = 0;

//group = new THREE.Object3D();
//group.add( text1 );

//scene.add( group );


// Cube
var geometry = new THREE.CubeGeometry( 100, 300, 5 );

var material = new THREE.MeshBasicMaterial( { color: Math.random() * 0xffffff, opacity: 0.5, transparent: true });

cube1 = new THREE.Mesh( geometry, material );
cube1.rotation.y = 120 * Math.PI/180;
cube1.position.set(-50* Math.cos(cube1.rotation.y), 0, 50* Math.sin(cube1.rotation.y));

var material = new THREE.MeshBasicMaterial( { color: Math.random() * 0xffffff, opacity: 0.5, transparent: true });

cube2 = new THREE.Mesh( geometry, material );
cube2.rotation.y = 240 * Math.PI/180;
cube2.position.set(-50* Math.cos(cube2.rotation.y), 0, 50* Math.sin(cube2.rotation.y));

var material = new THREE.MeshBasicMaterial( { color: Math.random() * 0xffffff, opacity: 0.5, transparent: true });

cube3 = new THREE.Mesh( geometry, material );
cube3.rotation.y = 360 * Math.PI/180;
cube3.position.set(-50* Math.cos(cube3.rotation.y), 0, 50* Math.sin(cube3.rotation.y));

// для прорисовки
megalit = new THREE.Object3D();
megalit.add(cube1);
megalit.add(cube2);
megalit.add(cube3);
megalit.add(text1);
// добавление текста
scene.add( megalit );
// для выбора
projector = new THREE.Projector(), objects = [];
objects.push(cube1);
objects.push(cube2);
objects.push(cube3);
objects.push(text1);

avrudoi 20.01.2014 23:16

еще забыл как подключить шрифт
<script src="fonts/times_new_roman_regular.typeface.js"></script>
у меня с ним проблемма

menu_text1 = new THREE.TextGeometry( menu_podarki, {

size: 14,
height: 5,
curveSegments: 2,
font: "times_new_roman_regular"

});

я так подключал, как в примера mrdoob

alexan0308 20.01.2014 23:58

Цитата:

Сообщение от avrudoi (Сообщение 293126)
вот код который я использую для того чтобы выводить три Д текст с прямогольниками, вообщем получаеться что текст не накладываеться на фигуру.

Что, немного подумать и поэкспериментировать совсем никак?
text1.rotation.y = 60 * Math.PI/180;

avrudoi 21.01.2014 12:54

это понятно, но почему координаты не совподают.
ведь координатная ось одна и таже. Да еще помогите разобраться с шрифтом, мне кажиться из-за названия может неработать, как может называться это шрифт здесь font: "times_new_roman_regular".

alexan0308 21.01.2014 14:52

Цитата:

Сообщение от avrudoi (Сообщение 293218)
это понятно, но почему координаты не совподают.
ведь координатная ось одна и таже.

Дык работает же, вот и не парься

Цитата:

Сообщение от avrudoi (Сообщение 293218)
Да еще помогите разобраться с шрифтом, мне кажиться из-за названия может неработать, как может называться это шрифт здесь font: "times_new_roman_regular".

Нетути там русских букв.

Кстати, плюсани карму, что ли ))

avrudoi 21.01.2014 15:05

Цитата:

Сообщение от alexan0308 (Сообщение 293247)
Дык работает же, вот и не парься


Нетути там русских букв.

Кстати, плюсани карму, что ли ))

ну как нет, русских букв

здесь перевод шрифтов в javascript, здесь http://typeface.neocracy.org/fonts.html я переводил скрипты в javascript шрифт. только несмог найти название его для кода. здесь же показываться что содержит шрифт, если есть какото другой шрифт подкинте мне.

alexan0308 21.01.2014 15:39

Цитата:

Сообщение от alexan0308 (Сообщение 293247)
Кстати, плюсани карму, что ли ))

Давай, смелее

avrudoi 21.01.2014 15:49

блин у меня ответов на карму почти. вы лучше помогите со шрифтом.

alexan0308 21.01.2014 15:54

Лави
Шрифтец ариал с русскими буквами

avrudoi 21.01.2014 16:52

а как его обозвать в коде.


Часовой пояс GMT +3, время: 07:09.