OberonCore

Библиотека  Wiki  Форум  BlackBox  Компоненты  Проекты
Текущее время: Четверг, 28 Март, 2024 22:53

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 19 ] 
Автор Сообщение
 Заголовок сообщения: Масштабирование документа
СообщениеДобавлено: Среда, 18 Июнь, 2008 08:05 

Зарегистрирован: Четверг, 17 Ноябрь, 2005 11:51
Сообщения: 2935
Откуда: г. Ярославль
Возможно ли такое? Такая вот мысль пришла в голову.

Понятно, что размеры отображений при масштабировании можно легко изменить. А вот шрифты уже поедут.

Идея хоть и странноватая, но полезная. Примеры применений - предпросмотр печати, и уменьшенные изображения окошек, как в Опере.

Радикальный выход - перевод GUI BlackBox на OpenGL :)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Масштабирование документа
СообщениеДобавлено: Среда, 18 Июнь, 2008 08:59 

Зарегистрирован: Четверг, 01 Июнь, 2006 11:14
Сообщения: 240
Иван Кузьмицкий писал(а):
Идея хоть и странноватая, но полезная. Примеры применений - предпросмотр печати, и уменьшенные изображения окошек, как в Опере.

такого действительно не хватает...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Масштабирование документа
СообщениеДобавлено: Среда, 18 Июнь, 2008 10:00 

Зарегистрирован: Среда, 17 Январь, 2007 03:59
Сообщения: 225
А что мешает масштабировать Font?

f: Font;

M,D: INTEGER;

f.Init(f.typeface, M*size DIV D, f.style, f.weight);


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Масштабирование документа
СообщениеДобавлено: Среда, 18 Июнь, 2008 10:23 

Зарегистрирован: Понедельник, 30 Июль, 2007 10:53
Сообщения: 1538
Откуда: Беларусь, Минск
Так будет изменяться только текст, да и дискретно. Но если кроме текста в документе ничего более не нужно, то это, наверное, оптимальный вариант.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Масштабирование документа
СообщениеДобавлено: Среда, 18 Июнь, 2008 10:58 
Аватара пользователя

Зарегистрирован: Пятница, 25 Ноябрь, 2005 12:02
Сообщения: 8500
Откуда: Троицк, Москва
Valery Solovey писал(а):
... если кроме текста в документе ничего более не нужно, то это, наверное, оптимальный вариант.


А фонт масштабируется чисто математически? Если не ошибаюсь, форма может зависеть от абс. размера. Хуже всего, если зависят ширины. Но могу и ошибаться.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Масштабирование документа
СообщениеДобавлено: Среда, 18 Июнь, 2008 11:00 

Зарегистрирован: Четверг, 17 Ноябрь, 2005 11:51
Сообщения: 2935
Откуда: г. Ярославль
Что-то мне думается, размер шрифта\пропорция может не совпасть с коэффициентом масштабирования. Плюс могут быть разные шрифты.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Масштабирование документа
СообщениеДобавлено: Среда, 18 Июнь, 2008 11:35 
Администратор

Зарегистрирован: Вторник, 15 Ноябрь, 2005 01:14
Сообщения: 4695
Откуда: Россия, Орёл
Иван Кузьмицкий писал(а):
Радикальный выход - перевод GUI BlackBox на OpenGL :)

На AGG.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Масштабирование документа
СообщениеДобавлено: Среда, 18 Июнь, 2008 12:48 

Зарегистрирован: Понедельник, 30 Июль, 2007 10:53
Сообщения: 1538
Откуда: Беларусь, Минск
Не думаю, что векторные шрифты масштабируются не пропорционально. Не вижу в этом смысла, только увеличение объёма работ по его созданию.
Info21 писал(а):
Если не ошибаюсь, форма может зависеть от абс. размера. Хуже всего, если зависят ширины.
А какая форма? Окно текстового редактора?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Масштабирование документа
СообщениеДобавлено: Среда, 18 Июнь, 2008 12:57 

