[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: