Content here is by Michael Still mikal@stillhq.com. All opinions are my own.
See recent comments. RSS feed of all comments.


Sun, 31 Dec 2000



Sunday

    Hmmmm. What did I do today? I went to church, and then put new mulch and weed mat on the front garden. I made a point of not doing any work on PandaLex because I figured I needed a break.

    There was a new years somewhere in there as well.

    Tried to upgrade the version of pine on my Redhat Sparc machine. It was made much harder because of the RPMs for openssl being incorrectly labelled -- the RPMs handed out are actually for x86 machines. I had to download the source and compile it, which involved manging the makefiles to give me shared libraries...

    I'm now running a new version of Pine, which makes it all worth while.

posted at: 04:00 | path: /diary | permanent link to this entry


Fri, 29 Dec 2000



Saturday

    Nearly the end of the year. Slept until Noon (which is very rare for me), went into the centre of town (which is rare for me), and then came home. Checked my email, and decided it was time to upgrade to Pine 4.31...

    Whoever organises the compiles for Pine needs their head read. God if it isn't a mess... I couldn't get it to work. Posted a message to the slug mailing list asking for advice.

    It is 9pm, and I think I have goofed off enough for today... Coding time!

posted at: 04:00 | path: /diary | permanent link to this entry


Wednesday - Friday

    Don't ask. It's all a blur that involves getting PandaScript 0.3 RC1 ready, and then beating my head against a series of bugs in PandaLex 0.3 development... People needn't be concerned about Panda 0.4 ever being released though, it is definitely being worked on...

posted at: 04:00 | path: /diary | permanent link to this entry


Wed, 27 Dec 2000



PandaScript 0.3 RC 1

    PandaScript 0.3 Release Candidate 1 is now out. If there are no major bugs found in this version, then it will be rereleased as the stable version...

    PandaScript is a scriptable PDF generation application based on the Panda PDF Generation API. It reads commands from standard input, and produces a named PDF file.

posted at: 04:00 | path: /site | permanent link to this entry


PandaScript 0.3 Stable

posted at: 04:00 | path: /site | permanent link to this entry


Mon, 25 Dec 2000



Tuesday (Boxing Day)

    I have discovered the most boring thing in the world. I am in the process of documenting PandaScript ready for release into the big bad Internet. This so far has involved installing docbook-to-man, and then trying to work out how to write a SGML document to actually run through docbook-to-man. I have that worked out now, so it is just a case of writing the documentation...

    I can understand why programs don't tend to be well documented, because it is hellishly boring to do.

    *** time passed ***

    I have nearly finished the documentation for PandaScript. This means it will probably be ready for an initial release (at version 0.3!) in the next few days. After this I will aim for PandaLex 0.1 Release coming out sometime in the week after that. This will allow me to have another Panda release out by the end of the month (January that it). I am hoping for it to be a little sooner than that though.

posted at: 04:00 | path: /diary | permanent link to this entry


Monday (Christmas Day)

    Cleaned up the house and had a Christmas lunch for the in laws. Then had my family come over for an afternoon tea. After that had some brothers and a girlfriend come along and watch South Park and look at wedding photos. Despite all of this, I still managed to get PandaLex parsing all non-linearised documents (I think)...

    Anyway, back to my coding...

posted at: 04:00 | path: /diary | permanent link to this entry


PandaScript 0.3 RC1 Released

    Well, I finally have something to show for my efforts. This version is by no means perfect, but I believe that it is better than nothing... This version will allow you to create documents with textboxes, imageboxes and imageboxes which are rotated. It supports TIFF and JPEG images that are supported by Panda.

    Why don't you download it and have a look? The man page is also online, to make it easier for you to see what is available...

    If no major problems are found in the next week, then this version will be released as a stable version.

posted at: 04:00 | path: /panda/pandascript | permanent link to this entry


Sunday

    Badly sunburnt. Painted some lattice and got ready for Christmas lunch (cooking and stuff). No nerdy stuff at all got done...

posted at: 04:00 | path: /diary | permanent link to this entry


Fri, 22 Dec 2000



