Я работаю над инструментом идентификации шрифтов, который изначально работает как в Windows XP / 7 / Vista, так и в Mac OS X и должен выполнять высокоскоростной качественный рендеринг шрифтов Outline.
Поскольку мы нуждались в высокомпроизводительность и мультиплатформенная среда разработки, мы выбираем комбинацию Qt4 / C ++ и используем freetype2 для рендеринга шрифтов.Кстати, я действительно впечатлен стабильностью, производительностью и качеством кода библиотеки freetype2, и я очень рекомендую это!Когда мы переключились с рендеринга внутреннего шрифта Qt4 на freetype2, производительность продукта увеличилась примерно на 300%, а вероятность сбоя приложения из-за плохого шрифта снизилась с 1: 10.000 до 1: 200.000.
НашВ настоящее время продукт поддерживает шрифты OpenType (OTF) и TrueType (TTF), и мы собираемся добавить поддержку шрифтов Postscript Type 1 (PS1).
Фактически мы уже добавили поддержку шрифтов Windows Type-1, но яУ меня есть реальная проблема с поиском необходимой информации для обработки шрифтов Mac OS Type-1.Вы можете увидеть некоторые зависящие от платформы различия шрифтов Type-1 здесь: http://www.asy.com/fonts.htm
В Windows каждый шрифт Type-1 содержится в 2 файлах: font-name.pfb (контуры шрифта) и шрифт-name.pfm (метрики шрифта, кернинг и т. д.)
Чтобы открыть шрифт Type-1 + метрики с помощью freetype2, вы можете просто сделать следующее:
ftError = FT_New_Face(&ftLibrary, "font-name.pfb", ftFaceIndex, &ftFace);
if (ftError)
(...)
ftError = FT_Attach_File(ftFace, "font-name.pfm");
if (ftError)
(...)
У меня есть следующеепроблемы / вопросы, касающиеся Mac OS X:
1) Есть ли соответствующий файл * .pfm (метрики)?и если ответ «да», всегда ли он существует на любом данном шрифте Mac-Type-1?
РЕДАКТИРОВАТЬ / Ответ: В шрифтах Mac Type-1 нет файла * .pfm,Метрики шрифта хранятся внутри растрового шрифта, хранящегося в том же Font-Suitcase.См. Следующую ссылку о переносе шрифтов между Windows и Mac, объясняющую многие различия между шрифтами Win-Type-1 и Mac-Type-1: http://www.macdisk.com/fontsen.php3
2) Есть ли соответствующий * .pfb (контурный) файл?На данный момент моя информация состоит в том, что существует файл структуры, и он не имеет расширения (pfb), но имеет «тип Mac» LWFN.Как я могу прочитать тип «LWFN», связанный с файлом, при сканировании всех таких файлов типа 1 в данном каталоге?В общем: Как обрабатывать файлы данных / ресурсов Mac и типы файлов с использованием Qt & C ++?
3) Эти файлы (1), (2) всегда существуют втот же каталог?
РЕДАКТИРОВАТЬ / Ответ: Этот вопрос больше не имеет смысла после asnwer (1) [= в шрифтах Mac-Type-1 нет файла * .pfm].
4) Если я знаю пути к файлам (1), (2) для определенного шрифта, можно ли установить шрифт, просто скопировав файлы в шрифт пользователяпапка библиотеки (что верно для шрифтов OTF / TTF) или я должен использовать какой-то другой специальный метод установки?
РЕДАКТИРОВАТЬ / Ответ: Шрифты Mac-Type-1 входят в состав шрифта-Чемодан.Правильный метод установки - установить весь чемодан в библиотеку шрифтов пользователя.
5) Можно ли взять шрифт Windows-Type-1 (pfb / pfm) и установить / использовать его на компьютере Mac OS X без каких-либо преобразований?
РЕДАКТИРОВАТЬ / Ответ: Ответ НЕТ.Для установки / использования pfb / pfm требуется установка / использование в Mac OS X, но вы можете использовать их в приложениях Adobe, таких как Photoshop / Indesign, если скопируете их в какую-то специальную папку шрифтов этих приложений.
Я буду очень признателен за любые ответы или ссылки, указывающие на правильное направление, потому что любой поиск, который я сделал до сих пор, просто указывает на другой уровень сложности, не получая мне никаких определенных или полезных ответов.
Спасибо
Fivos
PS: я попытался ответить на большинство моих вопросов, и я также опубликую ссылку на некоторые фрагменты кода, которые я нашел.