Управляет в смысле включить/выключить, а вот FontsArray содержит только имена семейств, но не начертаний.
Этот топик читают: Гость
Главный модератор
Ответов: 2999
Рейтинг: 396
|
|||
карма: 6 |
|
Разработчик
Ответов: 26113
Рейтинг: 2126
|
|||||||||||||||
Nic, а диалог, разве не предоставляет образцы начертания Я вообще не пойму -- нафиг это надо ?
Ну попробуй ты вывести все четыре образца начертания, да посмотри, хранить-то их зачем в массиве ------------ Дoбавленo: Или ты не знаешь маску управления стилем. Я тебе ее дам:
|
|||||||||||||||
карма: 22 |
|
Главный модератор
Ответов: 2999
Рейтинг: 396
|
|||
До сих пор жили и без компонента TempFont и без точки FontsArray и в дальнейшем, по-видимому, будем чувствовать себя не плохо.
Простой пример: tempfontfromfile.sha. Здесь установил файл -- увидел в списке его имя, значит всё работает правильно. Теперь смотрим с начертанием: установил первое начертание -- увидел в списке имя семейства, значит работает; установил второе начертание -- изменений не увидел, значит или не работает или это второе начертание или третье начертание .... НЕ ПОНЯТНО! А вот если можно было бы прочитать в системе какие для данного семейства имеются начертания, то можно не только убедиться в правильности работы программы, но и построить подменю семейства шрифта, как показано на картинке постами ранее. |
|||
карма: 6 |
|
Разработчик
Ответов: 26113
Рейтинг: 2126
|
|||
Nic, я разрабатывал его, вообще-то, совсем не для издательской станции, а для приклеивания своего шрифта к программе.
Хорошо, а как ты сейчас решаешь этот вопрос, без этого компонента Nic писал(а): какие для данного семейства имеются начертанияОбясни, что ты под понимаешь под словом "начертание", все же стиль, или что-то другое ------------ Дoбавленo: Надо поискать, возможно удасться вытащить маску поддерживаемых стилей |
|||
карма: 22 |
|
Главный модератор
Ответов: 2999
Рейтинг: 396
|
|||
nesco писал(а): как ты сейчас решаешь этот вопросНикак. nesco писал(а): что ты под понимаешь под словом "начертание", Существует множество форматов хранения шрифтов. Самый популярный на сегодня формат хранения шрифтов в полиграфии это так называемый Open Type Format (расширения файлов *.otf). Подробности, если тебе это интересно, ищи в инете. Так вот, этот формат позволяет хранить начертания (варианты, стили) или как хочешь сам это назови, в отдельных файлах:
InterFont-BlackCompr.otf InterFont-BlackCond.otf InterFont-Bold.otf InterFont-BoldCond.otf InterFont-Cond.otf InterFont-ExtraLight.otf InterFont-Light.otf InterFont-LightCompr.otf InterFont-LightCond.otf InterFont-Regular.otf ------------ Дoбавленo: Соответственно в полиграфии не достаточно установить какой-нибудь бит стиля для изменения вида шрифта в журнале, а необходимо подгрузить дополнительный файл шрифта, содержащий этот стиль. |
|||
карма: 6 |
|
Разработчик
Ответов: 26113
Рейтинг: 2126
|
|||
Nic писал(а): Но все это варианты одного и того же шрифта семейства InterFontЯ понял, но что, они отдельно не подгружаются, как файлы *.otf. У них что, одно название, что ли |
|||
карма: 22 |
|
Главный модератор
Ответов: 2999
Рейтинг: 396
|
|||
Всё подгружается и работает отлично. Я просил тебя поискать возможность получения из системы информации об подгруженных стилях, так как FontsArray содержит информацию только о семействах.
|
|||
карма: 6 |
|
Разработчик
Ответов: 26113
Рейтинг: 2126
|
|||
Nic, а ты можешь мне кинуть одно такое семейство, хочу посмотреть из чего оно состоит
------------ Дoбавленo: Nic писал(а): получения из системы информации об подгруженных стиляхЯ вот въехать не могу, что это должна быть за информация. Ну имя ты имеешь (версию и идентификатор, пока пропустим), а что еще надо Ну есть такая структура -- LOGFONT, ну могу я ее просмотреть, там конкретные поля стилей есть, а что еще не знаю ------------ Дoбавленo: Я кажется понимаю, тебе нужна полная информация о конкретном семействе (ну или информация о всех возможных шрифтах в системе) |
|||
карма: 22 |
|
Главный модератор
Ответов: 2999
Рейтинг: 396
|
|||
Вот посмотри, это как раз семество с картинки:
------------ Дoбавленo: Грубо говоря, сейчас ты используешь вызов API EnumFontFamilies, а нужно вызвать что-то вроде EnumFonts. Проверь, пожалуйста, что содержат присланные файлы в поле TCHAR lfFaceName[LF_FACESIZE]; структуры LOGFONT. Скорее всего это как раз и есть имя семейства, а не стиля. |
|||
карма: 6 |
| ||
файлы: 2 | charteritc_1.rar [120.9KB] [343], charteritc_2.rar [119.6KB] [336] |
Разработчик
Ответов: 26113
Рейтинг: 2126
|
|||
Ну выцепил я все шрифты, как их разложить в таблицу, что ли, а то так фигня получается, как потом с ними разбираться -- вся информация в одной строке Потом -- это общий список, а что делать с временным
Определись точно, какая нужна структура информации. А такое меню, мы точно получить не сможем, только сэмулировать на дисретных компонентах. Млин... компонент плавно перерастает... |
|||
карма: 22 |
|
Главный модератор
Ответов: 2999
Рейтинг: 396
|
|||
А закинь сюда как она есть.
|
|||
карма: 6 |
|
Разработчик
Ответов: 26113
Рейтинг: 2126
|
|||
Nic, сейчас, далеко не убегай
------------ Дoбавленo: Вот держи. Подожду результата ------------ Дoбавленo: Могу предложить воткнуть разделитель и пихать все это дело в таблицу ------------ Дoбавленo: Да, кстати, а нужна ли информация о имени временного файла, может упростить это безобразие и свести все до массива, вместо матрицы |
|||
карма: 22 |
| ||
файлы: 1 | project_tempfontproc_1_20.zip [20.1KB] [293] |
Главный модератор
Ответов: 2999
Рейтинг: 396
|
|||
Ты сам пробовал инсталлировать CharterITC? Как сказал какой-то классик: "ИСТИНА ГДЕ-ТО РЯДОМ"
------------ Дoбавленo: Мне видится это в виде свойства компонента, где в выпадающем списке пользователь выбирает нужное ему в данный момент: FullName Style Script ... и, получающий соответствующий List of ... ------------ Дoбавленo: ВСЁ. Утро - вечера мудреннее! |
|||
карма: 6 |
|
Разработчик
Ответов: 26113
Рейтинг: 2126
|
|||
Nic писал(а): Мне видится это в виде свойства компонента, где в выпадающем списке пользователь выбирает нужное ему в данный момент:И как ты этим будешь управлять Имя по-любому надо бы оставить. Могу предложить второй массив -- массив семейства. Первый массив общий с полным именем, а второй -- уже с параметрами конкретного семейства, получаем который по выбранному имени из первого. Попробовал сделать таблицу, намного лучше получилось. Вот посмотри. Может так лучше ------------ Дoбавленo: Nic писал(а): Ты сам пробовал инсталлировать CharterITCМлин... А она эти шрифты что-то не видит. А нужен ли вообще общий список в таком случае Можно попробовать получит параметры конкретного шрифта при установке ------------ Дoбавленo: Завтра подумаю -- что-нибудь, точно придумаем. |
|||
карма: 22 |
| ||
файлы: 1 | project_tempfontproc_1_25.zip [20.3KB] [295] |
Главный модератор
Ответов: 2999
Рейтинг: 396
|
|||
nesco писал(а): А она эти шрифты что-то не видитВсе она видит и подключает, их только нет в списке FontsArray nesco писал(а): ...параметры конкретного шрифта при установкеТак ведь с этого начинали: сделать универсальный компонент с методами для инсталляции/деинсталляции и получения разнообразных свойств шрифта (Name, Style, Script, ID, copyright ...). А внутри программы, чтобы управлять шрифтами из разных экземпляров компонента, TempFileName обозвать Handle |
|||
карма: 6 |
|