I forgot to mention

    That I put in my linux.conf.au registration today... Work should have booked me in and everything. This was in response to the email message to the local LUG saying that they needed to be in real soon now.

posted at: 04:00 | path: /diary | permanent link to this entry


Friday

    Went to work today and didn't get much done. I have been debugging the installer for my Windows NT Service, and it is a case of tweaking, building an installer, installing inside a virtual machine, rebooting, and checking. Over and over again. Argh! We all got an early mark from work today, which was nice.

    My afternoon was ruined by the incompetence of Telstra ADSL though. After two weeks of telling me that my application was under way and that I would have a connection by Christmas, they have now decided that 'available' means 'will one day be available', and that as soon as they have the relevant equipment in my local exchange, then I can have ADSL. This is meant to be February 2001. I am thinking of ringing the telecommunications industry ombudsman...

    Had a look at PandaScript. I think all I need to do now is make up some documentation, and setup the standard distribution files... There is also the minor issue of multiline strings.

    I also had a look at PandaLex, but I am still having some grief getting the lexer just right... This is holding up the development of Panda, so I am going to have to put some more time into it real soon now.

    Had a really sore back and went to bed early after having some funky pain killers...

posted at: 04:00 | path: /diary | permanent link to this entry


Saturday Again

    Can it get any better than this? I'm coding PandaLex and listening to music in surround sound mode on the stereo... If only PandaLex would behave itself...

posted at: 04:00 | path: /diary | permanent link to this entry


