Re: fs
On Tue, 16 Oct 2001, Ilya Anfimov wrote:
>
> > > >
> > > > Но как мне кажется, АА шрифтов не будет работать с FS (у меня карта без
> > >
> > > АА шрифтов в современном виде нормально работать не может. По
> > > проектированию. Потому, что придурки писали.
> >
> > В Х-е или винде?
>
> В XFree.
>
> > IMHO алгоритмы АА - тривиальны. В винде вроде под альфаканал АА-шрифта
>
> Ну, мне они показались не настолько тривиальными, а всякие
> приближенные к dtp люди размахивали при мне фуфайками и кричали,
> что АА -- АА рознь и сглаживать это все можно по-разному и в
> разные стороны.
Чтобы корректно сравнить реализации АА надо посмотреть отрендеренными с АА
одни и те же шрифты, с отключенным хинтингом. Не думаю что людей от dtp
сравнение это так интересовало, чтобы провести его корректно. Так что я
бы пропустил те "фи" мимо ушей.
> Но я, собственно, не про это. Сменить один алгоритм на другой при
> хорошей реализации основы -- это не такая большая проблема в
> конце концов.
>
> > используется толи 3, толи 4 бита AFAIR, а в Х-все 8 (соответственно много
> > качественнее может получится в Х-е). Проблемой Х-ы является то, что ее
> > реализация Xft (использующая freetype) не использует хинтинг в шрифтах,
> > который важен при небольших размерах букв (2 важнейшие инструкции по поддержке
> > хинтинга - запатентованы и в freetype применены быть не могут) - из-за этого
> > АА на маленьких размерах букв в Х может выглядить слишком жирно и размазано.
>
> Эта проблема -- не такая и пробема. Исходники есть, напишут со
> временем. Если хоть кому-нибудь нужно будет...
Исходники чего доступны?
По-любому, чтобы легально использовать хинтинг на полную катушку надо будет
купить лицензию у патентодержателя на те 2 инструкции - а это может стоить
сотни килобаксов.
> > Но на больших размерах шрифта АА винды и Х должны быть одинаковыми или даже
> > лучше в Х-е.
> >
> > Что касается придурков - у меня веры во всяких Keith Packard и Jim Getties
> > (или как там его, из Dec) которым сейчас лет под 50 побольше на порядок будет
> > чем в придурков из MS и Apple. Придурки пишут не AA и подобные системные вещи,
> > а пользовательский софт как правило.
> >
> > > > XRender, посему я в этом вопросе не спец).
> > >
> > > Несмортя на вышесказанное, нигде в описании этого дела я не видел
> > > закосов на конкретные видеокарточки. По идее, должна работать
> > > любая DirectColor карта.
> >
> > Так только с версии XFree-4.0.1 или XFree-4.1. В пред. версиях карта должна
> > была поддерживать XRender. А у меня S3 Trio64 - она вроде 4ой иксой вообще не
>
> Весь виденный мной АА в XFree шел через XRender.
Да, но я вроде слышал что в XF-4.1 все поддерживаемые карточки поддерживают
XRender (но не все используют аппаратное ускорение). За свои слова не ручаюсь.
> А что, на некоторых карточках он поддерживается даже в XFree
> 3.3.X?
Нет, вроде только в XF4.
> Собственно, потому и придурки, что придумали этот Xrender.
>
> Вместо того, чтобы добавить долгожданный Visual с альфаканалом в
> Core (ну не в Core кончено, extension отдельный, но чтобы при
> этом вся рисовалка осталась из core), ребята добавили совершенно
> новый метод рендеринга. Как будто уже имеющихся недостаточно.
Я думаю они не такие бараны чтобы такой вариант не рассматривать.
Добавить новый Visual значит перетряхнуть нафиг все структуры данных (в них
нет полей для альфаканала), colormaps, расширить протокол on-wire, определить
новые константы под маски, исправить ВСЕ алгоритмы которые использовали
битмапы на поддержку альфаканала, переделать идеологию... Года на 3 работы. А
с XRender - намногого проще - добавляется всего несколько десятков вызовов и
все..
> В резултате, все, что будет рисовать и захочет АА потребуется
> переписывать дважды -- один раз под Core, один раз под Xrender.
> Со всеми вытекающими глюками.
Зачем переписывать - просто пишешь 2 ф-ии, одна рисует текст через Xft,
другая без него (то есть без АА). А можно делать как openoffice - если нет
XRender'a - используем freetype для нахождения нецелочисленной матовости
глифа, скачиваем фрагмент окошка, рисуем в него образ глифа имитиуруя
альфаканал вручную, и рисуем потом тот фрагмент обратно. И работать будет на
любой Х, вообще без Xft и Xrender'а..
> Кроме того они естественно сломали (расширили :-)) уже привычную
> схему XLFD (которая давно была, но только-только начинала
> работать), и тотально забили на network transparency (теперь
> вместо инсталляции любимых шрифтов/aliasов на сервере у вас будет
> радость ставить их на каждом клиенте).
Ну, хочешь АА- ставь шрифты на клиенте (или терпи тормоза от симуляции АА
"вручную")...
А вот с XLFD - что они там сломали (я что-то давно об этом слышал, и забыл
как оно сломалось)?
> > поддерживается. Так что мне не суждено с этой картой Xft-based АА увидеть.
> > А нормальную покупать - время жалко на гемморой и установку всякого нового.
> >
> > > >Наверно это намного важнее
> > > > скромного увеличения скорости.
> > >
> > > И, наконец, последний прикол: тем реализациям АА, которые я
> > > видел, было пофиг на все фонтсерверы и серверные шрифты вместе
> > > взятые. Оно в обязательном порядке откапывало какие-то локальные
> > > ttf-ы и их отображало. В последние несколько месяцев могли что-то
> > > поменять, но это вряд ли.
> >
> > Ну насчет Xft я бы посомневался. Как я понимаю она использует XRender для
> > рисования, и просто загонeт контуры глифа с нецелым значением матовости (то
> > есть сам альфа канал изображения глифа) - и для этого хватит только шрифта на
>
> В шрифте на x-сервере нет нецелых значений матовости.
Да, я уже отписал что неправильно думал - Xft использует локальные копии
шрифтов.
Best regards,
-Vlad
Reply to:
- Follow-Ups:
- Re: fs
- From: Ilya Anfimov <ilan@adt.ru>
- Re: fs
- From: Victor Wagner <vitus@ice.ru>
- References:
- Re: fs
- From: Ilya Anfimov <ilan@adt.ru>