<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>John&#039;s Blog &#187; pmlz</title>
	<atom:link href="http://john.nachtimwald.com/tag/pmlz/feed/" rel="self" type="application/rss+xml" />
	<link>http://john.nachtimwald.com</link>
	<description>My little blog</description>
	<lastBuildDate>Sun, 05 Feb 2012 21:11:32 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Calibre Week In Reveiw</title>
		<link>http://john.nachtimwald.com/2009/12/05/calibre-week-in-reveiw/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=calibre-week-in-reveiw</link>
		<comments>http://john.nachtimwald.com/2009/12/05/calibre-week-in-reveiw/#comments</comments>
		<pubDate>Sun, 06 Dec 2009 00:20:39 +0000</pubDate>
		<dc:creator>John</dc:creator>
				<category><![CDATA[calibre]]></category>
		<category><![CDATA[eReader]]></category>
		<category><![CDATA[fb2]]></category>
		<category><![CDATA[GUI]]></category>
		<category><![CDATA[pdb]]></category>
		<category><![CDATA[pml]]></category>
		<category><![CDATA[pmlz]]></category>

		<guid isPermaLink="false">http://john.nachtimwald.com/?p=284</guid>
		<description><![CDATA[Most this week was spent turning PML input and output. I spent a bit of work bug tracking and enhancing FB2 output as well. The changes for PML input are as follows. Pass along the included cover as the cover when converting (also applies to eReader PDB). Allow for images to be in top level, [...]]]></description>
			<content:encoded><![CDATA[<p>Most this week was spent turning PML input and output. I spent a bit of work bug tracking and enhancing FB2 output as well.</p>
<p>The changes for PML input are as follows. Pass along the included cover as the cover when converting (also applies to eReader PDB). Allow for images to be in top level, archivename_img or images directory for PMLZ. Based on that order it will check for images and if they are not found move onto the next location. For PML, images can be in pmlname_img or images directory. Footnotes and sidebars now display cleaner. They are separated better and EPUB puts them on individual pages. They also include a return link which goes back to the place in the text they are referenced. This assumes one footnote and sidebar per entry in the text, so if it&#8217;s referenced multiple times the return link will go back to the return reference.</p>
<p>PML output now creates \a and \U codes only for supported characters. All characters that are not supported and that cannot be turned into a \a or \U code will be replaced with a ?.</p>
<p>Along with the changes for PML input reading the cover they are now read as part of the metadata. This applies to both PML, PMLZ and eReader PDB files.</p>
<p>I&#8217;ve created a PML2PMLZ FileType plugin which will run when ever PML is imported into the GUI. It takes a PML file looks for images in the above mentioned locations, takes it all and puts it into a PMLZ archive. The PMLZ archive is them added to the library.</p>
<p>When I went to test the PML2PMLZ plugin I found that the GUI on my system was horribly broken. After a bit of work with Kovid, I found that calibre-parallel had to be in the path if calibre was installed in a non standard location. I install into my home directory using the develop command. Kovid has committed a fix that writes the install path to the launcher for these instances.</p>
<p>FB2 output now turns h1 tags into &lt;section&gt;&lt;title&gt; tags to allow for TOC generation. As far as I can tell FB2 has not set TOC and instead readers dynamically generate the TOC based on looking at all of the body and sections and sets the text using the title tag. Right now the FB2 output is limited to only turning h1 tags and cannot use the user defined TOC based on an XPATH expression. I plan to fix this limitation in the future.</p>
]]></content:encoded>
			<wfw:commentRss>http://john.nachtimwald.com/2009/12/05/calibre-week-in-reveiw/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Calibre Week in Review</title>
		<link>http://john.nachtimwald.com/2009/11/22/calibre-week-in-review-17/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=calibre-week-in-review-17</link>
		<comments>http://john.nachtimwald.com/2009/11/22/calibre-week-in-review-17/#comments</comments>
		<pubDate>Mon, 23 Nov 2009 01:51:20 +0000</pubDate>
		<dc:creator>John</dc:creator>
				<category><![CDATA[calibre]]></category>
		<category><![CDATA[eReader]]></category>
		<category><![CDATA[pml]]></category>
		<category><![CDATA[pmlz]]></category>

		<guid isPermaLink="false">http://john.nachtimwald.com/?p=271</guid>
		<description><![CDATA[PML input had some major changes this week. Thank the user WayneD for helping me out and getting me to actually do the work I&#8217;ve been putting off since I introduced PML/eReader as an input format. There is now a metadata reader for PML and PMLZ. WayneD provided me with a set of regular expressions [...]]]></description>
			<content:encoded><![CDATA[<p>PML input had some major changes this week. Thank the user WayneD for helping me out and getting me to actually do the work I&#8217;ve been putting off since I introduced PML/eReader as an input format.</p>
<p>There is now a metadata reader for PML and PMLZ. WayneD provided me with a set of regular expressions that can extract the metadata from a metatdata comment within a PML document. I took those regexes and created a metatdata plugin that supports both straight PML files as well as the PMLZ archive file.</p>
<p>The other major change to PML is, I&#8217;ve re-written the input parser. It is not longer based on a set of regular expressions. It is now a line oriented simple state machine. When I created the regex parser I intended to replace it at some point in the future with a true parser. The regex based one was simply a quick and dirty way to get PML supported. The new parser is much faster, produces cleaner and more accurate HTML output. It also has the added benefit of reading \CX codes and turns them into table of contents entries for PML and PMLZ input. The new parser is much better and I&#8217;m not completely finished with it. I still need to add support for \v comments (they are currently removed), \n codes, and implement font attribute tracking to condense changes (this is how \n will be handled).</p>
<p>WayneD did provide me with his Perl based line oriented simple state machine for PML to HTML conversion. I did use one idea from it. Turning footnote and sidebar xml syntax into custom PML tags. I had intended to port his parser to python and use it as a base but when I started looking at it I remembered I don&#8217;t know Perl at all and I can&#8217;t make heads or tails of Perl code. I have no desire or need to actually learn Perl, so I ended up writing my own parser.</p>
]]></content:encoded>
			<wfw:commentRss>http://john.nachtimwald.com/2009/11/22/calibre-week-in-review-17/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Calibre Week in Review</title>
		<link>http://john.nachtimwald.com/2009/10/26/calibre-week-in-review-16/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=calibre-week-in-review-16</link>
		<comments>http://john.nachtimwald.com/2009/10/26/calibre-week-in-review-16/#comments</comments>
		<pubDate>Tue, 27 Oct 2009 00:51:58 +0000</pubDate>
		<dc:creator>John</dc:creator>
				<category><![CDATA[calibre]]></category>
		<category><![CDATA[eReader]]></category>
		<category><![CDATA[fb2]]></category>
		<category><![CDATA[pdb]]></category>
		<category><![CDATA[pml]]></category>
		<category><![CDATA[pmlz]]></category>
		<category><![CDATA[rb]]></category>
		<category><![CDATA[txt]]></category>

		<guid isPermaLink="false">http://john.nachtimwald.com/?p=247</guid>
		<description><![CDATA[Mostly bug fixes this week. The majority of them were centered around eReader PDB output and PML generation. eReader PDB output now marks the first image as the cover image if a cover image is not explicitly set. PMLZ got images named properly in the output. PML generation now has .png added to the end [...]]]></description>
			<content:encoded><![CDATA[<p>Mostly bug fixes this week. The majority of them were centered around eReader PDB output and PML generation. eReader PDB output now marks the first image as the cover image if a cover image is not explicitly set. PMLZ got images named properly in the output. PML generation now has .png added to the end of image names. I also fixed a bug where excessive new lines were not being properly removed. PML, TXT, RB, FB2 output all got excessive space removal tones down so instances were spaces were completely removed will stop happening. Regex header and footer matching was tweaked to match at a later stage in the conversion pipeline. This should ease issues of expressions not matching properly. Finally, at Kovid&#8217;s request I&#8217;ve added some info about header / footer regexes and converting TXT and PDF files to the documentation.</p>
]]></content:encoded>
			<wfw:commentRss>http://john.nachtimwald.com/2009/10/26/calibre-week-in-review-16/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Calibre Week in Review</title>
		<link>http://john.nachtimwald.com/2009/05/02/calibre-week-in-review-3/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=calibre-week-in-review-3</link>
		<comments>http://john.nachtimwald.com/2009/05/02/calibre-week-in-review-3/#comments</comments>
		<pubDate>Sat, 02 May 2009 16:35:15 +0000</pubDate>
		<dc:creator>John</dc:creator>
				<category><![CDATA[calibre]]></category>
		<category><![CDATA[device interfaces]]></category>
		<category><![CDATA[eReader]]></category>
		<category><![CDATA[pdf]]></category>
		<category><![CDATA[pml]]></category>
		<category><![CDATA[pmlz]]></category>

		<guid isPermaLink="false">http://john.nachtimwald.com/?p=110</guid>
		<description><![CDATA[It seems that PDF is becoming the never ending format for me. Maybe I should start naming the posts PDF Work instead of Calibre Week in Review&#8230; One minor and one major change to PDF processing this week. The minor change was a fix for bug 2342. German umlauts are now displayed correctly in the [...]]]></description>
			<content:encoded><![CDATA[<p>It seems that PDF is becoming the never ending format for me. Maybe I should start naming the posts PDF Work instead of Calibre Week in Review&#8230;</p>
<p>One minor and one major change to PDF processing this week. The minor change was a fix for bug 2342. German umlauts are now displayed correctly in the output. The major change is PDF output now supports comics. cbz, cbr, cbc are some of the input formats for comics that are support and now you can turn them into a PDF. The huge advantage is for people (like me) who have a Cybook. A comic can be turned into one PDF file sized for the device keeping down the amount of clutter in the library view.</p>
<p>I also worked on the device framework and have pluginized all of the device interfaces (I like the term interfaces better than drivers because it reduces confusion as Windows device drivers are very different). They also sport a new configuration system (though they didn&#8217;t have configuration before at all). The user will be able to specify their preferred format order for sending to the device. As well as disable certain formats from being sent to the device at all. I said will because while the configuration code is done there is currently no way to call it in the preferences dialog. However, this will be rectified before 0.6 is released.</p>
<p>eReader output has been put on hold for the foreseeable future. eReader input is complete and working but due to the undocumented nature of the eReader format I have not been able to produce a working output plugin. The main issue I&#8217;ve run into is the eReader header (record 0 within the pdb container) is a 132 byte package with 66 sections. There are to many unknown sections. Even with the inspector script I wrote to see what the values are in working eReader files I have not been able to understand how all of the sections interact with the file itself. My guesses have all resulted in files that are not readable by the eReader Pro software.</p>
<p>eReader files uses the PML markup language and while I couldn&#8217;t get eReader output working I have added support for PML input and PML output. The PML output can be taken and put into either MakeBook or DropBook to produce a working eReader file.</p>
<p>Two things to note about the the PML support is input can take either a straight .pml file or it can take a zip archive filled with .pml files and PNG images (the images must be in PNG format). The zip archive must have the extension changed to .pmlz for this to work. PML output will produce a zip archive with the extension .pmlz. Within this archive will be all of the image files in PNG format and the produced .pml files.</p>
<p>.pmlz is simply an easy way to group the files and ensure that there is not issues with including missing files or not being able to find referenced files.</p>
]]></content:encoded>
			<wfw:commentRss>http://john.nachtimwald.com/2009/05/02/calibre-week-in-review-3/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

