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

