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

  • Автор темы Автор темы Zeka13
  • Дата начала Дата начала
вот тогда еще закинь с заменой в клиенте !
 

Вложения

  • font.zip
    font.zip
    936,2 КБ · Просмотры: 117
  • lang.zip
    lang.zip
    523,4 КБ · Просмотры: 85
скачал чистый клиент, закинул туда обе эти папки + ранее выложенный вами fonts.txt и удалил META-INF

был бы рад увидеть скрин где у вас всё в порядке с русским языком на табличке и ваш minecraft.jar
 
скачал твой клиент и играю на твоём серве
большой шрифт от excssoft - всё ок
нормальный маленький - кракозябры


Это уже даже не смешно
 
да я не хочу пользоваться тем шрифтом, на котором всё работает, я хочу тем, где не работает, потому что в Linux он работает и смотрится намного симпатичнее. Вот я хочу узнать, где взять такой гибрид шрифтом или научить клиенты под Windows писать таблички в UTF-8, как клиенты Linux
 
Для 1.2.5-RB4.0 проблема пока не решается, без правки кода букита.
Некто Анатолий (хвала ему и поклон) предложил готовый патч для буккита, https://bukkit.atlassian.net/browse/BUKKIT-1797
Поэтому предлагаю всем дружно проследовать в этот баг-репорт, проголосовать кнопочкой vote и по возможности написать в комментарии, что у вас такая же проблема с просьбой решить как можно скорее. Глядишь через пару дев-билдов починят так, что не нужно будет ничего нигде руссифицировать.
 
да R4 я вообще не смог русифицировать, у меня на R3 всё в порядке с юникодом и табличками, но только вот windows клиенты я не могу научить писать таблички на юникоде, я ж говорю, что с Linux клиентом никаких проблем!
Вы хоть понимаете в чём моя проблема? Причём тут этот баг репорт?
да, без русификации у меня тоже !?, но сейчас то дело совсем не в этом
 
Zeka13, этот баг репорт при том, что в 1.2.5-R4 в принципе невозможно вводить текст в таблички, если вводятся символы отсутствующие в font.txt.
При этом непатченный craftbukkit.jar позволяет нормально вводить и выводить текст в чате, патченный же (с заменным font.txt) виснет напрочь. Если предложенные автором багрепорта изменения внесут в код, то мы забудем про font.txt и прочее.
Вы ведь не планируете после выхода MC 1.3 сидеть на 1.2.5-R3? А ведь придется, если не полечат :(
 
Вы понимаете, что я здесь другую проблему решаю?

Для меня "!?" ничем не хуже русского текста на табличке, который был написан в cp-1251, так что если придётся обновлять до R4, то я не сильно расстроюсь, если fonts.txt не смогу заменить
 
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 как я понимаю ловит чат и команды. Можно ли ловить таблички, я не поленюсь, попробую сегодня или завтра (точнее уже сегодня) с утра.
Книги, как уже говорилось, добавятся. И строку чата это не полечит...
 
Всё правильно почти
клиент под виндовс отправляет только cp-1251(никакой смеси)

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

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

Остальное - пересказ того, что я писал тут
 
Можно скриншот пожалуйста, а то я не совсем понял вас

Да я что-то вот это все написал. Залез проверять сейчас. А тут... Короче у меня и со стандартным переводом все ок. Хотя раньше точно были кракозяблы, видно где-то во времена 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
    font.txt
    424 байт · Просмотры: 129
так мне закинуть эти два файла себе, а потом вы зайдёте и попробуйте нарисовать табличку?
А чего скрин то не выложили в итоге?

P.S. играл на сервере Realmine с их клиентом, скрины чуть выше
 
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

Должно помочь, сейчас пойду ещё джебу в твиттере напишу, чтобы включил в следующий апдейт последнюю версию библиотек. Может он на этот раз меня услышит ;)
 
Спасибо, сейчас попробую. К сожалению не имел дело раньше с java библиотекам. Про то, что за кодировку отвечает lwjgl знал, но думал, что это только один .jar файл и пробовал из Linux клиента его запихнуть в Windows клиент, что ничего не изменило.
 
13d0217c.jpg
image.png

Поздравляю, работает безупречно! Наверное даже ruFix больше не нужен, но пока оставлю конечно. Ну что, писать удобный патчер на Qt?
 
Ну да, остаётся только вопрос с R4, остаётся только ждать?
Там же вроде хеш-значение просто не совпадает из-за замены файла, это вроде как фича)
Может просто хеш-значение поменять, ну сгенерировать заново для патченного сервака
 
13d0217c.jpg
image.png

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

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

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

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

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