Saturday

    Got up. Went Christmas shopping (I've bought all the presents now, it was just a case of making sure). Went home. Mowed the lawn. Started making pelments 1.0 for the lounge room. These are a strip of wood that goes across the top of the window which the curtain rail afixes to. When winter comes along and I care about keeping heat in, then pelmet 2.0 will be made, which will have a box over the top of the curtain, having been joined to pelment 1.0.

    Setup my Sparc 10 in the machine room. I finished the cabiling of the house a few days ago, so it was just an case of getting the machines ready for the brave new world. I worked out why I had been having troubles getting RedHat 6.2 to install this time around -- it was because last timw I had used 6.1... I rolled back to 6.1 the other day in my install attempts, and it now just works. I did compile up a newer kernel myself though.

    I think I will now spend some more time trying to sort out the PandaLex lexer.

posted at: 04:00 | path: /diary | permanent link to this entry


Thu, 21 Dec 2000



Wednesday

    Started playing with InstallShield for the NT service. This product seems to have improved a lot from last time I used it, at which time it was like trying to code with the Spanish Inquisition. It's interesting to note that the scripting language is very like C, but also a lot like VB. I guess this is an obvious sort of thing to do if you want people to use your product, but it made me think about how all the new languages are starting to look just like each other. C and C++. C++ and Java. Java and C#. Shell and Perl. C and Perl... You get the idea.

    Why are people bothering with new languages then? Why don't they just extend the perfectly good languages they have now?

posted at: 04:00 | path: /diary | permanent link to this entry


Thursday

posted at: 04:00 | path:
/diary | permanent link to this entry


Tuesday

    I spent Tuesday this week finalising my resolution to the problems we had been having with the Windows NT Service I had written. This mainly involved rearranging some code so that it could better detect some bugs.

    Rang Telstra about my ADSL connection and was told to call back on Thursday. They basically said that because I was changing from a different provider, they were punishing me.

posted at: 04:00 | path: /diary | permanent link to this entry


Mon, 18 Dec 2000



Friday thru Monday

    I've been a little tardy in writing for this for a little while now. What have I done for the last few days?

  • Worked on the NT service and it's registry problems (it is hard to test because the bug is intermittent).
  • Played golf, but the scores are not online just yet.
  • Cleaned up my home machine room in preparation for ADSL
  • Did Christmas shopping
  • Worked on PandaLex and PandaScript
  • Started writing some man pages for zlib

    That's about it really...

posted at: 04:00 | path: /diary | permanent link to this entry


Thu, 14 Dec 2000



PandaScript Announced

    PandaScript is a package that makes build PDFs from shell scripts easier. Have a look at it's page for more details.

posted at: 04:00 | path: /panda | permanent link to this entry


You what?

    Today I wrote a shell script to generate a PDF using Panda, and it occured to me that it was bloddy hard. To make a PDF I had to have the script:
  • Generate C code with echo statements
  • Compile the C code
  • Execute the C code

    It made me think, and PandaScript was born. Panda script is a simple engine that reads commands from standard input and uses them to build a PDF document. This makes it much easier to generate a PDF document because you don't have to go through that compilation step that I ad to do today.

    I will endevour to add functionality to PandaScript as it is added to Panda itself.

posted at: 04:00 | path: /panda/pandascript | permanent link to this entry


Wed, 13 Dec 2000



Thurday

    I have been writing an NT service at work for some time now. During the process I have determined that I never want to use Borland again... The IDE is much worse than Visual Studio, and the classes to do stuff like access the registry are much more clumsy. Then again I prefer gcc and vi on a Unix box to Visual Studio -- I guess it is better the devil you know. I think it is also good for programmers to have experienced a diverse range of platforms so that they understand the world.

    I think I forgot to mention that I compiled up libtiff and libjpeg for windows yesterday. This will make it easier for the windows people out there who don't have a c compiler with which to do these themselves. Visual Basic et al are also a bit disempowering that way -- a DLL or LIB is a scary thing to some of these people. The libraries are available on the Panda documentation page. The process I used is also documented there, because it was not initially obvious, especially for libtiff.

    Offered to write some zlib man pages is Jen-Loup still wants some. The README file says that they do...

    I will be posting a freshmeat announcement for Open Source POSIX Threads for Win32 sometime in the next week or so when Ross Johnson is ready.

    I still need to consider all the stuff from the CLUG mailing list about the license for Panda. I have been real busy at work, so this hasn't happened yet. I also need to fix the getpage code so that it wokrs with FAQ entries, because the question of licensing is clearly a FAQ.

    Panda is entering the prime time -- we have just started work on a series of Panda animated banners, the best of which I will ask VA Linux Systems to add to their affiliate underground program. By the way, the program itself is pretty cool (you get free stuff) -- I recommend you check it out.

    Busy tonight, so not much coding is going to get done. However, I hope to finish setting up the Sparc 10.

posted at: 04:00 | path: /diary | permanent link to this entry


Tue, 12 Dec 2000



LZW decompression in Panda

    Several people have tried to convince me that decompression of LZW compressed information is not covered by the various Unisys patents on the LZW compression algorithm. This decompression would be useful for the reading in of existing PDF documents, as well as the inclusion of GIF images within a PDF document.

    Having now done some research on the topic, it would appear that this is incorrect. An example is xpdf which is forced to convert the LZW compressed streams into something else before they can be used. My reading of the LZW license is also that this is the case.

    Therefore, Panda will ont be supporting the inclusion of GIF images, or the the modification of PDF documents containing LZW compressed streams in the forseeable future. When the modification of such documents is supported, it will be implemented in a similar manner to that used in xpdf.

posted at: 04:00 | path: /panda/panda-documentation | permanent link to this entry


Libjpeg for Win32

posted at: 04:00 | path: /panda/panda-documentation | permanent link to this entry


Libtiff for Win32

posted at: 04:00 | path: /panda/panda-documentation | permanent link to this entry


GPG API

    There's been a lot of talk recently about whether the GPG functionality could be made available as an API. I did some work looking at this during last semester at university, which I can now make available.

posted at: 04:00 | path: /site | permanent link to this entry


Wednesday

    I just discovered the funniest thing. The kitten is confused about where he should go to the toilet, and we just watched him do his business in one of the other cats' food bowl. This might explain the growling from the other cats when X is near them...

    Playing with PandaLex tonight.

posted at: 04:00 | path: /diary | permanent link to this entry


Tuesday

    Did I mention that I just got a new cat with Catherine?

    Spent the night setting up my Sparc 10 with NetBSD. I'll finish it in a fews days.

posted at: 04:00 | path: /diary | permanent link to this entry


Mon, 11 Dec 2000



Comparison the PDF generation APIs

posted at: 04:00 | path:
/panda/panda-documentation | permanent link to this entry


Sun, 10 Dec 2000



Sunday

    Sunday was a productive day. I went to church, I had Doug look at my TV and debug the over heating problem, I mowed the lawn and got in some practise for golf in the hope of further improving my fantastic scores. I even got around to fixing the broken outdoor furniture...

    PandaLex is starting to take a little more shape. I was rusty on Bison and Flex, so having to code some without the aid of the book is a little hard on the soul, but I'm getting there now. Thinsg started to go much better when I realised that code is included in the $x numbering scheme. It does make me wonder how much pain people go through when they change some code in a terminal though -- perhaps they simply put dummy code blocks everywhere so that they never have to change the numbering?

    PandaLex is going to have a series of callbacks as the hooks for the user application, which isn't very hard to implement. Assuming I have some free time in the next week I am confident that it shouldn't take me too much longer than a week to code it up -- then again there is debugging and testing in there as well.

    Anyway, that was my first day in online diary land.

posted at: 04:00 | path: /diary | permanent link to this entry


Monday

    Heya.

    Well another day nearly over. They announced today that the reorganisation would go ahead -- I am now officially an application developer!

    Had a play with the PDF parser, which I am coding on at the moment, which means it is getting ever closer. The wierd bit is that I am coding it during a Tupperware party. I'm pretty sure that means that if you have problems with the parser, then you can return it to Tupperware to have it fixed. However, please not that it is not dishwasher safe.

    Uni of Canberra is also incompetent. Well, not all of them, the Professional Management Programs people keep changing my summer course on me, so I am not sure if I will ever get it done or not. Oh well, we'll have to wait and see.

    Oh, and I am ordered by ADSL connection today. Telstra is cool -- they are giving me a free PCMCIA network card as part of the connection, which means I make about a $10 profit on the connect. Soon I'll have a permanent Internet connection at 512kb! Welcome to nerd central.

posted at: 04:00 | path: /diary | permanent link to this entry


Sat, 09 Dec 2000



Golfing support group

    I am a very bad golfer. My friends are very bad golfers. I figure that there must be other very bad golfers out there, so I thought I would cheer them up by sharing my golf scores with them. Have a look and see what you think.

    Donations for lessons are being accepted :)

