Вы здесь: Nintendoclub.ru Форум

Важная информация!

Если Вы видите это сообщение, значит Вы еще не зарегистрировались на форуме (или не вошли). Гости имеют несколько ограниченные возможности. Чтобы просмотреть права гостей, нажмите на кнопку ниже. Чтобы зарегистрироваться, нажмите сюда.

  • Гости не имеют права писать ответы.
  • Гости не имеют права создавать темы.
  • Гости не имеют права создавать опросы.
  • Гости не имеют права прикреплять файлы.
  • Гости не имеют права влиять на репутацию пользователей.
С уважением, администрация форума NintendoClub
Модератор форума: drugold  
Технические аспекты русификации Super Paper Mario
Аватар CityAceE
МегаАктиWiiст
Группа: Проверенные
Сообщений: 513
Репутация: 53
Замечания: 0%
Статус: Offline

Владивосток
Непосредственное обсуждение перевода
в теме:
Перевод текста Super Paper Mario
Здесь только техническая сторона!


Пролог

  • Уж так получилось, что в России дистрибуцией продукции Nintendo занялась не та компания... В результате, самая популярная консоль в мире вынуждена в нашей стране влачить жалкое существование, продаваясь в ничтожных количествах, без русского языка в меню, без поддержки в Интернет каналах, без русских игр, наконец! Так как консоль совершенно не популярна, то и пираты не обращают на неё никакого внимания. Иначе как объяснить полное отсутствие пиратских переводов на русский язык? Ну что ж, мы сами кузнецы своего счастья! От разговоров кое-кто перешёл к делу.


    Примеры

    [spoiler][tb]

    Подмена текста в игре (fork)

    [cl]
    Кириллическая подмена(1) (fork)

    [cl]
    Кириллическая подмена(2) (Фотошоп)

    [cl]
    Кириллическая подмена(3)

    [cl]
    Смешарики (Джамшут эдишн)

    [st]

    [cl]

    [cl]

    [cl]

    [cl]

    [st]
    Кириллица в меню игры (fork)

    [cl]
    /dev/null

    [cl]
    /dev/null

    [cl]
    /dev/null

    [cl]
    /dev/null

    [st]


    [cl]
    [bounce]Здесь могла быть ваша реклама :)[/bounce]

    [cl]
    [bounce]It could be your advertising :)[/bounce]

    [cl]
    [bounce]Hier könnte Ihre Werbung sein :)[/bounce]

    [cl]
    [bounce]また、広告が :)[/bounce]

    [/tb][/spoiler]


    Риторический вопрос

  • Ну что, поддержим доброе начинание?


    Шрифты

    [spoiler][tb]

    Оригинальный (в обработке CityAceE)

    [cl]
    Beta-First (fork)

    [cl]
    Beta-Second (fork)

    [cl]
    Релиз (fork)

    [st]

    [cl]

    [cl]

    [cl]

    [/tb][/spoiler]


    Таблица кодов символов (dnd1)

    [spoiler][tb]

    Латинский строчный

    [cl]
    Латинский заглавный

    [cl]
    Кириллистический строчный

    [cl]
    Кириллистический заглавный

    [st]
    61=a
    62=b
    63=c
    64=d
    65=e
    66=f
    67=g
    68=h
    69=i
    6A=j
    6B=k
    6C=l
    6D=m
    6E=n
    6F=o
    70=p
    71=q
    72=r
    73=s
    74=t
    75=u
    76=v
    77=w
    7 8=x
    79=y
    7A=z

    [cl]
    41=A
    42=B
    43=C
    44=D
    45=E
    46=F
    47=G
    48=H
    49=I
    4A=J
    4B=K
    4C=L
    4D=M
    4E=N
    4F=O
    50=P
    51=Q
    52=R
    53=S
    54=T
    55=U
    56= V
    57=W
    58=X
    59=Y
    5A=Z

    [cl]
    61=а
    E0=б
    E1=в
    E2=г
    67=д
    65=е
    EB=ё
    E4=ж
    E7=з
    75=и
    FA=й
    DC=к
    E8=л
    E9=м
    FC=н
    6F=о
    6E=п
    70=р
    63=с
    6D=т
    EA=у
    FB=ф
    78=х
    EC =ц
    ED=ч
    EE=ш
    EF=щ
    F1=ь
    F2=ы
    F3=ъ
    F4=э
    F6=ю
    F9=я

    [cl]
    41=А
    C0=Б
    42=В
    C1=Г
    C2=Д
    45=Е
    CB=Ё
    C4=Ж
    33=З
    C7=И
    C8=Й
    4b=К
    C9=Л
    4d=М
    48=Н
    4f=О
    CA=П
    50=Р
    43=С
    54=Т
    DB=У
    CC= Ф
    58=Х
    CD=Ц
    CE=Ч
    CF=Ш
    D1=Щ
    D2=Ь
    D3=Ы
    D4=Ъ
    D6=Э
    D9=Ю
    DA=Я

    [/tb]

    Таблица составлялась для расположения букв, указанных в финальном варианте шрифта fork'a[/spoiler]


    Инструкции

    [spoiler]

    Quote (fork)
  • Открыть программой Trucha Signer образ Super Paper Mario;
  • Найти во втором партишне файл ROOT/font/papermarioset_US.bfn (у кого европейская версия, или японская papermarioset_EU.bfn и papermarioset_JP.bfn соответственно) и извлечь его;
  • Открыть полученный файл в программе Tile Layer Pro;
  • Поменять формат отображения View/Format/Genesis;
  • Масштабировать изображение, нажав один раз иконку лупы со знаком "минус";
  • Растянуть окно с символами максимально вправо. Получится 64 колонки и вполне читаемый шрифт;
  • Теперь можно редактировать файл и сохранять, а потом заменять с помощью Trucha Signer оригинальный на него.
  • Тексты в SPM хранятся по адресу ROOT/msg/US/*.txt.
  • Quote (dnd1)
  • Открыть Trucha Signer или WII Scrubber
  • Открыть второй раздел - PATITION(R8PP01)
  • Заменить файлы на выложенные ниже(Заменять - Пр. клавиша->Replace):
  • ___Шрифт - \ROOT\font\papermarioset_EU.bfn - для европейской версии(PAL)
    .__________\ROOT\font\papermarioset_US.bfn - для американской версии(NTSC)
  • ___Текст первой главы - \ROOT\msg\UK\stg1.txt - для европейской версии(PAL)
    ._____________________\ROOT\msg\US\stg1.txt - для американской версии(NTSC)
  • После замены кликнуть по второму разделу(PATITION(R8PP01)) - Пр. клавиша->Trucha Sign It!

  • СКОМПИЛИРОВАННЫЙ ТЕКСТ ПЕВОЙ ГЛАВЫ
    ШРИФТ[/spoiler]


    Проблемы

  • К сожалению, шрифтовые файлы почти всех Wii-игр хранятся в формате *.brfnt и вышеуказанным образом не расшифровываются. Но это, я уверен, только пока...
  • Сообщение отредактировал drugold - Вторник, 26.05.2009, 15:46

    С уважением, Станислав.
    НоWiiчок
    Группа: Проверенные
    Сообщений: 16
    Репутация: 2
    Замечания: 0%
    Статус: Offline

    Тула
    В ходе экспериментов выяснилось, что OpenOffice открывает и сохраняет текстовый файл из SPM без изменений структуры. Но нужна проверка. К сожалению образа SPM у меня нету (записал и снёс), поэтому точно проверить не могу, но в шестнадцатиричном виде всё выглядит идентично.
    Продолжаю писать утилиту. :-)
    Аватар fork
    Known Messenger
    Группа: Проверенные
    Сообщений: 90
    Репутация: 8
    Замечания: 0%
    Статус: Offline

    темиртау
    Quote (drugold)
    Сходите на форум шедевровцев. Там есть необходимый инструментарий и помощь в освоении разных языков, включая японский.

    там-то я и узнал про TPL))). но там нет инфы ни по Вии, ни по Кубу. а тут нужен инструмент именно для виишного (кубового) шрифта, и, надеюсь, abright нам в этом поможет.
    Сообщение отредактировал fork - Вторник, 27.01.2009, 14:25

    Cause I am a fork
    Аватар drugold
    Куратор homebrew GC/Wii
    Группа: Супер Модераторы
    Сообщений: 3143
    Репутация: 140
    Замечания: 0%
    Статус: Offline

    Москва
    Зато там многое есть по N64. Не сравнивал N64 с кубом, может есть точки соприкосновения?

    НоWiiчок
    Группа: Проверенные
    Сообщений: 16
    Репутация: 2
    Замечания: 0%
    Статус: Offline

    Тула
    Хотя нет. OpenOffice тоже меняет структуру файла.
    Аватар CityAceE
    МегаАктиWiiст
    Группа: Проверенные
    Сообщений: 513
    Репутация: 53
    Замечания: 0%
    Статус: Offline

    Владивосток
    Quote (fork)
    могу после работы попробовать "изобрести велосипед" - нарисую русские шрифты в TPL.

    Не горячись! Во-первых, это и для профессионала будет не просто, а, во-вторых, надо поискать более простое решение. Сам битмэп шрифта - это почти готовый BMP! Надо написать небольшой конвертор, получить настоящий BMP, дать его профессионалу для того, чтобы он дорисовал стилизованные буквы. Потом мы этот BMP назад засунем. Останется только табличку ширин символов вручную отредактировать. Но с табличкой я пока не разобрался...

    Quote (drugold)
    может есть точки соприкосновения?

    Да, совершенно точно есть! Я пробовал утилитами оттуда распаковывать файлы от Legend of Zelda Twilight Princess - всё прекрасно распаковывалось :)

    С уважением, Станислав.
    Аватар drugold
    Куратор homebrew GC/Wii
    Группа: Супер Модераторы
    Сообщений: 3143
    Репутация: 140
    Замечания: 0%
    Статус: Offline

    Москва
    Quote (CityAceE)
    Вот так выглядит оригинальный фонт, готовый для редактирования.

    Ссылка битая. Поправь, пожалуйста.

    НоWiiчок
    Группа: Проверенные
    Сообщений: 16
    Репутация: 2
    Замечания: 0%
    Статус: Offline

    Тула
    Формат файла таблицы символов будет таким:
    Code

    abcdefgh
    абвгдеёж

    То есть в первой строке символы, которым соответствуют русские буквы из второй строки. Количество символов в первой и второй строках должно быть естественно одинаково.
    Аватар drugold
    Куратор homebrew GC/Wii
    Группа: Супер Модераторы
    Сообщений: 3143
    Репутация: 140
    Замечания: 0%
    Статус: Offline

    Москва
    Хмм, но в кириллице больше букв, чем в латинице...

    НоWiiчок
    Группа: Проверенные
    Сообщений: 16
    Репутация: 2
    Замечания: 0%
    Статус: Offline

    Тула
    Quote (drugold)
    Хмм, но в кириллице больше букв, чем в латинице...

    Для недостающих букв можно использовать умляуты и знаки типа "@ ^ `"
    Пример таблицы:
    Code

    @^$
    ЯЙЖ

    Добавлено (27.01.2009, 14:27)
    ---------------------------------------------
    Самая первая версия утилиты: http://slil.ru/26587605
    Умеет читать файл in.txt с русским текстом. выводить в файл out.txt текст в символах согласно таблице. В файле table.txt содержится таблица соответствия символов по схеме описаной выше. В комплекте тестовый in.txt и тестовый table.txt с простейшим набором симваолов (маленькие буквы и точка с запятой). Продолжаю делать утилиту.
    Инструкция:
    Поместить в файл in.txt русский текст, запустить програмулину, получить в out.txt текс в нужных символах.

    Добавлено (27.01.2009, 14:37)
    ---------------------------------------------
    В дальнейшем будет всё гораздо удобнее (думаю к вечеру). Пока можно просто кидать в in.txt русский текст и дальше уже текстом переведённым в символы заменять нужные куски текста в виишном файле простым копипастом :-)

    Аватар CityAceE
    МегаАктиWiiст
    Группа: Проверенные
    Сообщений: 513
    Репутация: 53
    Замечания: 0%
    Статус: Offline

    Владивосток
    abright, погоди... Ты не с того начал! Надо вначале сделать утилиту, которая из файла высасывает текст и создаёт словарь!

    С уважением, Станислав.
    НоWiiчок
    Группа: Проверенные
    Сообщений: 16
    Репутация: 2
    Замечания: 0%
    Статус: Offline

    Тула
    Всё будет :-) Я просто в начале написал модуль перевода текста из одного набора символов в другое :-) Следующая версия програмы будет уже с подобием интерфейса и сможет выдирать текст и вставлять его обратно :-)
    Аватар CityAceE
    МегаАктиWiiст
    Группа: Проверенные
    Сообщений: 513
    Репутация: 53
    Замечания: 0%
    Статус: Offline

    Владивосток
    abright, что касается твоего конвертера. Как он у тебя поступает с буквами, которые не попали в таблицу? По идее он их должен транслировать без изменения. Это так?

    С уважением, Станислав.
    НоWiiчок
    Группа: Проверенные
    Сообщений: 16
    Репутация: 2
    Замечания: 0%
    Статус: Offline

    Тула
    Пока выдаёт ошибку, если нет символа в таблице. Могу сделать и что бы без изменений писал символ отсутствующий в таблице. Кстати пробел тоже за символ считается. В той таблице, что идёт примером он находиться в начале строк.
    Сообщение отредактировал abright - Вторник, 27.01.2009, 15:06
    Аватар fork
    Known Messenger
    Группа: Проверенные
    Сообщений: 90
    Репутация: 8
    Замечания: 0%
    Статус: Offline

    темиртау
    осталось перерисовать на рус/яз

    раз уж я стал бесполезен на данном этапе (программирования), хоть попытаюсь что-нибудь сделать, а то вершится история, а я курю в сторонке))
    Сообщение отредактировал fork - Вторник, 27.01.2009, 15:22

    Cause I am a fork
    Аватар CityAceE
    МегаАктиWiiст
    Группа: Проверенные
    Сообщений: 513
    Репутация: 53
    Замечания: 0%
    Статус: Offline

    Владивосток
    Quote (abright)
    Пока выдаёт ошибку, если нет символа в таблице. Могу сделать и что бы без изменений писал символ отсутствующий в таблице.

    Именно так и нужно делать! Есть вероятность, что в тексте будут встречаться символы латинского алфавита. Да и знаки препинания без перекодировки будем использовать. Так что делай такой алгоритм, который будет искать знак в таблице, если он есть, значит перекодируем, а если нет, значит оставляем без изменения.

    Quote (abright)
    Кстати пробел тоже за символ считается.

    Ну само собой, это полноценный знак с кодом #20 :)

    Quote (fork)
    раз уж я стал бесполезен на данном этапе (программирования), хоть попытаюсь что-нибудь сделать, а то вершится история, а я курю в сторонке))

    Погоди, не спеши - всему своё время! Всё успеется. И ты не бесполезен! Фонтом можно будет заниматься позже, не торопясь, когда будет делаться основная работа - перевод того моря текста, что есть в игре. Я завтра (у меня сейчас уже поздний вечер) попытаюсь всё таки организовать конвертов в BMP и обратно - это большой проблемы не должно составить. Гораздо больше меня беспокоит таблица с шириной символов, организацию которой я пока ещё не понял. Завтра же прикину расположение русских символов в фонте, то есть примерную кодировку. Кстати, знаки Ё и ё рисовать не придётся - на наше счастье они и так присутствуют в шрифте среди умляутов. Так что остаётся нарисовать всего ничего - 4 десятка русских букв :)

    С уважением, Станислав.
    Поиск: