Учебник по VRML 97

FontStyle (стиль шрифта)


Описание:

FontStyle { family "SERIF" horizontal TRUE justify "BEGIN" language " " leftToRight TRUE size 1.0 spacing 1.0 style "PLAIN" topToBottom TRUE

Описание раздела FontStyle позволяет несколько отрегулировать вид текста.

По порядку:

  • family - определяет начертание шрифта. Возможны три значения поля family: SERIF (по умолчанию) - приблизительно соответствует Times Roman, SANS - соответствует шрифту Helvetica, TYPEWRITER - моноширинный шрифт типа Courier'а.

. .

Отличия в начертании налицо.

  • horizontal - это очевидно, что отвечает за написание строки по горизонтали (horizontal TRUE - по умолчанию) или по вертикали (horizontal FALSE)
  • . .

  • justify - то, что в других программах еще называется alignment или "выравнивание". Может принимать 4 значения. Первые три: BEGIN, MIDDLE, END соответствуют выравниванию соответственно по левому краю, по центру, по правому краю. Четвертое значение FIRST отвечает за выравнивание по дополнительной оси, т.е. по вертикали, если текст расположен горизонтально и по горизонтали для вертикального текста.
  • . .

  • language - как Вы могли заметить все примеры про текст были английскими фразами. Даже если переключиться в кириллицу и загнать в wrl файл русскоязычную фразу - ничего не выйдет, пока не отрегулировать значение поля language. Вернее выйдет что-нибудь вроде этого ->
  • . . Сомневаюсь, что Вы смогли что-нибудь прочесть в броузере.

    Так вот, надо было указать язык. Делается это как в интернетовских url, т.е. для России - ru

    . .

    Приведенный код нормально сработал в случае CosmoPlayer, MS VRML Viewer, Cortona и не сработал в GLView! И еще, просмотрите код! Вы будете смеяться, но я не знаю, в какой кодировке написана русскоязычная фраза! :(, хотя она просматривается VRML броузерами. Я написал ее в Cosmowolrlds с указанием language=ru, но это ведь вовсе не CP-1251.

  • size и spacing - задают размер шрифта и межстрочное расстояние
  • style - может быть PLAIN, BOLD, ITALIC, BOLDITALIC. Это всем знакомые обычный, полужирный, курсив, полужирный курсив.
  • leftToRight и topToBottom - в зависимости от значения horizontal задает направления написания текста. При horizontal TRUE и leftToRight FALSE текст напишется справа налево (для арабов что ли ;) ? ) . Аналогично по вертикали.
  • Теперь о том, почему использование Text+FontStyle мне кажется неудачным. А что в них хорошего? Всего 3 шрифта + (полужирность, курсив). Есть два более приятных варианта:

    • использование текстуры. Напишите в Photoshope все что Вам вздумается, любым шрифтом, с любыми эффектами (emboss и т.д.) и налепите эту "листовку" на объект. Как это делается см в разделе
    • трехмерный текст. . Ничего себе, правда? Удобнее всего такое делать в Internet Space Builder.

    И в первом, и во втором случае никаких проблем с кодировкой, языком и т.д.!



    Содержание раздела