Вверх ↑
Этот топик читают: Гость
Главный модератор
Ответов: 2999
Рейтинг: 396
#76: 2008-06-10 23:16:31 ЛС | профиль | цитата
Управляет в смысле включить/выключить, а вот FontsArray содержит только имена семейств, но не начертаний.
карма: 6
Дорогу осилит идущий. Install/Update HiAsm.NET
0
Разработчик
Ответов: 26151
Рейтинг: 2127
#77: 2008-06-10 23:37:11 ЛС | профиль | цитата
Nic, а диалог, разве не предоставляет образцы начертания Я вообще не пойму -- нафиг это надо ?
Ну попробуй ты вывести все четыре образца начертания, да посмотри, хранить-то их зачем в массиве

------------ Дoбавленo:


Или ты не знаешь маску управления стилем. Я тебе ее дам:

БитStyleПримечание
0Bold0 - обычный, 1 - жирный
1Italic0 - обычный, 1 - наклонный
2Underline0 - обычный, 1 - подчеркнутый
3StrikeOut0 - обычный, 1 - зачеркнутый


карма: 22

0
Главный модератор
Ответов: 2999
Рейтинг: 396
#78: 2008-06-10 23:55:44 ЛС | профиль | цитата
До сих пор жили и без компонента TempFont и без точки FontsArray и в дальнейшем, по-видимому, будем чувствовать себя не плохо.

Простой пример: tempfontfromfile.sha. Здесь установил файл -- увидел в списке его имя, значит всё работает правильно. Теперь смотрим с начертанием: установил первое начертание -- увидел в списке имя семейства, значит работает; установил второе начертание -- изменений не увидел, значит или не работает или это второе начертание или третье начертание .... НЕ ПОНЯТНО! А вот если можно было бы прочитать в системе какие для данного семейства имеются начертания, то можно не только убедиться в правильности работы программы, но и построить подменю семейства шрифта, как показано на картинке постами ранее.
карма: 6
Дорогу осилит идущий. Install/Update HiAsm.NET
0
Разработчик
Ответов: 26151
Рейтинг: 2127
#79: 2008-06-11 00:03:06 ЛС | профиль | цитата
Nic, я разрабатывал его, вообще-то, совсем не для издательской станции, а для приклеивания своего шрифта к программе.
Хорошо, а как ты сейчас решаешь этот вопрос, без этого компонента

Nic писал(а):
какие для данного семейства имеются начертания


Обясни, что ты под понимаешь под словом "начертание", все же стиль, или что-то другое

------------ Дoбавленo:


Надо поискать, возможно удасться вытащить маску поддерживаемых стилей
карма: 22

0
Главный модератор
Ответов: 2999
Рейтинг: 396
#80: 2008-06-11 00:19:29 ЛС | профиль | цитата
nesco писал(а):
как ты сейчас решаешь этот вопрос


Никак.

nesco писал(а):
что ты под понимаешь под словом "начертание",


Существует множество форматов хранения шрифтов. Самый популярный на сегодня формат хранения шрифтов в полиграфии это так называемый Open Type Format (расширения файлов *.otf). Подробности, если тебе это интересно, ищи в инете.

Так вот, этот формат позволяет хранить начертания (варианты, стили) или как хочешь сам это назови, в отдельных файлах:

    InterFont-Black.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
Но все это варианты одного и того же шрифта семейства InterFont.

------------ Дoбавленo:

Соответственно в полиграфии не достаточно установить какой-нибудь бит стиля для изменения вида шрифта в журнале, а необходимо подгрузить дополнительный файл шрифта, содержащий этот стиль.
карма: 6
Дорогу осилит идущий. Install/Update HiAsm.NET
0
Разработчик
Ответов: 26151
Рейтинг: 2127
#81: 2008-06-11 00:38:34 ЛС | профиль | цитата
Nic писал(а):
Но все это варианты одного и того же шрифта семейства InterFont

Я понял, но что, они отдельно не подгружаются, как файлы *.otf. У них что, одно название, что ли
карма: 22

0
Главный модератор
Ответов: 2999
Рейтинг: 396
#82: 2008-06-11 00:42:46 ЛС | профиль | цитата
Всё подгружается и работает отлично. Я просил тебя поискать возможность получения из системы информации об подгруженных стилях, так как FontsArray содержит информацию только о семействах.
карма: 6
Дорогу осилит идущий. Install/Update HiAsm.NET
0
Разработчик
Ответов: 26151
Рейтинг: 2127
#83: 2008-06-11 00:48:11 ЛС | профиль | цитата
Nic, а ты можешь мне кинуть одно такое семейство, хочу посмотреть из чего оно состоит
------------ Дoбавленo:

Nic писал(а):
получения из системы информации об подгруженных стилях

Я вот въехать не могу, что это должна быть за информация. Ну имя ты имеешь (версию и идентификатор, пока пропустим), а что еще надо Ну есть такая структура -- LOGFONT, ну могу я ее просмотреть, там конкретные поля стилей есть, а что еще не знаю
------------ Дoбавленo:

