From Qi-Hardware
Jump to: navigation, search

NuPDF is a pdf viewer written by darfgarf for the nanonote and dingoo-a320(dingux), it uses Mupdf for handling the files/rendering, and SDL for the UI


[edit] Current status

Version 0.3 has been released, get it here: dingoo file archive

You can also get nupdf from the googlecode project page, along with access to the svn (contact me if you want to commit any fixes)
nupdf project page

Rock88 has ported nupdf to linux based moto phones, see this forum thread here:(russian)

[edit] Installation

[edit] Gmenu2x

1) change to the tab you want to add the shortcut in (applications would make sense), and press 'F2'

2) select 'add link in applications'

3) navigate to where you copied the nupdf directory, and select nupdf.dge (or just nupdf for the nanonote, else you'll end up with weird keybindings)

4) move the cursor over the nupdf shortcut and press 'enter'

[edit] Dmenu

1) Extract the contents of the archive to your SD card, (this example assumes /local/apps/nupdf/, but anywhere is fine)

2) open your theme's menu-apps.cfg file (in my case, it's in /local/dmenu/themes/DekUI/, but your mileage may vary);

3) Add an entry for NuPDF (change WorkDir for your specific case, if needed) and save:

MenuItem NuPDF
Icon = "res/apps/ebook.png"
Name = " NuPDF"
Executable = "./nupdf.dge"
WorkDir = "/usr/local/apps/nupdf"
Selector = yes

4) An entry for NuPDF should now appear in the Applications menu that, when selected, allows you to easily choose a .pdf file for viewing.

[edit] Mentions

These are people that have helped out in some way or the other

  • Juan ComesaƱa-bugfixes/optimisations for v0.3 - menu loop/etc

[edit] Todo

[edit] todo for next version/future versions

  • bookmark support

[edit] old todo's

  • Remove useless code/make the rendering function faster -done
  • reduce executable size/memory usage -done, but can always need more
  • Improve UI-limit zooming so page can't be made upside-down from over-zooming -done
    • Add Function to goto page/skip more than one at once -done, skip to page to be added when there's time
    • Add fine-panning functionality -done
  • Render zoom levels/pages in the background - less of a wait before response when pressing buttons -complicated
  • Add loading screen/icon to show it's loading page/zoom level -done
  • Only take input when ready, so it doesn't lag behind the users input -done
  • See if colours can be improved on the nanonote -done, fixed problems, dingoo still looks better
  • page rotation support-done
  • adjust zoom level to exactly screen width-done
  • goto specific page-done
  • reset panning to top of page on pagechange(if in config file)-done

[edit] Changelog


  • added page rotation
  • added goto specific page
  • added config file
  • added return to top of page on pagechange
  • starting zoom level tweaked


  • zooming fixed
  • code cleaned up (a lot)
  • input is only taken when not busy rendering
  • fine-panning added
  • diagonal panning properly supported
  • constantly pans when direction is held down
  • loading screen/hourglass to indicate loading added
  • skip forward/back 5 pages at a time by holding the modifier key (same as for fine panning)
  • red-blue colour inversion fixed
  • nupdf will now exit with an error instead of crashing badly if a non-existant file is given


  • basic functionality

[edit] Known Bugs/Issues

  • Config file/menu issues/crashes in 0.3 - rather large bug that slipped through my rushed testing, sorry about that, just don't use the menu for now, or stick with 0.2
  • fonts look dodgy at less than 100% on nanonote screen (pixel alignment on the screen? (anyone that knows about the screen, please explain :)))
  • some pdfs fail to load, cause unknown (missing fonts?)
  • for some reason certain pages in certain pdf files will take ridiculously long times to load (1-2 minutes), some type of textbox?-beige border, grey background and black text

[edit] old bugs

  • you can zoom in so far it flips it upside-down
  • input can be given while rendering
  • zooms to top left corner currently, could do with some improvement, but good for now
  • scroll gets stuck if panning while zooming, and let go while it's rendering -fixed (at the cost of having to repress the pan button after the rendering is done, but who would hold the arrows down while zooming/pagechanging anyway?)

[edit] Suggestions/Bug reports

Add bugs/suggestions here

test with kernel: 18-Mar-2010 1 rootfs: office image 20100312

828.0K	UEA.pdf		english
1.2M	linux26_new_features.pdf	Chinese

nupdf works pretty good with UEA.pdf and linux26_new_features.pdf.

nupdf seems to be working nicely on my Dingoo. It takes quite a bit of time to render pdf files with too many elements, but for most files it works ok. The render quality is very nice; all elements are very crisp. Scrolling speed is great (which is useful at high zoom levels). Page flipping on mostly-text pdf files is quite quick. The only thing "missing" would be a bookmark system (or, at least, a "skip to page" option), which you already have in the ToDo list so... In general, a GREAT little piece of software which is very useful for pdf junkies who refuse to buy swindles and ibads ;)

Personal tools