ltn0.pgf - [FAQ] TTF2PGF - Конвертируем шрифты Windows для PSP
Вложений: 3
TTF2PGF Вложение 10644 В коде ниже - содержимое батника с полной инструкцией, выполняющего команды по конвертации TTF в PGF. Вы можете выделить его содержимое, скопировать в текстовой документ, а затем переименовать расширение .txt на .bat и у вас получится исполняемый батник. Хотя он прилагается в ссылке на скачку внизу страницы. Код:
@echo off Выкладываю консольную программу "TTF to PGF" с готовым прокомментированным полнофункциональным батником. Предназначается для конвертации обычных шрифтов Windows формата TTF (FreeType2) в формат шрифтов PGF, использующихся на PSP, таких как ltn0.pgf, kr0.pgf, jpn0.pgf и др. На PSP эти шрифты находятся в файле flash0:/font/ltn0.pgf Использование:
В архиве, для примера лежит шрифт TimesNewRoman.ttf, который я немного кастомизировал, удалив лишние языки, которые шли после русского алфавита. Английский вначале естесственно остался. Так-же я в нём продублировал русский алфавит в области C0-FF (192-256). Поэтому его можно использовать в программах и плагинах, используя 8-битную (1-байтную) кодировку, вместо UTF-8. Как он выглядит, можете посмотреть на скриншоте выше. Примечание: Цитата:
Дополнительно. |
ErikPshat, я тоже чего-то не понял. Оригинальные файлы во flash0 непрошиваек заменять нельзя вроде) Или к шрифтам это не относится?
|
ErikPshat, хм. Удали шрифт jpn0.pgf и перезапусти PSP, посмотри. Даже если можно положить любой файл под названием *pgf (кривой, целый), то всё равно со шрифтами это завязано.
|
Frostegater, да, проверил, если удалить jpn0.pgf, то действительно каждый раз грузит синий экран и войти в прошивку невозможно. То есть это будет полубрик, который на непрошивайке фактически уже не лечится обычным способом, то есть, нельзя войти в прошивку, чтобы загрузить кастом и подключить Flash0, чтоы вернуть оригинал обратно.
Так что на непрошивайках это делать очень опасно! Шрифт должен быть заранее проверен на работоспособность сначала на прошивайке. P.S. Но если не удалять, а подсунуть вместо оригинального jpn0.pgf, какой либо другой, например самый маленький ltn9.pgf, переименовав его копию, как jpn0.pgf, то PSP включается и работает без проблем. |
Эрик, конверчу шрифты таким скриптом:
Код:
1ttf2pgf arialn.ttf font_12.pgf 12h1.00a1.00b b2.5i1.0x3y2 arialn_12.bmp |
Цитата:
То есть, минимальное значение a0.75
|
В том то и дело, что я ставлю точку и в этом слечае софтина ругается на неверный аргумент:/
С жирностью всё в порядке, а вот отступы слишком большие получаются. Это для меня критичто, т.к. сейчас пытаюсь сделать шрифт для Final Fantasy 3. Русские диалоги доиннее оригинальных и надо заузить шрифт, чтобч текст помещался в отведённые поля. В соседней теме выкладывал скрины, но на них родные шрифты из f0 для теста взяты. Пробую собрать шрифт из arial narrow, ширина символов мне подходит, а вот отступы слишком большие получаются. |
Цитата:
[IMG]http://img829.**************/img829/3540/fontfh.jpg[/IMG] ![]() |
Ага. Получилось, спасибо, наверное пора с вискариком завязывать - совсем невнимательный стал %)
Обнаружил, что 0.75 не нижняя граница, сейчас 0.5 поставил. На картинке, которая генерится с примером шрифта не совсем верно отступы отображаются. Экспериментирую. |
При попытке создания шрифта и запуска Бат-файла выдаёт ошибку ("invalid shadow option 'x') и, соответственно, не создаёт файл...:dash::dash:
|
WyrmBeast, либо шрифт кривой, не TTF, либо значения теней не правильно выставлены.
Скачай в шапке из вложения готовый пример и попробуй скомпилировать. |
Цитата:
Сейчас попробую из вложения качнуть... |
Реанимируем проект перевода FFIII для psp. Текстовая часть полностью готова. Шрифты я сгенерировал при помощи ttf2pgf, всё вроде бы ничего, но в ней нельзя задать величину вертикального отступа, поэтому я столкнулся с одним "подводным камнем":
https://dl.dropboxusercontent.com/u/...creen00003.jpg Межстрочный отступ слишком большой. Если в образ пихнуть любой шрифт из flash0, например ltn8, то по высоте текст отлично помещается в отведённое ему место, но он меня не устраивает по ширине, т.к. в меню не поместятся в отведённое место некоторые надписи, а также не влезут некоторые диалоги. Исходников софта для работы с pgf в сети я не обнаружил, за исключением pgftool от авторов ppsspp на гитхабе, но они не компилятся в 10 студии, скорее всего написаны под линукс. Бинарника этой проги нет, поэтому я даже не знаю, на что она способна. Пытаюсь разобраться с форматом сам, ковыряя в хексе. CTFTool GUI умеет дампить различную информацию из pgf: header, metrics, chars, info. В целом там, наверное, исчерпывающаа информация содержится, но вот в каком виде она хранится в самом шрифте я не пойму :( Эрик, может будет желание и время глянуть? Заранее спасибо. |
lupus,
так может границы глифов исходного шрифта поковырять тебе? P.S. Не нашёл никаких тулзов для шрифтов на гитхабе, только библиотеки отрисовки. |
Етя, а ты интересную идею подкинул.
Может подскажешь какую бесплатную софтину для этого? |
lupus,
я даже хорошей платной не нашёл, когда лет 6-7 назад шрифтами интересовался. |
Побаловался я с высотой глифов - никакого результата это мне не дало, всё же где-то в PGF хранится значение вертикального отступа :/
|
Цитата:
Правда не знаю, что именно это такое... |
ErikPshat, а тебе не попадался какой-нибудь просмотрщик этих pgf-шрифтов? А то вот дохрена значит pgf и непонятно, какие там символы вообще есть, кроме как забивать на PSP и там буквы выводить и смотреть.
|
В 'tpunix-pgftool' есть dump_pgf, ключом -b он сохраняет bmp-картинки со всеми глифами, так можно посмотреть.
|
О, вот про ключ я не знал, сейчас опробуем!
/upd Точно, все так и есть! Может ты знаешь как их и обратно запихать? :) |
Нет, обратно запихать софта нет, только из TTF. Разве что сорсы смотреть как оно там хранится и самому садиться писать.
|
Коэффициент жирности случаем нельзя как-нибудь редактировать?
Также не понял можно ли засовывать не только англ и русские символы (например юникодовские шрифты ни в какую не захотел съедать, в pgf оставалась лишь кириллица и латиница). |
Цитата:
Так же, жирность увеличивается пропорционально размеру шрифта: 18 - целое число, высота шрифта в пикселях (пределы: 8-32 (рекомендуется 16-24)) Ещё можно жирность увеличить с помощью теней, ставишь смещение тени по осям x и y на 0, вот так x0y0, делаешь радиальное размытие, т.е. вокруг буквы ореол чуть толще, как тебе надо, например b3.0 и насыщенность на максимум i4.0. Получится как-то так: Код:
ttf2pgf *.ttf ltn0.pgf 24h1.00a1.00b b3.0i4.0x0y0 font.bmp Насчёт юникода не знаю. Может он должен присутствовать в самом шрифте TTF. |
ErikPshat, если увеличивать размер, то буквы становятся слишком большими и соответственно не влезают куда нужно, а если их сделать меньше и оставить без жирности, то они очень очень тонкие, можно ли применить эффект жирности лишь наполовину? Тк слишком уж толстыми выходят буквы... Или только шрифт вручную редактировать? Тк на пк при том же размере, буквы не такие тонкие.
|
miaskoo, а кто заставляет делать буквы большими и жирными или маленькими и не жирными? Неужели нельзя сделать средними и жирными?
Ну если вам жирность мешает, то регулируйте тенями без смещения в сторону. |
ErikPshat, суть как раз в том что мне нужны буквы определенного размера с определенной жирностью) Попробую помутить с тенями тогда, но врятли это даст тот результат который нужно. А вот как засунуть не только латиницу и кириллицу - разобрался (оказывается pgftool умеет это).
|
miaskoo, может ты просто не тот исходный файл шрифта TTF берёшь? Они ведь бывают разные, например Regular, Bold, Italic.
|
А возможно потом pgf шрифт использовать прямо из образа?
|
DeadDark, да можно, можно.
Разве разработчикам игр кто-то запрещает шрифты pgf использовать в играх? Вот и я тебе тоже разрешаю. |
У меня не работает. Диспетчер нагружается процессами "1ttf2pgf", всё виснет, появляется ошибка и вырубается
|
DeadDark, ну так ясен пень, что значит не судьба. У меня работает и всех других работает. А если не хватает ума, так может стоит прекратить этим заниматься?
|
Цитата:
|
Делаю всё по инструкций, но всегда выходит эта ошибка
Ошибка при запуске приложения (0xc000012d). Для выхода из приложения нажмите кнопку "ОК". Как решить? |
Текущее время: 06:39. Часовой пояс GMT +3. |
Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2025, vBulletin Solutions, Inc. Перевод: zCarot
PSPx Forum - Сообщество фанатов игровых консолей.