LINUX.ORG.RU

Я в шоке, мистика с патчем.


0

0

Объясните как такое может быть. Диметрио дал ссылку на патч для freetype2 с которым качество рендеринга шрифтов должно было бы стать лучше. До этого, не удовлетворённый качеством длй TrueType шрифтов, я скачал оригинальный пакет с freetype.org, включил в нём BYTE_INTERPRETER и скомпилировал и установил его. У меня SuSE 9.1 делал я всё это за тем, что на ноутбуке на LCD экране при разрешении 1024х768 freetype2 собраный в SuSE выглядит весьма посредственно. После компиляции пакета с freetype.org стало вообще всё зашибись. TrueType шрифты стали идентичны виндосовским, вобщем всё ништяк.

После установления патча ссылку на который дал Диметрио и компиляции и инсталляции рендеринг ухудшилcя. Кажется, он стал по-лучше чем изначально в SuSE был, но значительно хуже чем то, что у меня было. И что я сделал? Я распаковал архив с freetype.org, включил BYTE_INTERPRETER для TrueType шрифтов, скопилировал и установил. СТАЛО ВАЩЕ ХЕРОВО!!! Ошибки нет, т.к. я на одни и теже шрифты смотрю.

Как такое может быть, subj.. ????

п.с. Лучшее враг хорошего :-)

Likn: http://www.cs.mcgill.ca/~dchest/xfthack/ft-smooth-cvs.diff

★★★

Я не пробовал SuSE 9.1, но вот в 9-ке просто добавлял этот патч к оригинальному freetype от Сусе и пересобирал srpm

Сглаживание было очень качественное.

Может и тебе так попробовать?

Demetrio ★★★★★
()
Ответ на: комментарий от Demetrio

Качаешь: 
ftp://ftp.suse.com/pub/projects/m17n/9.1/src/freetype2-2.1.9-1.1.src.rpm

делаешь rpm -i freetype2-2.1.9-1.1.src.rpm

патч для сглаживания кидаешь в /usr/src/RPM/PATCHES (или как там)

можешь переименовать его типа freetype2-smooth.patch

идёшь в /usr/src/RPM/SPECS и правишь freetype2.spec

в самом начале в BuilRequieres, где идёт список патчей, после 

Patch100:     freetype2-bc.patch

добавляешь нечто вроде

Patch200:     freetype2-smooth.patch

далее в секции %prep раскомментируешь это (точнее строку для применения патча):

# Remove the comment character in front ot the '%patch100' line
# if you want to turn on the bytecode interpreter.
# But first read http://www.freetype.org/freetype2/2.1.3-explained.html
# I.3. Do I still need to enable the TrueType bytecode interpreter ?
#
#    Short answer: No for most people !!
#
%patch100 -p 1 -b .bytecode

и добавишь после неё ещё одну строку:

%patch200 -p 1 -b .smooth

сохраняешь, делаешь chown root:root во всех директориях куда был распакован srpm (patches, specs, sources) - 
это чтобы не ругался при сборке, 

затем rpmbuild -ba freetype2.spec (из директории specs)

Соберётся новый freetype с учётом всех наших изменений.

Заодно можешь и fontconfig обновить

ftp://ftp.suse.com/pub/projects/m17n/9.1/src/fontconfig-2.2.96.20040728-3.1.src.
rpm



Demetrio ★★★★★
()
Ответ на: комментарий от Demetrio

О, спасибо за подробную инструкцию. Сейчас попробую.

А всё-таки как получилось так, что после непонравившегося результата я решил всё восстановить и нихрена не вышло? Патч-то ведь правит иcxодные тексты самого freetype и ничего более, когда я распаковал заново архив и повторил всё последовательность действий, что до этого делал, то ничерта не получилось. ?

eRazor ★★★
() автор топика
Ответ на: комментарий от Demetrio

Как лечить?

---cut---

Patch #100 (freetype2-bc.patch):
+ patch -p1 -b --suffix .bytecode -s
+ echo 'Patch #200 (ft-smooth-cvs.diff):'
Patch #200 (ft-smooth-cvs.diff):
+ patch -p1 -b --suffix .smooth -s
1 out of 5 hunks FAILED -- saving rejects to file src/autohint/ahhint.c.rej
ошибка: Неверный код возврата из /var/tmp/rpm-tmp.55086 (%prep)


Ошибки сборки пакетов:
    Неверный код возврата из /var/tmp/rpm-tmp.55086 (%prep)

---cut---

eRazor ★★★
() автор топика
Ответ на: комментарий от eRazor

Плохо удалил значит старый вариант. Вообще в rpm-based системах лучше брать srpm и пересобирать его, чтобы в помойку не ревращать систему.

Demetrio ★★★★★
()
Ответ на: комментарий от Demetrio

Сейчас попробую, но было бы просто замечательно, если б мне объяснили, что это за ошибка и как её исправить.

eRazor ★★★
() автор топика
Ответ на: комментарий от Demetrio

Думаю, под правильным. Сначала я не переименовывал патч в freetype2-smooth.patch, а использовал ft-smooth-cvs.diff и соответственно в секции build requires он был под первоначальнм именем. Потом, попробовал переименовать его и соответственно в build requires изменил имя.

eRazor ★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.