|
Русификация игр и софта для PSP Здесь выкладываем локализации всего, что связано с PSP |
09.05.2014, 13:20
|
Сообщение: #1 (1086866)
|
Модель консоли: slim/lite
Прошивка: 6.60 ME
Другие консоли: N3DS + GW, NDSi, PSV WiFi
Регистрация: 27.11.2006
Адрес: vk.com/lupus_ua
Сообщений: 1,298
Вы сказали Спасибо: 280
Поблагодарили 638 раз(а) в 337 сообщениях
Сила репутации: 1Репутация: 604 
(луч света в тёмном царстве)
|
Я, когда над переводом ff3 работали, с этими шрифтами намаялся. Правка ttf по ширине ничего не даст. Ttf2pgf штука не идеальная, но это лучшая софтина из тех, что я нашёл. В самом pgf хранится битмап символов и таблица ширин, пожато это всё rle алгоритмом. К сожалению ни одной программы, которая бы умела напрямую править pgf, мне найти не удалось.
Можно попробовать такой костыль: использовать вместо ascii пробела что-то вроде • предварительно исправив этот символ в ttf.
Количество сообщений на форуме далеко не всегда пропорционально умственным способностям человека.
 >>> Silent Hill: Genesis<<<
|
|
|
Этот пользователь сказал Спасибо lupus за это полезное сообщение:
|
|
09.05.2014, 13:33
|
Сообщение: #2 (1086867)
|
Модель консоли: PSP-1004
Прошивка: 6.60 PROMOD
Другие консоли: iPad 3 WiFi
Регистрация: 18.12.2006
Адрес: Москва
Возраст: 58
Сообщений: 47,758
Вы сказали Спасибо: 27,999
Поблагодарили 43,699 раз(а) в 12,398 сообщениях
Сила репутации: 10Репутация: 42890 
(репутация неоспорима)
|
Сообщение от lupus
Можно попробовать такой костыль: использовать вместо ascii пробела что-то вроде • предварительно исправив этот символ в ttf.
|
Да, согласен. В переводе можно вместо пробела использовать любой международный символ, например знаки препинания беруться из общего набора международных шрифтов, такие как !?";:*#() и т.п.. Можно взять любой узкий малоиспользуемый знак и через редактор шрифтов TTF зачистить этот символ, либо перекопировать на его место пробел. Затем сконвертировать в PGF.
Но чую я, что там не только пробел используется в качестве служебного символа, могут попасть и любые другие буквы алфавита.
Про Лунар я уже писал ранее, какие буквы используются в качестве служебных.
|
|
|
09.05.2014, 14:04
|
Сообщение: #3 (1086868)
|
Регистрация: 09.08.2008
Сообщений: 1,001
Вы сказали Спасибо: 47
Поблагодарили 346 раз(а) в 206 сообщениях
Сила репутации: 1Репутация: 350 
(как роза среди колючек)
|
lupus, в комплекте с pfgtool помимо основной ttf_pgf.exe, есть еще dump_pgf.exe. Она умеет полную информацию по каждому символу в pgf выводить, в том числе и информацию о длине/ширине. Знающий человек посмотрев исходники dump_pgf, по идее, сможет понять где все это хранится и как изменить.
ErikPshat, как уже говорил: международные символы (ascii) править в TTF не поможет. ascii символы после конвертирования в pgf на экране занимают ровно столько места, сколько сами глифы. Если стереть все глифы, то символ абсолютно 0 пикселей интервала будет занимать и просто пропадет.
riku.kh3 добавил 09.05.2014 в 14:04
Сообщение от ErikPshat
Но чую я, что там не только пробел используется в качестве служебного символа, могут попасть и любые другие буквы алфавита.
Про Лунар я уже писал ранее, какие буквы используются в качестве служебных.
|
В этом плане тут все еще даже хуже, игра понимает скриптовые комманды в тексте и различные сочетания ascii буковок могут стать триггером комманд.
Последний раз редактировалось riku.kh3; 09.05.2014 в 14:04.
Причина: добавил, подумав
|
|
|
09.05.2014, 14:22
|
Сообщение: #4 (1086870)
|
Модель консоли: PSP-1004
Прошивка: 6.60 PROMOD
Другие консоли: iPad 3 WiFi
Регистрация: 18.12.2006
Адрес: Москва
Возраст: 58
Сообщений: 47,758
Вы сказали Спасибо: 27,999
Поблагодарили 43,699 раз(а) в 12,398 сообщениях
Сила репутации: 10Репутация: 42890 
(репутация неоспорима)
|
Сообщение от riku.kh3
ErikPshat, как уже говорил: международные символы (ascii) править в TTF не поможет. ascii символы после конвертирования в pgf на экране занимают ровно столько места, сколько сами глифы. Если стереть все глифы, то символ абсолютно 0 пикселей интервала будет занимать и просто пропадет.
|
Ну вот возьмём shift-jis пробелы:
Возьмём для примера кавычки " с которых начинается предложение.
Как видно, после кавычек пробела нет и они занимают маленькое расстояние.
Если мы эти кавычки затрём, чтобы на экране вместо них отображалось пустое место, то получится вполне компактный пробел.
То есть, в переводе нужно писать в кодировке shift-jis, но вместо пробелов ставить кавычки. Либо, если уже перевод осуществлён, через поиск замену можно тупо массово заменить пробелы на кавычки, хоть в тексте хоть в хексе.
Тогда, как видно на скрине - расстояние между буквами нас устраивает и так же будет устраивать пробел (пустые кавычки). А PSP будет думать, что мы ставим кавычки и не будет добавлять 2-ой пробел.
Другое вопрос в том, сможем ли мы, исправив TTF, сконвертировать шрифт в PGF, чтобы он потом мог отображать писанину, сохранённую в shift-jis ?
|
|
|
09.05.2014, 14:41
|
Сообщение: #5 (1086871)
|
Регистрация: 09.08.2008
Сообщений: 1,001
Вы сказали Спасибо: 47
Поблагодарили 346 раз(а) в 206 сообщениях
Сила репутации: 1Репутация: 350 
(как роза среди колючек)
|
Сообщение от ErikPshat
Как видно, после кавычек пробела нет и они занимают маленькое расстояние.
Если мы эти кавычки затрём, чтобы на экране вместо них отображалось пустое место, то получится вполне компактный пробел.
|
Пробела как раз таки и не получается, символ и занимаемое им место пропадут. И даже если получится это реализовать, бонусам перестанет работать перенос слов (с shiftjis пробелом он работает) и в сохранениях будут крокозябры. То есть идеальным решением все-таки было бы уменьшить существующий shiftjis пробел вдвое.
Сообщение от ErikPshat
Другое вопрос в том, сможем ли мы, исправив TTF, сконвертировать шрифт в PGF, чтобы он потом мог отображать писанину, сохранённую в shift-jis ?
|
С этим проблем нет:
(скрин не самый удачный, т.к. пробелы на нем по прежнему проблемные - $20)
|
|
|
09.05.2014, 15:23
|
Сообщение: #6 (1086872)
|
Модель консоли: PSP-1004
Прошивка: 6.60 PROMOD
Другие консоли: iPad 3 WiFi
Регистрация: 18.12.2006
Адрес: Москва
Возраст: 58
Сообщений: 47,758
Вы сказали Спасибо: 27,999
Поблагодарили 43,699 раз(а) в 12,398 сообщениях
Сила репутации: 10Репутация: 42890 
(репутация неоспорима)
|
Сообщение от riku.kh3
Пробела как раз таки и не получается, символ и занимаемое им место пропадут. И даже если получится это реализовать, бонусам перестанет работать перенос слов (с shiftjis пробелом он работает) и в сохранениях будут крокозябры. То есть идеальным решением все-таки было бы уменьшить существующий shiftjis пробел вдвое.
|
Не понимаю, как может пропасть занимаемое символом место. Система будет всё равно думать, что символ на том месте есть и никуда он не пропадёт. Ведь код символа останется тем же, но не такой код пробела 0x20, а уже тот самый родной код символа, кавычек например.
И с чего перестанет работать перенос? Неужели для переноса ты используешь символ пробела?
Скинь плиз уже готовые ресурсы перевода, с самого начала игры, чтобы я мог потестить, а не переводить всё с начала...куда-нибудь в личку к примеру.
|
|
|
09.05.2014, 15:51
|
Сообщение: #7 (1086873)
|
Регистрация: 09.08.2008
Сообщений: 1,001
Вы сказали Спасибо: 47
Поблагодарили 346 раз(а) в 206 сообщениях
Сила репутации: 1Репутация: 350 
(как роза среди колючек)
|
Сообщение от ErikPshat
Не понимаю, как может пропасть занимаемое символом место. Система будет всё равно думать, что символ на том месте есть и никуда он не пропадёт. Ведь код символа останется тем же, но не такой код пробела 0x20, а уже тот самый родной код символа, кавычек например.
|
При конвертации из TTF в PGF это, по видимому, происходит. По сути, он никуда не пропадает, просто занимает 0 пикселей и визуально его не видно.
Сообщение от ErikPshat
И с чего перестанет работать перенос? Неужели для переноса ты используешь символ пробела?
|
Я не о ручном переносе слов говорю (это было бы кошмаром, учитывая объемы текста), а об автоматической, которая в игре реализована.
|
|
|
10.05.2014, 04:18
|
Сообщение: #8 (1086876)
|
Модель консоли: PSP-1004
Прошивка: 6.60 PROMOD
Другие консоли: iPad 3 WiFi
Регистрация: 18.12.2006
Адрес: Москва
Возраст: 58
Сообщений: 47,758
Вы сказали Спасибо: 27,999
Поблагодарили 43,699 раз(а) в 12,398 сообщениях
Сила репутации: 10Репутация: 42890 
(репутация неоспорима)
|
Сообщение от riku.kh3
просто занимает 0 пикселей
|
Нет, ты не правильно трактуешь правила написания. Символ, даже если он стёрт, занимает ровно столько, сколько для него предназначено в глифе. Тут нужен грамотный подход, но не просто обнуление символа, его нужно просто затереть, а не обнулить - это разные вещи.
|
|
|
13.05.2014, 05:01
|
Сообщение: #9 (1086919)
|
Модель консоли: PSP-1004
Прошивка: 6.60 PROMOD
Другие консоли: iPad 3 WiFi
Регистрация: 18.12.2006
Адрес: Москва
Возраст: 58
Сообщений: 47,758
Вы сказали Спасибо: 27,999
Поблагодарили 43,699 раз(а) в 12,398 сообщениях
Сила репутации: 10Репутация: 42890 
(репутация неоспорима)
|
Сообщение от riku.kh3
(с shiftjis пробелом он работает) и в сохранениях будут крокозябры. То есть идеальным решением все-таки было бы уменьшить существующий shiftjis пробел вдвое.
|
Такс, по-моему ты мне вводишь в заблуждение мои мозги 
О каком таком пробеле shiftjis идёт речь? Ты мне уже всю тему про эти пробелы твердишь.
Вот сейчас проверил код пробела в обычной windows-1251 и в shiftjis - символ пробела один и тот же 0x20.
Так что тут пробел абсолютно не при чём. Крашится игра при сохранении не из-за пробела, а из-за управляющих символов, попавших в кириллический диапазон win-1251.
Думаю можно сохранять в другой кодировке, например UTF-8 или UTF-16LE(BE), либо в чём-нибудь другом, где возможно не используются служебные символы от игры.
|
|
|
13.05.2014, 11:14
|
Сообщение: #10 (1086921)
|
Регистрация: 09.08.2008
Сообщений: 1,001
Вы сказали Спасибо: 47
Поблагодарили 346 раз(а) в 206 сообщениях
Сила репутации: 1Репутация: 350 
(как роза среди колючек)
|
ErikPshat, да там просто все замороченне некуда - $20 пробелы не в 100% случаев вызывают крэши при сохранении. Но, опять же, во многих случаях если во фразе, на которой происходит крэш, зменить $20 пробел на shiftjis пробел ($8140), то сейв происходит нормально.
|
|
|
13.05.2014, 14:16
|
Сообщение: #11 (1086924)
|
Модель консоли: PSP-1004
Прошивка: 6.60 PROMOD
Другие консоли: iPad 3 WiFi
Регистрация: 18.12.2006
Адрес: Москва
Возраст: 58
Сообщений: 47,758
Вы сказали Спасибо: 27,999
Поблагодарили 43,699 раз(а) в 12,398 сообщениях
Сила репутации: 10Репутация: 42890 
(репутация неоспорима)
|
Сообщение от riku.kh3
зменить $20 пробел на shiftjis пробел ($8140)
|
Опять же говорю, что Shift-JIS пробел всегда имеет код 0x20.
Вот для примера я сохранил один и тот же текст " Привет Кёске, как дела?" в разных кодировках:
(название текстовика видно в заголовках программ, а кодировка текстовика видна в нижней части программы)
И вот что я вижу в хексе, какие коды символов использует та или иная кодировка:
Ну может быть PSP действительно берёт не тот код пробела, а по своему, из другой области 0x8140.
Но непонятно тогда, ведь когда ты сохраняешь текст в Shift-JIS на компьютере, то код пробела должен быть 0x20.
|
|
|
19.05.2014, 21:53
|
Сообщение: #12 (1087109)
|
Модель консоли: PSP-1004
Прошивка: 6.60 PROMOD
Другие консоли: iPad 3 WiFi
Регистрация: 18.12.2006
Адрес: Москва
Возраст: 58
Сообщений: 47,758
Вы сказали Спасибо: 27,999
Поблагодарили 43,699 раз(а) в 12,398 сообщениях
Сила репутации: 10Репутация: 42890 
(репутация неоспорима)
|
Сообщение от riku.kh3
Пробела как раз таки и не получается, символ и занимаемое им место пропадут. И даже если получится это реализовать, бонусам перестанет работать перенос слов (с shiftjis пробелом он работает) и в сохранениях будут крокозябры. То есть идеальным решением все-таки было бы уменьшить существующий shiftjis пробел вдвое.
|
Ну вот здесь и ещё много-много раз ты говорил насчёт пробела, что всё туфта и ничего не получается. Однако проблема решилась элементарно, с того момента, когда начали тестировать и ты сам это дело решил.
То же самое со шрифтами. Ты хоть сам пробовал перемещать шрифты в однобайтовый диапазон A1-FF? Или это опять только на словах, твои теоретические домыслы?
|
|
|
19.05.2014, 22:14
|
Сообщение: #13 (1087110)
|
Регистрация: 09.08.2008
Сообщений: 1,001
Вы сказали Спасибо: 47
Поблагодарили 346 раз(а) в 206 сообщениях
Сила репутации: 1Репутация: 350 
(как роза среди колючек)
|
Сообщение от ErikPshat
Ну вот здесь и ещё много-много раз ты говорил насчёт пробела, что всё туфта и ничего не получается. Однако проблема решилась элементарно, с того момента, когда начали тестировать и ты сам это дело решил.
|
Что решилось то?  Один из тех немногих символов нашел, что покороче, стер и сделал вместо пробела - вот и всё.
Сообщение от ErikPshat
То же самое со шрифтами. Ты хоть сам пробовал перемещать шрифты в однобайтовый диапазон A1-FF? Или это опять только на словах, твои теоретические домыслы?
|
Пробовал, писал же, не используются они вообще игрой. Перенаправляются! Так сложно ア от あ отличить? Видел же сам что в дампе и что на экран выводится.
|
|
|
19.05.2014, 22:39
|
Сообщение: #14 (1087111)
|
Модель консоли: PSP-1004
Прошивка: 6.60 PROMOD
Другие консоли: iPad 3 WiFi
Регистрация: 18.12.2006
Адрес: Москва
Возраст: 58
Сообщений: 47,758
Вы сказали Спасибо: 27,999
Поблагодарили 43,699 раз(а) в 12,398 сообщениях
Сила репутации: 10Репутация: 42890 
(репутация неоспорима)
|
Сообщение от riku.kh3
Что решилось то?
|
Ну так решилось же. Теперь 100-пудово из-за него креш не идёт. Перенос работает, правда иногда полслова переносится или даже одна буква ))) но это совсем редко.
Понятно, видел и проверил, забил весь шрифт русским алфавитом, буквы стали меньше, а их ширина осталась прежней.
Ладно, закончу свой релиз, осталась половина. И снова пожалуй займусь, ещё в запасе есть IDA PRO. Рассчитываю найти ширину букв. Ну и есть другие варианты, ведь европейские игры не страдают такой фигнёй, а в чём разница? в либфонте? в PGF?
|
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Текущее время: 14:07. Часовой пояс GMT +3.
Powered by vBulletin® Version 3.8.7 Copyright ©2000 - 2025, vBulletin Solutions, Inc. Перевод: zCarot
PSPx Forum - Сообщество фанатов игровых консолей.
|
|
|