Зарегистрирован: Среда, 17 Январь, 2007 03:59
Сообщения: 225
Иван Кузьмицкий писал(а):
Плюс могут быть разные шрифты.

Ну, так и надо масштабировать все шрифты


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Масштабирование документа
СообщениеДобавлено: Среда, 18 Июнь, 2008 14:55 

Зарегистрирован: Четверг, 17 Ноябрь, 2005 11:51
Сообщения: 2935
Откуда: г. Ярославль
Борис Рюмшин писал(а):
Иван Кузьмицкий писал(а):
Радикальный выход - перевод GUI BlackBox на OpenGL :)

На AGG.


AGG вроде помер, давно релизов не было?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Масштабирование документа
СообщениеДобавлено: Среда, 18 Июнь, 2008 14:57 
Модератор
Аватара пользователя

Зарегистрирован: Понедельник, 14 Ноябрь, 2005 18:39
Сообщения: 9459
Откуда: Россия, Орёл
Так он вполне завершённый вроде. Серьёзные продукты его используют.

Если работает - зачем новые релизы? С этой точки зрения и ББ "помер" :-)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Масштабирование документа
СообщениеДобавлено: Среда, 18 Июнь, 2008 15:35 

Зарегистрирован: Четверг, 17 Ноябрь, 2005 11:51
Сообщения: 2935
Откуда: г. Ярославль
С первого взгляда полтора года безрелизья AGG показались спадом... Так значит, AGG перешёл в фазу почти идеального состояния :)

Вроде кто-то переносил AGG на Оберон, или я ошибаюсь?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Масштабирование документа
СообщениеДобавлено: Среда, 18 Июнь, 2008 15:52 

Зарегистрирован: Среда, 17 Январь, 2007 03:59
Сообщения: 225
Перенесли на Object Pascal
http://aggpas.org/


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Масштабирование документа
СообщениеДобавлено: Среда, 18 Июнь, 2008 16:10 

Зарегистрирован: Четверг, 17 Ноябрь, 2005 11:51
Сообщения: 2935
Откуда: г. Ярославль
Вах! А я-то думаю - чем, окромя браузера, смотреть составные документы, сконвертированные в SVG.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Масштабирование документа
СообщениеДобавлено: Среда, 18 Июнь, 2008 18:22 
Аватара пользователя

Зарегистрирован: Пятница, 25 Ноябрь, 2005 12:02
Сообщения: 8500
Откуда: Троицк, Москва
Valery Solovey писал(а):
Не думаю, что векторные шрифты масштабируются не пропорционально. Не вижу в этом смысла, только увеличение объёма работ по его созданию.
Info21 писал(а):
Если не ошибаюсь, форма может зависеть от абс. размера. Хуже всего, если зависят ширины.
А какая форма? Окно текстового редактора?


Формы -- в буквальном смысле. Форма буквы. Shape.
Times в мелком кегле и в крупном -- немножко разные.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Масштабирование документа
СообщениеДобавлено: Четверг, 19 Июнь, 2008 11:35 

Зарегистрирован: Воскресенье, 24 Февраль, 2008 15:32
Сообщения: 470
Откуда: Москва
Если я правильно понимаю, задача масштабирования документа решена в CorelDRAW. Там есть два типа текста: фигурный (artistic text) и простой (paragraph text). С простым я никогда не работал. А с фигурным работал много. Так вот, при использовании фигурного текста весь экран (включая все изображения, схемы, чертежи, тексты, цифры, буквы и т.д.) изменяется пропорционально. Точно такой же эффект и на распечатке.

Так что могу подтвердить: в CorelDRAW (если использовать фигурный текст) при масштабировании шрифты "не поедут".


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Масштабирование документа
СообщениеДобавлено: Четверг, 19 Июнь, 2008 18:01 
Аватара пользователя

Зарегистрирован: Пятница, 25 Ноябрь, 2005 12:02
Сообщения: 8500
Откуда: Троицк, Москва
Владимир Паронджанов писал(а):
Если я правильно понимаю, задача масштабирования документа решена в CorelDRAW. Там есть два типа текста: фигурный (artistic text) и простой (paragraph text). ...

