Вложений: 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? |
Текущее время: 06:58. Часовой пояс GMT +3. |
Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2025, vBulletin Solutions, Inc. Перевод: zCarot
PSPx Forum - Сообщество фанатов игровых консолей.