* [devel] php
@ 2001-01-22 8:46 Rider
2001-01-22 8:53 ` Alexander Bokovoy
2001-01-22 13:26 ` Aleksey Novodvorsky
0 siblings, 2 replies; 32+ messages in thread
From: Rider @ 2001-01-22 8:46 UTC (permalink / raw)
To: devel
Гсопода, PHP вообще не работоспособен в Сизифе.
Во вском случае модулей работы с базами я в нем не увидел. ;-(
Rgds
Anton
_______________________________________________
Devel mailing list
Devel@linux.iplabs.ru
http://www.logic.ru/mailman/listinfo/devel
^ permalink raw reply [flat|nested] 32+ messages in thread
* Re: [devel] php
2001-01-22 8:46 [devel] php Rider
@ 2001-01-22 8:53 ` Alexander Bokovoy
2001-01-22 9:06 ` Rider
2001-01-22 13:26 ` Aleksey Novodvorsky
1 sibling, 1 reply; 32+ messages in thread
From: Alexander Bokovoy @ 2001-01-22 8:53 UTC (permalink / raw)
To: devel
On Mon, Jan 22, 2001 at 11:46:53AM +0300, Rider wrote:
> Гсопода, PHP вообще не работоспособен в Сизифе.
> Во вском случае модулей работы с базами я в нем не увидел. ;-(
Там лежит обрубок от MandrakeSoft-версии. Я сейчас собираю нашу
версию и опубликую ее как только сведу два дерева в Apache --
наше с Михаилом для Russian Apache и вчерашние обновления в Apache
в Cooker.
--
Sincerely yours, Alexander Bokovoy
The Midgard Project | www.midgard-project.org | Aurora R&D team
Minsk Linux Users Group | www.minsk-lug.net | www.aurora-linux.com
IPLabs Linux Team | linux.iplabs.ru | Architecte Open Source
-- "Trust me. I know what I'm doing."
-- Sledge Hammer
_______________________________________________
Devel mailing list
Devel@linux.iplabs.ru
http://www.logic.ru/mailman/listinfo/devel
^ permalink raw reply [flat|nested] 32+ messages in thread
* Re: [devel] php
2001-01-22 8:53 ` Alexander Bokovoy
@ 2001-01-22 9:06 ` Rider
2001-01-22 9:10 ` Alexander Bokovoy
2001-01-22 9:22 ` Dmitry V. Levin
0 siblings, 2 replies; 32+ messages in thread
From: Rider @ 2001-01-22 9:06 UTC (permalink / raw)
To: devel
Alexander Bokovoy wrote:
>
> On Mon, Jan 22, 2001 at 11:46:53AM +0300, Rider wrote:
> > Гсопода, PHP вообще не работоспособен в Сизифе.
> > Во вском случае модулей работы с базами я в нем не увидел. ;-(
> Там лежит обрубок от MandrakeSoft-версии. Я сейчас собираю нашу
> версию и опубликую ее как только сведу два дерева в Apache --
> наше с Михаилом для Russian Apache и вчерашние обновления в Apache
> в Cooker.
Пожелание можно?
Использовать в PHP GD с поддержкой GIF'а,
MySQL с русской сортировкой.
В php необходимые модули мне лично: XML, curl (с openssl), GD, DOM XML,
gettext, orbit, swf, sockets, sysvshm, openssl.
Ну естественно интерфейсы к базам данных.
Я очень жду этой сборки PHP... мне проект надо заканчивать .. ;-)
Rgds
Anton
_______________________________________________
Devel mailing list
Devel@linux.iplabs.ru
http://www.logic.ru/mailman/listinfo/devel
^ permalink raw reply [flat|nested] 32+ messages in thread
* Re: [devel] php
2001-01-22 9:06 ` Rider
@ 2001-01-22 9:10 ` Alexander Bokovoy
2001-01-22 9:19 ` Rider
2001-01-22 9:22 ` Dmitry V. Levin
1 sibling, 1 reply; 32+ messages in thread
From: Alexander Bokovoy @ 2001-01-22 9:10 UTC (permalink / raw)
To: devel
On Mon, Jan 22, 2001 at 12:06:28PM +0300, Rider wrote:
> Alexander Bokovoy wrote:
> >
> > On Mon, Jan 22, 2001 at 11:46:53AM +0300, Rider wrote:
> > > Гсопода, PHP вообще не работоспособен в Сизифе.
> > > Во вском случае модулей работы с базами я в нем не увидел. ;-(
> > Там лежит обрубок от MandrakeSoft-версии. Я сейчас собираю нашу
> > версию и опубликую ее как только сведу два дерева в Apache --
> > наше с Михаилом для Russian Apache и вчерашние обновления в Apache
> > в Cooker.
>
> Пожелание можно?
>
> Использовать в PHP GD с поддержкой GIF'а,
Вот этого обещать не могу -- ты же знаешь наше отношение к лицензиям.
Кстати, а не легче ли проект на png перевести?
> MySQL с русской сортировкой.
MySQL из Сизифа это обеспечивает, просто нужно ключ в кофиге выставить
для нужной кодировки.
> В php необходимые модули мне лично: XML, curl (с openssl), GD, DOM XML,
> gettext, orbit, swf, sockets, sysvshm, openssl.
>
> Ну естественно интерфейсы к базам данных.
>
> Я очень жду этой сборки PHP... мне проект надо заканчивать .. ;-)
:-)
--
Sincerely yours, Alexander Bokovoy
The Midgard Project | www.midgard-project.org | Aurora R&D team
Minsk Linux Users Group | www.minsk-lug.net | www.aurora-linux.com
IPLabs Linux Team | linux.iplabs.ru | Architecte Open Source
-- "Trust me. I know what I'm doing."
-- Sledge Hammer
_______________________________________________
Devel mailing list
Devel@linux.iplabs.ru
http://www.logic.ru/mailman/listinfo/devel
^ permalink raw reply [flat|nested] 32+ messages in thread
* Re: [devel] php
2001-01-22 9:10 ` Alexander Bokovoy
@ 2001-01-22 9:19 ` Rider
2001-01-22 9:46 ` Alexander Bokovoy
2001-01-22 9:47 ` Dmitry V. Levin
0 siblings, 2 replies; 32+ messages in thread
From: Rider @ 2001-01-22 9:19 UTC (permalink / raw)
To: devel
Alexander Bokovoy wrote:
>
> On Mon, Jan 22, 2001 at 12:06:28PM +0300, Rider wrote:
> > Alexander Bokovoy wrote:
> > >
> > > On Mon, Jan 22, 2001 at 11:46:53AM +0300, Rider wrote:
> > > > Гсопода, PHP вообще не работоспособен в Сизифе.
> > > > Во вском случае модулей работы с базами я в нем не увидел. ;-(
> > > Там лежит обрубок от MandrakeSoft-версии. Я сейчас собираю нашу
> > > версию и опубликую ее как только сведу два дерева в Apache --
> > > наше с Михаилом для Russian Apache и вчерашние обновления в Apache
> > > в Cooker.
> >
> > Пожелание можно?
> >
> > Использовать в PHP GD с поддержкой GIF'а,
> Вот этого обещать не могу -- ты же знаешь наше отношение к лицензиям.
> Кстати, а не легче ли проект на png перевести?
На png я могу перевести.. но не забывай, что я сейчас работаю в
spylog.ru ;-) а он планирует перейти на наш дистрибутив (хорошая
тестовая площадка).
А там php генерит только гифы.. и так - в сотне организаций.
Да в принипе практически везде используется эта реализация PHP.
Варианта два - добавить gdlib 1.3.x или наложить патч на gd-1.8.3 для
поддержки gif'ов ;-(
>
> > MySQL с русской сортировкой.
> MySQL из Сизифа это обеспечивает, просто нужно ключ в кофиге выставить
> для нужной кодировки.
>
> > В php необходимые модули мне лично: XML, curl (с openssl), GD, DOM XML,
> > gettext, orbit, swf, sockets, sysvshm, openssl.
> >
> > Ну естественно интерфейсы к базам данных.
> >
> > Я очень жду этой сборки PHP... мне проект надо заканчивать .. ;-)
> :-)
> --
Rgds
Anton
_______________________________________________
Devel mailing list
Devel@linux.iplabs.ru
http://www.logic.ru/mailman/listinfo/devel
^ permalink raw reply [flat|nested] 32+ messages in thread
* Re: [devel] php
2001-01-22 9:06 ` Rider
2001-01-22 9:10 ` Alexander Bokovoy
@ 2001-01-22 9:22 ` Dmitry V. Levin
2001-01-22 9:30 ` Rider
1 sibling, 1 reply; 32+ messages in thread
From: Dmitry V. Levin @ 2001-01-22 9:22 UTC (permalink / raw)
To: devel
[-- Attachment #1: Type: text/plain, Size: 998 bytes --]
On Mon, Jan 22, 2001 at 12:06:28PM +0300, Rider wrote:
> > > Гсопода, PHP вообще не работоспособен в Сизифе.
> > > Во вском случае модулей работы с базами я в нем не увидел. ;-(
> > Там лежит обрубок от MandrakeSoft-версии. Я сейчас собираю нашу
> > версию и опубликую ее как только сведу два дерева в Apache --
> > наше с Михаилом для Russian Apache и вчерашние обновления в Apache
> > в Cooker.
>
> Пожелание можно?
>
> Использовать в PHP GD с поддержкой GIF'а,
А это (поддержка gif) зачем? Я собрал libgd без нее (да ее там больше
и нет).
Regards,
Dmitry
+-------------------------------------------------------------------------+
Dmitry V. Levin mailto://ldv@fandra.org
Software Engineer PGP pubkey http://www.fandra.org/users/ldv/pgpkeys.html
IPLabs Linux Team http://linux.iplabs.ru
Fandra Project http://www.fandra.org
+-------------------------------------------------------------------------+
UNIX is user friendly. It's just very selective about who its friends are.
[-- Attachment #2: Type: application/pgp-signature, Size: 232 bytes --]
^ permalink raw reply [flat|nested] 32+ messages in thread
* Re: [devel] php
2001-01-22 9:22 ` Dmitry V. Levin
@ 2001-01-22 9:30 ` Rider
2001-01-22 9:47 ` Alexander Bokovoy
0 siblings, 1 reply; 32+ messages in thread
From: Rider @ 2001-01-22 9:30 UTC (permalink / raw)
To: devel
"Dmitry V. Levin" wrote:
>
> On Mon, Jan 22, 2001 at 12:06:28PM +0300, Rider wrote:
> > > > Гсопода, PHP вообще не работоспособен в Сизифе.
> > > > Во вском случае модулей работы с базами я в нем не увидел. ;-(
> > > Там лежит обрубок от MandrakeSoft-версии. Я сейчас собираю нашу
> > > версию и опубликую ее как только сведу два дерева в Apache --
> > > наше с Михаилом для Russian Apache и вчерашние обновления в Apache
> > > в Cooker.
> >
> > Пожелание можно?
> >
> > Использовать в PHP GD с поддержкой GIF'а,
>
> А это (поддержка gif) зачем? Я собрал libgd без нее (да ее там больше
> и нет).
Для того, что бы из PHP генерить GIF'ы на лету. Используется при
посмтроении графиков, счетчиков и другой ерунды.. 99% сайтов работают
именно так.
У меня есть патч, который добавляет поддержку GIF'ов в libgd 1.8.3.
Rgds
Anton
_______________________________________________
Devel mailing list
Devel@linux.iplabs.ru
http://www.logic.ru/mailman/listinfo/devel
^ permalink raw reply [flat|nested] 32+ messages in thread
* Re: [devel] php
2001-01-22 9:19 ` Rider
@ 2001-01-22 9:46 ` Alexander Bokovoy
2001-01-22 14:21 ` Aleksey Novodvorsky
2001-01-22 9:47 ` Dmitry V. Levin
1 sibling, 1 reply; 32+ messages in thread
From: Alexander Bokovoy @ 2001-01-22 9:46 UTC (permalink / raw)
To: devel
On Mon, Jan 22, 2001 at 12:19:33PM +0300, Rider wrote:
> Alexander Bokovoy wrote:
> >
> > On Mon, Jan 22, 2001 at 12:06:28PM +0300, Rider wrote:
> > > Alexander Bokovoy wrote:
> > > >
> > > > On Mon, Jan 22, 2001 at 11:46:53AM +0300, Rider wrote:
> > > > > Гсопода, PHP вообще не работоспособен в Сизифе.
> > > > > Во вском случае модулей работы с базами я в нем не увидел. ;-(
> > > > Там лежит обрубок от MandrakeSoft-версии. Я сейчас собираю нашу
> > > > версию и опубликую ее как только сведу два дерева в Apache --
> > > > наше с Михаилом для Russian Apache и вчерашние обновления в Apache
> > > > в Cooker.
> > >
> > > Пожелание можно?
> > >
> > > Использовать в PHP GD с поддержкой GIF'а,
> > Вот этого обещать не могу -- ты же знаешь наше отношение к лицензиям.
> > Кстати, а не легче ли проект на png перевести?
>
> На png я могу перевести.. но не забывай, что я сейчас работаю в
> spylog.ru ;-) а он планирует перейти на наш дистрибутив (хорошая
> тестовая площадка).
> А там php генерит только гифы.. и так - в сотне организаций.
> Да в принипе практически везде используется эта реализация PHP.
> Варианта два - добавить gdlib 1.3.x или наложить патч на gd-1.8.3 для
> поддержки gif'ов ;-(
Патч-то наложить можно, а вот распространять нельзя. Хорошо, соберу
два варианта, один -- на ftp, второй -- в дистрибутив.
--
Sincerely yours, Alexander Bokovoy
The Midgard Project | www.midgard-project.org | Aurora R&D team
Minsk Linux Users Group | www.minsk-lug.net | www.aurora-linux.com
IPLabs Linux Team | linux.iplabs.ru | Architecte Open Source
-- "Trust me. I know what I'm doing."
-- Sledge Hammer
_______________________________________________
Devel mailing list
Devel@linux.iplabs.ru
http://www.logic.ru/mailman/listinfo/devel
^ permalink raw reply [flat|nested] 32+ messages in thread
* Re: [devel] php
2001-01-22 9:19 ` Rider
2001-01-22 9:46 ` Alexander Bokovoy
@ 2001-01-22 9:47 ` Dmitry V. Levin
2001-01-22 14:19 ` Aleksey Novodvorsky
1 sibling, 1 reply; 32+ messages in thread
From: Dmitry V. Levin @ 2001-01-22 9:47 UTC (permalink / raw)
To: devel
[-- Attachment #1: Type: text/plain, Size: 1495 bytes --]
On Mon, Jan 22, 2001 at 12:19:33PM +0300, Rider wrote:
> > > > > Гсопода, PHP вообще не работоспособен в Сизифе.
> > > > > Во вском случае модулей работы с базами я в нем не увидел. ;-(
> > > > Там лежит обрубок от MandrakeSoft-версии. Я сейчас собираю нашу
> > > > версию и опубликую ее как только сведу два дерева в Apache --
> > > > наше с Михаилом для Russian Apache и вчерашние обновления в Apache
> > > > в Cooker.
> > >
> > > Пожелание можно?
> > >
> > > Использовать в PHP GD с поддержкой GIF'а,
> > Вот этого обещать не могу -- ты же знаешь наше отношение к лицензиям.
> > Кстати, а не легче ли проект на png перевести?
>
> На png я могу перевести.. но не забывай, что я сейчас работаю в
> spylog.ru ;-) а он планирует перейти на наш дистрибутив (хорошая
> тестовая площадка).
> А там php генерит только гифы.. и так - в сотне организаций.
> Да в принипе практически везде используется эта реализация PHP.
> Варианта два - добавить gdlib 1.3.x или наложить патч на gd-1.8.3 для
> поддержки gif'ов ;-(
Кто будет делать этот патч? ;)
Regards,
Dmitry
+-------------------------------------------------------------------------+
Dmitry V. Levin mailto://ldv@fandra.org
Software Engineer PGP pubkey http://www.fandra.org/users/ldv/pgpkeys.html
IPLabs Linux Team http://linux.iplabs.ru
Fandra Project http://www.fandra.org
+-------------------------------------------------------------------------+
UNIX is user friendly. It's just very selective about who its friends are.
[-- Attachment #2: Type: application/pgp-signature, Size: 232 bytes --]
^ permalink raw reply [flat|nested] 32+ messages in thread
* Re: [devel] php
2001-01-22 9:30 ` Rider
@ 2001-01-22 9:47 ` Alexander Bokovoy
0 siblings, 0 replies; 32+ messages in thread
From: Alexander Bokovoy @ 2001-01-22 9:47 UTC (permalink / raw)
To: devel
On Mon, Jan 22, 2001 at 12:30:29PM +0300, Rider wrote:
> "Dmitry V. Levin" wrote:
> >
> > On Mon, Jan 22, 2001 at 12:06:28PM +0300, Rider wrote:
> > > > > Гсопода, PHP вообще не работоспособен в Сизифе.
> > > > > Во вском случае модулей работы с базами я в нем не увидел. ;-(
> > > > Там лежит обрубок от MandrakeSoft-версии. Я сейчас собираю нашу
> > > > версию и опубликую ее как только сведу два дерева в Apache --
> > > > наше с Михаилом для Russian Apache и вчерашние обновления в Apache
> > > > в Cooker.
> > >
> > > Пожелание можно?
> > >
> > > Использовать в PHP GD с поддержкой GIF'а,
> >
> > А это (поддержка gif) зачем? Я собрал libgd без нее (да ее там больше
> > и нет).
>
> Для того, что бы из PHP генерить GIF'ы на лету. Используется при
> посмтроении графиков, счетчиков и другой ерунды.. 99% сайтов работают
> именно так.
>
> У меня есть патч, который добавляет поддержку GIF'ов в libgd 1.8.3.
Кидай его в меня. Буду умножать сущность -- libgd и libgdgif.
--
Sincerely yours, Alexander Bokovoy
The Midgard Project | www.midgard-project.org | Aurora R&D team
Minsk Linux Users Group | www.minsk-lug.net | www.aurora-linux.com
IPLabs Linux Team | linux.iplabs.ru | Architecte Open Source
-- "Trust me. I know what I'm doing."
-- Sledge Hammer
_______________________________________________
Devel mailing list
Devel@linux.iplabs.ru
http://www.logic.ru/mailman/listinfo/devel
^ permalink raw reply [flat|nested] 32+ messages in thread
* Re: [devel] php
2001-01-22 14:21 ` Aleksey Novodvorsky
@ 2001-01-22 9:58 ` Rider
2001-01-22 10:06 ` Dmitry V. Levin
2001-01-22 10:09 ` Alexander Bokovoy
0 siblings, 2 replies; 32+ messages in thread
From: Rider @ 2001-01-22 9:58 UTC (permalink / raw)
To: devel
Aleksey Novodvorsky wrote:
>
> Alexander Bokovoy wrote:
> >
> > On Mon, Jan 22, 2001 at 12:19:33PM +0300, Rider wrote:
> > > Alexander Bokovoy wrote:
> > > >
> > > > On Mon, Jan 22, 2001 at 12:06:28PM +0300, Rider wrote:
> > > > > Alexander Bokovoy wrote:
> > > > > >
> > > > > > On Mon, Jan 22, 2001 at 11:46:53AM +0300, Rider wrote:
> > > > > > > Гсопода, PHP вообще не работоспособен в Сизифе.
> > > > > > > Во вском случае модулей работы с базами я в нем не увидел. ;-(
> > > > > > Там лежит обрубок от MandrakeSoft-версии. Я сейчас собираю нашу
> > > > > > версию и опубликую ее как только сведу два дерева в Apache --
> > > > > > наше с Михаилом для Russian Apache и вчерашние обновления в Apache
> > > > > > в Cooker.
> > > > >
> > > > > Пожелание можно?
> > > > >
> > > > > Использовать в PHP GD с поддержкой GIF'а,
> > > > Вот этого обещать не могу -- ты же знаешь наше отношение к лицензиям.
> > > > Кстати, а не легче ли проект на png перевести?
> > >
> > > На png я могу перевести.. но не забывай, что я сейчас работаю в
> > > spylog.ru ;-) а он планирует перейти на наш дистрибутив (хорошая
> > > тестовая площадка).
> > > А там php генерит только гифы.. и так - в сотне организаций.
> > > Да в принипе практически везде используется эта реализация PHP.
> > > Варианта два - добавить gdlib 1.3.x или наложить патч на gd-1.8.3 для
> > > поддержки gif'ов ;-(
> > Патч-то наложить можно, а вот распространять нельзя. Хорошо, соберу
> > два варианта, один -- на ftp, второй -- в дистрибутив.
> Хм. Точно нельзя? Тогда -- на фиг! Вариант для ftp можно сделать позже.
> Rgrds, AEN
Почему нельзя? рапространяется же везде GD старой версии... (1.3.x)
Во всех дистрибутивах есть..
Кстати, GD линкуется статически в основной своей массе (хотя опять же у
меня есть патч ;-)
Так что при смене библиотеки скорее всего юзверям придется пересобирать
все? что на нее завязано, включая PHP.
Как быть - не знаю.
Rgds
Anton
_______________________________________________
Devel mailing list
Devel@linux.iplabs.ru
http://www.logic.ru/mailman/listinfo/devel
^ permalink raw reply [flat|nested] 32+ messages in thread
* Re: [devel] php
2001-01-22 9:58 ` Rider
@ 2001-01-22 10:06 ` Dmitry V. Levin
2001-01-22 14:37 ` Aleksey Novodvorsky
2001-01-22 10:09 ` Alexander Bokovoy
1 sibling, 1 reply; 32+ messages in thread
From: Dmitry V. Levin @ 2001-01-22 10:06 UTC (permalink / raw)
To: devel
[-- Attachment #1: Type: text/plain, Size: 2319 bytes --]
On Mon, Jan 22, 2001 at 12:58:05PM +0300, Rider wrote:
> > > > > > > > Гсопода, PHP вообще не работоспособен в Сизифе.
> > > > > > > > Во вском случае модулей работы с базами я в нем не увидел. ;-(
> > > > > > > Там лежит обрубок от MandrakeSoft-версии. Я сейчас собираю нашу
> > > > > > > версию и опубликую ее как только сведу два дерева в Apache --
> > > > > > > наше с Михаилом для Russian Apache и вчерашние обновления в Apache
> > > > > > > в Cooker.
> > > > > >
> > > > > > Пожелание можно?
> > > > > >
> > > > > > Использовать в PHP GD с поддержкой GIF'а,
> > > > > Вот этого обещать не могу -- ты же знаешь наше отношение к лицензиям.
> > > > > Кстати, а не легче ли проект на png перевести?
> > > >
> > > > На png я могу перевести.. но не забывай, что я сейчас работаю в
> > > > spylog.ru ;-) а он планирует перейти на наш дистрибутив (хорошая
> > > > тестовая площадка).
> > > > А там php генерит только гифы.. и так - в сотне организаций.
> > > > Да в принипе практически везде используется эта реализация PHP.
> > > > Варианта два - добавить gdlib 1.3.x или наложить патч на gd-1.8.3 для
> > > > поддержки gif'ов ;-(
> > > Патч-то наложить можно, а вот распространять нельзя. Хорошо, соберу
> > > два варианта, один -- на ftp, второй -- в дистрибутив.
> > Хм. Точно нельзя? Тогда -- на фиг! Вариант для ftp можно сделать позже.
> > Rgrds, AEN
>
> Почему нельзя? рапространяется же везде GD старой версии... (1.3.x)
> Во всех дистрибутивах есть..
Примеры можешь привести?
> Кстати, GD линкуется статически в основной своей массе (хотя опять же у
> меня есть патч ;-)
Везде, где встречаю, исправляю на динамическую линковку.
Например, у меня дома:
$ rpm -q --whatrequires libgd.so.1 |wc -l
7
> Так что при смене библиотеки скорее всего юзверям придется пересобирать
> все? что на нее завязано, включая PHP.
Лучше исправить на динамическую линковку.
Regards,
Dmitry
+-------------------------------------------------------------------------+
Dmitry V. Levin mailto://ldv@fandra.org
Software Engineer PGP pubkey http://www.fandra.org/users/ldv/pgpkeys.html
IPLabs Linux Team http://linux.iplabs.ru
Fandra Project http://www.fandra.org
+-------------------------------------------------------------------------+
UNIX is user friendly. It's just very selective about who its friends are.
[-- Attachment #2: Type: application/pgp-signature, Size: 232 bytes --]
^ permalink raw reply [flat|nested] 32+ messages in thread
* Re: [devel] php
2001-01-22 9:58 ` Rider
2001-01-22 10:06 ` Dmitry V. Levin
@ 2001-01-22 10:09 ` Alexander Bokovoy
2001-01-22 10:18 ` Rider
1 sibling, 1 reply; 32+ messages in thread
From: Alexander Bokovoy @ 2001-01-22 10:09 UTC (permalink / raw)
To: devel
On Mon, Jan 22, 2001 at 12:58:05PM +0300, Rider wrote:
> Aleksey Novodvorsky wrote:
> >
> > > > Да в принипе практически везде используется эта реализация PHP.
> > > > Варианта два - добавить gdlib 1.3.x или наложить патч на gd-1.8.3 для
> > > > поддержки gif'ов ;-(
> > > Патч-то наложить можно, а вот распространять нельзя. Хорошо, соберу
> > > два варианта, один -- на ftp, второй -- в дистрибутив.
> > Хм. Точно нельзя? Тогда -- на фиг! Вариант для ftp можно сделать позже.
> > Rgrds, AEN
>
> Почему нельзя? рапространяется же везде GD старой версии... (1.3.x)
Там генерируется не LZW-compressed GIF. Вот его можно распространять, а
Unisys держит патент на LZW компрессию.
> Во всех дистрибутивах есть..
Во всех _старых_ дистрибутивах есть. Одно дело использовать самому, другое --
судиться с Unisys. Впрочем, можешь портировать код из 1.3.x, который
делает несжатые GIFы. Этот код спокойно можно включать в дистрибутив безо
всяких ограничений.
> Кстати, GD линкуется статически в основной своей массе (хотя опять же у
> меня есть патч ;-)
Вообще-то GD поставляется в двух вариантах - в статике (devel) и
динамике (основной пакет).
> Так что при смене библиотеки скорее всего юзверям придется пересобирать
> все? что на нее завязано, включая PHP.
Если собирали со статикой, то ничего пересобирать не придется, если с динамикой --
то подхватится на лету.
> Как быть - не знаю.
"Огласите весь патч!" (c) смешанный.
--
Sincerely yours, Alexander Bokovoy
The Midgard Project | www.midgard-project.org | Aurora R&D team
Minsk Linux Users Group | www.minsk-lug.net | www.aurora-linux.com
IPLabs Linux Team | linux.iplabs.ru | Architecte Open Source
-- "Trust me. I know what I'm doing."
-- Sledge Hammer
_______________________________________________
Devel mailing list
Devel@linux.iplabs.ru
http://www.logic.ru/mailman/listinfo/devel
^ permalink raw reply [flat|nested] 32+ messages in thread
* Re: [devel] php
2001-01-22 14:37 ` Aleksey Novodvorsky
@ 2001-01-22 10:14 ` Rider
2001-01-22 12:21 ` Re[2]: " Igor Vodennikov
1 sibling, 0 replies; 32+ messages in thread
From: Rider @ 2001-01-22 10:14 UTC (permalink / raw)
To: devel
Aleksey Novodvorsky wrote:
>
> "Dmitry V. Levin" wrote:
> >
>
> > >
> > > Почему нельзя? рапространяется же везде GD старой версии... (1.3.x)
> > > Во всех дистрибутивах есть..
> >
> > Примеры можешь привести?
> >
> Если можно, -- отличные от SuSE.
Сейчас посмотрел redhat - у них нет gd старой версии ;-(
Ну значит все большой облом..
интересно, а как решают подобные проблемы с лицензией авторы GIMP'а,
ImageMagic'а и других редакторов - ведь все они прекрасно работают с GIF
форматом. Несмотря на лицензионные соглашения.
Просто эта проблема действительно актуальна - без GIF'ов сейчас еще нет
возможности работать в WEB.
И не будет примерно пару лет. (старые браузеры не поддерживают PNG)
А можно ли отправить письмо кому-то с просьбой о включении?
Rgds
Anton
_______________________________________________
Devel mailing list
Devel@linux.iplabs.ru
http://www.logic.ru/mailman/listinfo/devel
^ permalink raw reply [flat|nested] 32+ messages in thread
* Re: [devel] php
2001-01-22 10:09 ` Alexander Bokovoy
@ 2001-01-22 10:18 ` Rider
2001-01-22 10:24 ` Alexander Bokovoy
0 siblings, 1 reply; 32+ messages in thread
From: Rider @ 2001-01-22 10:18 UTC (permalink / raw)
To: devel
Alexander Bokovoy wrote:
>
> On Mon, Jan 22, 2001 at 12:58:05PM +0300, Rider wrote:
> > Aleksey Novodvorsky wrote:
> > >
> > > > > Да в принипе практически везде используется эта реализация PHP.
> > > > > Варианта два - добавить gdlib 1.3.x или наложить патч на gd-1.8.3 для
> > > > > поддержки gif'ов ;-(
> > > > Патч-то наложить можно, а вот распространять нельзя. Хорошо, соберу
> > > > два варианта, один -- на ftp, второй -- в дистрибутив.
> > > Хм. Точно нельзя? Тогда -- на фиг! Вариант для ftp можно сделать позже.
> > > Rgrds, AEN
> >
> > Почему нельзя? рапространяется же везде GD старой версии... (1.3.x)
> Там генерируется не LZW-compressed GIF. Вот его можно распространять, а
> Unisys держит патент на LZW компрессию.
>
> > Во всех дистрибутивах есть..
> Во всех _старых_ дистрибутивах есть. Одно дело использовать самому, другое --
> судиться с Unisys. Впрочем, можешь портировать код из 1.3.x, который
> делает несжатые GIFы. Этот код спокойно можно включать в дистрибутив безо
> всяких ограничений.
>
> > Кстати, GD линкуется статически в основной своей массе (хотя опять же у
> > меня есть патч ;-)
> Вообще-то GD поставляется в двух вариантах - в статике (devel) и
> динамике (основной пакет).
>
> > Так что при смене библиотеки скорее всего юзверям придется пересобирать
> > все? что на нее завязано, включая PHP.
> Если собирали со статикой, то ничего пересобирать не придется, если с динамикой --
> то подхватится на лету.
>
> > Как быть - не знаю.
> "Огласите весь патч!" (c) смешанный.
Оглашаю:
diff -uNr gd-1.8.3.orig/Makefile gd-1.8.3/Makefile
--- gd-1.8.3.orig/Makefile Sat Jun 3 23:26:12 2000
+++ gd-1.8.3/Makefile Fri Oct 20 17:47:51 2000
@@ -131,12 +131,12 @@
libgd.a: gd.o gd_gd.o gd_gd2.o gd_io.o gd_io_dp.o gd_io_file.o gd_ss.o
\
gd_io_ss.o gd_png.o gd_jpeg.o gdxpm.o gdfontt.o gdfonts.o
gdfontmb.o gdfontl.o \
- gdfontg.o gdtables.o gdttf.o gdcache.o gdkanji.o wbmp.o
gd_wbmp.o \
+ gdfontg.o gdtables.o gdttf.o gdcache.o gdkanji.o wbmp.o
gd_wbmp.o gd_gif.o\
gd.h gdfontt.h gdfonts.h gdfontmb.h gdfontl.h gdfontg.h
rm -f libgd.a
$(AR) rc libgd.a gd.o gd_gd.o gd_gd2.o gd_io.o gd_io_dp.o \
gd_io_file.o gd_ss.o gd_io_ss.o gd_png.o gd_jpeg.o
gdxpm.o \
- gdfontt.o gdfonts.o gdfontmb.o gdfontl.o gdfontg.o \
+ gdfontt.o gdfonts.o gdfontmb.o gdfontl.o gdfontg.o
gd_gif.o\
gdtables.o gdttf.o gdcache.o gdkanji.o wbmp.o gd_wbmp.o
-ranlib libgd.a
diff -uNr gd-1.8.3.orig/gd.h gd-1.8.3/gd.h
--- gd-1.8.3.orig/gd.h Sat Jun 3 23:26:12 2000
+++ gd-1.8.3/gd.h Fri Oct 20 17:47:51 2000
@@ -85,7 +85,7 @@
/* NOT the same as the transparent color index.
This is used in line styles only. */
#define gdTransparent (-6)
-
+
/* Functions to manipulate images. */
gdImagePtr gdImageCreate(int sx, int sy);
@@ -102,6 +102,8 @@
void *context;
} gdSource, *gdSourcePtr;
+#include "gd_gif.h"
+
gdImagePtr gdImageCreateFromPngSource(gdSourcePtr in);
gdImagePtr gdImageCreateFromGd(FILE *in);
@@ -114,7 +116,7 @@
gdImagePtr gdImageCreateFromGd2PartCtx(gdIOCtxPtr in, int srcx, int
srcy, int w, int h);
gdImagePtr gdImageCreateFromXbm(FILE *fd);
-
+
void gdImageDestroy(gdImagePtr im);
void gdImageSetPixel(gdImagePtr im, int x, int y, int color);
int gdImageGetPixel(gdImagePtr im, int x, int y);
@@ -243,7 +245,7 @@
#define GD_CMP_TRANSPARENT 32 /* Transparent colour */
#define GD_CMP_BACKGROUND 64 /* Background colour */
#define GD_CMP_INTERLACE 128 /* Interlaced setting */
-
+
#ifdef __cplusplus
}
#endif
diff -uNr gd-1.8.3.orig/gd_gif.c gd-1.8.3/gd_gif.c
--- gd-1.8.3.orig/gd_gif.c Thu Jan 1 03:00:00 1970
+++ gd-1.8.3/gd_gif.c Fri Oct 20 17:49:19 2000
@@ -0,0 +1,1235 @@
+#include "mtables.c"
+#include "gd.h"
+/* Code drawn from ppmtogif.c, from the pbmplus package
+**
+** Based on GIFENCOD by David Rowley <mgardi@watdscu.waterloo.edu>. A
+** Lempel-Zim compression based on "compress".
+**
+** Modified by Marcel Wijkstra <wijkstra@fwi.uva.nl>
+**
+** Copyright (C) 1989 by Jef Poskanzer.
+**
+** Permission to use, copy, modify, and distribute this software and
its
+** documentation for any purpose and without fee is hereby granted,
provided
+** that the above copyright notice appear in all copies and that both
that
+** copyright notice and this permission notice appear in supporting
+** documentation. This software is provided "as is" without express or
+** implied warranty.
+**
+** The Graphics Interchange Format(c) is the Copyright property of
+** CompuServe Incorporated. GIF(sm) is a Service Mark property of
+** CompuServe Incorporated.
+*/
+
+/*
+ * a code_int must be able to hold 2**GIFBITS values of type int, and
also -1
+ */
+typedef int code_int;
+
+#ifdef SIGNED_COMPARE_SLOW
+typedef unsigned long int count_int;
+typedef unsigned short int count_short;
+#else /*SIGNED_COMPARE_SLOW*/
+typedef long int count_int;
+#endif /*SIGNED_COMPARE_SLOW*/
+
+static int colorstobpp(int colors);
+static void BumpPixel (void);
+static int GIFNextPixel (gdImagePtr im);
+static void GIFEncode (FILE *fp, int GWidth, int GHeight, int
GInterlace, int Background, int Transparent, int BitsPerPixel, int *Red,
int *Green, int *Blue, gdImagePtr im);
+static void Putwordinfile (int w, FILE *fp);
+static void gif_compress (int init_bits, FILE *outfile, gdImagePtr im);
+static void output (code_int code);
+static void cl_block (void);
+static void cl_hash (register count_int hsize);
+static void char_init (void);
+static void char_out (int c);
+static void flush_char (void);
+/* Allows for reuse */
+static void init_statics(void);
+
+void gdImageGif(gdImagePtr im, FILE *out)
+{
+ int interlace, transparent, BitsPerPixel;
+ interlace = im->interlace;
+ transparent = im->transparent;
+
+ BitsPerPixel = colorstobpp(im->colorsTotal);
+ /* Clear any old values in statics strewn through the GIF code
*/
+ init_statics();
+ /* All set, let's do it. */
+ GIFEncode(
+ out, im->sx, im->sy, interlace, 0, transparent,
BitsPerPixel,
+ im->red, im->green, im->blue, im);
+}
+
+static int
+colorstobpp(int colors)
+{
+ int bpp = 0;
+
+ if ( colors <= 2 )
+ bpp = 1;
+ else if ( colors <= 4 )
+ bpp = 2;
+ else if ( colors <= 8 )
+ bpp = 3;
+ else if ( colors <= 16 )
+ bpp = 4;
+ else if ( colors <= 32 )
+ bpp = 5;
+ else if ( colors <= 64 )
+ bpp = 6;
+ else if ( colors <= 128 )
+ bpp = 7;
+ else if ( colors <= 256 )
+ bpp = 8;
+ return bpp;
+ }
+
+/*****************************************************************************
+ *
+ * GIFENCODE.C - GIF Image compression interface
+ *
+ * GIFEncode( FName, GHeight, GWidth, GInterlace, Background,
Transparent,
+ * BitsPerPixel, Red, Green, Blue, gdImagePtr )
+ *
+
*****************************************************************************/
+
+#define TRUE 1
+#define FALSE 0
+
+static int Width, Height;
+static int curx, cury;
+static long CountDown;
+static int Pass = 0;
+static int Interlace;
+
+/*
+ * Bump the 'curx' and 'cury' to point to the next pixel
+ */
+static void
+BumpPixel(void)
+{
+ /*
+ * Bump the current X position
+ */
+ ++curx;
+
+ /*
+ * If we are at the end of a scan line, set curx back to the
beginning
+ * If we are interlaced, bump the cury to the appropriate spot,
+ * otherwise, just increment it.
+ */
+ if( curx == Width ) {
+ curx = 0;
+
+ if( !Interlace )
+ ++cury;
+ else {
+ switch( Pass ) {
+
+ case 0:
+ cury += 8;
+ if( cury >= Height ) {
+ ++Pass;
+ cury = 4;
+ }
+ break;
+
+ case 1:
+ cury += 8;
+ if( cury >= Height ) {
+ ++Pass;
+ cury = 2;
+ }
+ break;
+
+ case 2:
+ cury += 4;
+ if( cury >= Height ) {
+ ++Pass;
+ cury = 1;
+ }
+ break;
+
+ case 3:
+ cury += 2;
+ break;
+ }
+ }
+ }
+}
+
+/*
+ * Return the next pixel from the image
+ */
+static int
+GIFNextPixel(gdImagePtr im)
+{
+ int r;
+
+ if( CountDown == 0 )
+ return EOF;
+
+ --CountDown;
+
+ r = gdImageGetPixel(im, curx, cury);
+
+ BumpPixel();
+
+ return r;
+}
+
+/* public */
+
+static void
+GIFEncode(FILE *fp, int GWidth, int GHeight, int GInterlace, int
Background, int Transparent, int BitsPerPixel, int *Red, int *Green, int
*Blue, gdImagePtr im)
+{
+ int B;
+ int RWidth, RHeight;
+ int LeftOfs, TopOfs;
+ int Resolution;
+ int ColorMapSize;
+ int InitCodeSize;
+ int i;
+
+ Interlace = GInterlace;
+
+ ColorMapSize = 1 << BitsPerPixel;
+
+ RWidth = Width = GWidth;
+ RHeight = Height = GHeight;
+ LeftOfs = TopOfs = 0;
+
+ Resolution = BitsPerPixel;
+
+ /*
+ * Calculate number of bits we are expecting
+ */
+ CountDown = (long)Width * (long)Height;
+
+ /*
+ * Indicate which pass we are on (if interlace)
+ */
+ Pass = 0;
+
+ /*
+ * The initial code size
+ */
+ if( BitsPerPixel <= 1 )
+ InitCodeSize = 2;
+ else
+ InitCodeSize = BitsPerPixel;
+
+ /*
+ * Set up the current x and y position
+ */
+ curx = cury = 0;
+
+ /*
+ * Write the Magic header
+ */
+ fwrite( Transparent < 0 ? "GIF87a" : "GIF89a", 1, 6, fp );
+
+ /*
+ * Write out the screen width and height
+ */
+ Putwordinfile( RWidth, fp );
+ Putwordinfile( RHeight, fp );
+
+ /*
+ * Indicate that there is a global colour map
+ */
+ B = 0x80; /* Yes, there is a color map */
+
+ /*
+ * OR in the resolution
+ */
+ B |= (Resolution - 1) << 5;
+
+ /*
+ * OR in the Bits per Pixel
+ */
+ B |= (BitsPerPixel - 1);
+
+ /*
+ * Write it out
+ */
+ fputc( B, fp );
+
+ /*
+ * Write out the Background colour
+ */
+ fputc( Background, fp );
+
+ /*
+ * Byte of 0's (future expansion)
+ */
+ fputc( 0, fp );
+
+ /*
+ * Write out the Global Colour Map
+ */
+ for( i=0; i<ColorMapSize; ++i ) {
+ fputc( Red[i], fp );
+ fputc( Green[i], fp );
+ fputc( Blue[i], fp );
+ }
+
+ /*
+ * Write out extension for transparent colour index, if
necessary.
+ */
+ if ( Transparent >= 0 ) {
+ fputc( '!', fp );
+ fputc( 0xf9, fp );
+ fputc( 4, fp );
+ fputc( 1, fp );
+ fputc( 0, fp );
+ fputc( 0, fp );
+ fputc( (unsigned char) Transparent, fp );
+ fputc( 0, fp );
+ }
+
+ /*
+ * Write an Image separator
+ */
+ fputc( ',', fp );
+
+ /*
+ * Write the Image header
+ */
+
+ Putwordinfile( LeftOfs, fp );
+ Putwordinfile( TopOfs, fp );
+ Putwordinfile( Width, fp );
+ Putwordinfile( Height, fp );
+
+ /*
+ * Write out whether or not the image is interlaced
+ */
+ if( Interlace )
+ fputc( 0x40, fp );
+ else
+ fputc( 0x00, fp );
+
+ /*
+ * Write out the initial code size
+ */
+ fputc( InitCodeSize, fp );
+
+ /*
+ * Go and actually compress the data
+ */
+ gif_compress( InitCodeSize+1, fp, im );
+
+ /*
+ * Write out a Zero-length packet (to end the series)
+ */
+ fputc( 0, fp );
+
+ /*
+ * Write the GIF file terminator
+ */
+ fputc( ';', fp );
+}
+
+/*
+ * Write out a word to the GIF file
+ */
+static void
+Putwordinfile(int w, FILE *fp)
+{
+ fputc( w & 0xff, fp );
+ fputc( (w / 256) & 0xff, fp );
+}
+
+
+/***************************************************************************
+ *
+ * GIFCOMPR.C - GIF Image compression routines
+ *
+ * Lempel-Ziv compression based on 'compress'. GIF modifications by
+ * David Rowley (mgardi@watdcsu.waterloo.edu)
+ *
+
***************************************************************************/
+
+/*
+ * General DEFINEs
+ */
+
+#define GIFBITS 12
+
+#define HSIZE 5003 /* 80% occupancy */
+
+#ifdef NO_UCHAR
+ typedef char char_type;
+#else /*NO_UCHAR*/
+ typedef unsigned char char_type;
+#endif /*NO_UCHAR*/
+
+/*
+ *
+ * GIF Image compression - modified 'compress'
+ *
+ * Based on: compress.c - File compression ala IEEE Computer, June
1984.
+ *
+ * By Authors: Spencer W. Thomas
(decvax!harpo!utah-cs!utah-gr!thomas)
+ * Jim McKie (decvax!mcvax!jim)
+ * Steve Davies (decvax!vax135!petsd!peora!srd)
+ * Ken Turkowski (decvax!decwrl!turtlevax!ken)
+ * James A. Woods (decvax!ihnp4!ames!jaw)
+ * Joe Orost (decvax!vax135!petsd!joe)
+ *
+ */
+#include <ctype.h>
+
+#define ARGVAL() (*++(*argv) || (--argc && *++argv))
+
+static int n_bits; /* number of bits/code */
+static int maxbits = GIFBITS; /* user settable max #
bits/code */
+static code_int maxcode; /* maximum code, given n_bits
*/
+static code_int maxmaxcode = (code_int)1 << GIFBITS; /* should NEVER
generate this code */
+#ifdef COMPATIBLE /* But wrong! */
+# define MAXCODE(n_bits) ((code_int) 1 << (n_bits) - 1)
+#else /*COMPATIBLE*/
+# define MAXCODE(n_bits) (((code_int) 1 << (n_bits)) - 1)
+#endif /*COMPATIBLE*/
+
+static count_int htab [HSIZE];
+static unsigned short codetab [HSIZE];
+#define HashTabOf(i) htab[i]
+#define CodeTabOf(i) codetab[i]
+
+static code_int hsize = HSIZE; /* for dynamic table
sizing */
+
+/*
+ * To save much memory, we overlay the table used by compress() with
those
+ * used by decompress(). The tab_prefix table is the same size and
type
+ * as the codetab. The tab_suffix table needs 2**GIFBITS characters.
We
+ * get this from the beginning of htab. The output stack uses the rest
+ * of htab, and contains characters. There is plenty of room for any
+ * possible stack (stack used to be 8000 characters).
+ */
+
+#define tab_prefixof(i) CodeTabOf(i)
+#define tab_suffixof(i) ((char_type*)(htab))[i]
+#define de_stack
((char_type*)&tab_suffixof((code_int)1<<GIFBITS))
+
+static code_int free_ent = 0; /* first unused entry */
+
+/*
+ * block compression parameters -- after all codes are used up,
+ * and compression rate changes, start over.
+ */
+static int clear_flg = 0;
+
+static int offset;
+static long int in_count = 1; /* length of input */
+static long int out_count = 0; /* # of codes output (for
debugging) */
+
+/*
+ * compress stdin to stdout
+ *
+ * Algorithm: use open addressing double hashing (no chaining) on the
+ * prefix code / next character combination. We do a variant of
Knuth's
+ * algorithm D (vol. 3, sec. 6.4) along with G. Knott's
relatively-prime
+ * secondary probe. Here, the modular division first probe is gives
way
+ * to a faster exclusive-or manipulation. Also do block compression
with
+ * an adaptive reset, whereby the code table is cleared when the
compression
+ * ratio decreases, but after the table fills. The variable-length
output
+ * codes are re-sized at this point, and a special CLEAR code is
generated
+ * for the decompressor. Late addition: construct the table according
to
+ * file size for noticeable speed improvement on small files. Please
direct
+ * questions about this implementation to ames!jaw.
+ */
+
+static int g_init_bits;
+static FILE* g_outfile;
+
+static int ClearCode;
+static int EOFCode;
+
+static void
+gif_compress(int init_bits, FILE *outfile, gdImagePtr im)
+{
+ register long fcode;
+ register code_int i /* = 0 */;
+ register int c;
+ register code_int ent;
+ register code_int disp;
+ register code_int hsize_reg;
+ register int hshift;
+
+ /*
+ * Set up the globals: g_init_bits - initial number of bits
+ * g_outfile - pointer to output file
+ */
+ g_init_bits = init_bits;
+ g_outfile = outfile;
+
+ /*
+ * Set up the necessary values
+ */
+ offset = 0;
+ out_count = 0;
+ clear_flg = 0;
+ in_count = 1;
+ maxcode = MAXCODE(n_bits = g_init_bits);
+
+ ClearCode = (1 << (init_bits - 1));
+ EOFCode = ClearCode + 1;
+ free_ent = ClearCode + 2;
+
+ char_init();
+
+ ent = GIFNextPixel( im );
+
+ hshift = 0;
+ for ( fcode = (long) hsize; fcode < 65536L; fcode *= 2L )
+ ++hshift;
+ hshift = 8 - hshift; /* set hash code range bound */
+
+ hsize_reg = hsize;
+ cl_hash( (count_int) hsize_reg); /* clear hash table */
+
+ output( (code_int)ClearCode );
+
+#ifdef SIGNED_COMPARE_SLOW
+ while ( (c = GIFNextPixel( im )) != (unsigned) EOF ) {
+#else /*SIGNED_COMPARE_SLOW*/
+ while ( (c = GIFNextPixel( im )) != EOF ) { /* } */
+#endif /*SIGNED_COMPARE_SLOW*/
+
+ ++in_count;
+
+ fcode = (long) (((long) c << maxbits) + ent);
+ i = (((code_int)c << hshift) ^ ent); /* xor hashing */
+
+ if ( HashTabOf (i) == fcode ) {
+ ent = CodeTabOf (i);
+ continue;
+ } else if ( (long)HashTabOf (i) < 0 ) /* empty slot */
+ goto nomatch;
+ disp = hsize_reg - i; /* secondary hash (after G.
Knott) */
+ if ( i == 0 )
+ disp = 1;
+probe:
+ if ( (i -= disp) < 0 )
+ i += hsize_reg;
+
+ if ( HashTabOf (i) == fcode ) {
+ ent = CodeTabOf (i);
+ continue;
+ }
+ if ( (long)HashTabOf (i) > 0 )
+ goto probe;
+nomatch:
+ output ( (code_int) ent );
+ ++out_count;
+ ent = c;
+#ifdef SIGNED_COMPARE_SLOW
+ if ( (unsigned) free_ent < (unsigned) maxmaxcode) {
+#else /*SIGNED_COMPARE_SLOW*/
+ if ( free_ent < maxmaxcode ) { /* } */
+#endif /*SIGNED_COMPARE_SLOW*/
+ CodeTabOf (i) = free_ent++; /* code -> hashtable */
+ HashTabOf (i) = fcode;
+ } else
+ cl_block();
+ }
+ /*
+ * Put out the final code.
+ */
+ output( (code_int)ent );
+ ++out_count;
+ output( (code_int) EOFCode );
+}
+
+/*****************************************************************
+ * TAG( output )
+ *
+ * Output the given code.
+ * Inputs:
+ * code: A n_bits-bit integer. If == -1, then EOF. This
assumes
+ * that n_bits =< (long)wordsize - 1.
+ * Outputs:
+ * Outputs code to the file.
+ * Assumptions:
+ * Chars are 8 bits long.
+ * Algorithm:
+ * Maintain a GIFBITS character long buffer (so that 8 codes will
+ * fit in it exactly). Use the VAX insv instruction to insert each
+ * code in turn. When the buffer fills up empty it and start over.
+ */
+
+static unsigned long cur_accum = 0;
+static int cur_bits = 0;
+
+static unsigned long masks[] = { 0x0000, 0x0001, 0x0003, 0x0007,
0x000F,
+ 0x001F, 0x003F, 0x007F, 0x00FF,
+ 0x01FF, 0x03FF, 0x07FF, 0x0FFF,
+ 0x1FFF, 0x3FFF, 0x7FFF, 0xFFFF };
+
+static void
+output(code_int code)
+{
+ cur_accum &= masks[ cur_bits ];
+
+ if( cur_bits > 0 )
+ cur_accum |= ((long)code << cur_bits);
+ else
+ cur_accum = code;
+
+ cur_bits += n_bits;
+
+ while( cur_bits >= 8 ) {
+ char_out( (unsigned int)(cur_accum & 0xff) );
+ cur_accum >>= 8;
+ cur_bits -= 8;
+ }
+
+ /*
+ * If the next entry is going to be too big for the code size,
+ * then increase it, if possible.
+ */
+ if ( free_ent > maxcode || clear_flg ) {
+
+ if( clear_flg ) {
+
+ maxcode = MAXCODE (n_bits = g_init_bits);
+ clear_flg = 0;
+
+ } else {
+
+ ++n_bits;
+ if ( n_bits == maxbits )
+ maxcode = maxmaxcode;
+ else
+ maxcode = MAXCODE(n_bits);
+ }
+ }
+
+ if( code == EOFCode ) {
+ /*
+ * At EOF, write the rest of the buffer.
+ */
+ while( cur_bits > 0 ) {
+ char_out( (unsigned int)(cur_accum & 0xff) );
+ cur_accum >>= 8;
+ cur_bits -= 8;
+ }
+
+ flush_char();
+
+ fflush( g_outfile );
+
+ if( ferror( g_outfile ) )
+ return;
+ }
+}
+
+/*
+ * Clear out the hash table
+ */
+static void
+cl_block (void) /* table clear for block compress */
+{
+
+ cl_hash ( (count_int) hsize );
+ free_ent = ClearCode + 2;
+ clear_flg = 1;
+
+ output( (code_int)ClearCode );
+}
+
+static void
+cl_hash(register count_int hsize) /* reset code table */
+
+{
+
+ register count_int *htab_p = htab+hsize;
+
+ register long i;
+ register long m1 = -1;
+
+ i = hsize - 16;
+ do { /* might use Sys V memset(3)
here */
+ *(htab_p-16) = m1;
+ *(htab_p-15) = m1;
+ *(htab_p-14) = m1;
+ *(htab_p-13) = m1;
+ *(htab_p-12) = m1;
+ *(htab_p-11) = m1;
+ *(htab_p-10) = m1;
+ *(htab_p-9) = m1;
+ *(htab_p-8) = m1;
+ *(htab_p-7) = m1;
+ *(htab_p-6) = m1;
+ *(htab_p-5) = m1;
+ *(htab_p-4) = m1;
+ *(htab_p-3) = m1;
+ *(htab_p-2) = m1;
+ *(htab_p-1) = m1;
+ htab_p -= 16;
+ } while ((i -= 16) >= 0);
+
+ for ( i += 16; i > 0; --i )
+ *--htab_p = m1;
+}
+
+/******************************************************************************
+ *
+ * GIF Specific routines
+ *
+
******************************************************************************/
+
+/*
+ * Number of characters so far in this 'packet'
+ */
+static int a_count;
+
+/*
+ * Set up the 'byte output' routine
+ */
+static void
+char_init(void)
+{
+ a_count = 0;
+}
+
+/*
+ * Define the storage for the packet accumulator
+ */
+static char accum[ 256 ];
+
+/*
+ * Add a character to the end of the current packet, and if it is 254
+ * characters, flush the packet to disk.
+ */
+static void
+char_out(int c)
+{
+ accum[ a_count++ ] = c;
+ if( a_count >= 254 )
+ flush_char();
+}
+
+/*
+ * Flush the packet to disk, and reset the accumulator
+ */
+static void
+flush_char(void)
+{
+ if( a_count > 0 ) {
+ fputc( a_count, g_outfile );
+ fwrite( accum, 1, a_count, g_outfile );
+ a_count = 0;
+ }
+}
+
+static void init_statics(void) {
+ /* Some of these are properly initialized later. What I'm doing
+ here is making sure code that depends on C's
initialization
+ of statics doesn't break when the code gets called more
+ than once. */
+ Width = 0;
+ Height = 0;
+ curx = 0;
+ cury = 0;
+ CountDown = 0;
+ Pass = 0;
+ Interlace = 0;
+ a_count = 0;
+ cur_accum = 0;
+ cur_bits = 0;
+ g_init_bits = 0;
+ g_outfile = 0;
+ ClearCode = 0;
+ EOFCode = 0;
+ free_ent = 0;
+ clear_flg = 0;
+ offset = 0;
+ in_count = 1;
+ out_count = 0;
+ hsize = HSIZE;
+ n_bits = 0;
+ maxbits = GIFBITS;
+ maxcode = 0;
+ maxmaxcode = (code_int)1 << GIFBITS;
+}
+
+
+/*
+-------------------------------------------------------------------+ */
+/* | Copyright 1990, 1991, 1993, David Koblas. (koblas@netcom.com)
| */
+/* | Permission to use, copy, modify, and distribute this software
| */
+/* | and its documentation for any purpose and without fee is hereby
| */
+/* | granted, provided that the above copyright notice appear in all
| */
+/* | copies and that both that copyright notice and this permission
| */
+/* | notice appear in supporting documentation. This software is
| */
+/* | provided "as is" without express or implied warranty.
| */
+/*
+-------------------------------------------------------------------+ */
+
+
+#define MAXCOLORMAPSIZE 256
+
+#define TRUE 1
+#define FALSE 0
+
+#define CM_RED 0
+#define CM_GREEN 1
+#define CM_BLUE 2
+
+#define MAX_LWZ_BITS 12
+
+#define INTERLACE 0x40
+#define LOCALCOLORMAP 0x80
+#define BitSet(byte, bit) (((byte) & (bit)) == (bit))
+
+#define ReadOK(file,buffer,len) (fread(buffer, len, 1, file) !=
0)
+
+#define LM_to_uint(a,b) (((b)<<8)|(a))
+
+/* We may eventually want to use this information, but def it out for
now */
+#if 0
+static struct {
+ unsigned int Width;
+ unsigned int Height;
+ unsigned char ColorMap[3][MAXCOLORMAPSIZE];
+ unsigned int BitPixel;
+ unsigned int ColorResolution;
+ unsigned int Background;
+ unsigned int AspectRatio;
+} GifScreen;
+#endif
+
+static struct {
+ int transparent;
+ int delayTime;
+ int inputFlag;
+ int disposal;
+} Gif89 = { -1, -1, -1, 0 };
+
+static int ReadColorMap (FILE *fd, int number, unsigned char
(*buffer)[256]);
+static int DoExtension (FILE *fd, int label, int *Transparent);
+static int GetDataBlock (FILE *fd, unsigned char *buf);
+static int GetCode (FILE *fd, int code_size, int flag);
+static int LWZReadByte (FILE *fd, int flag, int input_code_size);
+static void ReadImage (gdImagePtr im, FILE *fd, int len, int height,
unsigned char (*cmap)[256], int interlace, int ignore);
+
+int ZeroDataBlock;
+
+gdImagePtr gdImageCreateFromGif(FILE *fd) {
+ int imageNumber;
+ int BitPixel;
+ int ColorResolution;
+ int Background;
+ int AspectRatio;
+ int Transparent = (-1);
+ unsigned char buf[16];
+ unsigned char c;
+ unsigned char ColorMap[3][MAXCOLORMAPSIZE];
+ unsigned char localColorMap[3][MAXCOLORMAPSIZE];
+ int imw, imh;
+ int useGlobalColormap;
+ int bitPixel;
+ int imageCount = 0;
+ char version[4];
+ gdImagePtr im = 0;
+ ZeroDataBlock = FALSE;
+
+ imageNumber = 1;
+ if (! ReadOK(fd,buf,6)) {
+ return 0;
+ }
+ if (strncmp((char *)buf,"GIF",3) != 0) {
+ return 0;
+ }
+ strncpy(version, (char *)buf + 3, 3);
+ version[3] = '\0';
+
+ if ((strcmp(version, "87a") != 0) && (strcmp(version, "89a") !=
0)) {
+ return 0;
+ }
+ if (! ReadOK(fd,buf,7)) {
+ return 0;
+ }
+ BitPixel = 2<<(buf[4]&0x07);
+ ColorResolution = (int) (((buf[4]&0x70)>>3)+1);
+ Background = buf[5];
+ AspectRatio = buf[6];
+
+ if (BitSet(buf[4], LOCALCOLORMAP)) { /* Global Colormap */
+ if (ReadColorMap(fd, BitPixel, ColorMap)) {
+ return 0;
+ }
+ }
+ for (;;) {
+ if (! ReadOK(fd,&c,1)) {
+ return 0;
+ }
+ if (c == ';') { /* GIF terminator */
+ int i;
+ if (imageCount < imageNumber) {
+ return 0;
+ }
+ /* Terminator before any image was declared! */
+ if (!im) {
+ return 0;
+ }
+ /* Check for open colors at the end, so
+ we can reduce colorsTotal and ultimately
+ BitsPerPixel */
+ for (i=((im->colorsTotal-1)); (i>=0); i--) {
+ if (im->open[i]) {
+ im->colorsTotal--;
+ } else {
+ break;
+ }
+ }
+ return im;
+ }
+
+ if (c == '!') { /* Extension */
+ if (! ReadOK(fd,&c,1)) {
+ return 0;
+ }
+ DoExtension(fd, c, &Transparent);
+ continue;
+ }
+
+ if (c != ',') { /* Not a valid start character
*/
+ continue;
+ }
+
+ ++imageCount;
+
+ if (! ReadOK(fd,buf,9)) {
+ return 0;
+ }
+
+ useGlobalColormap = ! BitSet(buf[8], LOCALCOLORMAP);
+
+ bitPixel = 1<<((buf[8]&0x07)+1);
+
+ imw = LM_to_uint(buf[4],buf[5]);
+ imh = LM_to_uint(buf[6],buf[7]);
+ if (!(im = gdImageCreate(imw, imh))) {
+ return 0;
+ }
+ im->interlace = BitSet(buf[8], INTERLACE);
+ if (! useGlobalColormap) {
+ if (ReadColorMap(fd, bitPixel, localColorMap)) {
+ return 0;
+ }
+ ReadImage(im, fd, imw, imh, localColorMap,
+ BitSet(buf[8], INTERLACE),
+ imageCount != imageNumber);
+ } else {
+ ReadImage(im, fd, imw, imh,
+ ColorMap,
+ BitSet(buf[8], INTERLACE),
+ imageCount != imageNumber);
+ }
+ if (Transparent != (-1)) {
+ gdImageColorTransparent(im, Transparent);
+ }
+ }
+}
+
+static int ReadColorMap(FILE *fd, int number, unsigned char
(*buffer)[256]) {
+ int i;
+ unsigned char rgb[3];
+
+
+ for (i = 0; i < number; ++i) {
+ if (! ReadOK(fd, rgb, sizeof(rgb))) {
+ return TRUE;
+ }
+ buffer[CM_RED][i] = rgb[0] ;
+ buffer[CM_GREEN][i] = rgb[1] ;
+ buffer[CM_BLUE][i] = rgb[2] ;
+ }
+
+
+ return FALSE;
+}
+
+static int DoExtension(FILE *fd, int label, int *Transparent) {
+ static unsigned char buf[256];
+
+ switch (label) {
+ case 0xf9: /* Graphic Control Extension */
+ (void) GetDataBlock(fd, (unsigned char*) buf);
+ Gif89.disposal = (buf[0] >> 2) & 0x7;
+ Gif89.inputFlag = (buf[0] >> 1) & 0x1;
+ Gif89.delayTime = LM_to_uint(buf[1],buf[2]);
+ if ((buf[0] & 0x1) != 0)
+ *Transparent = buf[3];
+
+ while (GetDataBlock(fd, (unsigned char*) buf) != 0)
+ ;
+ return FALSE;
+ default:
+ break;
+ }
+ while (GetDataBlock(fd, (unsigned char*) buf) != 0)
+ ;
+
+ return FALSE;
+}
+
+static int
+GetDataBlock(FILE *fd, unsigned char *buf)
+{
+ unsigned char count;
+
+ if (! ReadOK(fd,&count,1)) {
+ return -1;
+ }
+
+ ZeroDataBlock = count == 0;
+
+ if ((count != 0) && (! ReadOK(fd, buf, count))) {
+ return -1;
+ }
+
+ return count;
+}
+
+static int
+GetCode(FILE *fd, int code_size, int flag)
+{
+ static unsigned char buf[280];
+ static int curbit, lastbit, done, last_byte;
+ int i, j, ret;
+ unsigned char count;
+
+ if (flag) {
+ curbit = 0;
+ lastbit = 0;
+ done = FALSE;
+ return 0;
+ }
+
+ if ( (curbit+code_size) >= lastbit) {
+ if (done) {
+ if (curbit >= lastbit) {
+ /* Oh well */
+ }
+ return -1;
+ }
+ buf[0] = buf[last_byte-2];
+ buf[1] = buf[last_byte-1];
+
+ if ((count = GetDataBlock(fd, &buf[2])) == 0)
+ done = TRUE;
+
+ last_byte = 2 + count;
+ curbit = (curbit - lastbit) + 16;
+ lastbit = (2+count)*8 ;
+ }
+
+ ret = 0;
+ for (i = curbit, j = 0; j < code_size; ++i, ++j)
+ ret |= ((buf[ i / 8 ] & (1 << (i % 8))) != 0) << j;
+
+ curbit += code_size;
+
+ return ret;
+}
+
+static int
+LWZReadByte(FILE *fd, int flag, int input_code_size)
+{
+ static int fresh = FALSE;
+ int code, incode;
+ static int code_size, set_code_size;
+ static int max_code, max_code_size;
+ static int firstcode, oldcode;
+ static int clear_code, end_code;
+ static int table[2][(1<< MAX_LWZ_BITS)];
+ static int stack[(1<<(MAX_LWZ_BITS))*2], *sp;
+ register int i;
+
+ if (flag) {
+ set_code_size = input_code_size;
+ code_size = set_code_size+1;
+ clear_code = 1 << set_code_size ;
+ end_code = clear_code + 1;
+ max_code_size = 2*clear_code;
+ max_code = clear_code+2;
+
+ GetCode(fd, 0, TRUE);
+
+ fresh = TRUE;
+
+ for (i = 0; i < clear_code; ++i) {
+ table[0][i] = 0;
+ table[1][i] = i;
+ }
+ for (; i < (1<<MAX_LWZ_BITS); ++i)
+ table[0][i] = table[1][0] = 0;
+
+ sp = stack;
+
+ return 0;
+ } else if (fresh) {
+ fresh = FALSE;
+ do {
+ firstcode = oldcode =
+ GetCode(fd, code_size, FALSE);
+ } while (firstcode == clear_code);
+ return firstcode;
+ }
+
+ if (sp > stack)
+ return *--sp;
+
+ while ((code = GetCode(fd, code_size, FALSE)) >= 0) {
+ if (code == clear_code) {
+ for (i = 0; i < clear_code; ++i) {
+ table[0][i] = 0;
+ table[1][i] = i;
+ }
+ for (; i < (1<<MAX_LWZ_BITS); ++i)
+ table[0][i] = table[1][i] = 0;
+ code_size = set_code_size+1;
+ max_code_size = 2*clear_code;
+ max_code = clear_code+2;
+ sp = stack;
+ firstcode = oldcode =
+ GetCode(fd, code_size, FALSE);
+ return firstcode;
+ } else if (code == end_code) {
+ int count;
+ unsigned char buf[260];
+
+ if (ZeroDataBlock)
+ return -2;
+
+ while ((count = GetDataBlock(fd, buf)) > 0)
+ ;
+
+ if (count != 0)
+ return -2;
+ }
+
+ incode = code;
+
+ if (code >= max_code) {
+ *sp++ = firstcode;
+ code = oldcode;
+ }
+
+ while (code >= clear_code) {
+ *sp++ = table[1][code];
+ if (code == table[0][code]) {
+ /* Oh well */
+ }
+ code = table[0][code];
+ }
+
+ *sp++ = firstcode = table[1][code];
+
+ if ((code = max_code) <(1<<MAX_LWZ_BITS)) {
+ table[0][code] = oldcode;
+ table[1][code] = firstcode;
+ ++max_code;
+ if ((max_code >= max_code_size) &&
+ (max_code_size < (1<<MAX_LWZ_BITS))) {
+ max_code_size *= 2;
+ ++code_size;
+ }
+ }
+
+ oldcode = incode;
+
+ if (sp > stack)
+ return *--sp;
+ }
+ return code;
+}
+
+static void
+ReadImage(gdImagePtr im, FILE *fd, int len, int height, unsigned char
(*cmap)[256], int interlace, int ignore)
+{
+ unsigned char c;
+ int v;
+ int xpos = 0, ypos = 0, pass = 0;
+ int i;
+ /* Stash the color map into the image */
+ for (i=0; (i<gdMaxColors); i++) {
+ im->red[i] = cmap[CM_RED][i];
+ im->green[i] = cmap[CM_GREEN][i];
+ im->blue[i] = cmap[CM_BLUE][i];
+ im->open[i] = 1;
+ }
+ /* Many (perhaps most) of these colors will remain marked open.
*/
+ im->colorsTotal = gdMaxColors;
+ /*
+ ** Initialize the Compression routines
+ */
+ if (! ReadOK(fd,&c,1)) {
+ return;
+ }
+ if (LWZReadByte(fd, TRUE, c) < 0) {
+ return;
+ }
+
+ /*
+ ** If this is an "uninteresting picture" ignore it.
+ */
+ if (ignore) {
+ while (LWZReadByte(fd, FALSE, c) >= 0)
+ ;
+ return;
+ }
+
+ while ((v = LWZReadByte(fd,FALSE,c)) >= 0 ) {
+ /* This how we recognize which colors are actually used.
*/
+ if (im->open[v]) {
+ im->open[v] = 0;
+ }
+ gdImageSetPixel(im, xpos, ypos, v);
+ ++xpos;
+ if (xpos == len) {
+ xpos = 0;
+ if (interlace) {
+ switch (pass) {
+ case 0:
+ case 1:
+ ypos += 8; break;
+ case 2:
+ ypos += 4; break;
+ case 3:
+ ypos += 2; break;
+ }
+
+ if (ypos >= height) {
+ ++pass;
+ switch (pass) {
+ case 1:
+ ypos = 4; break;
+ case 2:
+ ypos = 2; break;
+ case 3:
+ ypos = 1; break;
+ default:
+ goto fini;
+ }
+ }
+ } else {
+ ++ypos;
+ }
+ }
+ if (ypos >= height)
+ break;
+ }
+
+fini:
+ if (LWZReadByte(fd,FALSE,c)>=0) {
+ /* Ignore extra */
+ }
+}
+
diff -uNr gd-1.8.3.orig/gd_gif.h gd-1.8.3/gd_gif.h
--- gd-1.8.3.orig/gd_gif.h Thu Jan 1 03:00:00 1970
+++ gd-1.8.3/gd_gif.h Fri Oct 20 17:47:51 2000
@@ -0,0 +1,5 @@
+
+/* Functions to manipulate gif images. */
+
+gdImagePtr gdImageCreateFromGif(FILE *fd);
+void gdImageGif(gdImagePtr im, FILE *out);
diff -uNr gd-1.8.3.orig/mtables.c gd-1.8.3/mtables.c
--- gd-1.8.3.orig/mtables.c Thu Jan 1 03:00:00 1970
+++ gd-1.8.3/mtables.c Fri Oct 20 17:47:51 2000
@@ -0,0 +1,726 @@
+#define costScale 1024
+int cost[] = {
+ 1024,
+ 1023,
+ 1023,
+ 1022,
+ 1021,
+ 1020,
+ 1018,
+ 1016,
+ 1014,
+ 1011,
+ 1008,
+ 1005,
+ 1001,
+ 997,
+ 993,
+ 989,
+ 984,
+ 979,
+ 973,
+ 968,
+ 962,
+ 955,
+ 949,
+ 942,
+ 935,
+ 928,
+ 920,
+ 912,
+ 904,
+ 895,
+ 886,
+ 877,
+ 868,
+ 858,
+ 848,
+ 838,
+ 828,
+ 817,
+ 806,
+ 795,
+ 784,
+ 772,
+ 760,
+ 748,
+ 736,
+ 724,
+ 711,
+ 698,
+ 685,
+ 671,
+ 658,
+ 644,
+ 630,
+ 616,
+ 601,
+ 587,
+ 572,
+ 557,
+ 542,
+ 527,
+ 512,
+ 496,
+ 480,
+ 464,
+ 448,
+ 432,
+ 416,
+ 400,
+ 383,
+ 366,
+ 350,
+ 333,
+ 316,
+ 299,
+ 282,
+ 265,
+ 247,
+ 230,
+ 212,
+ 195,
+ 177,
+ 160,
+ 142,
+ 124,
+ 107,
+ 89,
+ 71,
+ 53,
+ 35,
+ 17,
+ 0,
+ -17,
+ -35,
+ -53,
+ -71,
+ -89,
+ -107,
+ -124,
+ -142,
+ -160,
+ -177,
+ -195,
+ -212,
+ -230,
+ -247,
+ -265,
+ -282,
+ -299,
+ -316,
+ -333,
+ -350,
+ -366,
+ -383,
+ -400,
+ -416,
+ -432,
+ -448,
+ -464,
+ -480,
+ -496,
+ -512,
+ -527,
+ -542,
+ -557,
+ -572,
+ -587,
+ -601,
+ -616,
+ -630,
+ -644,
+ -658,
+ -671,
+ -685,
+ -698,
+ -711,
+ -724,
+ -736,
+ -748,
+ -760,
+ -772,
+ -784,
+ -795,
+ -806,
+ -817,
+ -828,
+ -838,
+ -848,
+ -858,
+ -868,
+ -877,
+ -886,
+ -895,
+ -904,
+ -912,
+ -920,
+ -928,
+ -935,
+ -942,
+ -949,
+ -955,
+ -962,
+ -968,
+ -973,
+ -979,
+ -984,
+ -989,
+ -993,
+ -997,
+ -1001,
+ -1005,
+ -1008,
+ -1011,
+ -1014,
+ -1016,
+ -1018,
+ -1020,
+ -1021,
+ -1022,
+ -1023,
+ -1023,
+ -1024,
+ -1023,
+ -1023,
+ -1022,
+ -1021,
+ -1020,
+ -1018,
+ -1016,
+ -1014,
+ -1011,
+ -1008,
+ -1005,
+ -1001,
+ -997,
+ -993,
+ -989,
+ -984,
+ -979,
+ -973,
+ -968,
+ -962,
+ -955,
+ -949,
+ -942,
+ -935,
+ -928,
+ -920,
+ -912,
+ -904,
+ -895,
+ -886,
+ -877,
+ -868,
+ -858,
+ -848,
+ -838,
+ -828,
+ -817,
+ -806,
+ -795,
+ -784,
+ -772,
+ -760,
+ -748,
+ -736,
+ -724,
+ -711,
+ -698,
+ -685,
+ -671,
+ -658,
+ -644,
+ -630,
+ -616,
+ -601,
+ -587,
+ -572,
+ -557,
+ -542,
+ -527,
+ -512,
+ -496,
+ -480,
+ -464,
+ -448,
+ -432,
+ -416,
+ -400,
+ -383,
+ -366,
+ -350,
+ -333,
+ -316,
+ -299,
+ -282,
+ -265,
+ -247,
+ -230,
+ -212,
+ -195,
+ -177,
+ -160,
+ -142,
+ -124,
+ -107,
+ -89,
+ -71,
+ -53,
+ -35,
+ -17,
+ 0,
+ 17,
+ 35,
+ 53,
+ 71,
+ 89,
+ 107,
+ 124,
+ 142,
+ 160,
+ 177,
+ 195,
+ 212,
+ 230,
+ 247,
+ 265,
+ 282,
+ 299,
+ 316,
+ 333,
+ 350,
+ 366,
+ 383,
+ 400,
+ 416,
+ 432,
+ 448,
+ 464,
+ 480,
+ 496,
+ 512,
+ 527,
+ 542,
+ 557,
+ 572,
+ 587,
+ 601,
+ 616,
+ 630,
+ 644,
+ 658,
+ 671,
+ 685,
+ 698,
+ 711,
+ 724,
+ 736,
+ 748,
+ 760,
+ 772,
+ 784,
+ 795,
+ 806,
+ 817,
+ 828,
+ 838,
+ 848,
+ 858,
+ 868,
+ 877,
+ 886,
+ 895,
+ 904,
+ 912,
+ 920,
+ 928,
+ 935,
+ 942,
+ 949,
+ 955,
+ 962,
+ 968,
+ 973,
+ 979,
+ 984,
+ 989,
+ 993,
+ 997,
+ 1001,
+ 1005,
+ 1008,
+ 1011,
+ 1014,
+ 1016,
+ 1018,
+ 1020,
+ 1021,
+ 1022,
+ 1023,
+ 1023
+};
+#define sintScale 1024
+int sint[] = {
+ 0,
+ 17,
+ 35,
+ 53,
+ 71,
+ 89,
+ 107,
+ 124,
+ 142,
+ 160,
+ 177,
+ 195,
+ 212,
+ 230,
+ 247,
+ 265,
+ 282,
+ 299,
+ 316,
+ 333,
+ 350,
+ 366,
+ 383,
+ 400,
+ 416,
+ 432,
+ 448,
+ 464,
+ 480,
+ 496,
+ 512,
+ 527,
+ 542,
+ 557,
+ 572,
+ 587,
+ 601,
+ 616,
+ 630,
+ 644,
+ 658,
+ 671,
+ 685,
+ 698,
+ 711,
+ 724,
+ 736,
+ 748,
+ 760,
+ 772,
+ 784,
+ 795,
+ 806,
+ 817,
+ 828,
+ 838,
+ 848,
+ 858,
+ 868,
+ 877,
+ 886,
+ 895,
+ 904,
+ 912,
+ 920,
+ 928,
+ 935,
+ 942,
+ 949,
+ 955,
+ 962,
+ 968,
+ 973,
+ 979,
+ 984,
+ 989,
+ 993,
+ 997,
+ 1001,
+ 1005,
+ 1008,
+ 1011,
+ 1014,
+ 1016,
+ 1018,
+ 1020,
+ 1021,
+ 1022,
+ 1023,
+ 1023,
+ 1024,
+ 1023,
+ 1023,
+ 1022,
+ 1021,
+ 1020,
+ 1018,
+ 1016,
+ 1014,
+ 1011,
+ 1008,
+ 1005,
+ 1001,
+ 997,
+ 993,
+ 989,
+ 984,
+ 979,
+ 973,
+ 968,
+ 962,
+ 955,
+ 949,
+ 942,
+ 935,
+ 928,
+ 920,
+ 912,
+ 904,
+ 895,
+ 886,
+ 877,
+ 868,
+ 858,
+ 848,
+ 838,
+ 828,
+ 817,
+ 806,
+ 795,
+ 784,
+ 772,
+ 760,
+ 748,
+ 736,
+ 724,
+ 711,
+ 698,
+ 685,
+ 671,
+ 658,
+ 644,
+ 630,
+ 616,
+ 601,
+ 587,
+ 572,
+ 557,
+ 542,
+ 527,
+ 512,
+ 496,
+ 480,
+ 464,
+ 448,
+ 432,
+ 416,
+ 400,
+ 383,
+ 366,
+ 350,
+ 333,
+ 316,
+ 299,
+ 282,
+ 265,
+ 247,
+ 230,
+ 212,
+ 195,
+ 177,
+ 160,
+ 142,
+ 124,
+ 107,
+ 89,
+ 71,
+ 53,
+ 35,
+ 17,
+ 0,
+ -17,
+ -35,
+ -53,
+ -71,
+ -89,
+ -107,
+ -124,
+ -142,
+ -160,
+ -177,
+ -195,
+ -212,
+ -230,
+ -247,
+ -265,
+ -282,
+ -299,
+ -316,
+ -333,
+ -350,
+ -366,
+ -383,
+ -400,
+ -416,
+ -432,
+ -448,
+ -464,
+ -480,
+ -496,
+ -512,
+ -527,
+ -542,
+ -557,
+ -572,
+ -587,
+ -601,
+ -616,
+ -630,
+ -644,
+ -658,
+ -671,
+ -685,
+ -698,
+ -711,
+ -724,
+ -736,
+ -748,
+ -760,
+ -772,
+ -784,
+ -795,
+ -806,
+ -817,
+ -828,
+ -838,
+ -848,
+ -858,
+ -868,
+ -877,
+ -886,
+ -895,
+ -904,
+ -912,
+ -920,
+ -928,
+ -935,
+ -942,
+ -949,
+ -955,
+ -962,
+ -968,
+ -973,
+ -979,
+ -984,
+ -989,
+ -993,
+ -997,
+ -1001,
+ -1005,
+ -1008,
+ -1011,
+ -1014,
+ -1016,
+ -1018,
+ -1020,
+ -1021,
+ -1022,
+ -1023,
+ -1023,
+ -1024,
+ -1023,
+ -1023,
+ -1022,
+ -1021,
+ -1020,
+ -1018,
+ -1016,
+ -1014,
+ -1011,
+ -1008,
+ -1005,
+ -1001,
+ -997,
+ -993,
+ -989,
+ -984,
+ -979,
+ -973,
+ -968,
+ -962,
+ -955,
+ -949,
+ -942,
+ -935,
+ -928,
+ -920,
+ -912,
+ -904,
+ -895,
+ -886,
+ -877,
+ -868,
+ -858,
+ -848,
+ -838,
+ -828,
+ -817,
+ -806,
+ -795,
+ -784,
+ -772,
+ -760,
+ -748,
+ -736,
+ -724,
+ -711,
+ -698,
+ -685,
+ -671,
+ -658,
+ -644,
+ -630,
+ -616,
+ -601,
+ -587,
+ -572,
+ -557,
+ -542,
+ -527,
+ -512,
+ -496,
+ -480,
+ -464,
+ -448,
+ -432,
+ -416,
+ -400,
+ -383,
+ -366,
+ -350,
+ -333,
+ -316,
+ -299,
+ -282,
+ -265,
+ -247,
+ -230,
+ -212,
+ -195,
+ -177,
+ -160,
+ -142,
+ -124,
+ -107,
+ -89,
+ -71,
+ -53,
+ -35,
+ -17
+};
_______________________________________________
Devel mailing list
Devel@linux.iplabs.ru
http://www.logic.ru/mailman/listinfo/devel
^ permalink raw reply [flat|nested] 32+ messages in thread
* Re: [devel] php
2001-01-22 10:18 ` Rider
@ 2001-01-22 10:24 ` Alexander Bokovoy
2001-01-22 10:30 ` Rider
0 siblings, 1 reply; 32+ messages in thread
From: Alexander Bokovoy @ 2001-01-22 10:24 UTC (permalink / raw)
To: devel
On Mon, Jan 22, 2001 at 01:18:19PM +0300, Rider wrote:
> Alexander Bokovoy wrote:
> >
> > On Mon, Jan 22, 2001 at 12:58:05PM +0300, Rider wrote:
> > Если собирали со статикой, то ничего пересобирать не придется, если с динамикой --
> > то подхватится на лету.
> >
> > > Как быть - не знаю.
> > "Огласите весь патч!" (c) смешанный.
>
> Оглашаю:
[skipped]
Вообщем, ясно. Ты сможешь этот код перевести на использование libungif?
Если да, тогда никаких проблем не будет и поддержку gif-а можно будет
включить в gd. Проблемы будут у spylog-а с несколько выросшими в размерах
GIF-ами. :-)
--
Sincerely yours, Alexander Bokovoy
The Midgard Project | www.midgard-project.org | Aurora R&D team
Minsk Linux Users Group | www.minsk-lug.net | www.aurora-linux.com
IPLabs Linux Team | linux.iplabs.ru | Architecte Open Source
-- "Trust me. I know what I'm doing."
-- Sledge Hammer
_______________________________________________
Devel mailing list
Devel@linux.iplabs.ru
http://www.logic.ru/mailman/listinfo/devel
^ permalink raw reply [flat|nested] 32+ messages in thread
* Re: [devel] php
2001-01-22 10:24 ` Alexander Bokovoy
@ 2001-01-22 10:30 ` Rider
2001-01-22 10:31 ` Alexander Bokovoy
0 siblings, 1 reply; 32+ messages in thread
From: Rider @ 2001-01-22 10:30 UTC (permalink / raw)
To: devel
Alexander Bokovoy wrote:
>
> On Mon, Jan 22, 2001 at 01:18:19PM +0300, Rider wrote:
> > Alexander Bokovoy wrote:
> > >
> > > On Mon, Jan 22, 2001 at 12:58:05PM +0300, Rider wrote:
> > > Если собирали со статикой, то ничего пересобирать не придется, если с динамикой --
> > > то подхватится на лету.
> > >
> > > > Как быть - не знаю.
> > > "Огласите весь патч!" (c) смешанный.
> >
> > Оглашаю:
> [skipped]
> Вообщем, ясно. Ты сможешь этот код перевести на использование libungif?
> Если да, тогда никаких проблем не будет и поддержку gif-а можно будет
> включить в gd. Проблемы будут у spylog-а с несколько выросшими в размерах
> GIF-ами. :-)
Да... не покатит... ;-(
Rgds
Anton
_______________________________________________
Devel mailing list
Devel@linux.iplabs.ru
http://www.logic.ru/mailman/listinfo/devel
^ permalink raw reply [flat|nested] 32+ messages in thread
* Re: [devel] php
2001-01-22 10:30 ` Rider
@ 2001-01-22 10:31 ` Alexander Bokovoy
2001-01-22 13:11 ` Dmitry V. Levin
0 siblings, 1 reply; 32+ messages in thread
From: Alexander Bokovoy @ 2001-01-22 10:31 UTC (permalink / raw)
To: devel
On Mon, Jan 22, 2001 at 01:30:51PM +0300, Rider wrote:
> Alexander Bokovoy wrote:
> >
> > On Mon, Jan 22, 2001 at 01:18:19PM +0300, Rider wrote:
> > > Alexander Bokovoy wrote:
> > > >
> > > > On Mon, Jan 22, 2001 at 12:58:05PM +0300, Rider wrote:
> > > > Если собирали со статикой, то ничего пересобирать не придется, если с динамикой --
> > > > то подхватится на лету.
> > > >
> > > > > Как быть - не знаю.
> > > > "Огласите весь патч!" (c) смешанный.
> > >
> > > Оглашаю:
> > [skipped]
> > Вообщем, ясно. Ты сможешь этот код перевести на использование libungif?
> > Если да, тогда никаких проблем не будет и поддержку gif-а можно будет
> > включить в gd. Проблемы будут у spylog-а с несколько выросшими в размерах
> > GIF-ами. :-)
>
> Да... не покатит... ;-(
Это единственный лицензионно-чистый шаг, который мы можем предпринять.
--
Sincerely yours, Alexander Bokovoy
The Midgard Project | www.midgard-project.org | Aurora R&D team
Minsk Linux Users Group | www.minsk-lug.net | www.aurora-linux.com
IPLabs Linux Team | linux.iplabs.ru | Architecte Open Source
-- "Trust me. I know what I'm doing."
-- Sledge Hammer
_______________________________________________
Devel mailing list
Devel@linux.iplabs.ru
http://www.logic.ru/mailman/listinfo/devel
^ permalink raw reply [flat|nested] 32+ messages in thread
* Re[2]: [devel] php
2001-01-22 14:37 ` Aleksey Novodvorsky
2001-01-22 10:14 ` Rider
@ 2001-01-22 12:21 ` Igor Vodennikov
2001-01-22 13:02 ` Dmitry V. Levin
2001-01-23 7:10 ` Mikhail Zabaluev
1 sibling, 2 replies; 32+ messages in thread
From: Igor Vodennikov @ 2001-01-22 12:21 UTC (permalink / raw)
To: Aleksey Novodvorsky
Hello Aleksey,
Monday, January 22, 2001, 7:37:39 PM, you wrote:
AN> "Dmitry V. Levin" wrote:
>>
>> >
>> > Почему нельзя? рапространяется же везде GD старой версии... (1.3.x)
>> > Во всех дистрибутивах есть..
>>
>> Примеры можешь привести?
>>
AN> Если можно, -- отличные от SuSE.
AN> Rgrds, Алексей.
AN> _______________________________________________
AN> Devel mailing list
AN> Devel@linux.iplabs.ru
AN> http://www.logic.ru/mailman/listinfo/devel
Извиняюсь за долгое отсутствие, я толко в пятницу из больницы вылез...
Так как я не мог разобрать всю накопившеюся почту, то я ее выхлопал, а
сейчас смотрю - обсуждается gd. Я выкачал ee srpm, а там нет патча для
русских шрифтов :-( Я сам не могу собрать в нужном окружении - у меня
все давно устарело и пока некогда обновлением заниматься. Я рад, что
наконец-то появился аналог Кукеру. Возьмите пожалуста патч из gd
аппендиксного или постапендиксного... И еще есть пожелание собрать php
c поддержкой jpeg через этот самый gd. Если что, то патч и новый спек
для gd могу заслать сюда. А на webalizer пакет надо? Но только srpm
иогу (как заливать и куда не знаю). Может и iptraf в дистрибутив?
Best regards,
Igor mailto:igor@ikar.zaural.ru
_______________________________________________
Devel mailing list
Devel@linux.iplabs.ru
http://www.logic.ru/mailman/listinfo/devel
^ permalink raw reply [flat|nested] 32+ messages in thread
* Re: [devel] php
2001-01-22 12:21 ` Re[2]: " Igor Vodennikov
@ 2001-01-22 13:02 ` Dmitry V. Levin
2001-01-22 13:04 ` Rider
2001-01-23 7:10 ` Mikhail Zabaluev
1 sibling, 1 reply; 32+ messages in thread
From: Dmitry V. Levin @ 2001-01-22 13:02 UTC (permalink / raw)
To: devel
[-- Attachment #1: Type: text/plain, Size: 1872 bytes --]
On Mon, Jan 22, 2001 at 05:21:54PM +0500, Igor Vodennikov wrote:
> >> > Почему нельзя? рапространяется же везде GD старой версии... (1.3.x)
> >> > Во всех дистрибутивах есть..
> >>
> >> Примеры можешь привести?
> >>
> AN> Если можно, -- отличные от SuSE.
>
> Извиняюсь за долгое отсутствие, я толко в пятницу из больницы вылез...
> Так как я не мог разобрать всю накопившеюся почту, то я ее выхлопал, а
> сейчас смотрю - обсуждается gd. Я выкачал ee srpm, а там нет патча для
> русских шрифтов :-( Я сам не могу собрать в нужном окружении - у меня
> все давно устарело и пока некогда обновлением заниматься. Я рад, что
> наконец-то появился аналог Кукеру. Возьмите пожалуста патч из gd
> аппендиксного или постапендиксного... И еще есть пожелание собрать php
> c поддержкой jpeg через этот самый gd. Если что, то патч и новый спек
> для gd могу заслать сюда. А на webalizer пакет надо? Но только srpm
> иогу (как заливать и куда не знаю). Может и iptraf в дистрибутив?
Русские (да и любые другие тоже) шрифты можно сделать одной командой,
вопрос не в том, каким путем это сделать, а в том, что мы хотим получиить.
Например, хотим ли мы стандартные шрифты сделать кириллическими, или мы
хотим просто добавить несколько кириллических шрифтов, какие шрифты будем
использовать, ... Вопрос концептуальный, поэтому я его отложил, пока есть
совсем горящие дела. Если есть идеи на тему шрифтов в gd - welcome.
Regards,
Dmitry
+-------------------------------------------------------------------------+
Dmitry V. Levin mailto://ldv@fandra.org
Software Engineer PGP pubkey http://www.fandra.org/users/ldv/pgpkeys.html
IPLabs Linux Team http://linux.iplabs.ru
Fandra Project http://www.fandra.org
+-------------------------------------------------------------------------+
UNIX is user friendly. It's just very selective about who its friends are.
[-- Attachment #2: Type: application/pgp-signature, Size: 232 bytes --]
^ permalink raw reply [flat|nested] 32+ messages in thread
* Re: [devel] php
2001-01-22 13:02 ` Dmitry V. Levin
@ 2001-01-22 13:04 ` Rider
0 siblings, 0 replies; 32+ messages in thread
From: Rider @ 2001-01-22 13:04 UTC (permalink / raw)
To: devel
"Dmitry V. Levin" wrote:
>
> On Mon, Jan 22, 2001 at 05:21:54PM +0500, Igor Vodennikov wrote:
> > >> > Почему нельзя? рапространяется же везде GD старой версии... (1.3.x)
> > >> > Во всех дистрибутивах есть..
> > >>
> > >> Примеры можешь привести?
> > >>
> > AN> Если можно, -- отличные от SuSE.
> >
> > Извиняюсь за долгое отсутствие, я толко в пятницу из больницы вылез...
> > Так как я не мог разобрать всю накопившеюся почту, то я ее выхлопал, а
> > сейчас смотрю - обсуждается gd. Я выкачал ee srpm, а там нет патча для
> > русских шрифтов :-( Я сам не могу собрать в нужном окружении - у меня
> > все давно устарело и пока некогда обновлением заниматься. Я рад, что
> > наконец-то появился аналог Кукеру. Возьмите пожалуста патч из gd
> > аппендиксного или постапендиксного... И еще есть пожелание собрать php
> > c поддержкой jpeg через этот самый gd. Если что, то патч и новый спек
> > для gd могу заслать сюда. А на webalizer пакет надо? Но только srpm
> > иогу (как заливать и куда не знаю). Может и iptraf в дистрибутив?
>
> Русские (да и любые другие тоже) шрифты можно сделать одной командой,
> вопрос не в том, каким путем это сделать, а в том, что мы хотим получиить.
> Например, хотим ли мы стандартные шрифты сделать кириллическими, или мы
> хотим просто добавить несколько кириллических шрифтов, какие шрифты будем
> использовать, ... Вопрос концептуальный, поэтому я его отложил, пока есть
> совсем горящие дела. Если есть идеи на тему шрифтов в gd - welcome.
Спайлог использует tahoma (ttf)
LRN без разницы.
Rgds
Anton
_______________________________________________
Devel mailing list
Devel@linux.iplabs.ru
http://www.logic.ru/mailman/listinfo/devel
^ permalink raw reply [flat|nested] 32+ messages in thread
* Re: [devel] php
2001-01-22 10:31 ` Alexander Bokovoy
@ 2001-01-22 13:11 ` Dmitry V. Levin
2001-01-22 13:59 ` Rider
0 siblings, 1 reply; 32+ messages in thread
From: Dmitry V. Levin @ 2001-01-22 13:11 UTC (permalink / raw)
To: devel
[-- Attachment #1: Type: text/plain, Size: 1856 bytes --]
On Mon, Jan 22, 2001 at 12:31:10PM +0200, Alexander Bokovoy wrote:
> > > > > Если собирали со статикой, то ничего пересобирать не придется, если с динамикой --
> > > > > то подхватится на лету.
> > > > >
> > > > > > Как быть - не знаю.
> > > > > "Огласите весь патч!" (c) смешанный.
> > > >
> > > > Оглашаю:
> > > [skipped]
> > > Вообщем, ясно. Ты сможешь этот код перевести на использование libungif?
> > > Если да, тогда никаких проблем не будет и поддержку gif-а можно будет
> > > включить в gd. Проблемы будут у spylog-а с несколько выросшими в размерах
> > > GIF-ами. :-)
> >
> > Да... не покатит... ;-(
> Это единственный лицензионно-чистый шаг, который мы можем предпринять.
На самом деле картина такова:
В предлагаемом патче используется LZW-алгоритм сжатия, взятый из программы
compress, распространяемой как Public Domain, и входящей во все RPM-based
дистрибутивы (пакет ncompress). Так что в принципе мы можем этот патч
использовать.
Но: Использование gif-файлов, созданных с применением LZW-сжатия с
помощью ПО, не лицензированного CompuServe Inc., является нарушением их
авторских прав. Таким образом, включая этот патч, мы как бы подталкиваем
наших пользователей к нарушению прав CompuServe, хотя сами их права не
нарушаем. Не очень хорошо, в принципе.
Какое будет окончательное решение?
P.S. Объясните мне, чем все-таки плох PNG? Я знаю, есть на свете даже
конвертеры сайтов gif->png.
Regards,
Dmitry
+-------------------------------------------------------------------------+
Dmitry V. Levin mailto://ldv@fandra.org
Software Engineer PGP pubkey http://www.fandra.org/users/ldv/pgpkeys.html
IPLabs Linux Team http://linux.iplabs.ru
Fandra Project http://www.fandra.org
+-------------------------------------------------------------------------+
UNIX is user friendly. It's just very selective about who its friends are.
[-- Attachment #2: Type: application/pgp-signature, Size: 232 bytes --]
^ permalink raw reply [flat|nested] 32+ messages in thread
* Re: [devel] php
2001-01-22 8:46 [devel] php Rider
2001-01-22 8:53 ` Alexander Bokovoy
@ 2001-01-22 13:26 ` Aleksey Novodvorsky
1 sibling, 0 replies; 32+ messages in thread
From: Aleksey Novodvorsky @ 2001-01-22 13:26 UTC (permalink / raw)
To: devel
Rider wrote:
>
> Гсопода, PHP вообще не работоспособен в Сизифе.
> Во вском случае модулей работы с базами я в нем не увидел. ;-(
>
> Rgds
> Anton
> _______________________________________________
> Devel mailing list
> Devel@linux.iplabs.ru
> http://www.logic.ru/mailman/listinfo/devel
Антон, ну ты же не просто юзер!
php нашей сборки в Сизифе еще нет. Ждем от Саши, равно как apache и
Midgard.
Rgrds, Алексей.
_______________________________________________
Devel mailing list
Devel@linux.iplabs.ru
http://www.logic.ru/mailman/listinfo/devel
^ permalink raw reply [flat|nested] 32+ messages in thread
* Re: [devel] php
2001-01-22 13:11 ` Dmitry V. Levin
@ 2001-01-22 13:59 ` Rider
2001-01-22 18:35 ` Aleksey Novodvorsky
0 siblings, 1 reply; 32+ messages in thread
From: Rider @ 2001-01-22 13:59 UTC (permalink / raw)
To: devel
"Dmitry V. Levin" wrote:
>
> On Mon, Jan 22, 2001 at 12:31:10PM +0200, Alexander Bokovoy wrote:
> > > > > > Если собирали со статикой, то ничего пересобирать не придется, если с динамикой --
> > > > > > то подхватится на лету.
> > > > > >
> > > > > > > Как быть - не знаю.
> > > > > > "Огласите весь патч!" (c) смешанный.
> > > > >
> > > > > Оглашаю:
> > > > [skipped]
> > > > Вообщем, ясно. Ты сможешь этот код перевести на использование libungif?
> > > > Если да, тогда никаких проблем не будет и поддержку gif-а можно будет
> > > > включить в gd. Проблемы будут у spylog-а с несколько выросшими в размерах
> > > > GIF-ами. :-)
> > >
> > > Да... не покатит... ;-(
> > Это единственный лицензионно-чистый шаг, который мы можем предпринять.
>
> На самом деле картина такова:
> В предлагаемом патче используется LZW-алгоритм сжатия, взятый из программы
> compress, распространяемой как Public Domain, и входящей во все RPM-based
> дистрибутивы (пакет ncompress). Так что в принципе мы можем этот патч
> использовать.
> Но: Использование gif-файлов, созданных с применением LZW-сжатия с
> помощью ПО, не лицензированного CompuServe Inc., является нарушением их
> авторских прав. Таким образом, включая этот патч, мы как бы подталкиваем
> наших пользователей к нарушению прав CompuServe, хотя сами их права не
> нарушаем. Не очень хорошо, в принципе.
>
> Какое будет окончательное решение?
Может проголосуем? ;-)
Я ОЧЕНЬ хочу включения этого патча, т.к. он облегчает на порядок жизнь
админам http серверов
Так что я за.. ;-)
А если призадуматься, то 99% населения земного шара нарушают эти
права...
А ччто хочет Compuserv? Может им письмо отправить? ;-)
>
> P.S. Объясните мне, чем все-таки плох PNG? Я знаю, есть на свете даже
> конвертеры сайтов gif->png.
PNG плохо сжимается на маленьких файлах (кнопки, иконки)
и хорошо работает на больших файлах
Это народ в SpyLOG'е анализировал
Rgds
Anton
_______________________________________________
Devel mailing list
Devel@linux.iplabs.ru
http://www.logic.ru/mailman/listinfo/devel
^ permalink raw reply [flat|nested] 32+ messages in thread
* Re: [devel] php
2001-01-22 18:35 ` Aleksey Novodvorsky
@ 2001-01-22 14:16 ` Rider
2001-01-23 7:15 ` Mikhail Zabaluev
1 sibling, 0 replies; 32+ messages in thread
From: Rider @ 2001-01-22 14:16 UTC (permalink / raw)
To: devel
Aleksey Novodvorsky wrote:
>
> Rider wrote:
> >
>
> > > На самом деле картина такова:
> > > В предлагаемом патче используется LZW-алгоритм сжатия, взятый из программы
> > > compress, распространяемой как Public Domain, и входящей во все RPM-based
> > > дистрибутивы (пакет ncompress). Так что в принципе мы можем этот патч
> > > использовать.
> > > Но: Использование gif-файлов, созданных с применением LZW-сжатия с
> > > помощью ПО, не лицензированного CompuServe Inc., является нарушением их
> > > авторских прав. Таким образом, включая этот патч, мы как бы подталкиваем
> > > наших пользователей к нарушению прав CompuServe, хотя сами их права не
> > > нарушаем. Не очень хорошо, в принципе.
> > >
> > > Какое будет окончательное решение?
> >
> > Может проголосуем? ;-)
> > Я ОЧЕНЬ хочу включения этого патча, т.к. он облегчает на порядок жизнь
> > админам http серверов
> > Так что я за.. ;-)
> > А если призадуматься, то 99% населения земного шара нарушают эти
> > права...
> > А ччто хочет Compuserv? Может им письмо отправить? ;-)
>
> Насколько я понимаю, речь идет о нарушении патента, а не авторских прав.
> Патент этот действителен в Америке, но недействителен в Европе. Если это
> так (если нет -- поправьте), то мы можем включить этот патч, написав
> соответствующее предупреждение. Если нет, то надо будет выложить вариант
> с LZW на ftp, админы от этого не пострадают.
В случае, если патент зарегистрирован только в США - все ок
если в европе тоже - тогда проблемы.
Rgds
Anton
P.S. Я не совсем понимаю, чем отличается выкладывание на FTP от
распространения на CD?
Одно и другое является распространением.
А вот в России наверняка патента на этот алгоритп не зарегистрировано.
_______________________________________________
Devel mailing list
Devel@linux.iplabs.ru
http://www.logic.ru/mailman/listinfo/devel
^ permalink raw reply [flat|nested] 32+ messages in thread
* Re: [devel] php
2001-01-22 9:47 ` Dmitry V. Levin
@ 2001-01-22 14:19 ` Aleksey Novodvorsky
0 siblings, 0 replies; 32+ messages in thread
From: Aleksey Novodvorsky @ 2001-01-22 14:19 UTC (permalink / raw)
To: devel
"Dmitry V. Levin" wrote:
>
> On Mon, Jan 22, 2001 at 12:19:33PM +0300, Rider wrote:
> > > > > > Гсопода, PHP вообще не работоспособен в Сизифе.
> > > > > > Во вском случае модулей работы с базами я в нем не увидел. ;-(
> > > > > Там лежит обрубок от MandrakeSoft-версии. Я сейчас собираю нашу
> > > > > версию и опубликую ее как только сведу два дерева в Apache --
> > > > > наше с Михаилом для Russian Apache и вчерашние обновления в Apache
> > > > > в Cooker.
> > > >
> > > > Пожелание можно?
> > > >
> > > > Использовать в PHP GD с поддержкой GIF'а,
> > > Вот этого обещать не могу -- ты же знаешь наше отношение к лицензиям.
> > > Кстати, а не легче ли проект на png перевести?
> >
> > На png я могу перевести.. но не забывай, что я сейчас работаю в
> > spylog.ru ;-) а он планирует перейти на наш дистрибутив (хорошая
> > тестовая площадка).
> > А там php генерит только гифы.. и так - в сотне организаций.
> > Да в принипе практически везде используется эта реализация PHP.
> > Варианта два - добавить gdlib 1.3.x или наложить патч на gd-1.8.3 для
> > поддержки gif'ов ;-(
>
> Кто будет делать этот патч? ;)
>
Использовать gif это, конечно, плохо, но лицензионных нарушений с
_нашей_ стороны я здесь не вижу. Мне, впрочем, кажется, что крупным
сайтам следовао бы подумать о продолжении использования gif.
А что касается патча, то такая инициатива наказуема. :-)
Rgrds, Алексей.
_______________________________________________
Devel mailing list
Devel@linux.iplabs.ru
http://www.logic.ru/mailman/listinfo/devel
^ permalink raw reply [flat|nested] 32+ messages in thread
* Re: [devel] php
2001-01-22 9:46 ` Alexander Bokovoy
@ 2001-01-22 14:21 ` Aleksey Novodvorsky
2001-01-22 9:58 ` Rider
0 siblings, 1 reply; 32+ messages in thread
From: Aleksey Novodvorsky @ 2001-01-22 14:21 UTC (permalink / raw)
To: devel
Alexander Bokovoy wrote:
>
> On Mon, Jan 22, 2001 at 12:19:33PM +0300, Rider wrote:
> > Alexander Bokovoy wrote:
> > >
> > > On Mon, Jan 22, 2001 at 12:06:28PM +0300, Rider wrote:
> > > > Alexander Bokovoy wrote:
> > > > >
> > > > > On Mon, Jan 22, 2001 at 11:46:53AM +0300, Rider wrote:
> > > > > > Гсопода, PHP вообще не работоспособен в Сизифе.
> > > > > > Во вском случае модулей работы с базами я в нем не увидел. ;-(
> > > > > Там лежит обрубок от MandrakeSoft-версии. Я сейчас собираю нашу
> > > > > версию и опубликую ее как только сведу два дерева в Apache --
> > > > > наше с Михаилом для Russian Apache и вчерашние обновления в Apache
> > > > > в Cooker.
> > > >
> > > > Пожелание можно?
> > > >
> > > > Использовать в PHP GD с поддержкой GIF'а,
> > > Вот этого обещать не могу -- ты же знаешь наше отношение к лицензиям.
> > > Кстати, а не легче ли проект на png перевести?
> >
> > На png я могу перевести.. но не забывай, что я сейчас работаю в
> > spylog.ru ;-) а он планирует перейти на наш дистрибутив (хорошая
> > тестовая площадка).
> > А там php генерит только гифы.. и так - в сотне организаций.
> > Да в принипе практически везде используется эта реализация PHP.
> > Варианта два - добавить gdlib 1.3.x или наложить патч на gd-1.8.3 для
> > поддержки gif'ов ;-(
> Патч-то наложить можно, а вот распространять нельзя. Хорошо, соберу
> два варианта, один -- на ftp, второй -- в дистрибутив.
Хм. Точно нельзя? Тогда -- на фиг! Вариант для ftp можно сделать позже.
Rgrds, AEN
_______________________________________________
Devel mailing list
Devel@linux.iplabs.ru
http://www.logic.ru/mailman/listinfo/devel
^ permalink raw reply [flat|nested] 32+ messages in thread
* Re: [devel] php
2001-01-22 10:06 ` Dmitry V. Levin
@ 2001-01-22 14:37 ` Aleksey Novodvorsky
2001-01-22 10:14 ` Rider
2001-01-22 12:21 ` Re[2]: " Igor Vodennikov
0 siblings, 2 replies; 32+ messages in thread
From: Aleksey Novodvorsky @ 2001-01-22 14:37 UTC (permalink / raw)
To: devel
"Dmitry V. Levin" wrote:
>
> >
> > Почему нельзя? рапространяется же везде GD старой версии... (1.3.x)
> > Во всех дистрибутивах есть..
>
> Примеры можешь привести?
>
Если можно, -- отличные от SuSE.
Rgrds, Алексей.
_______________________________________________
Devel mailing list
Devel@linux.iplabs.ru
http://www.logic.ru/mailman/listinfo/devel
^ permalink raw reply [flat|nested] 32+ messages in thread
* Re: [devel] php
2001-01-22 13:59 ` Rider
@ 2001-01-22 18:35 ` Aleksey Novodvorsky
2001-01-22 14:16 ` Rider
2001-01-23 7:15 ` Mikhail Zabaluev
0 siblings, 2 replies; 32+ messages in thread
From: Aleksey Novodvorsky @ 2001-01-22 18:35 UTC (permalink / raw)
To: devel
Rider wrote:
>
> > На самом деле картина такова:
> > В предлагаемом патче используется LZW-алгоритм сжатия, взятый из программы
> > compress, распространяемой как Public Domain, и входящей во все RPM-based
> > дистрибутивы (пакет ncompress). Так что в принципе мы можем этот патч
> > использовать.
> > Но: Использование gif-файлов, созданных с применением LZW-сжатия с
> > помощью ПО, не лицензированного CompuServe Inc., является нарушением их
> > авторских прав. Таким образом, включая этот патч, мы как бы подталкиваем
> > наших пользователей к нарушению прав CompuServe, хотя сами их права не
> > нарушаем. Не очень хорошо, в принципе.
> >
> > Какое будет окончательное решение?
>
> Может проголосуем? ;-)
> Я ОЧЕНЬ хочу включения этого патча, т.к. он облегчает на порядок жизнь
> админам http серверов
> Так что я за.. ;-)
> А если призадуматься, то 99% населения земного шара нарушают эти
> права...
> А ччто хочет Compuserv? Может им письмо отправить? ;-)
Насколько я понимаю, речь идет о нарушении патента, а не авторских прав.
Патент этот действителен в Америке, но недействителен в Европе. Если это
так (если нет -- поправьте), то мы можем включить этот патч, написав
соответствующее предупреждение. Если нет, то надо будет выложить вариант
с LZW на ftp, админы от этого не пострадают.
Rgrds, Алексей.
>
> >
> > P.S. Объясните мне, чем все-таки плох PNG? Я знаю, есть на свете даже
> > конвертеры сайтов gif->png.
>
> PNG плохо сжимается на маленьких файлах (кнопки, иконки)
> и хорошо работает на больших файлах
>
> Это народ в SpyLOG'е анализировал
>
> Rgds
> Anton
> _______________________________________________
> Devel mailing list
> Devel@linux.iplabs.ru
> http://www.logic.ru/mailman/listinfo/devel
_______________________________________________
Devel mailing list
Devel@linux.iplabs.ru
http://www.logic.ru/mailman/listinfo/devel
^ permalink raw reply [flat|nested] 32+ messages in thread
* Re: [devel] php
2001-01-22 12:21 ` Re[2]: " Igor Vodennikov
2001-01-22 13:02 ` Dmitry V. Levin
@ 2001-01-23 7:10 ` Mikhail Zabaluev
1 sibling, 0 replies; 32+ messages in thread
From: Mikhail Zabaluev @ 2001-01-23 7:10 UTC (permalink / raw)
To: Aleksey Novodvorsky
Hello Igor,
On Mon, Jan 22, 2001 at 17:21 +0500, Igor Vodennikov wrote:
>
> Извиняюсь за долгое отсутствие, я толко в пятницу из больницы вылез...
> Так как я не мог разобрать всю накопившеюся почту, то я ее выхлопал, а
> сейчас смотрю - обсуждается gd. Я выкачал ee srpm, а там нет патча для
> русских шрифтов :-( Я сам не могу собрать в нужном окружении - у меня
> все давно устарело и пока некогда обновлением заниматься. Я рад, что
> наконец-то появился аналог Кукеру. Возьмите пожалуста патч из gd
> аппендиксного или постапендиксного... И еще есть пожелание собрать php
> c поддержкой jpeg через этот самый gd.
Там будет поддерживаться и jpeg, и xpm, и Windows bmp.
--
Stay tuned,
MhZ mailto:mookid@sigent.ru
-----------
Education is learning what you didn't even know you didn't know.
-- Daniel J. Boorstin
_______________________________________________
Devel mailing list
Devel@linux.iplabs.ru
http://www.logic.ru/mailman/listinfo/devel
^ permalink raw reply [flat|nested] 32+ messages in thread
* Re: [devel] php
2001-01-22 18:35 ` Aleksey Novodvorsky
2001-01-22 14:16 ` Rider
@ 2001-01-23 7:15 ` Mikhail Zabaluev
2001-01-23 8:01 ` Alexander Bokovoy
1 sibling, 1 reply; 32+ messages in thread
From: Mikhail Zabaluev @ 2001-01-23 7:15 UTC (permalink / raw)
To: devel
Hello Aleksey,
On Mon, Jan 22, 2001 at 21:35 +0300, Aleksey Novodvorsky wrote:
>
> Rider wrote:
> >
>
> > > На самом деле картина такова:
> > > В предлагаемом патче используется LZW-алгоритм сжатия, взятый из программы
> > > compress, распространяемой как Public Domain, и входящей во все RPM-based
> > > дистрибутивы (пакет ncompress). Так что в принципе мы можем этот патч
> > > использовать.
> > > Но: Использование gif-файлов, созданных с применением LZW-сжатия с
> > > помощью ПО, не лицензированного CompuServe Inc., является нарушением их
> > > авторских прав. Таким образом, включая этот патч, мы как бы подталкиваем
> > > наших пользователей к нарушению прав CompuServe, хотя сами их права не
> > > нарушаем. Не очень хорошо, в принципе.
> > >
> > > Какое будет окончательное решение?
> >
> > Может проголосуем? ;-)
> > Я ОЧЕНЬ хочу включения этого патча, т.к. он облегчает на порядок жизнь
> > админам http серверов
> > Так что я за.. ;-)
> > А если призадуматься, то 99% населения земного шара нарушают эти
> > права...
> > А ччто хочет Compuserv? Может им письмо отправить? ;-)
>
> Насколько я понимаю, речь идет о нарушении патента, а не авторских прав.
> Патент этот действителен в Америке, но недействителен в Европе. Если это
> так (если нет -- поправьте), то мы можем включить этот патч, написав
> соответствующее предупреждение. Если нет, то надо будет выложить вариант
> с LZW на ftp, админы от этого не пострадают.
Тогда придется делать две версии php-gd: с gif и без. Технически, вроде
бы, можно выдрать каталог с кодом gd-расширения из исходников PHP и
собрать, имея php-devel.
--
Stay tuned,
MhZ mailto:mookid@sigent.ru
-----------
Perhaps the world's second worst crime is boredom. The first is being a bore.
-- Cecil Beaton
_______________________________________________
Devel mailing list
Devel@linux.iplabs.ru
http://www.logic.ru/mailman/listinfo/devel
^ permalink raw reply [flat|nested] 32+ messages in thread
* Re: [devel] php
2001-01-23 7:15 ` Mikhail Zabaluev
@ 2001-01-23 8:01 ` Alexander Bokovoy
0 siblings, 0 replies; 32+ messages in thread
From: Alexander Bokovoy @ 2001-01-23 8:01 UTC (permalink / raw)
To: devel
On Tue, Jan 23, 2001 at 10:15:20AM +0300, Mikhail Zabaluev wrote:
> Hello Aleksey,
>
> On Mon, Jan 22, 2001 at 21:35 +0300, Aleksey Novodvorsky wrote:
> > > А ччто хочет Compuserv? Может им письмо отправить? ;-)
> >
> > Насколько я понимаю, речь идет о нарушении патента, а не авторских прав.
> > Патент этот действителен в Америке, но недействителен в Европе. Если это
> > так (если нет -- поправьте), то мы можем включить этот патч, написав
> > соответствующее предупреждение. Если нет, то надо будет выложить вариант
> > с LZW на ftp, админы от этого не пострадают.
>
> Тогда придется делать две версии php-gd: с gif и без. Технически, вроде
> бы, можно выдрать каталог с кодом gd-расширения из исходников PHP и
> собрать, имея php-devel.
Ну, это же не проблема :-)
--
Sincerely yours, Alexander Bokovoy
The Midgard Project | www.midgard-project.org | Aurora R&D team
Minsk Linux Users Group | www.minsk-lug.net | www.aurora-linux.com
IPLabs Linux Team | linux.iplabs.ru | Architecte Open Source
-- "Trust me. I know what I'm doing."
-- Sledge Hammer
_______________________________________________
Devel mailing list
Devel@linux.iplabs.ru
http://www.logic.ru/mailman/listinfo/devel
^ permalink raw reply [flat|nested] 32+ messages in thread
end of thread, other threads:[~2001-01-23 8:01 UTC | newest]
Thread overview: 32+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2001-01-22 8:46 [devel] php Rider
2001-01-22 8:53 ` Alexander Bokovoy
2001-01-22 9:06 ` Rider
2001-01-22 9:10 ` Alexander Bokovoy
2001-01-22 9:19 ` Rider
2001-01-22 9:46 ` Alexander Bokovoy
2001-01-22 14:21 ` Aleksey Novodvorsky
2001-01-22 9:58 ` Rider
2001-01-22 10:06 ` Dmitry V. Levin
2001-01-22 14:37 ` Aleksey Novodvorsky
2001-01-22 10:14 ` Rider
2001-01-22 12:21 ` Re[2]: " Igor Vodennikov
2001-01-22 13:02 ` Dmitry V. Levin
2001-01-22 13:04 ` Rider
2001-01-23 7:10 ` Mikhail Zabaluev
2001-01-22 10:09 ` Alexander Bokovoy
2001-01-22 10:18 ` Rider
2001-01-22 10:24 ` Alexander Bokovoy
2001-01-22 10:30 ` Rider
2001-01-22 10:31 ` Alexander Bokovoy
2001-01-22 13:11 ` Dmitry V. Levin
2001-01-22 13:59 ` Rider
2001-01-22 18:35 ` Aleksey Novodvorsky
2001-01-22 14:16 ` Rider
2001-01-23 7:15 ` Mikhail Zabaluev
2001-01-23 8:01 ` Alexander Bokovoy
2001-01-22 9:47 ` Dmitry V. Levin
2001-01-22 14:19 ` Aleksey Novodvorsky
2001-01-22 9:22 ` Dmitry V. Levin
2001-01-22 9:30 ` Rider
2001-01-22 9:47 ` Alexander Bokovoy
2001-01-22 13:26 ` Aleksey Novodvorsky
ALT Linux Team development discussions
This inbox may be cloned and mirrored by anyone:
git clone --mirror http://lore.altlinux.org/devel/0 devel/git/0.git
# If you have public-inbox 1.1+ installed, you may
# initialize and index your mirror using the following commands:
public-inbox-init -V2 devel devel/ http://lore.altlinux.org/devel \
devel@altlinux.org devel@altlinux.ru devel@lists.altlinux.org devel@lists.altlinux.ru devel@linux.iplabs.ru mandrake-russian@linuxteam.iplabs.ru sisyphus@linuxteam.iplabs.ru
public-inbox-index devel
Example config snippet for mirrors.
Newsgroup available over NNTP:
nntp://lore.altlinux.org/org.altlinux.lists.devel
AGPL code for this site: git clone https://public-inbox.org/public-inbox.git