PSPx форум

PSPx форум (https://www.pspx.ru/forum/index.php)
-   Русификация игр и софта для PSP (https://www.pspx.ru/forum/forumdisplay.php?f=190)
-   -   Системный шрифт PSP (https://www.pspx.ru/forum/showthread.php?t=102816)

ErikPshat 14.05.2014 02:13

Вложений: 1
Цитата:

Сообщение от riku.kh3 (Сообщение 1086969)
Более наглядный пример для сравнения сделал. Здесь два скрипта: в обоих изменена только первая фраза, один скрипт крэшится на сейве, другой нет. Длина в байтах у фраз одинаковая.

Ну сдампил оба теста, так же самая история, различий в конце файлов многовато, копаться тяжко.
Размеры всех 4-ёх дампов одинаковы.
Если открыть файлы в текстовом редакторе в кодировке shift-jis, то строка текста читабельна и находится почти в самом конце файлов.
Прикладываю тесты всех 4 дампов, включая японский оригинал.

riku.kh3 14.05.2014 02:33

Цитата:

Сообщение от ErikPshat (Сообщение 1086970)
Кстати крэша при сохранении не заметил.

У меня оба эмулятора стабильно крэшатся на этой фразе про мышцы, один из них вот что даже в логе выдает:

http://s006.radikal.ru/i213/1405/d1/d12ab4f35bb5.png
:scratch_one-s_head:

ErikPshat 14.05.2014 02:38

riku.kh3, ну так это может так только на эмуляторе. У меня оба эмуля вообще крашатся при попытке запуска любой игры )))
На PSP-1004 у меня не крашатся. Я правда может не так сохраняю, по японски там непонимать.

На этой первой фразе нажимаю :triangle: потом спускаюсь на 2-ой пункт и нажимаю :circle:, там отображается слот сейва и сохраняю на :circle:.
Потом на карте памяти появляются в сейвдата 2 папки секьюре и систем.

riku.kh3 14.05.2014 02:45

Вложений: 1
Цитата:

Сообщение от ErikPshat (Сообщение 1086973)
На этой первой фразе нажимаю :triangle: потом спускаюсь на 2-ой пункт и нажимаю :circle:, там отображается слот сейва и сохраняю на :circle:.
Потом на карте памяти появляются в сейвдата 2 папки секьюре и систем.

Да, все правильно. Тут, когда крэшится, дело до появления окошка со слотом не доходит даже.

Автор порта англофикации просто жаловался на крэши.. и он с реальной PSP точно работал. Говорил что несколько раз с нуля пришлось проект переделывать и вообще от ascii отказаться и особенно 0x20 пробелов. Я был все-таки уверен что мои крэши на эмуляторе это то же самое. :scratch_one-s_head:Приложил текст с обычными 0x20 пробелами.

ErikPshat 14.05.2014 04:24

Вложений: 2
riku.kh3, вот сейчас да, на этом скрине при сохранении игра потемнела и потом PSP выключилась. Но перед этим я сохранялся разок с таким же пробелом.

Собсно нормально сохранялось раз 5 в диалогах с коротким пробелом.
Заметил, что крашится на длинных диалогах, где заняты все 3 строчки.


P.S. В шрифтах Shift-JIS не удаётся поместить алфавит в 1-байтную кодировку C0-FF. Там жёстко закреплены 2 символа на буквах Ч и ч - символы "Умножить" и "Разделить". Ну алфавит-то перенёсся, за исключением 2-ух букв.

UPDATE Хотя не, 2 символа удалось заменить, так что всё хоккей с однобайтом, ну мало ли, может пригодится.

Попробуй этот шрифт, взял отсюда: http://monafont.sourceforge.net/
Только не пойму, в игре японские символы пропали, хотя они вроде есть ))) но главное проверить пробел Shift-JIS.

Замени пробелы 8140 на 82B0, там я туда перенёс пробел.


riku.kh3 14.05.2014 11:24

Вложений: 1
ErikPshat, заменил пробелы на 82B0 (げ), закинул шрифт, выглядит так:

http://s019.radikal.ru/i624/1405/5e/900381ec188f.png

Прикрепил два скрипта с замененными пробелами, один тот с 82B0 (げ). Другой с 814B (゜) - он по ширине как обычный пробел.

ErikPshat 14.05.2014 23:46

Вложений: 1
Цитата:

Сообщение от riku.kh3 (Сообщение 1086983)
один тот с 82B0 (げ)

Хмм, странно, я просто скопировал знак пробела 0х20 вместо буквы 0х82B0. По-видимому в нём есть какая-то инфа, что вместо буквы пробел всё-таки опознаётся и добавляется ещё один пробел автоматом.
Сдампил память - там вместо пробела только код 0x82B0, как и полагалось, но дополнительного пробела нет.

Цитата:

