Главная » Статьи » Учебник: практика

Русская кодировка в Panda 3D
Панда — разработка буржуинская, поэтому по-умолчанию рассчитана на вывод текста всё на том же буржуинском языке в ASCII кодировке — т.е. латинскими символами, однако, заставить её писать на великом и могучем не составляет большого труда. Для начала нужно указать питону дефолтную кодировку utf-8. Если она не указана вначале файла программы в виде # -*- coding: utf_8 -*-, то можно назначить эту кодировку автоматически. Для этого нужно создать файл sitecustomize.py в директории где установлен python в нём написать следующее

import sys
sys.setdefaultencoding('utf8')
print "Encoding set to UTF8"

При старте питон ищет этот файл и запускает. В подтверждение в консоли вы должны увидеть Encodig set to UTF8.

Затем нужно указать Панде, что ей нобходимо так же использовать данную кодировку — в файле Config.prc пишем text-encoding utf8.
Шрифт используемый пандой по умолчанию так же не содержит русских символов, поэтому ниже доисываем text-default-font /c/WINDOWS/Fonts/arial.ttf

Можно назначить используемый шрифт и в самой программе:

myfont = loader.loadFont('arial.ttf')
text=OnscreenText(pos=(0.0, 0.0), font=myfont, text='проверка')
Категория: Учебник: практика | Добавил: ninth (25.03.2009)
Просмотров: 6954 | Комментарии: 9 | Рейтинг: 3.0/4
Всего комментариев: 9
1 ogurcov75442  
0
блин, почему так мало хороших сайтов осталось? этот, благо, вне конкуренции!

2 BVOG  
0
Panda3D даёт написать русским шрифтом, но выводит в окне фигню всякую. sad

3 ninth  
0
Ты шрифт ей указал какой использовать?

4 BVOG  
0
Да, указал. И кодировку тоже, но...

5 ninth  
0
а в Config.prc волшебную фразу вписал?

6 S48GS  
0
Еще способ,простой:
указываем в файле программы,в начале
# coding: utf-8

Вывод текста:(пример)
myfont = loader.loadFont('arial.ttf')#или путь абсолютный,типа /ets/font/fon.ttf
self.title = TextNode('title')
self.title.setFont(myfont)
self.title.setEncoding(TextNode.EUtf8)
self.titleNodePath = aspect2d.attachNewNode(self.title)
self.titleNodePath.setScale(0.07)
self.titleNodePath.setPos(0.7, 0, -0.95)
self.title.setText("разраз тест")


7 voskudo  
0
В Panda есть прекрасная возможность добавлять "фонты" с собственноручно созданными шрифтами, а вот примеров создания таких шрифтов тоже не нашел. Тоже была бы полезная информация.

8 serg-kkz  
0
Это не подходит? Как создать шрифт

9 voskudo  
0
Нет.

Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Онлайн всего: 1
Гостей: 1
Пользователей: 0