Tuesday, March 17, 2009

Ands-pdf Release 1.4

Sorry for the delay to v1.4; but to make up for it, I've included a lot of new features!

Binary (Note: You must put the fonts folder at the root level of your slot-1 device)

Changelog from 1.3 to 1.4:

  • New viewing mode. This is the 'reader' mode. More on that later.
  • D-pad now pans the screen. I got alot of requests for this one!
  • File browser is now filtered; will only show PDF files. Note that it will show folders that don't have PDF files in them.
  • You can now adjust the backlit brightness by holding down Select + Up/Down arrows.
  • You can now cancel out of the file browser with 'B', or by clicking the file browser button again.
  • Rendering is getting progressively faster.
  • Mini-help screen and info screen on startup.
  • Added splash screen. If you find this annoying, remove the splash files in the FONTS folder, and it will bypass this step.
  • Fonts are external now. This gives us alot more memory to play with at the expense of higher load times on certain PDF's. (Note: I took out the dingbats font. If anyone as a PDF that has dingbats, I will hand out that file too... It is much larger though).
Bug Fixes:
  • You can no longer scroll off the bottom of the file browser.
  • Some memory issues resolved that led to instability.
  • The zoom-tool used to mess up if you clicked it more than once. Doesn't anymore.
  • Tons of other stuff I'm sure...
Reader Mode

There is a new icon on the tool bar that looks like a paper with a lower case 'r' on it. This button brings you to the reader mode.

The reader mode serves two purposes. First, it lets you quickly navigate through pages. Second, it lets you read the text of a PDF in a format appropriate for the NDS.

I'm really excited about this new feature, however it isn't as far along as I would hope. The long and short of it is that the way PDF files store their text is difficult to read since every PDF generator seems to do it a bit differently; and there are a number of different font formats as well. This effectively means that it won't work for all PDF's, and won't do what you expect it to do for many more. I considered not releasing until I had everything working, but figured people would want new features even if some of them were faulty.

Some PDF's will render fine in the text view. Some will render with no spaces. Others will not render at all (I haven't run into alot of those, but, unfortunately, I suspect that non-latin encodings suffer much more greatly from this.) I haven't completely nailed down the auto-formating, but I'm close. You'll probably notice some puncutation is goofed up; thats another thing I'm working on. Its a work in progress.

If you have a document that doesn't look right in the reader mode that you don't mind sharing, please please contact me either here or elsewhere. I probably won't be able to respond to everyone, but I will look at it, and will try to figure out how to make it work right. Thank you!

To the right is a typical screen shot of the reader mode. On the bottom screen are different page layouts. On the top screen is the text pulled from the page. You can scroll the text via the D-Pad up and down keys, and change pages by the right and left keys. Touching pages will also give them focus. The numbers are, intuitively enough, the page numbers for that page.

  • Start opens a new file ('B' will cancel this operation.)
  • Select + Up/Down adjusts the screen brightness to the desired level
  • B button toggles view mode between normal document view mode and reader view mode.
Normal Viewer Mode:
  • D-Pad pans the document
  • X toggles between book mode and normal mode
  • Right Shoulder/A moves forward a page.
  • Left Shoulder/Y moves back a page.
Reader Mode:
  • Right/Left arrow moves page forward/backward
  • Up/Down arrow moves page text up or down.
Installation Notes

Unlike the previous versions, this one has font artifacts you need to keep on the flashdrive for some PDF's to load correctly. You must put the FONTS folder on your card at the root level. To do this you can simply unzip the contents of the binary zip file on to your slot-1 device. This will put the FONTS folder and the nds file on the device. You can move the nds file wherever you want, but you cannot move the fonts folder. I hope to make this configurable in the future, but we aren't there yet.