posted at: 04:00 | path: /site | permanent link to this entry


Why?

    Because my life is fundamentally boring, I thought I should share it with you. Failing that, everyone else has an online diary, so I didn't want to be left out...

posted at: 04:00 | path: /diary | permanent link to this entry


Thu, 07 Dec 2000



Panda 0.3 Stable

posted at: 04:00 | path: /site | permanent link to this entry


Panda 0.3 Stable

    Panda 0.3 Stable has been released! Checkout the download page for information.

posted at: 04:00 | path: /panda | permanent link to this entry


Panda 0.3 Stable

posted at: 04:00 | path: /panda/panda-download | permanent link to this entry


Tue, 05 Dec 2000



Why PandaLex?

    I have been thinking for the last day or so, and it occurs to me that the PDF parsing functionality in Panda is more generally useful than what is needed for Panda itself. For instance, the parse could also be used for pdf viewers, pdf modification (what Panda needs it for), or anything else you can think of.

    A good simple, and probably fairly common use of PandaLex would be a simple program to count the number of pages in a PDF document from the command line. This could be useful for determining if the document is damaged or something.

    Therefore, welcome to PandaLex's page... This is where development work for PandaLex will occur.

posted at: 04:00 | path: /panda/pandalex | permanent link to this entry


Parsing code forked into separate project

    The PDF parsing code has been forked into the separate PandaLex project, which should make this code more useful to people who only want to parse PDF documents.

posted at: 04:00 | path: /panda | permanent link to this entry


Parsing code forked into separate project

    The PDF parsing code has been forked into the separate PandaLex project, which should make this code more useful to people who only want to parse PDF documents.

posted at: 04:00 | path: /panda/panda-development | permanent link to this entry


Panda PDF parsing code forked into separate project

    The PDF parsing code from the Panda project has been forked into the separate PandaLex project, which should make this code more useful to people who only want to parse PDF documents.

posted at: 04:00 | path: /site | permanent link to this entry


