1. Вы находитесь в сообществе Rubukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на различные языки плагины наших коллег из других стран.
    Скрыть объявление
Скрыть объявление
В преддверии глобального обновления, мы проводим исследования, которые помогут нам сделать опыт пользования форумом ещё удобнее. Помогите нам, примите участие!

Помогите Русские буквы на табличках в utf-8

Тема в разделе "[Архив] Помощь", создана пользователем Zeka13, 12 июн 2012.

  1. cubespace

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

    Баллы:
    103
    вот тогда еще закинь с заменой в клиенте !
     

    Вложения:

    • font.zip
      Размер файла:
      936,2 КБ
      Просмотров:
      117
    • lang.zip
      Размер файла:
      523,4 КБ
      Просмотров:
      85
    Zeka13 нравится это.
  2. Автор темы
    Zeka13

    Zeka13 Активный участник

    Баллы:
    68
    скачал чистый клиент, закинул туда обе эти папки + ранее выложенный вами fonts.txt и удалил META-INF

    был бы рад увидеть скрин где у вас всё в порядке с русским языком на табличке и ваш minecraft.jar
     
  3. Автор темы
    Zeka13

    Zeka13 Активный участник

    Баллы:
    68
    скачал твой клиент и играю на твоём серве
    большой шрифт от excssoft - всё ок
    нормальный маленький - кракозябры
    [​IMG]
    [​IMG]
    Это уже даже не смешно
     
  4. cubespace

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

    Баллы:
    103
    Ну ты можешь, настроить один шрифт и остальные блокировать!
     
    The Midnight Wizard нравится это.
  5. cubespace

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

    Баллы:
    103
    скинь ссылку в лс на свой серв, посмотрю что у тя там!
     
  6. Автор темы
    Zeka13

    Zeka13 Активный участник

    Баллы:
    68
    да я не хочу пользоваться тем шрифтом, на котором всё работает, я хочу тем, где не работает, потому что в Linux он работает и смотрится намного симпатичнее. Вот я хочу узнать, где взять такой гибрид шрифтом или научить клиенты под Windows писать таблички в UTF-8, как клиенты Linux
     
  7. fromgate

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

    Баллы:
    173
    Имя в Minecraft:
    fromgate
    Для 1.2.5-RB4.0 проблема пока не решается, без правки кода букита.
    Некто Анатолий (хвала ему и поклон) предложил готовый патч для буккита, https://bukkit.atlassian.net/browse/BUKKIT-1797
    Поэтому предлагаю всем дружно проследовать в этот баг-репорт, проголосовать кнопочкой vote и по возможности написать в комментарии, что у вас такая же проблема с просьбой решить как можно скорее. Глядишь через пару дев-билдов починят так, что не нужно будет ничего нигде руссифицировать.
     
  8. Автор темы
    Zeka13

    Zeka13 Активный участник

    Баллы:
    68
    да R4 я вообще не смог русифицировать, у меня на R3 всё в порядке с юникодом и табличками, но только вот windows клиенты я не могу научить писать таблички на юникоде, я ж говорю, что с Linux клиентом никаких проблем!
    Вы хоть понимаете в чём моя проблема? Причём тут этот баг репорт?
    да, без русификации у меня тоже !?, но сейчас то дело совсем не в этом
     
  9. fromgate

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

    Баллы:
    173
    Имя в Minecraft:
    fromgate
    Zeka13, этот баг репорт при том, что в 1.2.5-R4 в принципе невозможно вводить текст в таблички, если вводятся символы отсутствующие в font.txt.
    При этом непатченный craftbukkit.jar позволяет нормально вводить и выводить текст в чате, патченный же (с заменным font.txt) виснет напрочь. Если предложенные автором багрепорта изменения внесут в код, то мы забудем про font.txt и прочее.
    Вы ведь не планируете после выхода MC 1.3 сидеть на 1.2.5-R3? А ведь придется, если не полечат :(
     
  10. Автор темы
    Zeka13

    Zeka13 Активный участник

    Баллы:
    68
    Вы понимаете, что я здесь другую проблему решаю?

    Для меня "!?" ничем не хуже русского текста на табличке, который был написан в cp-1251, так что если придётся обновлять до R4, то я не сильно расстроюсь, если fonts.txt не смогу заменить
     
  11. fromgate

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

    Баллы:
    173
    Имя в Minecraft:
    fromgate
    Zeka13, ну не смотря на то, что не совсем понятно чего вы собственно хотите ; )— "я не хочу пользоваться тем шрифтом, на котором всё работает, я хочу тем, где не работает" — я по-моему все-таки догадался ;)
    Я правильно понимаю, что Вам интересен, грубо говоря, станадартный шрифт, который идет по умолчанию для русског (крошечный и от того симпатичный)?

    Тогда тут возникает такой момент.

    Вот смотрите. Мы, на протяжении уже длительного времени, подменяем в minecraft.jar font.txt и default.png, а в craftbukkit.jar - font.txt. Язык по умолчанию ставим - английский и получаем английские сообщения и нормальный русский текст в чате на табличках и во всех сообщениях плагинов.

    Этого хватает — У нас сервер под Linux, клиенты есть как под Windows так и под Linux (никто не жалуется). Но именно этот вариант Вас как я понимаю не устраивает. Если при такой комбинации выбрать русский перевод (т.е. получить тот самый маленький шрифт), то мы получим:
    1. при вводе в чат (клиент под Windows) будут кракозяблы, которые отправленные в виде сообщения на сервер трансформируются в русский текст (я так понимаю спасибо ruFix'у).
    2. При вводе текста на табличку - кракозяблы остаются и никуда не уходят.

    Разница как я понимаю связана с исходной кодировкой сообщений. Линукс отдает "честный utf-8", а что отдает windows мне лично непонятно (это какая-то адская смесь между UTF8 и CP1251 (по крайней мере я воспринимаю это именно так). Именно поэтому в файле с изображение шрифта - default.png русский алфавит встречается дважды - так обманывают нас с Вами. Кто-то под виндовс написал текст - его видят на линуксе. И вроде все ок. А на самом деле кто-то видит "привет" там где написано "ïðéâåò". Вот, смотрите в файле font.txt, выделенное красным - это как раз для клиентов запущенных под Windows:

    # This file Needs to be in UTF-8 format!
    !"#$%&'()*+,-./
    0123456789:;<=>?
    @ABCDEFGHIJKLMNO
    PQRSTUVWXYZ[\]^_
    ¸abcdefghijklmno
    pqrstuvwxyz{|}~ё
    ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏ
    ÐÑÒÓÔÕÖרÙÚÛÜÝÞß
    àáâãäåæçèéêëìíîï
    ðñòóôõö÷øùúûüýþÿ
    АБВГДЕЖЗИЙКЛМНОП
    РСТУФХЦЧШЩЪЫЬЭЮЯ
    абвгдежзийклмноп
    рстуфхцчшщъыьэюя

    Решение проблемы (самое правильное) - это внесение изменение в клиент. Фактически в него нужно внедрить ruFix, чтобы все сообщения отправляемые в чат (а лучше набираемые) и набираемые в табличках (кстати и в книгах эта проблема будет) сразу приводились к нормальной кодировке.
    Частичное решение проблемы - конвертация текста при вводе во все мыслимые источники плагином на сервере.
    ruFix как я понимаю ловит чат и команды. Можно ли ловить таблички, я не поленюсь, попробую сегодня или завтра (точнее уже сегодня) с утра.
    Книги, как уже говорилось, добавятся. И строку чата это не полечит...
     
    GrayFox и Zeka13 нравится это.
  12. Автор темы
    Zeka13

    Zeka13 Активный участник

    Баллы:
    68
    Всё правильно почти
    клиент под виндовс отправляет только cp-1251(никакой смеси)

    Можно скриншот пожалуйста, а то я не совсем понял вас
    Я хочу видеть на табличках русский язык на стандартном шрифте, если его можно пропатчить - то меня всё устраивает, меня не устраивает шрифт от excssoft

    Остальное - пересказ того, что я писал тут
     
  13. fromgate

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

    Баллы:
    173
    Имя в Minecraft:
    fromgate
    Можно скриншот пожалуйста, а то я не совсем понял вас

    Да я что-то вот это все написал. Залез проверять сейчас. А тут... Короче у меня и со стандартным переводом все ок. Хотя раньше точно были кракозяблы, видно где-то во времена 1.2.4 товарищ Jeb это предусмотрел и пофиксил, а я благополучно ему не поверил ;)

    Специально написал небольшой плагин, который транслировал в лог сообщения набираемые на табличке (клиент - Windows, сервер - Windows) они сохранились в логе в кодировке UTF-8.
    Т.е. все как надо. Но тогда я не понимаю почему у вас что-то не так.

    В общем. Прикладываю всё что у меня закинуто в minecraft.jar font.txt и файл шрифтов default.png
    Клиент почти чистый - пропатчен на поддержку HD-текстур и стоит какая-то древняя версия rei-minimap (уже надоела в чат ругаться).
    craftbukkit.jar - 125-R3 в нем только font.txt

    Может бросите мне ПМ с адресом сервера - я зайду нарисую Вам табличку, посмотрим что получится.
     

    Вложения:

    • default.png
      default.png
      Размер файла:
      1,9 КБ
      Просмотров:
      90
    • font.txt
      Размер файла:
      424 байт
      Просмотров:
      129
    Zeka13 нравится это.
  14. Автор темы
    Zeka13

    Zeka13 Активный участник

    Баллы:
    68
    так мне закинуть эти два файла себе, а потом вы зайдёте и попробуйте нарисовать табличку?
    А чего скрин то не выложили в итоге?

    P.S. играл на сервере Realmine с их клиентом, скрины чуть выше
     
  15. fromgate

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

    Баллы:
    173
    Имя в Minecraft:
    fromgate
    Zeka13, во я понял! На самом деле, я был прав, только кракозяблы передает не майнкрафт, а библиотеки, на которых он работает. Путаница из-за того, что я позавчера эксперементировал и запихнул в MC обновленную версию lwjgl (вроде как говорили повышает производительность). И похоже, ввод текста осуществляется через эту библиотеку и именно она виновата с глюками кодировки, которые были.

    Значит так, я только что это сделал и у меня всё заработало:
    1. Удалил МС, клиент скачался с нуля.
    2. Залил font.txt, удалил META-INF
    3. Зашёл на сервер - увидел кракозяблы
    4. Скачал lwjgl, я брал "стабильный билд", http://www.lwjgl.org/download.php
    5. Заменил файлы в C:\Users\fromgate\AppData\Roaming\.minecraft\bin
    jinput.jar
    lwjgl.jar
    lwjgl_util.jar

    и в C:\Users\fromgate\AppData\Roaming\.minecraft\bin\natives
    jinput-dx8.dll
    jinput-dx8_64.dll
    jinput-raw.dll
    jinput-raw_64.dll
    lwjgl.dll
    lwjgl64.dll
    OpenAL32.dll
    OpenAL64.dll

    На аналогичные из lwjgl-2.8.4.zip

    Должно помочь, сейчас пойду ещё джебу в твиттере напишу, чтобы включил в следующий апдейт последнюю версию библиотек. Может он на этот раз меня услышит ;)
     
  16. Автор темы
    Zeka13

    Zeka13 Активный участник

    Баллы:
    68
    Спасибо, сейчас попробую. К сожалению не имел дело раньше с java библиотекам. Про то, что за кодировку отвечает lwjgl знал, но думал, что это только один .jar файл и пробовал из Linux клиента его запихнуть в Windows клиент, что ничего не изменило.
     
  17. Автор темы
    Zeka13

    Zeka13 Активный участник

    Баллы:
    68
    [​IMG]
    [​IMG]

    Поздравляю, работает безупречно! Наверное даже ruFix больше не нужен, но пока оставлю конечно. Ну что, писать удобный патчер на Qt?
     
    fromgate нравится это.
  18. Автор темы
    Zeka13

    Zeka13 Активный участник

    Баллы:
    68
    Ну да, остаётся только вопрос с R4, остаётся только ждать?
    Там же вроде хеш-значение просто не совпадает из-за замены файла, это вроде как фича)
    Может просто хеш-значение поменять, ну сгенерировать заново для патченного сервака
     
  19. fromgate

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

    Баллы:
    173
    Имя в Minecraft:
    fromgate
    Ой, если этот патчер будет включать в себя font.txt, lwjgl да ещё и патч для текстур высокого разрешения - с удовольствием сделаю ссылку на сайте сервера. Будет одно-кликовое средство руссификации (себе больше и ставить ничего не буду, ну может ещё rei's minimap).

    По поводу R4, я опять хочу попросить Вас и всех "сочувствующих", проголосовать и оставить коментарий в стиле "у нас такая же фигня" в баг репорте (ссылку приводил выше). Просто этих баг-репортов там оочень много и чтобы его поставили в приоритет нужно немного постараться (хотя у меня был случай, что мой баг-репорт правили в день сообщения об ошибке).

    Если предложения Анатолия будут приняты, то уже не нужно будет патчить craftbukkit.jar вообще.

    Для текущего же билда. Если что-то сделать - напишите. Я сегодня утром возился ничего умного не придумал. Но если что получится - тоже напишу.
     
  20. Автор темы
    Zeka13

    Zeka13 Активный участник

    Баллы:
    68
    а где взять эти текстуры высокого разрешения?
     
    Сникерсни нравится это.

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