As always, please post any comments, questions, bug reports, etc etc :)


  1. I'm astonished to see PDF viewable at all on the DS - something that many thought impossible.

    The new version works better than 1.3.
    For some reason one of the PDFs I'm browsing atm doesn't render at all. It's a Power Point to PDF converted file. With 1.3 I noticed that that it rendered in Background while I was actually having the menu up to change to another file.
    The second PDF with an issue renders good, but the reader mode looks very scrambled, seems like whitespaces are cut from between the words and letters.
    I've uploaded the pdfs, so you can try it yourself.

  2. (yeah, forgot the link ;o)

  3. It is good that you are releasing as you go, bugs or not. Here is the worst pdf I know of, one that suffers terribly from the spacing problem you describe. ( http://uploaded.to/?id=nibfyb )

    For figure reduction/rendering you might want to talk to bunjalloo author richard quirk ( http://code.google.com/p/quirkysoft/ ).

    How about an option to show images as (blank) rectangles?

    Will test out 1.4 after "work".

  4. The idea for displaying images as blank is a great idea! Great homebrew keep it up!

  5. Found a reference to the use of the expansion pak, don't know who posted it though - "Two homebrew applications use the opera expansion/memory expansion pack as far as I know, Picodrive (megadrive/genesis emulator) and mini Vmac ds (Mac OS 6-7.55 emulator)"

  6. Quake2 for DS uses expansion RAM, too. There is even an option to overclock this RAM.

  7. It would be great for new version to ad a 2 pages vertical mode to the reader mode as the moonshell does with txt reader.

  8. I made an icon for you to use if you want it:

  9. great work! keep it up!
    this version is faster&shows more pdfs than the last one, very good :)

    @ Tom: (suppose you're german because you uploaded a german pdf^^):
    zu der "Graphical Modeling of Higher Plants", versuch mal diese pdf mit einem normalen reader am pc zu öffnen, den text einer seite zu kopieren und im editor einzufügen und du wirst genau den gleichen brei wie im ands-pdf reader mode erhalten
    liegt also an der pdf und nicht am programm ;)

    (open the "Graphical Modeling of Higher Plants" -pdf on your pc and try copying some text to editor ...suppose you'll miss the whitespaces here too...
    the pdf is wrong, not the reader mode :) )

    die andere pdf wird einfach zu groß sein...bis wir skripte auf dem nds lesen können wirds wohl noch mind. dauern bis die ram-expansion unterstützt wird
    (suppose the other pdf is just oversized, so we have to wait till the ram-expansion is supported)

  10. Hi, I was trying it in my Ez-Flash V plus, but seems that it doesn't work even the last version. I don't know if are the .txt or .doc that I convert into PDF with oppen office or I must choose a resolution or an specification at the time I want to create a PDF.

    Cheers, and good job I hope you can do it better for every flash cart, anyway i'll check the source-version to see whats up

  11. Just downloaded. Great program!!! I actually have a suggestion, though I don't know if it's even feasible. It's about adding another mode. Something similar to the Reader Mode, but with a NDS Browser-ish box that lets you use the touch screen to focus on a certain part of the page with the top screen showing a zoomed version of the box. Well, I guess that's EXACTLY like the NDS Browser, but....

    Like I said, I don't know how feasible that is, but, regardless, this is already an amazing homebrew!!!

  12. thank you so much for the update :-) i have found this alot easier with the d pad, and i think ive relised what i am trying to read is just to big a file, its 1644kb but when i tried reading a smaller file it worked great, i totally agree that the 2 page in the reader mode would be great, i love the readrer mode just what i was looking for :-)is there away to read the file size i am trying to or is it just too much? thanks again for taking the time to work on this its great xx

  13. long file names tend to wrap to the second line and seem to blur. would it be possible to prevent them from wrapping and have a scroll bar for horizontal? i have to say, this is really great work. i am so thankful for your efforts!

  14. I think there are a growing number of folks that would like to use your homebrew app as a eBook reader. As a reminder, this program appears to be promising, and more good things will come out of it later so just continue on working with your initial idea of just having a workable PDF viewer for the DS.

    Other than that, I would like to discuss about PDF compatibility. Surely, there are many PDF creators out there, but if there are so many problems then why not stick to one PDF creator that will work? Especially a PDF creator that is free like PDFCreator or OpenOffice.org Writer.

  15. I do not understand why anyone would want a two page reader "book" mode, unless they plan on reading exclusively haiku or limericks. The vertical screen width allows for 4-5 words per line at best, and a pdf zoomed out to full page on the nds is illegible unless the initial font size was 24pt i.e. 1-2 words per line.

    Most plain text books are better viewed on the nds as just that, plain text, or html and there are decent tools for these conversions. pdf is most useful when the text formating is important, or the text has hyperlinks to ease navigation. Any pdf e-book of significant length without figures I would convert to plain text to read on the ds. The response time of scrolling through pages or changing fonts (DSReader) significantly outweighs any convenience or usefulness of pdf formating.

    My own selfish desire for this software would be the ability to read scientific papers, including figures, that are usually 20 pages or less and often become illegible without the formatting. So I selfishly lean towards having something that can render figures, and puts scrolling speed above that of page flipping speed.

    On the topic of figures... I think that an empty frame for a figure would be optimal. Clicking on the empty frame would display only the figure. Perhaps a line by line downsampling to a "reasonable" size cached on disk until software exit? ComicBookDS is another piece of homebrew that can handle rendering of fairly large figures, and has a nice interface, but all it has to do is render figures of one format (jpg). In addition figures are preprocessed with a windows application. As much as the idea sucks, having an optional windows app to preprocess the pdf for ds viewing might be the most pratical solution.

  16. in a pdf i only can see the first three pags then a black screen shows up and the program stop working i use the sakura 1.3

  17. I tested this version on EZ5, and works nicely.
    Now what about a Moonshell2 plugin?

  18. I am grateful that you have brought pdfs to the DS. Do you plan on adding support for the slot-2 ram add on like the DS Browser expansion or say the Flash V 3-in-1?