PandaLex 0.1 Development Release

    Here is the souce code for PandaLex so far. I have released this exactly as it appears in the Panda code, because this is a atarting point for people to have a look and comment on it. The following points should be noted:

  • It is not perfect
  • It is not a complete implementation of the PDF specification, version 1.3, yet
  • The next piece of development work for PandaLex is to get the hooks in place so that people can start using the parser for useful work. I am thinking this will take the form of a series of callback functions that can be defined by the user, but I am open to suggestions...

    Source (signed)

posted at: 04:00 | path: /panda/pandalex | permanent link to this entry


Thu, 30 Nov 2000



Panda 0.3 Release Candidate 1

    Please note that this is a testing release and might not work as expected. The documentation inside the release is also not always up to date -- check main.c for samples of how to use the functions. Please report any problems to me and to the Panda Development mailing list mentioned at the top of this page.

    Source


posted at: 04:00 | path: /panda/panda-development | permanent link to this entry


Panda 0.3 Release Candidate 1

    Please note that this is a testing release and might not work as expected. The documentation inside the release is also not always up to date -- check main.c for samples of how to use the functions. Please report any problems to me and to the Panda Development mailing list mentioned at the top of this page.

    Source


posted at: 04:00 | path: /panda/panda-download | permanent link to this entry


Panda 0.3 Release Candidate 1

    A testing release of Panda 0.3 has been made. Check out the download page to have a look. If there are no major breakages reported in the next week, then this will be released as stable code.

posted at: 04:00 | path: /panda | permanent link to this entry


Sun, 26 Nov 2000



Some presentations on Panda

    I have just come back from giving a couple of presentations on Panda. The slides are in the documentation section of the Panda area. Have a look!

posted at: 04:00 | path: /panda | permanent link to this entry


Wed, 22 Nov 2000



CLUG Talk

    I gave a talk at the Canberra Linux User's Group (CLUG) meeting tonight. I have made the slides used for the talk available here. I have also editted the slides to include some idea of the commentary that I gave with the slides.

    The slides cover topics such as what is Panda, what is PDF, directions for Panda development, and some simple sample code.

    For reference, the original slides, as shown on the screen are also online...

posted at: 04:00 | path: /panda/panda-documentation | permanent link to this entry


AOSS Talk

    I also gave a talk at the Australian Open Source Symposium in Adelaid today. The talk is very similar to that I gave a few days ago at CLUG (see below). However, some slides have been updated... I have made the slides used for the talk available here. I have also editted the slides to include some idea of the commentary that I gave with the slides like I did for the CLUG talk below.

    The slides cover topics such as what is Panda, what is PDF, directions for Panda development, differnces in quality of PDF viewers and some simple sample code.

    For reference, the original slides, as shown on the screen are also online...

posted at: 04:00 | path: /panda/panda-documentation | permanent link to this entry


Mon, 20 Nov 2000



Notes on the PDF format

posted at: 04:00 | path: /notes | permanent link to this entry


Sat, 18 Nov 2000



Digital Communications Networks Exam Notes

posted at: 04:00 | path: /notes | permanent link to this entry


Thu, 16 Nov 2000



Panda 0.2.2 man pages now on the web

posted at: 04:00 | path: /panda/panda-documentation | permanent link to this entry


Context highlighted GCC source code - 2.95.2

    I have decided it would be cool to have some context highlighted gcc source code for my own personal use. This seemed to be the logical place to put it. If you find it useful, then go for it.

posted at: 04:00 | path: /gcc | permanent link to this entry


Sun, 05 Nov 2000



code2html

    I have added a page with some patches for code2html.

posted at: 04:00 | path: /site | permanent link to this entry


C and Java documentation comment handling

    This patch will make code2html recognise C / Java /** ... */ style comments, which are normally used for package documentation used to create manuals.

posted at: 04:00 | path: /code2html | permanent link to this entry


A small AWK bug fix

    This patch fixes a typo in the awk language handling.

posted at: 04:00 | path: /code2html | permanent link to this entry


Thu, 02 Nov 2000



