Страница 1 из 1

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

СообщениеДобавлено: 25 окт 2008, 02:08
Neodrop
Шрифты отображаются не всегда корректно. Ищем причины и пути решения... :-B

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

СообщениеДобавлено: 06 ноя 2008, 14:55
boriska
Кароче чтобы русские шрифты отображались корректно нада в 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;
   }


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

СообщениеДобавлено: 12 дек 2008, 13:50
Neodrop
Вот так будет работать немного быстрее:
Код: Выделить всё
       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;
       }


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

СообщениеДобавлено: 16 сен 2009, 11:48
Cyrix
а можно всё тоже самое, только на JavaScript ???

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

СообщениеДобавлено: 04 дек 2011, 12:05
MarLorn
у меня 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)

а при динамическом - абракадабра

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

СообщениеДобавлено: 04 дек 2011, 12:46
MarLorn
решил проблему. пришло кодировать файл скрипта в кодировку 1251