В коде ниже - содержимое батника с полной инструкцией, выполняющего команды по конвертации 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 изменял...точно так же
Сейчас попробую из вложения качнуть...
Реанимируем проект перевода FFIII для psp. Текстовая часть полностью готова. Шрифты я сгенерировал при помощи ttf2pgf, всё вроде бы ничего, но в ней нельзя задать величину вертикального отступа, поэтому я столкнулся с одним "подводным камнем":
Межстрочный отступ слишком большой.
Если в образ пихнуть любой шрифт из flash0, например ltn8, то по высоте текст отлично помещается в отведённое ему место, но он меня не устраивает по ширине, т.к. в меню не поместятся в отведённое место некоторые надписи, а также не влезут некоторые диалоги.
Исходников софта для работы с pgf в сети я не обнаружил, за исключением pgftool от авторов ppsspp на гитхабе, но они не компилятся в 10 студии, скорее всего написаны под линукс. Бинарника этой проги нет, поэтому я даже не знаю, на что она способна.
Пытаюсь разобраться с форматом сам, ковыряя в хексе. CTFTool GUI умеет дампить различную информацию из pgf: header, metrics, chars, info. В целом там, наверное, исчерпывающаа информация содержится, но вот в каком виде она хранится в самом шрифте я не пойму
Эрик, может будет желание и время глянуть?
Заранее спасибо.
Количество сообщений на форуме далеко не всегда пропорционально умственным способностям человека. >>>Silent Hill: Genesis<<<
ErikPshat, а тебе не попадался какой-нибудь просмотрщик этих pgf-шрифтов? А то вот дохрена значит pgf и непонятно, какие там символы вообще есть, кроме как забивать на PSP и там буквы выводить и смотреть.