Сообщение от riku.kh3 (Сообщение 1086983)
Другой с 814B (゜) - он по ширине как обычный пробел

Ну вот твой код не определяется, как пробел, буквы идут с прочерком вместо иероглифа. Я думаю, это всего-лишь из-за того, что в скомпилированном шрифте jpn0.pgf почему-то японские символы куда-то пропадают, поэтому вместо них отображается всякая ерунда.

http://i61.fastpic.ru/big/2014/0514/...62410be756.png

В общем нужно научится компилировать шрифт TTF грамотно и сам PGF. Попробую ещё как-нить зачистить пробел...
А, да, с переносом всё нормально ))) Буквы переносятся и без пробела, хотя посередине слова.


riku.kh3 15.05.2014 00:17

Вложений: 1
ErikPshat, попробуй с этим шрифтом. Я там в 814B (゜) потер глифы.

ErikPshat 15.05.2014 00:58

Вложений: 1
Цитата:

Сообщение от riku.kh3 (Сообщение 1086988)
ErikPshat, попробуй с этим шрифтом. Я там в 814B (゜) потер глифы.

Ну замечательно, пробел короткий и прекрасно смотрится! Как и предполагал, нужно не копировать пробел, а просто затереть глиф. Так и хотел поступить, но решил протестить для начала тупо копирование.


Кстати, отлично скомпилировался у тебя PGF, японские символы не пропали, отображаются в системных сообщениях. У меня после компиляции почему-то они пропадали и были одни прочерки.
Чем компилировал?

При сохранении на этом скрине игра повисла. Так что тут проблема не из-за пробела 814B. Я склонен предполагать, что это из-за длины текста, ведь на японском в таком тексте количество символов меньше наверное.

riku.kh3 15.05.2014 01:23

Вложений: 1
ErikPshat, tpunix-pgftool.rar из твоей темы. Обычной командой 'ttf_pgf font.ttf jpn.pgf' он у меня таким и создается.

Я заменил каждую русскую букву в этой фразе (ascii кавычки, зяпятые и точки оставил), размер в байтах такой же, и вместо пробела все тот же $814B.

http://s019.radikal.ru/i625/1405/59/3d49edd67703.png

Игра у меня после замены сохраняется нормально без крэша. :scratch_one-s_head:

ErikPshat 15.05.2014 01:37

riku.kh3, может переместить глифы русского алфавита в японскую кодировку и попросить в конвертере сделать автоподстановку отображаемых символов?

riku.kh3 15.05.2014 01:43

ErikPshat, если имеешь в виду перерисовать их в другую, безопасную, зону то тут старая проблема о которой я на двух страницах ранее писал.. Ширину никак не изменить! С TTF играться бесполезно (для псевдо-пробела я просто нашел один подходящей ширины). То есть это будут либо огромные широкие буквы, либо нормальные с большими интервалами между ними.. и в обоих случаях их влезать будет в окошко слишком мало.

То есть, опять же говорю, надо разбираться в PGF.. где там эти значения длины/ширины для каждого символа хранятся. :scratch_one-s_head:

ErikPshat 15.05.2014 01:49

riku.kh3, попробуй вытащить распакованный скриптпак. Он не может висеть просто в воздухе. В обычном виде он запакован и нельзя его редактировать или просматривать текст в текстовом редакторе.
Понаблюдай в папке TEMP, он должен туда распаковываться.

riku.kh3 15.05.2014 02:01

Вложений: 1
ErikPshat, сам он никуда не распаковывается, все в оперативке держит. Да и не запакован он по-сути, байты текста инвертированы каким-то образом (в проге галочкой Enable invert binary в читаемый вид превращается). Там есть опция извлечь все по отдельности, но по той же самой причине выше, не думаю что там есть на что смотреть.

ErikPshat 15.05.2014 02:27

riku.kh3, и как угадать, в каком файле тот диалог?

riku.kh3 15.05.2014 02:42

ErikPshat, May 13 по логике S051300.script. По оффсету 22EA эта фраза начинается (если без имени говорящего, то 22FD).

ErikPshat 15.05.2014 02:56

riku.kh3, и это ты называешь в распакованном виде ))) Ну ваще, он же не читается не в текстовике, никак )))

Каким образом можно отредактировать в текстовом редакторе диалог, чтобы сохранить его в другой кодировке или хотя бы похексить коды символов?

riku.kh3 15.05.2014 03:11

Вложений: 1
Цитата:

Сообщение от ErikPshat (Сообщение 1086997)
riku.kh3, и это ты называешь в распакованном виде ))) Ну ваще, он же не читается не в текстовике, никак )))

Каким образом можно отредактировать в текстовом редакторе диалог, чтобы сохранить его в другой кодировке или хотя бы похексить коды символов?

Никак. Я же говорю что там не на что смотреть. RLPAKTOOL то чего не работает вообще? Обновлений фреймворка ему не хватает?

