Некорректное отображение русских шрифтов.(Исправлено в 2.5)

Ошибки и баги Unity3D

Некорректное отображение русских шрифтов.(Исправлено в 2.5)

Сообщение Neodrop 25 окт 2008, 02:08

Шрифты отображаются не всегда корректно. Ищем причины и пути решения... :-B
Добавить neodrop в Skype
Изображение
"Спасибо!" нашему порталу, вы сможете сказать ЗДЕСЬ.
Если проблема не решается честно, нужно её обмануть! || Per stupiditas at Astra!
Страх порождает слабость. Бесстрашных поражают пули.
Протратившись на блядях байтах, на битах не экономят.
Аватара пользователя
Neodrop
Админ
 
Сообщения: 8480
Зарегистрирован: 08 окт 2008, 15:42
Откуда: Питер
Skype: neodrop
  • Сайт

Re: Некорректное отображение русских шрифтов.

Сообщение boriska 06 ноя 2008, 14:55

Кароче чтобы русские шрифты отображались корректно нада в GUI.style задавать шрифт Arial, далее в скрипте указываем кодировку юникод и самое главное делаем преобразование кода вводимого символа. Дело в том что в StandAlone плеере под виндой у нас идут ASCII символы и нам нада их ручками перегнать в юникод
Код: Выделить всё

   public string CheckText(string str)
   {
   string str1="";
   if(str.Length==0)return"";
   
   char aa;
   for(int i=0;i<str.Length;i++)
   {
      int res=Convert.ToInt32(str[i]);
      if (res>191 && res<256)res=res+848;
   aa=Convert.ToChar(res);
   str1+=aa.ToString();
      
   }
   return str1;
   }

Аватара пользователя
boriska
UNец
 
Сообщения: 2
Зарегистрирован: 20 окт 2008, 08:26

Re: Некорректное отображение русских шрифтов.

Сообщение Neodrop 12 дек 2008, 13:50

Вот так будет работать немного быстрее:
Код: Выделить всё
       public string CheckText(string str)
       {
          if(str.Length==0)return"";
          string str1="";
       
          char aa;
          int length =  str.Length; //эта строчка нам сэкономит время.
       for(int i=0; i<length; i++)
       {
          int res=Convert.ToInt32(str[i]);
          if (res>191 && res<256)res=res+848;
          aa=Convert.ToChar(res);
          str1+=aa.ToString();
         
       }
          return str1;
       }

Добавить neodrop в Skype
Изображение
"Спасибо!" нашему порталу, вы сможете сказать ЗДЕСЬ.
Если проблема не решается честно, нужно её обмануть! || Per stupiditas at Astra!
Страх порождает слабость. Бесстрашных поражают пули.
Протратившись на блядях байтах, на битах не экономят.
Аватара пользователя
Neodrop
Админ
 
Сообщения: 8480
Зарегистрирован: 08 окт 2008, 15:42
Откуда: Питер
Skype: neodrop
  • Сайт

Re: Некорректное отображение русских шрифтов.(Исправлено в 2.5)

Сообщение Cyrix 16 сен 2009, 11:48

а можно всё тоже самое, только на JavaScript ???
Cyrix
UNIт
 
Сообщения: 116
Зарегистрирован: 16 сен 2009, 11:32

Re: Некорректное отображение русских шрифтов.(Исправлено в 2.5)

Сообщение MarLorn 04 дек 2011, 12:05

у меня 3.4 версия, и шрифты нормально не отображаются, ариал и таймс не робят, сделал гуистил
using UnityEngine;
using System.Collections;

public class helthBar : MonoBehaviour {

public GUISkin Skin;


void OnGUI(){
GUI.skin=Skin;
GUI.Box(new Rect(10,10,healthBarLenght,20),_curHealth+"/"+maxhealth);
GUI.Button(new Rect(20,20,80,20),"и");
}

}



а при вставке вашего скрипта ошибка
Assets/_RPG_Scripts/helthBar.cs(24,19): error CS0103: The name `Convert' does not exist in the current context

помогите!
юникод в настройках шрифта ставил, но юнити пишет
Font size and style overrides are only supported for dynamic fonts.
UnityEngine.GUI:Button(Rect, String)
helthBar:OnGUI() (at Assets/_RPG_Scripts/helthBar.cs:31)

а при динамическом - абракадабра
MarLorn
UNец
 
Сообщения: 2
Зарегистрирован: 04 дек 2011, 12:02

Re: Некорректное отображение русских шрифтов.(Исправлено в 2.5)

Сообщение MarLorn 04 дек 2011, 12:46

решил проблему. пришло кодировать файл скрипта в кодировку 1251
MarLorn
UNец
 
Сообщения: 2
Зарегистрирован: 04 дек 2011, 12:02


Вернуться в Глюки

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 3