GPG API Functionality

    Here is my assignment work for Digital Communications Networks, Semester Two, 2000, which is relevant to GPG.

    Demonstrated work inside the GPG 1.0.2 suite Items that are acceptable are interface design, bug detection and correction enhancements. What you deliver may consist of one or more of the following:

  • Properly Software Engineered additional code (your own, plus sections of GPG as necessary).
  • Discussion of points of importance, illustrated by sections of your own and/or GPG code.





  • There has been much discussion recently on whether an API interface should be made available for GPG. Some of this has revolved around whether it is possible to easily implement such functionality. I have chosen to devote my DCN assignment two to this question.

    The following documents constitute my submission:

    • A log of the GPG API related threads on the gpg-devel mailing list, including comments from myself
    • Some patches to the GPG source code to implement a proof of concept API function. I have chosen the decrypt function as it seems to be one of the more commonly used and therefore most useful functions. To make these changes I have had to modify some of the GPG source code, which is what the patches are. The patches are also available for easy download:
    • A commentary on the GPG source code that was developed while working on this API functionality. This is by no means complete, but it aids in comprehension of the GPG code somewhat. This has also been included the in patches above and the modified source code below to keep it all in one place. This link is merely to the commented files, to minimse the amount of digging around required to see what I have added.
    • There is also a beautified version of the original 1.0.3 code, and the modified 1.0.3 code.
    • And finally, here is some documentation proving that the proof of concept code works (and explaining how you can go about testing it yourself).



posted at: 04:00 | path: /gpg | permanent link to this entry


Mailing lists created

    Hey, if you look to your left your will now see that there are some mailing lists for Panda, which are being hosted by Source Forge. Feel free to subscribe to them...

posted at: 04:00 | path: /panda | permanent link to this entry


Mon, 30 Oct 2000



Panda Name Conflict!

    It has come to my attention that sourceforge is hosting another project with the name Panda. To make it worse, they are developing a library with the name libpanda. This will cause problems for people who are trying to use both products at the same time. I am currently trying to resolve this problem, and will let y'all know the o utcome.

    (1 November 2000) This has now been resolved as the Source Forge folk have chosen to reassign the name to me... I have also agreed to provide a link to the other project.

posted at: 04:00 | path: /panda | permanent link to this entry


Sat, 07 Oct 2000



Panda 0.2.2

posted at: 05:00 | path: /panda/panda-download | permanent link to this entry


Panda 0.2.2

    Panda 0.2.2 is now available. The new thing with this version is JPEG support. Please let me about any problems that you experience. Various forms of RPM are also available for download from the download page.

posted at: 05:00 | path: /panda | permanent link to this entry


Sun, 01 Oct 2000



Some observations on using GPG detached signatures

posted at: 05:00 | path: /gpg | permanent link to this entry


GNU Privacy Guard

posted at: 05:00 | path: /site | permanent link to this entry


Tue, 26 Sep 2000



Panda 0.2

posted at: 05:00 | path: /panda/panda-download | permanent link to this entry


Panda 0.2 RPM and SRPM

    A i386 RPM and a SRPM for Panda 0.2 are now available. Feel free to provide me with any feedback you might have. These rpms are also signed with GPG. Details are provided on the menu to the left of your where your eyeballs are currently located.

posted at: 05:00 | path: /panda | permanent link to this entry


Thu, 21 Sep 2000



Panda 0.2

    Panda 0.2 is now available. The new things with this version include: tiff support; major speed improvements; documentation improvements; and a configure script (although it needs more work). Please let me about any problems that you experience.

posted at: 05:00 | path: /panda | permanent link to this entry


Wed, 20 Sep 2000



Relevant specifications

posted at: 05:00 | path: /panda/panda-development | permanent link to this entry


A new version of the PDF specification?

    I have just been looking at the Adobe website and have noticed that there is a new version of the PDF specification available. This version is 1.3 edition II, but the brief examination that I have given it shows that the document has chnaged a fair bit. It would appear that there is a lot more content in it, and the order of information is different. Hopefully they have also fixed some of the bugs evident in version 1.3... If I find anything of interest, then I will post a report here.

posted at: 05:00 | path: /panda | permanent link to this entry


Fri, 21 Jul 2000



