Board.KolibriOS.org

Official KolibriOS board
It is currently Sat Dec 07, 2019 4:45 pm

All times are UTC+03:00




Post new topic  Reply to topic  [ 100 posts ]  Go to page Previous 1 2 3 4 57 Next
Author Message
PostPosted: Fri May 25, 2012 8:26 am 
Offline

Joined: Mon Sep 24, 2007 11:11 am
Posts: 2814
Вернулся к pdf через полгода. Думал сначала, повешусь. Ан нет, оказывается, я сделал валидный make-файл, и все собирается по одной-единственной команде. Выпилил все шрифты кроме одного, сжатый бинарник теперь занимает не 2,5 мегабайта, а всего 800 килобайт. Смысла выкладывать его пока что не вижу. Через пару дней поковыряюсь с gui для этого дела. 800-килобайтную версию можно и на CD-maximal включать.


Top
   
PostPosted: Fri May 25, 2012 10:49 am 
Offline

Joined: Mon Sep 24, 2007 11:11 am
Posts: 2814
Большой прогресс. Программа рисует окно и выводит в него первую страницу. Цвета почему-то обрабатываются неправильно (не BGR?!), и прокрутка не работает (потому что blit).


Top
   
PostPosted: Fri May 25, 2012 12:25 pm 
Offline

Joined: Mon Sep 24, 2007 11:11 am
Posts: 2814
Свежая версия:
Attachment:
Screenshot-64.png
Screenshot-64.png [ 85.01 KiB | Viewed 2988 times ]


ftp://ftp.kolibrios.org/users/SoUrcerer/updf

Хотел сначала использовать SDL-версию nuPDF (чем по сути этот порт и является), но в итоге психанул и написал всё целиком, основываясь на версии для X11.
Запускать так:
updf [путь_к_pdf]
Листать страницу - h,j,k,l. Следующая/предыдущая страницы - [,]. Поворот страницы - a,s, L, R. Масштаб + и -.
В qemu перерисовка безумная. На реальной машине, наверное, тоже, что очень печально. Изменение размеров окна пока не поддерживается, и многое другое - тоже.

Данную версию updf легко превратить в то, что я хотел сделать с webby. Причем даже с ссылками мучиться не надо - где-то "внутри" себя updf обрабатывает нажатия на ссылки в pdf-ках. Один вечер, подъем сервера - и можно будет смотреть красивые странички. Правда, без js и возможности отправки данных в поля ввода. Предвижу, что это никому не нужно.


Top
   
PostPosted: Fri May 25, 2012 12:29 pm 
Offline
Designer
User avatar

Joined: Thu Jan 25, 2007 3:33 pm
Posts: 5067
Сейчас потестим)

_________________
Через тернии к звездам


Top
   
PostPosted: Fri May 25, 2012 1:34 pm 
Offline

Joined: Mon Sep 24, 2007 11:11 am
Posts: 2814
ftp://ftp.kolibrios.org/users/SoUrcerer/updf1
Выпилил еще больше поддержки китайского-корейского-японского. Если кому-то надо будет, впилю назад. Все остальное такое же, как было. Теперь занимает не 828 килобайт, а 473. Если заменить шрифт на что-нибудь полегче, то можно еще килобайт 50 выиграть.


Top
   
PostPosted: Fri May 25, 2012 1:50 pm 
Я так понимаю это упакованный вариант бинарника?


Top
   
PostPosted: Fri May 25, 2012 2:01 pm 
Offline

Joined: Mon Sep 24, 2007 11:11 am
Posts: 2814
Конечно, без упаковки больше мегабайта.


Top
   
PostPosted: Fri May 25, 2012 2:34 pm 
Offline

Joined: Mon Sep 24, 2007 11:11 am
Posts: 2814
Внимание, тревога: файлы, в чьем имени используется пробел, открываться не могут из-за моей тупой ошибки.


Top
   
PostPosted: Fri May 25, 2012 3:23 pm 
Offline

Joined: Mon Sep 24, 2007 11:11 am
Posts: 2814
Тревога отменяется. Исправленная версия: ftp://ftp.kolibrios.org/users/SoUrcerer/updf1


Top
   
PostPosted: Fri May 25, 2012 8:23 pm 
Offline
Kernel Developer

Joined: Wed Mar 08, 2006 6:25 pm
Posts: 3952
Потестил в реале. Работает шустро, но заметны повторяющиеся перерисовки (два или три раза) при смене страницы и при каждом обновлении полная перерисовка окна с заливкой фона.


Top
   
PostPosted: Fri May 25, 2012 9:18 pm 
Offline

Joined: Mon Sep 24, 2007 11:11 am
Posts: 2814
Я вообще удивлен, что оно сегодня заработало. Я писал морду с нуля, заглядывая в версию для X11. Если нужно, могу выложить исходники, но для сборки нужна куча всякой всячины. zlib, libjpeg, libopenjpeg, libpng, freetype2 и, возможно, что-то ещё. make-файл предназначен для menuetlibc.
Можно добавить прокрутку, меню, поиск по файлу, переход к странице, выделение текста, копирование текста, прокрутку мышью, разные курсоры мыши, гиперссылки в документе - все это поддерживается библиотекой.
Почему перерисовка происходит два раза - видимо, какой-то флаг я не учитываю (подозреваю, это флаг shrink, который заставляет окно pdf-просмотрщика подстраиваться под размер документа). Заливку фона я пытался убрать, но был слишком устал для того, чтобы правильно определить координаты, которые нужно заливать (хотя почти все готово).
В целом работает не хуже, чем nuPDF на моей приставке Ritmix RZX-50.


Top
   
PostPosted: Fri May 25, 2012 11:03 pm 
Offline
Kernel Developer

Joined: Wed Mar 08, 2006 6:25 pm
Posts: 3952
SoUrcerer
Выкладывай, может что дельное в голову придёт по опыту FPlay.
zlib, libpng и freetype242 есть, последнюю я кстати не стал заливать на свн, думал ты это сделаешь.


Top
   
PostPosted: Fri May 25, 2012 11:09 pm 
Offline

Joined: Mon Sep 24, 2007 11:11 am
Posts: 2814
Содержимое папки ftp://ftp.kolibrios.org/users/SoUrcerer/uPDF/ нужно накатить на исходники mupdf-0.9. Для компиляции необходимо, чтобы в папке scripts лежали скомпилированные версии fontdump и cmapdump. Так же необходимо иметь файл snprintf, потому что snprintf/fnprintf в menuetlibc не реализованы.Все cmaps можно заменить на пустышки, а лишние шрифты - выпилить. Если все файлы имеются, то для сборки достаточно ввести make.


Top
   
PostPosted: Fri May 25, 2012 11:11 pm 
Offline
Kernel Developer

Joined: Wed Mar 08, 2006 6:25 pm
Posts: 3952
Посмотрю. Хорошо бы это сразу на свн.


Top
   
PostPosted: Fri May 25, 2012 11:15 pm 
Offline

Joined: Mon Sep 24, 2007 11:11 am
Posts: 2814
Мне стыдно такое на SVN выкладывать. Куча отладочной информации, куча косяков и совершенно непричесанный код. Хотя бы мерцание убрать.


Top
   
Display posts from previous:  Sort by  
Post new topic  Reply to topic  [ 100 posts ]  Go to page Previous 1 2 3 4 57 Next

All times are UTC+03:00


Who is online

Users browsing this forum: No registered users and 1 guest


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Limited