Ага. Подтверждение тому, что я назвал.

А если хотеть, чтобы всё выглядело читабельно в разных кеглях (мало ли -- пусть читатель выбирает), то это решение не годится -- именно поэтому и было придумано, чтобы шрифт в малом кегле был немножко другой.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Масштабирование документа
СообщениеДобавлено: Пятница, 20 Июнь, 2008 04:11 
Аватара пользователя

Зарегистрирован: Среда, 29 Март, 2006 12:09
Сообщения: 495
Иван Кузьмицкий писал(а):
С первого взгляда полтора года безрелизья AGG показались спадом... Так значит, AGG перешёл в фазу почти идеального состояния :)

Вроде кто-то переносил AGG на Оберон, или я ошибаюсь?


Я переносил.
Не хотелось рассказывать до релиза, но, поскольку вопрос поднят, расскажу.

Перевожу не на ВВ, а на XDS. Думаю, что для тех, кто разбирается в ВВ проблем с переводом не будет.

На сегодняшний день переведен на Oberon весь "конвейер" обработки (собственно конвейера там нет, там цепочка rendering buffer - pixel formatter - renderer - rasterizer плюс вспомогательные модули). Непереведенными пока остались часть вспомогательных модулей - некоторые цветовые конвертеры, "заливщики", трансформаторы. Плюс надо отладить модуль поддержки операционной системы для того, чтобы можно было демки переписать. Сейчас я делаю свои "демки" чтобы вести перевод/отладку.
Сложностей там уже нет, нужно только время.

Перевод делается по версии 2.3 порта на Object Pascal. Версии 2.3 - 2.5 отличаются не сильно - ряд алгоритмов доработан, исправлено несколько мелких багов да добавлено несколько модулей. AGG развивается уже лет 8, так что стабильность действительно высокая.

Существенные изменения при переходе на Oberon:
  • Оригинальная версия (C++ и ее порт на Object Pascal) используют одномерный массив(ы) и адресную арифметику. Это было заменено на двумерный динамический массив и индексную арифметику.
  • Графические алгоритмы в самом своем низу опираются на понятие байта (в С++ - unsigned char, в ОР - byte). В XDS я это перевел в SYSTEM.CARD8. Соответственно, вся арифметика по цветовому преобразованию опирается на это (в коде модуля преобразования цвета много конструкций SHORT(LONG(...))).

После перевода нужны будут "редакторские правки". Необходимо будет выправить названия добавленных методов (в AGG очень активно используются overloaded-методы, чего, естественно, нет в Oberon'е) да просто провести чистку кода.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Масштабирование документа
СообщениеДобавлено: Вторник, 01 Июль, 2008 13:09 

Зарегистрирован: Воскресенье, 24 Февраль, 2008 15:32
Сообщения: 470
Откуда: Москва
Владимир Паронджанов писал(а):

Так что могу подтвердить: в CorelDRAW (если использовать фигурный текст) при масштабировании шрифты "не поедут".


Я изложил вопрос упрощенно. К этому надо добавить следующее. При масштабировании СОХРАНЯЕТСЯ НЕИЗМЕННОЙ так назыаемая обводка, или абрис (outline) линий, а также обводка букв и цифр фигурного текста. При уменьшении масштаба наступает момент, когда неизменная толщина обводки становится слишком большой и начинает уродовать шрифт. В этом случае толщину обводки приходится корректировать (уменьшать) вручную.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 19 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 4


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
cron
Вся информация, размещаемая участниками на конференции (тексты сообщений, вложения и пр.) © 2005-2024, участники конференции «OberonCore», если специально не оговорено иное.
Администрация не несет ответственности за мнения, стиль и достоверность высказываний участников, равно как и за безопасность материалов, предоставляемых участниками во вложениях.
Без разрешения участников и ссылки на конференцию «OberonCore» любое воспроизведение и/или копирование высказываний полностью и/или по частям запрещено.
Powered by phpBB® Forum Software © phpBB Group
Русская поддержка phpBB