Хостинг серверов Minecraft playvds.com
  1. Вы находитесь в русском сообществе Bukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на русский язык плагины наших собратьев из других стран.
    Скрыть объявление

Помогите Нормальные (жирные) русские шрифты и Юникод

Тема в разделе "Помощь", создана пользователем MrGiperCreeper, 13 окт 2014.

Статус темы:
Закрыта.
  1. Автор темы
    MrGiperCreeper

    MrGiperCreeper Активный участник Пользователь

    Баллы:
    78
    Имя в Minecraft:
    Ivan_Alone
    Здравствуйте, уважаемые форумчане!
    Создаю клиент для сервера и наткнулся на проблему: на сервере используются символы Юникода (❶,❷, ❸, ❹, ❺), они нормально отображаются только при узких шрифтах. Я знаю почему - так как я (и все остальные) использую русский файл glyph_sizes.bin из ранних версий, в которых не было поддержки Юникода, а следовательно, размеры этих юникод-символов равны нулю (что я и вижу на своем сервере, когда захожу с нормальным шрифтом).
    Вопрос вот в чем: кто-нибудь может дать мне нормальный файл glyph_sizes.bin (переделанный из 1.7.2 под русские шрифты, которого я не нашел в Интернете...), или хотя бы научить его редактировать?
    Пытался редактировать HEX-редактором, ничего не вышло...
    Заранее спасибо!
     
  2. Хостинг MineCraft
    <
  3. mechanicII

    mechanicII Старожил Пользователь

    Баллы:
    103
    Skype:
    lapai.serega2
    Имя в Minecraft:
    Mikeren
    Чел, я хоть и не в тему, но одолжи этот файлик со шрифтами. И подскажи куда его закинуть.
    А то так бесит этот мелкий шрифт..
     
  4. Автор темы
    MrGiperCreeper

    MrGiperCreeper Активный участник Пользователь

    Баллы:
    78
    Имя в Minecraft:
    Ivan_Alone
    Ну, во-первых, надо делать патч клиента) Иначе русские шрифты съезжают влево.
    Во-вторых, он делается так: декомпилим майн, открываем файл FontRenderer.java, ищем строку if (var4 > 7) и заменяем ее на if (var4 > 15).
    Потом идем в эту http://www.rubukkit.org/threads/rusifikator-minecraft-1-7-2-ot-mrgipercreeper.69043/
    тему и качаем любой русик. Там есть папка assets, ее в версия.jar кидаешь и все, профит!
     
  5. mechanicII

    mechanicII Старожил Пользователь

    Баллы:
    103
    Skype:
    lapai.serega2
    Имя в Minecraft:
    Mikeren
    Жаль тут убрали кнопку «Мне нравиться»
     
  6. Reality_SC

    Reality_SC Старожил Пользователь

    Баллы:
    123
    Имя в Minecraft:
    Reality_SC
    MrGiperCreeper, изучи эту тему, я выкладывал в ней инструмент (с исходниками) для редактирования glyph_sizes.bin.
     
  7. alexandrage

    alexandrage Администратор

    Баллы:
    173
    Skype:
    alexandr0116
    Шрифт хоть и крупный но все равно кубический обогий.
    У меня щас такой)
    [​IMG]
     
  8. Reality_SC

    Reality_SC Старожил Пользователь

    Баллы:
    123
    Имя в Minecraft:
    Reality_SC
    Ну, я-то ему не про свой шрифт, или шрифт caver-а, а про приладу, чтобы удачно сделать свой :)
    Это весьма глубокий вопрос, кстати, должен ли быть шрифт в майне кубическим, или гладким :D
    У тебя — это где? Что за сервер?
     
  9. alexandrage

    alexandrage Администратор

    Баллы:
    173
    Skype:
    alexandr0116
    Как по мне шрифт должен быть красивом чтоб его было приятно читать, а не кубическое дерьмо.
     
  10. Автор темы
    MrGiperCreeper

    MrGiperCreeper Активный участник Пользователь

    Баллы:
    78
    Имя в Minecraft:
    Ivan_Alone
    Я решил все куда более простым способом, тему закрываю.
     
  11. RikkiLook

    RikkiLook Старожил

    Баллы:
    173
    А где решение? Запомнят и потом будут бить. Возможно даже ногами.
     
  12. Автор темы
    MrGiperCreeper

    MrGiperCreeper Активный участник Пользователь

    Баллы:
    78
    Имя в Minecraft:
    Ivan_Alone
    Ну, я просто сделал простую проверку на эти юникод-символы, если они есть в строке - они меняются на [циферка], с цветом. Короче, вот так вот (класс FontRenderer.java, там метод drawStringWithShadow (у меня клиент с Minecraft Forge, в ванилле что-то похожее)):
    Код:
    public int drawStringWithShadow(String p_78261_1_, int p_78261_2_, int p_78261_3_, int p_78261_4_)
      {
          //Заменяем нужные символы на [циферка]
         String firstRep = p_78261_1_.replaceAll ("❶", "§2[§91§2]§f");
         String secondRep = firstRep.replaceAll ("❷", "§2[§b2§2]§f");
         String thirdRep = secondRep.replaceAll ("❸", "§2[§a3§2]§f");
         String fourRep = thirdRep.replaceAll ("❹", "§2[§e4§2]§f");
         String rank_listener = fourRep.replaceAll ("❺", "§2[§c5§2]§f");
    
          //Присваиваем строке drawScreen значение строки rank_listener
          //(я использую больше замен, чем привожу в пример)
         String drawScreen = rank_listener;
    
          //Отрисовываем текст в чате с произведенной заменой
         return this.drawString(drawScreen, p_78261_2_, p_78261_3_, p_78261_4_, true);
    }
    
    [DOUBLEPOST=1415090325,1415090185][/DOUBLEPOST]Решение придумал сам (не видел ни у кого, хз, может кто-то уже придумал)
     
    RikkiLook нравится это.
Статус темы:
Закрыта.

Поделиться этой страницей