Вложений: 1
Цитата:
Цитата:
http://i024.radikal.ru/1405/90/58d7150576c9.png Максимум что можно сделать, это в дампе памяти убедиться что эта каша и есть та же utf8. |
Вложений: 1
Цитата:
Там в памяти видно в хексе какие символы выводит на экран PSP. Как раз она выводит символы из этого диапазона. Тут ситуация наоборот, конвертер пишет в текстовике $82BD, а PSP вместо него выводит символ $C0. Мы будем писать $82BD, а на экране видеть русскую "А" например. Тем более это будет экономить память однобайтными символами. Цитата:
В шрифте Shift-JIS русский алфавит в UTF-16BE - это символы 0401-0451, я тебе не то скормил :) вот сделал правильно, потести плиз. Русский алфавит должен вывестись 100%, если конвертер его не запортит. А UTF-8 = D081-D18F Эмм, в смысле, как не импортировать? Он что не принимает файл назад? Вручную мусор копи-пасте скорее всего результата недаст, это же всего лишь видимый мусор, а не код символов. Ты же как-то символ пробела менял на что угодно, например 8140 или 814B. Как ты это делал? Нужно короче в ту строку забить вот такой набор символов: Код:
04100411041204130414041504010416041704180419041A041B041C041D041E041F0420042104220423042404250426042704280429042A042B042C042D042E042F |
Цитата:
Сдампил unicode_list.txt из оригинального jpn0.pgf из прошивки )) там charmap table: 9778 символов. И игра ведь по-умолчанию использует этот набор символов. И сдампил твой jpn0.pgf, у него charmap table: 16688 символов :xDD: вот поэтому он весит больше 2 мегов. Применил к твоему 8-мегабайтному шрифту unicode_list.txt от оригинала - получился jpn0.pgf 1.3Mb |
Вложений: 1
Цитата:
Цитата:
Цитата:
В любом случае, вручную опять эту фразу попробовал перенести, выглядит так: http://i056.radikal.ru/1405/92/7af703798362.png Нормально она перенеслась или нет думаю можно в дампе памяти посмотреть. |
ErikPshat, до меня сейчас дошло, что ты наверное думал что раз:
$C0 --> $82BD То и в обратную сторону должно быть: $82BD --> $C0 Но нет, конвертирование это только в одну сторону работает и будет выводиться: $82BD --> $82BD Думаю, вообще можно из шрифта этот A6-EF диапазон удалить полностью и ничего не будет, т.к. игра ни при каких обстоятельствах на экран не может выводить его выводить. |
riku.kh3, блин ты чо в японии живёшь ))) что у тебя за дефолтный виндус весь в shiftjis ))) и нифига она не полноценная, т.к. в основном состоит из японско-китайского алфавита.
В общем ты наверное прав, т.к. в shiftjis, например твоём TTF я вижу только одну русскую раскладку и она находится именно в UTF-16BE, ну ты и сам видел в шрифте коды русских символов. Это так же можно проверить, написав в текстовом редакторе русский алфавит, сохранить его в кодировке UTF-16BE и увидеть в хексе тот же самый код. А т.к. ты из неё сделал jpn0.pgf, то эта раскладка там и осталась на своём месте. Поэтому получается, что PSP выводит на экран русский текст из этой кодировки UTF-16BE, потому что в шрифте больше нет других русских букв :) это получается ты пишешь и видишь на экране одно, а также русские символы я вижу в дампе в пределах 8458 и т.п., а PSP выводит на экран шрифт из кодировки UTF-16BE. Хотя на компе в текстовом редакторе, при переключении в кодировку shiftjis, почему-то я вижу читабельный текст на русском с теми же кодами 8458 и т.п. Видимо на компе лежит шрифт какой-то расширенный. Либо я ваще ничего не понимаю. Ну вот смотрю всякие шрифты и вижу в 8458 847E 8485 только японские иероглифы, а в текстовом редакторе при переключении в shiftjis вижу всё на русском. И ещё, я же каждый раз дамплю в памяти тексты, а они ведь складываются в EBOOT.BIN (ELF) :) т.е. этот забитый вначале нулями эльф складывается в нормальный файл в памяти, об этом отвечу в другой теме как раз по теме :) Цитата:
Цитата:
Если в памяти я вижу $C0, то думаю, что я вижу именно то, что этот код обозначает. Хотя фиг его знает. Я пытаюсь переместить шрифт в японскую область, чтобы не было крашей при сохранении. Ведь на японских символах крахов не происходит. |
Цитата:
|
riku.kh3, я думаю, что коды символов из TTF переезжают в PGF один в один, потому что когда я добавлял шрифт однобайтный в TTF и компилировал в ltn0.pgf, то появлялся русский алфавит именно в той кодировке 1251, а до этого там была абракадабра.
А shiftjis по сути чисто японская кодировка, чтобы поместить туда кучу японских символов, которых там больше сотни или фиг знает сколько дофига имеется. В русском языке-то всего 33 коровы )) Для этого и создавался шрифт shiftjis. Ну и естесственно они туда добавили и другие национальные шрифты, и для большей совместимости они их оставили на тех же позициях, как в других кодировках, например UTF-16 для русского или UTF-7 для чисто английского, состоящего из первых 127 байт (0х7F). Я же тебе говорю, что ты слишком всё усложняешь. Ты почему-то считаешь, что Shift-JIS - это какой-то особый внеземной shiftjis закодированный алгоритм, как я смотрю на твои изречения по этому поводу :D Ну добавь туда русский алфавит в win-1251 область или в UTF-8 область - это будет тот же самый shiftjis, только "расширенный". А LIBFONT тут явно вмешивается и видимо корректирует по-своему. Вот почему-то странно, ведь в shiftjis кодах 8458 847E 8485 я вижу японские или китайские символы, но он не их отображает, а перенаправляет на 0410 и т.п. в UTF-16 русскую. Цитата:
В шрифте это сделать не сложно. Только вот как писать текст, ведь его дофига? Можно конечно поставить перед собой таблицу смещений, какой русской букве соответствует японский символ и писать японскими символами, а потом на экране видеть русский текст. Но с такими объёмами нужно конвертер иметь и он есть, только его нужно скомпилировать. |
Цитата:
И, да, если A6-EF из шрифта полностью вычистить на игру это никак не влияет. |
Цитата:
Ты действительно считаешь, что ширина КОДА японского символа зависит от его кода, а не от символа? Не сравнивай широкий пробел 8140, который никак нельзя было сделать уже - это системный код и он вообще отсутствует в shiftjis шрифтах, и поэтому не имеет глифов. Вообщем нужно просто взять и перенести алфавит. А вот как писать? Ну я могу написать через хекс кодами предложение японскими символами, где будут стоять русские. Только как написать 1000 таких предложений? |
Цитата:
|
riku.kh3, слушай, может нам совсем избавиться от shiftjis и писать в любой другой кодировке и перейти на обычный ltn0.pgf, переименовывая его.
Может есть какие-нибудь другие европейские игры, где используется обычный однобайтный шрифт и присутствует нормальный libfont.prx? |
ErikPshat, да наврятли там какая-то разница между libfont из разных игр есть, в эмуляторе он вообще не используется потому что. Да и из однобайтного диапазона там A1-DF физически не получится использовать, т.к. движок самой игры перенаправляет с них.. а использование латиницы 41-7A приводит к тем же крэшам при сейве.
|
riku.kh3, ну в общем, т.к. у меня RLPAKTOOL не запускается, чтобы разглядывать ресурсы, то дальше я пока бессилен.
Думаю ты уже и сам справишься. Я тут ломанул одну прогу и теперь занимаюсь её нормальной русификацией. Нужно довести дело до конца... |
ErikPshat, да затык полный, какое там сам справишься)) Давно твержу что не перенести русские буквы в другую область - размер не изменить никак. Квадратами 17x19 пикселей он отображает каждый символ и все тут))
http://s005.radikal.ru/i210/1405/31/4a6747330814.png С TTF играться бесполезно, и с PGF, судя по всему - тоже. Да и вообще вся эта затея с переносом букв мутная. Расходимся, в общем, с чувством выполненного долга. :D Тут работа для того, кто сможет отдебажить крэши и их причину устранить (сомневаюсь, что тут такие найдутся). |
А я думал ты уже всё решил и справился :)
Ну так что мы имеем... Пробел заменили на японский символ - креши продолжаются. Но символы русские зато видим в хорошем читабельном виде. https://www.pspx.ru/forum/attachment....chmentid=10053 Вывод - креши происходят из-за текстовых символов, значит пробел здесь не при чём. Вот такие символы генерит RLPAKTOOL при написании текста: https://www.pspx.ru/forum/attachment....chmentid=10029 https://www.pspx.ru/forum/attachment....chmentid=10031 Значит нужно уходить от этих кодов символов. Какие-то из них по-видимому используются в служебном диапазоне игры. В японском диапазоне они широкие. Но ведь есть ещё и другие узкие диапазоны, даже например в греческом языке. |
Цитата:
Цитата:
|
Цитата:
То же самое со шрифтами. Ты хоть сам пробовал перемещать шрифты в однобайтовый диапазон A1-FF? Или это опять только на словах, твои теоретические домыслы? |
Цитата:
Цитата:
|
Цитата:
Понятно, видел и проверил, забил весь шрифт русским алфавитом, буквы стали меньше, а их ширина осталась прежней. Ладно, закончу свой релиз, осталась половина. И снова пожалуй займусь, ещё в запасе есть IDA PRO. Рассчитываю найти ширину букв. Ну и есть другие варианты, ведь европейские игры не страдают такой фигнёй, а в чём разница? в либфонте? в PGF? |
ErikPshat, я думаю проблема крэшей скорее всего в либфонте, когда он конвертит shiftjis коды символов в юникод и по ним уже обращается к pgf. Скорее всего как-то связано с тем, что при сэйве он текущую фразу на экране переносит в описание сейва. Может можно найти эту функцию и вообще вырезать, чтобы игра в описание сейва вообще не пыталась текст вставить. :scratch_one-s_head:
|
Интересная тема: http://gbatemp.net/threads/final-fan...acking.340183/
|
ErikPshat, помоги! Вообще не въехал в тему, очень для меня сложно.:dash: Я пробовал вставить libfont который универсальный в usrdir, не работает. Игра Splatterhouse. Скачать можно здесь: https://vk.com/wall-188180289_114
Если поможешь, то тогда можно будет перевести все игры PC Engine Archives, Turbografx16 Classics. |
Вложений: 1
Цитата:
Декриптуй LIBFONT.PRX и вписывай путь к своему шрифту с позиции 0x80C0, потом обратно зашифруй, можно кастомным методом Dark_Alex в GZIP, можно официальным методом с помощью KIRK. В общем держи, я там перенаправил шрифт в образ и немного побаловался с переводом :) Скачать: :download: Вложение 16972 (дополнение у вас вКонтакте имеется) |
ErikPshat, Спасибо! Скачал, русский есть. НО теперь следующая проблема. Как ты редактировал текст? Eboot.bin ты не трогал. А если в нём написать русскими буквами с твоим либфонтом и шрифтом пгф, то там вообще букв нет. Разъясни пожалуйста.
Xalk07 добавил 07.03.2020 в 13:10 А не, сорян. Затупил... Декриптовал eboot bin и увидел русский текст. Вопрос исчерпан. |
Вложений: 1
Цитата:
Цитата:
Ну вот, пошло поехало, сначала им шрифт выведи наружу. Когда проблема решена, так теперь расскажи как русификацию делать :D А потом скажут - переведи нам. Писать в однобайтовой кодировке cp-1251 не получится, там в бинарнике JIS2USC.BIN идёт таблица перенаправления алфавита, поэтому русская кодировка от A0 по FF полностью игнорируется. Используется по умолчанию японский шрифт jpn0.pgf и даже независимо от того, что я подменил шрифт с русской раскладкой A0-FF, воспринимается только русская раскладка в UTF-8 в двубайте. А это значит, что русские фразы в двубайте не поместятся у вас там вместо английского однобайта. Вам надо будет менять позицию каждого диалога в свободное место вместо других языков, благо их там много, Испанский, Немецкий, Итальянский вроде. Позицию каждого диалога вы найдёте по его начальному адресу, за вычетом заголовка A0 (размер заголовка указывается в позиции 0x38 любого ELF-файла). Вот на этот адрес диалога указывается смещение в таблице смещений в Little Endian, т.е. задом наперёд, например, допустим, диалог начинается с позиции 00082308 - это грязная позиция у вас в хекс-редакторе, отнимаем заголовок ELF-файла A0 = 82268, т.е. 00082268. Переворачиваем байты в Little Endian, получается 68220800. Вот этот адрес и записан в таблице смещений в конце файла, он находится легко и их может быть несколько, т.е. один диалог может выводиться в нескольких разных местах. Потом подбираем новое место для русского текста в UTF-8, вставляем его туда с длинной сколько угодно, в конце обязательно отделяем хотя бы одним нулевым байтом 00 от следующего диалога, копируем адрес начала позиции и подменяем его в том месте в таблице смещений на новую позицию. Опять же, не забываем отнимать A0 от позиции в хексе и не забываем переворачивать байти в LE. Это что касается системных диалогов в игре и в настройках. Надеюсь с переводом текста в игре будет попроще, если там конечно не завязаны все диалоги по таблице смещений, просто пишите в UTF-8. Диалоги в игре я не смотрел. Вот вам ещё архивчик в помощь: :download: Вложение 16973 |
Цитата:
|
Цитата:
Там используется flash0:/font/kr0.pgf (наверное зависит от региона игры) Я их вижу в DATA.BIN аж целых 2, размерами по 0x5090: https://i6.imageban.ru/out/2020/04/2...f84344cb11.png |
Цитата:
https://prnt.sc/s4rjym |
DeadDark, я вам на скриншоте этот PRX-файл показал. Называется sceFont_Library
|
Всем привет. На днях захотелось что-то использовать шрифты от псп... Ttf файлов в интернете нет (об этом шрифте ничего не известно, когда гуглишь шрифт в инете (а шрифт называется FTT-NewRodin Pro Latin) ссылки ведут куда-то не туда...) и тогда созревает вопрос. Можно ли через какой-нибудь файловый менеджер для псп сдампить их, после чего отконвертить в .ttf? И если можно, то по какому пути находятся оригинальные шрифты для PSP?
|
Цитата:
Цитата:
Ну, по крайней мере, его можно вытащить из прошивки PS3 вот этим: PS3GameExtractor v1.9.1 - комплект утилит для игр PS3 Любую прошивку PS3UPDAT.PUP можно взять тут: База официальных прошивок После распаковки кнопкой Операции PS3UPDAT.PUP шрифты TTF найдёшь в этой папке: \Part4_enc\dev_flash\data\font\ Ближайший соратник называется SCE-PS3-NR-R-EXT.TTF (NewRodin Ext Regular) |
Спасибо. Буду искать в прошивке PS3 (благо благодаря RPCS3 у меня она где-то завалялась).
|
Не прям бы сказал, что у PS3 и PSP шрифты похожи, поэтому буду искать конвертер .pgf файлов в ttf...
|
В итоге я нашел очень похожее на то что мне надо. Короче надеюсь тут можно ссылки оставлять, поэтому вот пак более менее похожих шрифтов с поддержкой кириллицы
|
Цитата:
|
Цитата:
|
Цитата:
https://sun9-76.userapi.com/c857220/...SBLjN-n7vM.jpg |
DeadDark, где то нужно править кернинг шрифта в игре
|
Цитата:
|
Текущее время: 13:46. Часовой пояс GMT +3. |
Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2025, vBulletin Solutions, Inc. Перевод: zCarot
PSPx Forum - Сообщество фанатов игровых консолей.