Экспорт шрифтов |
Здравствуйте, гость ( Вход | Регистрация )
Экспорт шрифтов |
ufna |
6.4.2010, 22:51
Сообщение
#1
|
Активный участник Группа: Участник Сообщений: 362 Регистрация: 24.5.2008 Из: Курган/СПб Пользователь №: 182 Спасибо сказали: 29 раз(а) Репутация: 5 |
Добрый день,
В программе пользователь может выбирать различные шрифты из QFontComboBox, использовать их. Потом сохраняет все данные в файл. Но затем мне нужно открыть это на машине, где этих шрифтов нет. Как их можно экспортировать из системы пользователя? |
|
|
kwisp |
7.4.2010, 8:42
Сообщение
#2
|
астарожна ынтжинэр Группа: Участник Сообщений: 1404 Регистрация: 26.11.2008 Из: ТаганрогРодинаЧехова Пользователь №: 435 Спасибо сказали: 113 раз(а) Репутация: 23 |
ufna,
как вариант искать файлы шрифтов, сохранять, потом использовать Цитата See also QFontDatabase::addApplicationFont(), QFontDatabase::addApplicationFontFromData(), QFontDatabase::removeAllApplicationFonts(), and QFontDatabase::removeApplicationFont(). |
|
|
ufna |
7.4.2010, 11:43
Сообщение
#3
|
Активный участник Группа: Участник Сообщений: 362 Регистрация: 24.5.2008 Из: Курган/СПб Пользователь №: 182 Спасибо сказали: 29 раз(а) Репутация: 5 |
главный вопрос - как узнать который файл шрифта нам нужен?
платформа Win. |
|
|
kwisp |
7.4.2010, 12:06
Сообщение
#4
|
астарожна ынтжинэр Группа: Участник Сообщений: 1404 Регистрация: 26.11.2008 Из: ТаганрогРодинаЧехова Пользователь №: 435 Спасибо сказали: 113 раз(а) Репутация: 23 |
ufna,
главный вопрос - как узнать который файл шрифта нам нужен? ну по-моему они там по смейству называются в винде-то, точно не вспомню, сейчас не под ней работаю. где лежат фалы шрифтов тоже можно вычислить. если честно не пойму в чем проблема. выбирает пользователь шрифт, файл(ы) этого шрифта копируются в дирректорию программы, которая веместе с программой качует на другую машину, где все шорифты из этой дирректории подгружаются в приложение через QFontDatabase::addApplicationFont() если файл точным совпадением имени семейства и имени фала не обнаружен, можно скопировать все похожие, по маске, либо если совсем грубо все шрифты, можно архивировать и проч и проч. |
|
|
ufna |
7.4.2010, 12:13
Сообщение
#5
|
Активный участник Группа: Участник Сообщений: 362 Регистрация: 24.5.2008 Из: Курган/СПб Пользователь №: 182 Спасибо сказали: 29 раз(а) Репутация: 5 |
не, нет там такого. Название шрифта и название файла - совершенно разные вещи.
плюс - я не могу тянуть все. У меня без доп. шрифтов стоит их под 2Гб. Даже если возьму по маске самые необходимые - выходит немеряно Программа юзеро-ориентированная, нужно выдрать только необходимое. Т.е. не буду же я говорить юзеру "вот у тебя проект на 200Мб, ты мне его файлик пришли, а с ним еще гигабайт шрифтов". Пока решением вижу только создание собственной библиотеки шрифтов и давать только их, но это как-то несерьезно + проблемы лицензирования. Сообщение отредактировал ufna - 7.4.2010, 12:13 |
|
|
Litkevich Yuriy |
7.4.2010, 12:29
Сообщение
#6
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
если честно не пойму в чем проблема. именно в определении файла.1) Шрифт - MS Shell Dlg2, какому файлу соответствует? 2) Шрифт - Arial Narrow, какому файлу соответствует? Файлов с такими именами не существует в каталоге WINNT/Fonts (на двухтоннике) имена файлов на теже буквы: 1)MAIAN.TTF marlett.ttf MICR.TTF MICRB.TTF MICRBI.TTF MICRI.TTF micross.ttf mingliu.ttc modern.fon MTCORSVA.TTF MTEXTRA.TTF mtfont.ttf mtgerman.ttf 2) arial.ttf Arialb.ttf arialbd.ttf arialbi.ttf ariali.ttf ufna, я думаю, что есть только один вариант - копать исходники QFontDatabase или вовсе API сисистемы |
|
|
kwisp |
7.4.2010, 12:38
Сообщение
#7
|
астарожна ынтжинэр Группа: Участник Сообщений: 1404 Регистрация: 26.11.2008 Из: ТаганрогРодинаЧехова Пользователь №: 435 Спасибо сказали: 113 раз(а) Репутация: 23 |
Программа юзеро-ориентированная, нужно выдрать только необходимое. Т.е. не буду же я говорить юзеру "вот у тебя проект на 200Мб, ты мне его файлик пришли, а с ним еще гигабайт шрифтов". понял тебя. может тогда написать класс который будет открывать файл шрифта и определять к какому семейству он относится предварительно, перд запуском пользовательского интерфейса. т.е. ты как бы построишь свою базу соответствий. для этого надо разобраться в формате ttf. либо как вариант, если приложение будет только под винду найти сторонню разработку которая выдирает это соответсвие из системы, либо строит сама. еще стоит посмотреть виндовый апи если такой возможности нет то врядли и в Qt будет. |
|
|
Litkevich Yuriy |
7.4.2010, 13:50
Сообщение
#8
|
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
Панель управления -> шрифты:
Первый столбец название, второй - файл. Т.е. можно попытаться построить словарь шрифт-файл, наверное с помощью WinAPI. кое чего нашёл, тыц Исходник оттуда FontFile_src.zip ( 4,73 килобайт ) Кол-во скачиваний: 196 вообщем список файлов под виндовозом надо смотреть здесь: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Fonts выделенное - нужно для WinNT, для предыдущих версий виндовоза оно не нужно |
|
|
||
ufna |
7.4.2010, 14:00
Сообщение
#9
|
Активный участник Группа: Участник Сообщений: 362 Регистрация: 24.5.2008 Из: Курган/СПб Пользователь №: 182 Спасибо сказали: 29 раз(а) Репутация: 5 |
О, спасибо, сейчас буду разбирать!
|
|
|
Litkevich Yuriy |
7.4.2010, 14:18
Сообщение
#10
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
О, спасибо, сейчас буду разбирать! Я уже всё разобрал:
|
|
|
Текстовая версия | Сейчас: 14.1.2025, 2:19 |