Then we have to modify algorithm for computing the width of symbol.
public int getCharWidth(char cChar) or private float getCharWidthFloat(char cChar){
if (cChar == 167) { ... }
else if(cChar == 32) { ... }
else {
int nChar = ChatAllowedCharacters.allowedCharacters.indexOf(cChar);
if (nChar >= 0 && !this.unicodeFlag) { ... }
else if (this.glyphWidth[cChar] != 0) {
int var3 = this.glyphWidth[cChar] >>> 4;
int pixelWidth = this.glyphWidth[cChar] & 15;
if (var4 > 15) // EDITED: if(var4 > 7) is very buggy
{
var4 = 15; // EDITED: var4 = 7;
var3 = 0;
}
}
else { ... }
}
}
In conclusion, we have to disable "unicodeFlag" setter.
public void setUnicodeFlag(boolean s) {
// this.unicodeFlag = s; // EDITED: unicode flag should be disabled
}
How could it help users who don't speak Russian?
This mod is universal and can be used with different languages. All you need is to modify glyph_sizes.bin and make your own font file (or use existing).
By the way I can modify glyph_sizes.bin by myself, just send me font files compatible with Minecraft.
How to install it?
It's simple, too (if you've ever installed some mods )
Standard version / Version with no special instructions
Just replace files from downloaded archive (link is above) into your Minecraft JAR-file (for example, 1.6.4.jar). Don't forget to remove /META-INF folder!
Version for OptiFine
Install OptiFine (link is above), then find its library (for example, /libraries/optifine/OptiFine/1.6.4_HD_U_C5/OptiFine-1.6.4_HD_U_C5.jar) and replace files from downloaded archive (link is above, too) into it. Don't forget to remove /META-INF folder!
Bugs?
If you use resource pack...
... remove file "unicode_page_04.png" from the resource pack. You can find this file herу: /.minecraft/resourcepacks/RESOURCEPACKNAME.zip/assets/minecraft/textures/font/
If it didn't help please provide me more information about your problem.
If you use Optifine...
... download version for Optifine above.
Что оно изменяет?
Ну, Вы сможете играть в Minecraft с нормальным русским шрифтом.
Что именно оно изменяет?
Будут изменены 3 файла:
Класс "FontRenderer" - заменив этот файл решаются проблемы с символами, которые имеют нестандартные размеры
/assets/minecraft/font/glyph_sizes.bin (файл, содержащий ширину для каждого символа)
/assets/minecraft/textures/font/unicode_page_04.png (файл шрифта, который содержит Кириллические символы)
Как установить?
Это тоже просто (правда, если Вы уже устанавливали моды )
Стандартная версия
Просто замените содержимое JAR-файла вашего Minecraft (например, 1.6.4.jar) содержимым моего архива (ссылка выше). Не забудьте удалить папку /META-INF!
Версия для OptiFine
Установите OptiFine (ссылка выше), затем найдите её библиотеку (например, /libraries/optifine/OptiFine/1.6.4_HD_U_C5/OptiFine-1.6.4_HD_U_C5.jar) и замените её содержимое содержимым моего архива (ссылку также можно найти выше). Не забудьте удалить папку /META-INF!
Баги?
При использовании пакета ресурсов...
... удалите файл "unicode_page_04.png" из пакета ресурсов. Вы можете найти этот файл по следующему пути: /.minecraft/resourcepacks/НАЗВАНИЕ_ПАКЕТА_РЕСУРСОВ.zip/assets/minecraft/textures/font/
Если данное решение не помогло, напишите мне об этой проблеме как можно подробнее.
Ох блин. Лучше бы нормальные шрифты в файлы unicode_page_00.png и unicode_page_04.png c измененным glyph_sizes.bin замутили. И не надо было бы патчить классы. Ибо при русской локализации используются шрифты из этих файлов. В некоторых текстур паках идет свой шрифт, который не видно в русской локале.
PS: Однако патчить таки надо, да:
public int getCharWidth(char par1)
{
....
else if (this.glyphWidth[par1] != 0)
{
int j = this.glyphWidth[par1] >>> 4;
int k = this.glyphWidth[par1] & 15;
if (k > 7) /// на k > 15
{
k = 15;
j = 0;
}
++k;
return (k - j) / 2 + 1;
}
....
}
Только я так понял, что в прилагаемом avf.class пропатчено дополнительно лишнее, имхо. Т.к. как я уже говорил, для нормальной работы достаточно только три выше файла нормальных запилить.
Только я так понял, что в прилагаемом avf.class пропатчено дополнительно лишнее, имхо.
Да, вы абсолютно правы в этом плане Сыграла лень, ибо не хотелось пересчитывать размеры и для латиницы; достаточно было убрать блокировку использования дефолтных символов (из ascii.png) при включенной локализации.
Внимание! Обнаружена ошибка! При заходе на какой-либо сервер с использованием OptiFine и этого фикса, клиент может вылетать Проблема решается путём возврата avf.class из архива OptiFine, но шрифт становится очень страшным
If you like fixes for LAG in MINECRAFT then you will like my mod;D [url="http://minecraft.curseforge.com/mc-mods/fpsplus-lagfixes/"]http://minecraft.cur...splus-lagfixes/[/url]
What does it do?
Well it just modifies some files to give you ability to play Minecraft with normal Russian font.
What exactly it does?
It modifies 3 files:
How does it work?
Secondly, we need to modify shadow rendering because when "unicodeFlag" is disabled, there won't be normal shadow under the text.
Then we have to modify algorithm for computing the width of symbol.
In conclusion, we have to disable "unicodeFlag" setter.
How could it help users who don't speak Russian?
This mod is universal and can be used with different languages. All you need is to modify glyph_sizes.bin and make your own font file (or use existing).
By the way I can modify glyph_sizes.bin by myself, just send me font files compatible with Minecraft.
How to download it?
1.6.2 Version for Optifine (capable with HD_U_B4; no special instructions)
How to install it?
It's simple, too (if you've ever installed some mods )
Bugs?
/.minecraft/resourcepacks/RESOURCEPACKNAME.zip/assets/minecraft/textures/font/
If it didn't help please provide me more information about your problem.
Ramzi3D - Vypramy ruki! xD
чувак, извини, ведь данная версия предназначена для "непропатченного" майнкрафта
а бекапы тебе, все же, следовало сделать...
PS: Однако патчить таки надо, да:
Только я так понял, что в прилагаемом avf.class пропатчено дополнительно лишнее, имхо. Т.к. как я уже говорил, для нормальной работы достаточно только три выше файла нормальных запилить.
Да, вы абсолютно правы в этом плане Сыграла лень, ибо не хотелось пересчитывать размеры и для латиницы; достаточно было убрать блокировку использования дефолтных символов (из ascii.png) при включенной локализации.
Для этого надо изменённый font.txt в 1.6.2.jar кидать
Спасибо за сообщение. Исправлено. Скачайте версию для Optifine, чтобы решить проблему.
Спасибо, работет! А можно версию с HD шрифтом?
Увы, в ближайшем будущем нет таких планов. Но если будут желающие сделать, то пожалуйста, добавим.
К сожалению, я не «маковод»
Может быть, можно будет как-то связаться?
I've never heard of it ._.
Nope I'm Russian
In this thread I translate every important message into English.
If you like fixes for LAG in MINECRAFT then you will like my mod;D [url="http://minecraft.curseforge.com/mc-mods/fpsplus-lagfixes/"]http://minecraft.cur...splus-lagfixes/[/url]
Of course! Write PM if you're ready.