Я кажется понимаю, тебе нужна полная информация о конкретном семействе (ну или информация о всех возможных шрифтах в системе)
карма: 22

0
Главный модератор
Ответов: 2999
Рейтинг: 396
#84: 2008-06-11 01:06:36 ЛС | профиль | цитата
Вот посмотри, это как раз семество с картинки:


------------ Дoбавленo:

Грубо говоря, сейчас ты используешь вызов API EnumFontFamilies, а нужно вызвать что-то вроде EnumFonts.
Проверь, пожалуйста, что содержат присланные файлы в поле TCHAR lfFaceName[LF_FACESIZE]; структуры LOGFONT.
Скорее всего это как раз и есть имя семейства, а не стиля.
карма: 6
Дорогу осилит идущий. Install/Update HiAsm.NET
0
файлы: 2charteritc_1.rar [120.9KB] [356], charteritc_2.rar [119.6KB] [346]
Разработчик
Ответов: 26151
Рейтинг: 2127
#85: 2008-06-11 01:51:01 ЛС | профиль | цитата
Ну выцепил я все шрифты, как их разложить в таблицу, что ли, а то так фигня получается, как потом с ними разбираться -- вся информация в одной строке Потом -- это общий список, а что делать с временным
Определись точно, какая нужна структура информации.
А такое меню, мы точно получить не сможем, только сэмулировать на дисретных компонентах.

Млин... компонент плавно перерастает...
карма: 22

0
Главный модератор
Ответов: 2999
Рейтинг: 396
#86: 2008-06-11 01:54:30 ЛС | профиль | цитата
А закинь сюда как она есть.
карма: 6
Дорогу осилит идущий. Install/Update HiAsm.NET
0
Разработчик
Ответов: 26151
Рейтинг: 2127
#87: 2008-06-11 02:05:01 ЛС | профиль | цитата
Nic, сейчас, далеко не убегай

------------ Дoбавленo:


Вот держи. Подожду результата

------------ Дoбавленo:


Могу предложить воткнуть разделитель и пихать все это дело в таблицу

------------ Дoбавленo:


Да, кстати, а нужна ли информация о имени временного файла, может упростить это безобразие и свести все до массива, вместо матрицы
карма: 22

0
файлы: 1project_tempfontproc_1_20.zip [20.1KB] [301]
Главный модератор
Ответов: 2999
Рейтинг: 396
#88: 2008-06-11 02:25:48 ЛС | профиль | цитата
Ты сам пробовал инсталлировать CharterITC? Как сказал какой-то классик: "ИСТИНА ГДЕ-ТО РЯДОМ"
------------ Дoбавленo:

Мне видится это в виде свойства компонента, где в выпадающем списке пользователь выбирает нужное ему в данный момент:


    FullName
    Style
    Script
    ...
------------ Дoбавленo:

и, получающий соответствующий List of ...
------------ Дoбавленo:

ВСЁ. Утро - вечера мудреннее!
карма: 6
Дорогу осилит идущий. Install/Update HiAsm.NET
0
Разработчик
Ответов: 26151
Рейтинг: 2127
#89: 2008-06-11 02:37:55 ЛС | профиль | цитата
Nic писал(а):
Мне видится это в виде свойства компонента, где в выпадающем списке пользователь выбирает нужное ему в данный момент:

И как ты этим будешь управлять Имя по-любому надо бы оставить.
Могу предложить второй массив -- массив семейства. Первый массив общий с полным именем, а второй -- уже с параметрами конкретного семейства, получаем который по выбранному имени из первого.
Попробовал сделать таблицу, намного лучше получилось.

Вот посмотри. Может так лучше

------------ Дoбавленo:

Nic писал(а):
Ты сам пробовал инсталлировать CharterITC

Млин... А она эти шрифты что-то не видит. А нужен ли вообще общий список в таком случае Можно попробовать получит параметры конкретного шрифта при установке
------------ Дoбавленo:

Завтра подумаю -- что-нибудь, точно придумаем.
карма: 22

0
файлы: 1project_tempfontproc_1_25.zip [20.3KB] [306]
Главный модератор
Ответов: 2999
Рейтинг: 396
#90: 2008-06-11 11:01:05 ЛС | профиль | цитата
nesco писал(а):
А она эти шрифты что-то не видит


Все она видит и подключает, их только нет в списке FontsArray

nesco писал(а):
...параметры конкретного шрифта при установке


Так ведь с этого начинали: сделать универсальный компонент с методами для инсталляции/деинсталляции и получения разнообразных свойств шрифта (Name, Style, Script, ID, copyright ...). А внутри программы, чтобы управлять шрифтами из разных экземпляров компонента, TempFileName обозвать Handle
карма: 6
Дорогу осилит идущий. Install/Update HiAsm.NET
0
Сообщение
...
Прикрепленные файлы
(файлы не залиты)