А, понял чего надо. Текст экспортированный типа того что я ранее выкладывал? Хз конечно тоже на что там смотреть, но вот:

ErikPshat 15.05.2014 03:33

Вложений: 1
riku.kh3, ну ты до этого давал файлик с чистым текстом, он же наверное прогой как-то извлекается, а значит наверное можно его обратно накатить. RLPAKTOOL никак не запускается. Фреймворк 4-ый установил всё-таки вчера с горем пополам, там в систребованиях его требуют. Но никак.

Просто комп я сюда привёз не мой. Я одному знакомому собрал новый крутой комп, а этот он хотел отремонтировать, а потом отдал мне, он полуживой P4 селерон одноядерный 2004-го где-то года выпуска. Памяти 2 по 512 стоит, но этого мало, чтобы открыть больше 3-ёх вкладок в браузере. И если что ему не нравится, так вываливается в синий экран, там память что-то глючит. Короче я с ним замучался, открывает папки по полчаса. Нажимаю "Мой компьютер" и иду заваривать кофе.

В общем твой шрифт довольно кароший, вот однобайтная кодировка японская Shift-JIS, на которую конвертятся узкие шрифты A1-DF, которые на той странице вычислили. Думаю с ней можно что-то придумать полезного...

  1. 「 - A2 = A2
  2. 」 - A3 = A3
  3. ヲ - A6 = 82F0
  4. エ - B4 = 82A6
  5. カ - B6 = 82A9
  6. ケ - B9 = 82AF
  7. コ - BA = 82B1
  8. セ - BE = 82B9
  9. タ - C0 = 82BD
  10. ツ - C2 = 82C2
  11. テ - C3 = 82C4
  12. ト - C4 = 82C6
  13. ニ - C6 = 82C9
  14. モ - D3 = 82E0
  15. ヤ - D4 = 82E2
  16. ラ - D7 = 82E7
  17. リ - D8 = 82E8
  18. ル - D9 = 82E9
  19. レ - DA = 82EA
Это таблица символов с предыдущей страницы. Остальные символы можно восстановить логически или подампив память.
Причём там кириллический диапазон попадает Windows-1251 = C0-FF
  • 1-ый столбик - визуально отображаемые символы из дампа памяти.
  • 2-ой столбик - то, во что конвертирует PSP в памяти.
  • 3-ий столбик - то, что записано было в скриптпаке.

ErikPshat 15.05.2014 10:37

Вложений: 1
Можешь портировать обратно и выложить готовый скриптпак?... файл во вложении.
Там только одна строчка в UTF-8, которая крашит на скринах выше. Если ты откроешь в UTF-8, то сможешь прочитать её, если откроешь в Shift-JIS, то она превратится в японскую абракадабру, зато остальные строчки читабельны.

Я заметил, что в шрифте есть кодировка UTF-8 русская и она должна по идее отобразиться.

Цитата:

Сообщение от riku.kh3 (Сообщение 1086990)
tpunix-pgftool.rar из твоей темы. Обычной командой 'ttf_pgf font.ttf jpn.pgf' он у меня таким и создается.

Хмм, странно, а мне он показался сначала каким-то узконастраиваемым. Я как раз пользовался 2-ым тулзом из той же темы, т.к. я его сам собирал и в батнике весь хелп по командам прописал, там можно выставлять и ширину и высоту и очень гибко настраивать. Правда она делает вроде только ltn0.pgf, поэтому у меня символы Shift-JIS туда по-видимому не добавлялись.

А кстати, ты умеешь пользоваться tpunix-pgftool? :)
Там можно в PGF добавлять только те символы, которые тебе нужны, т.е. можно чисто отсекать все ascii символы, чтобы облегчить вес файла.

FAQ tpunix-pgftool
  1. Сначала создаёшь из TTF полный файл jpn0.pgf обычной командой: ttf_pgf font.ttf jpn0.pgf

  2. Затем дампишь из него список символов следующей прилагающейся тулзой: dump_pgf -c jpn0.pgf > unicode_list.txt

    То есть, командой -c ты из файла jpn0.pgf дампишь в текстовик unicode_list.txt список всех символов в 2-байтном виде.
    Там первые 2 нуля не считаются в однобайтовой кодировке, удаляешь ненужные строки символов и подсовываешь нужный список для изготовления из TTF только нужного тебе PGF.

  3. А нужный компактный PGF из TTF получаешь следующей командой: ttf_pgf *.ttf jpn0.pgf unicode_list.txt

    То есть, помимо стандартной команды, подсовываешь ему отредактированный список символов, которые необходимо включить в сборку.


Текущее время: 08:17. Часовой пояс GMT +3.

Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2025, vBulletin Solutions, Inc. Перевод: zCarot
PSPx Forum - Сообщество фанатов игровых консолей.