On Tue, Oct 16, 2001 at 08:09:49PM +0500, Vlad Harchev wrote: > On Tue, 16 Oct 2001, Ilya Anfimov wrote: > >
[skipped] > > > АА на маленьких размерах букв в Х может выглядить слишком жирно и > > > размазано. > > > > Эта проблема -- не такая и пробема. Исходники есть, напишут со > > временем. Если хоть кому-нибудь нужно будет... > > Исходники чего доступны? > По-любому, чтобы легально использовать хинтинг на полную катушку надо будет > купить лицензию у патентодержателя на те 2 инструкции - а это может стоить > сотни килобаксов. Исходники freetype & so on. То, что ты сказал, если и имеет место -- внутренние заморочки ttf (на котором свет клином не сошелся) пополам с американским законодательством (на которое если надо, то тоже плюют все кому не лень). [skipped] > > > Собственно, потому и придурки, что придумали этот Xrender. > > > > Вместо того, чтобы добавить долгожданный Visual с альфаканалом в > > Core (ну не в Core кончено, extension отдельный, но чтобы при > > этом вся рисовалка осталась из core), ребята добавили совершенно > > новый метод рендеринга. Как будто уже имеющихся недостаточно. > > Я думаю они не такие бараны чтобы такой вариант не рассматривать. Я уже не настолько верю в человеческую мудрость. > Добавить новый Visual значит перетряхнуть нафиг все структуры данных (в них > нет полей для альфаканала), Только те, которые и так зависимы от Visual. >colormaps, Забыть, как страшный сон. То есть место в протоколе оставить, но пусть с этим трахаются более другие существа. >расширить протокол on-wire, Для этого и есть механизм Xextensions. >определить > новые константы под маски, исправить ВСЕ алгоритмы которые использовали > битмапы на поддержку альфаканала, >переделать идеологию... Года на 3 работы. А Вот идеологию пусть оставят в покое. А все остальное одному человеку full-time -- это не 3 года. Особенно учитывая, что эти алгоритмы и так написаны для всего существующего разнообразия. > с XRender - намногого проще - добавляется всего несколько десятков вызовов и > все.. Ага, проще. Взять, написать какой-то грязный хак и долго гордиться, что у нас как в винде. > > > В резултате, все, что будет рисовать и захочет АА потребуется > > переписывать дважды -- один раз под Core, один раз под Xrender. > > Со всеми вытекающими глюками. > > Зачем переписывать - просто пишешь 2 ф-ии, одна рисует текст через Xft, > другая без него (то есть без АА). А можно делать как openoffice - если нет Вот это оно самое и есть -- переписывать дважды. > XRender'a - используем freetype для нахождения нецелочисленной матовости > глифа, скачиваем фрагмент окошка, рисуем в него образ глифа имитиуруя > альфаканал вручную, и рисуем потом тот фрагмент обратно. И работать будет на > любой Х, вообще без Xft и Xrender'а.. Спасибо, лень. > > > Кроме того они естественно сломали (расширили :-)) уже привычную > > схему XLFD (которая давно была, но только-только начинала > > работать), и тотально забили на network transparency (теперь > > вместо инсталляции любимых шрифтов/aliasов на сервере у вас будет > > радость ставить их на каждом клиенте). > > Ну, хочешь АА- ставь шрифты на клиенте (или терпи тормоза от симуляции АА > "вручную")... а) Не хочу я ставить шрифты на клиенте. Серверный это ресурс. Так принято. И менять это -- это много нового геморроя. > А вот с XLFD - что они там сломали (я что-то давно об этом слышал, и забыл > как оно сломалось)? Да особенно ничего. Просто то, что там требуется -- это уже не XLFD. Как теперь шрифты в ресурсах именовать -- вовсе непонятно. Как идеологически правильно рисовать символы из разных charset -- тем более. Ничего похожего на XFontSet я кстати там не увидел.