В коде ниже - содержимое батника с полной инструкцией, выполняющего команды по конвертации TTF в PGF. Вы можете выделить его содержимое, скопировать в текстовой документ, а затем переименовать расширение .txt на .bat и у вас получится исполняемый батник. Хотя он прилагается в ссылке на скачку внизу страницы.
@echo off
rem - означает строку с поясняющим комментарием, без вывода на экран.
rem /* Инструкция по использованию. */
rem *.ttf - название шрифта для конвртирования. * - любое название.
rem ltn0.pgf - название шрифта на выходе.
rem /* "Опции шрифта". Цифры приведены для примера и используются именно в таком формате */
rem 18 - целое число, высота шрифта в пикселях (пределы: 8-32 (рекомендуется 16-24))
rem h1.00 - коэффициент горизонтального масштабирования буквы (пределы: 0.75-1.50)
rem а1.00 - коэффициент расстояния между буквами (пределы: 0.75-1.50)
rem b - добавляет жирность к шрифту.
rem i - добавляет наклон к шрифту.
rem /* "Опции теней". Отделяются пробелом от "Опций шрифта". */
rem n - без теней (по умолчанию, если не использовать "Опцию теней").
rem b2.5 - радиальный фильтр размытия тени: Gaussian blur (пределы: 0.1-4.0)
rem i1.0 - интенсивность или прозрачность тени (пределы: 0.0-4.0)
rem x3 - расположение теней по горизонтальной оси X (пределы: -3,-2,-1,0,1,2,3)
rem y2 - расположение теней по вертикальной оси Y (пределы: -3,-2,-1,0,1,2,3)
rem /* "Опция вывода превью шрифта в BMP". Отделяется пробелом от "Опции теней". */
rem font.bmp - вывод картинки BMP для предпросмотра получившегося шрифта.
rem /* Ниже - сама исполняемая командная строка, о функциях которой говорилось выше. */
ttf2pgf *.ttf ltn0.pgf 18h1.00a1.00bi b2.5i1.0x3y2 font.bmp
echo DONE!
pause
Выкладываю консольную программу "TTF to PGF" с готовым прокомментированным полнофункциональным батником.
Предназначается для конвертации обычных шрифтов Windows формата TTF (FreeType2) в формат шрифтов PGF, использующихся на PSP, таких как ltn0.pgf, kr0.pgf, jpn0.pgf и др.
На PSP эти шрифты находятся в файле flash0:/font/ltn0.pgf
Использование:
Положите понравившийся шрифт Windows имя_шрифта.ttf в папку TTF2PGF с программой.
Нажмите правой кнопке по батнику "Convert to PGF.bat" и выберите пункт "Изменить".
В открывшемся блокноте отредактируйте командную строку в соответствии с вашими желаниями (она находится в самом конце):
Все необходимые настраиваемые параметры, которые можно изменять, вы найдёте в комментариях выше в этом файле. Например: уберите "b", если вам не нужна жирность, уберите "i", если не нужна наклонность, сделайте крупнее или мельче шрифт и т.д., как вам заблагорассудится.
Сделав необходимые изменения, закройте блокнот и сохранитесь.
Запустите этот батник "Convert to PGF.bat" для старта конвертации.
Полученный результат вы можете тут-же просмотреть с помощью сгенерированной картинки font.bmp
Заберите получившийся шрифт ltn0.pgf и закиньте его во flash0:/font/, заменив им оригинальный или используйте в темах CTF. ВНИМАНИЕ! На непрошиваемых моделях 200х ТА-088v3 и всех 300х заменять шрифт во Flash0 опасно!
Используйте его только в темах CTF!
Всё, можете радоваться вашим любимым шрифтом в PSP.
Во вложении лежит готовая сборка со всеми прописанными параметрами по стандарту.
В архиве, для примера лежит шрифт TimesNewRoman.ttf, который я немного кастомизировал, удалив лишние языки, которые шли после русского алфавита. Английский вначале естесственно остался.
Так-же я в нём продублировал русский алфавит в области C0-FF (192-256). Поэтому его можно использовать в программах и плагинах, используя 8-битную (1-байтную) кодировку, вместо UTF-8.
Как он выглядит, можете посмотреть на скриншоте выше.
Примечание:
После разархивирования, не переносите из папки никакие файлы в другое место. Только всю папку со всем содержимым, так как в папке находятся скрытые файлы программы, которые вы не увидите, но без которых невозможна работа программы.
ErikPshat, хм. Удали шрифт jpn0.pgf и перезапусти PSP, посмотри. Даже если можно положить любой файл под названием *pgf (кривой, целый), то всё равно со шрифтами это завязано.
Последний раз редактировалось ErikPshat; 14.05.2011 в 12:24.
Frostegater, да, проверил, если удалить jpn0.pgf, то действительно каждый раз грузит синий экран и войти в прошивку невозможно. То есть это будет полубрик, который на непрошивайке фактически уже не лечится обычным способом, то есть, нельзя войти в прошивку, чтобы загрузить кастом и подключить Flash0, чтоы вернуть оригинал обратно.
Так что на непрошивайках это делать очень опасно!
Шрифт должен быть заранее проверен на работоспособность сначала на прошивайке.
P.S. Но если не удалять, а подсунуть вместо оригинального jpn0.pgf, какой либо другой, например самый маленький ltn9.pgf, переименовав его копию, как jpn0.pgf, то PSP включается и работает без проблем.
Прошу любить и жаловать, Ваш Добро пожаловать в наш Чат в Telegram
Ещё можно жирность убрать. Но нужно всегда проверять, т.к. часто бывает, когда расстояние слишком маленькое, то у букв срезается часть или некоторые буквы становятся тоньше других.
В том то и дело, что я ставлю точку и в этом слечае софтина ругается на неверный аргумент:/
С жирностью всё в порядке, а вот отступы слишком большие получаются. Это для меня критичто, т.к. сейчас пытаюсь сделать шрифт для Final Fantasy 3. Русские диалоги доиннее оригинальных и надо заузить шрифт, чтобч текст помещался в отведённые поля. В соседней теме выкладывал скрины, но на них родные шрифты из f0 для теста взяты. Пробую собрать шрифт из arial narrow, ширина символов мне подходит, а вот отступы слишком большие получаются.
Количество сообщений на форуме далеко не всегда пропорционально умственным способностям человека. >>>Silent Hill: Genesis<<<
Ага. Получилось, спасибо, наверное пора с вискариком завязывать - совсем невнимательный стал %)
Обнаружил, что 0.75 не нижняя граница, сейчас 0.5 поставил. На картинке, которая генерится с примером шрифта не совсем верно отступы отображаются. Экспериментирую.
Количество сообщений на форуме далеко не всегда пропорционально умственным способностям человека. >>>Silent Hill: Genesis<<<
Последний раз редактировалось lupus; 09.12.2012 в 21:05.
WyrmBeast, либо шрифт кривой, не TTF, либо значения теней не правильно выставлены.
Скачай в шапке из вложения готовый пример и попробуй скомпилировать.
Шрифт именно TTF(arial narrow),значения теней выставлял что по образцу,что не по образцу - ошибка все равно выходила...Я даже весь ваш код копировал БЕЗ замены на свои значения,только название TTF изменял...точно так же
Сейчас попробую из вложения качнуть...
ErikPshat, а тебе не попадался какой-нибудь просмотрщик этих pgf-шрифтов? А то вот дохрена значит pgf и непонятно, какие там символы вообще есть, кроме как забивать на PSP и там буквы выводить и смотреть.
Реанимируем проект перевода FFIII для psp. Текстовая часть полностью готова. Шрифты я сгенерировал при помощи ttf2pgf, всё вроде бы ничего, но в ней нельзя задать величину вертикального отступа, поэтому я столкнулся с одним "подводным камнем":
Межстрочный отступ слишком большой.
Если в образ пихнуть любой шрифт из flash0, например ltn8, то по высоте текст отлично помещается в отведённое ему место, но он меня не устраивает по ширине, т.к. в меню не поместятся в отведённое место некоторые надписи, а также не влезут некоторые диалоги.
Исходников софта для работы с pgf в сети я не обнаружил, за исключением pgftool от авторов ppsspp на гитхабе, но они не компилятся в 10 студии, скорее всего написаны под линукс. Бинарника этой проги нет, поэтому я даже не знаю, на что она способна.
Пытаюсь разобраться с форматом сам, ковыряя в хексе. CTFTool GUI умеет дампить различную информацию из pgf: header, metrics, chars, info. В целом там, наверное, исчерпывающаа информация содержится, но вот в каком виде она хранится в самом шрифте я не пойму
Эрик, может будет желание и время глянуть?
Заранее спасибо.
Количество сообщений на форуме далеко не всегда пропорционально умственным способностям человека. >>>Silent Hill: Genesis<<<