Features

    Here is a list of the various features currently available in Panda. After each main type of feature are listed some pointers to Panda functions implementing that functionality.

      Annotations
    • Text annotations - panda_textannotation
      Line drawing
    • Straight lines - panda_setlinestart, panda_addlinesegment, panda_endline, panda_strokeline, panda_fillline, panda_setlinewidth
    • Polygons - panda_setlinestart, panda_addlinesegment, panda_endline, panda_strokeline, panda_fillline, panda_setlinewidth
    • Curved lines - panda_addcubiccurvesegment, panda_addquadraticcurvesegmentone, panda_addquadraticcurvesegmenttwo, panda_endline, panda_strokeline, panda_fillline, panda_setlinewidth
    • Closed lines - panda_closeline, panda_endline, panda_strokeline, panda_fillline, panda_setlinewidth
    • Rectangles - panda_rectangle
    • Line capping - panda_setlinecap
      • Butt
      • Round
      • Projected square
    • Line joins - panda_setlinejoin
      • Mitre
      • Round
      • Bevel
    • Line dashing - panda_setlinedash
    • Coloured shapes and polygons - panda_setfillcolor
    • Coloured lines - panda_setlinecolor
      Image support
    • TIFF (including rotated) - panda_imagebox, panda_imageboxrot
    • JPEG (including rotated) - panda_imagebox, panda_imageboxrot
    • PNG (including rotated) - panda_imagebox, panda_imageboxrot
      Informational items
    • Author - panda_setauthor
    • Creating application - panda_setcreator
    • Title - panda_settitle
    • Subject - panda_setsubject
    • Keywords - panda_setkeywords
      Font support
    • Use of the 14 internal PDF fonts - panda_createfont, panda_setfont
    • Font size - panda_setfontsize
    • Font modes - panda_setfontmode
      • Normal
      • Outline
      • Filled outline
      • Invisible
      • Filled clipped
      • Stroked clipped
      • Filled stroked clipped
      • Clipped
    • Arbitary character spacings - panda_setcharacterspacing
    • Arbitary word spacings - panda_setwordspacing
    • Arbitary horizontal scaling - panda_sethorizontalscaling
    • Arbitary text leading - panda_setleading
      Document functionality
    • Document creation - panda_open, panda_open_suppress, panda_close
    • Page creation - panda_newpage
      Page templates (aka Form XObjects)
    • Create and use template pages - panda_newtemplate, panda_applytemplate
      Text display features
    • Display a text box, including at an angle - panda_textbox, panda_textboxrot
    • Super and sub script support - panda_textbox, panda_textboxrot
      Document viewing features
    • Hide the viewer toolbar - panda_hidetoolbar
    • Hide the viewer menubar - panda_hidemenubar
    • Hide the viewer window eye candy - panda_hidewindowui
    • Fit the document to the viewer window - panda_fitwindow
    • Centre the window on the screen - panda_centerwindow
    • Change the page view mode whilst in non-fullscreen mode - panda_nfspagemode
    • Force the document to be viewed in fullscreen mode - panda_fullscreen
    • Chnage the direction of text flow (left to right vs right to left) - panda_textdirection
    • Specify the maximum display time for a page - panda_pageduration
    • Specify page transitions and their duration - panda_transduration, panda_transstyle
      Windows support
    • Standard win32 DLL
    • COM interface


posted at: 07:00 | path: /panda/panda-features | permanent link to this entry


Man pages

    Panda comes with an increasingly complete set of man pages. Download panda to have a look.

posted at: 07:00 | path: /panda/panda-documentation | permanent link to this entry


Panda 0.1

    Panda is a GPL'ed PDF generation library. This version is the initial release, and it only builds simple hello world PDFs. Updates will be posted here as they are developed.

    The library provides a ANSI stdio.h style interface, which hides many of the complexities of the PDF document format without reducing the power of the developer.


posted at: 07:00 | path: /panda | permanent link to this entry


Panda

    Panda is an Open Source, GPL'ed PDF generation API which should compile on most anything. Have a look!

posted at: 07:00 | path: /site | permanent link to this entry


Panda 0.1

posted at: 07:00 | path: /panda/panda-download | permanent link to this entry