<?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; fb2</title>
	<atom:link href="http://john.nachtimwald.com/tag/fb2/feed/" rel="self" type="application/rss+xml" />
	<link>http://john.nachtimwald.com</link>
	<description>My little blog</description>
	<lastBuildDate>Sat, 31 Jul 2010 17:28:10 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Calibre Week in Review</title>
		<link>http://john.nachtimwald.com/2009/12/13/calibre-week-in-review-19/</link>
		<comments>http://john.nachtimwald.com/2009/12/13/calibre-week-in-review-19/#comments</comments>
		<pubDate>Sun, 13 Dec 2009 23:00:44 +0000</pubDate>
		<dc:creator>John</dc:creator>
				<category><![CDATA[calibre]]></category>
		<category><![CDATA[cybook]]></category>
		<category><![CDATA[device interfaces]]></category>
		<category><![CDATA[fb2]]></category>
		<category><![CDATA[GeR2]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[N770]]></category>
		<category><![CDATA[TOC]]></category>

		<guid isPermaLink="false">http://john.nachtimwald.com/?p=287</guid>
		<description><![CDATA[FB2 output has been improved. It no longer generated very invalid markup. The output generator still isn&#8217;t where I want it to be though. The changes are mostly cleanup and fix long standing issues with the output. One major change is I reverted having &#60;h1&#62; tags work as section and title markers. I don&#8217;t like [...]]]></description>
			<content:encoded><![CDATA[<p>FB2 output has been improved. It no longer generated very invalid markup. The output generator still isn&#8217;t where I want it to be though. The changes are mostly cleanup and fix long standing issues with the output. One major change is I reverted having &lt;h1&gt; tags work as section and title markers. I don&#8217;t like having this hard coded into the generator.</p>
<p>As far as I can tell FB2 does not support a true table of contents (TOC). What seems to happen is reader software will dynamically generate the TOC based on the  appearance of &lt;section&gt;&lt;title&gt;&lt;p&gt;text&lt;/p&gt;&lt;/title&gt; within th e text. If I&#8217;m wrong about this and FB2 really does support an external TOC I would love to know. The &lt;h1&gt; differentiation causes the files to have these sections. I do not like how this is hard coded and dependent on this single tag. Especially since calibre&#8217;s conversion process allows for an XPath expression to be specified to generate TOC point.</p>
<p>I would love to use the TOC sent to the FB2 output generator but this does not seem to be feasible. The problem with the TOC that is sent to the FB2 output generator is how it corresponds to locations in the document. The OEB TOC points are text which may or my not appear in the text and an anchor id. The anchor id is a set point in the document. FB2 section titles are part of the text itself. I cannot use the text from the OEB TOC because it may or may not actually appear in the text. This also prevents me from determining what the text in the document is supposed to be associated with the TOC point. The anchor id points to an anchor in the document but often that point is something like &lt;a id=&#8221;blah&#8221; /&gt;. In this case there is no text associated with the anchor in the document. While I can assume the text following is part of the title I have no fool proof way to determine where it stops.</p>
<p>At this point the only TOC associated with the FB2 output is the inline TOC that can be optionally generated.</p>
<p>Support for two new readers has been added. <a href="http://www.ganaxa.com/news/20070922">Ganaxa&#8217;s GeR2</a> and <a href="http://en.wikipedia.org/wiki/Nokia_770_Internet_Tablet">Nokia&#8217;s 770</a> internet tablet. The N770 should have been support a long time ago and I apologize for how long this request has been unfulfilled. I put it at the bottom of my todo list and at some point it simply fell off and I forgot about it.</p>
<p>The GeR2 reader was a bit of a challenge to get supported. This reader and some models of the Cybook Gen 3 have the same vendor, product and revision (BCD) ids. On Windows and OS X this is not an issue because once the ids are matched further matches are done based on the plug and play (PNP) strings. However, on Linux only the ids are matched.</p>
<p>To solve this problem, matching on Linux needed some further checks. Kovid added support for libusb-1 which provides the vendor and product strings. He also added a call back that can be implemented in the device interface to implement platform and device specific checks. We did run into a few problems. The first was an easy to solve 32 vs 64 bit issue with the Python to C interface Kovid wrote for libusb-1. Once that was sorted out we ran into a larger problem. libusb-1 on Ubuntu by default is denied access to the vendor and product strings.</p>
<p>libusb-1, after appearing in only run release (0.6.27), has been dropped. Kovid has now written a custom device scanner for Linux that will parser the devices in /sys/bus/usb to determine if a reader is connected. libusb-1 is supposed to be an easy to use library capable of providing this functionality but unfortunately this turned out not to be the case. The custom scanner works and allowed me to implement differentiation between the GeR2 and the Cybook Gen 3 so both readers can be properly supported without conflict and with the correct device interface being used.</p>
]]></content:encoded>
			<wfw:commentRss>http://john.nachtimwald.com/2009/12/13/calibre-week-in-review-19/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Calibre Week In Reveiw</title>
		<link>http://john.nachtimwald.com/2009/12/05/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/10/26/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/10/11/calibre-week-in-review-14/</link>
		<comments>http://john.nachtimwald.com/2009/10/11/calibre-week-in-review-14/#comments</comments>
		<pubDate>Mon, 12 Oct 2009 01:37:31 +0000</pubDate>
		<dc:creator>John</dc:creator>
				<category><![CDATA[calibre]]></category>
		<category><![CDATA[ebook]]></category>
		<category><![CDATA[eReader]]></category>
		<category><![CDATA[fb2]]></category>
		<category><![CDATA[pml]]></category>

		<guid isPermaLink="false">http://john.nachtimwald.com/?p=236</guid>
		<description><![CDATA[I haven&#8217;t had one of these for quite some time. I&#8217;ve been working on other projects and on the calibre font I&#8217;ve only dealing with small bug fixes. However, this past week I&#8217;ve done a bit of work that is worth mentioning. I&#8217;ve cleaned up the FB2 output. It fixes some invalid markup. Fixes some [...]]]></description>
			<content:encoded><![CDATA[<p>I haven&#8217;t had one of these for quite some time. I&#8217;ve been working on other projects and on the calibre font I&#8217;ve only dealing with small bug fixes. However, this past week I&#8217;ve done a bit of work that is worth mentioning.</p>
<p>I&#8217;ve cleaned up the FB2 output. It fixes some invalid markup. Fixes some issues with text not being displayed by FBReader. It also fixes some issues with invalid characters making there way into hrefs.</p>
<p>eReader PDB output also got some love. Some kind people have been working on the reverse engineering of the <a href="http://wiki.mobileread.com/wiki/Ereader#File_Format">file format</a> and have filled in a number of the blanks I left. All of the additional information that has been discovered has been added to the files produced. The two main things that have been added are chapter and link indexes. The chapter indexes give the nice names at the top of the eReader viewer application. The link index allows links to work in the eReader viewer application.</p>
<p>To coincide with the eReader PDB output changes, PML input and output had some cleanup. It looks better now and replaces unicode characters with the \UXXXX equivalent.</p>
]]></content:encoded>
			<wfw:commentRss>http://john.nachtimwald.com/2009/10/11/calibre-week-in-review-14/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Calibre Week in Review</title>
		<link>http://john.nachtimwald.com/2009/07/19/calibre-week-in-review-13/</link>
		<comments>http://john.nachtimwald.com/2009/07/19/calibre-week-in-review-13/#comments</comments>
		<pubDate>Sun, 19 Jul 2009 14:26:48 +0000</pubDate>
		<dc:creator>John</dc:creator>
				<category><![CDATA[calibre]]></category>
		<category><![CDATA[fb2]]></category>
		<category><![CDATA[GUI]]></category>
		<category><![CDATA[pdb]]></category>

		<guid isPermaLink="false">http://john.nachtimwald.com/?p=173</guid>
		<description><![CDATA[There was no week in review last week because I went on vacation this past week. So this week in review combines everything since the last week in review. I&#8217;ve made a few bug fixes to some output formats, PDB metadata and FB2 output mainly. The major things I&#8217;ve been working on is a bit [...]]]></description>
			<content:encoded><![CDATA[<p>There was no week in review last week because I went on vacation this past week. So this week in review combines everything since the last week in review.</p>
<p>I&#8217;ve made a few bug fixes to some output formats, PDB metadata and FB2 output mainly. The major things I&#8217;ve been working on is a bit of restructuring for the GUI and fixing some small bugs.</p>
<p>The GUI has had the button in the status bar (jobs, tags, cover flow) moved to a side bar on the right hand side. The version information and device connected information has moved to the status bar. The donate button was moved to the side bar. The status bar is now collapsible. When collapsed it shows less information (the list of formats for the selected book). When expanded it shows the book info the same as it does currently. The location view that lists the library and the connected device is hidden when no device is connected. I&#8217;ve added an About button to the new sidebar that will show some information about calibre. Overall these changes have two major benefits. It makes the interface a lot more netbook friendly and makes the book table larger so more information can be seen.</p>
<p>These changes to the GUI will be part of the 0.6 series but I can&#8217;t say for certain if it will be included in the initial 0.6.0 release.</p>
]]></content:encoded>
			<wfw:commentRss>http://john.nachtimwald.com/2009/07/19/calibre-week-in-review-13/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Calibre Week in Review</title>
		<link>http://john.nachtimwald.com/2009/05/16/calibre-week-in-review-5/</link>
		<comments>http://john.nachtimwald.com/2009/05/16/calibre-week-in-review-5/#comments</comments>
		<pubDate>Sat, 16 May 2009 20:04:16 +0000</pubDate>
		<dc:creator>John</dc:creator>
				<category><![CDATA[calibre]]></category>
		<category><![CDATA[eReader]]></category>
		<category><![CDATA[fb2]]></category>
		<category><![CDATA[GUI]]></category>

		<guid isPermaLink="false">http://john.nachtimwald.com/?p=121</guid>
		<description><![CDATA[This week comes with some great new additions. It also comes with some great new challenges. Not to mention more work for next week. eReader output is complete and working. The files produced are the same format as those produced by Dropbook (more on this in a bit). In addition to eReader output I&#8217;ve added [...]]]></description>
			<content:encoded><![CDATA[<p>This week comes with some great new additions. It also comes with some great new challenges. Not to mention more work for next week.</p>
<p>eReader output is complete and working. The files produced are the same format as those produced by Dropbook (more on this in a bit). In addition to eReader output I&#8217;ve added metadata writing for eReader files.</p>
<p>There is one major issue I&#8217;ve come across concerning the eReader format. The files produced by Makebook are significantly different than those produced by Dropbook. The files I&#8217;ve been using for reverse engineering the format have all been produced by Dropbook. My implementation for eReader input only works with Dropbook format files. As such, Makebook produced files will not work and are currently not supported. They will be unsupported for the foreseeable future because of how different the format is to Dropbook, and because Makebook is not supported nor being developed. It was replaced by Dropbook some time ago.</p>
<p>The PDB container format also got a metadata writer. However, the PDB wrapper itself only supports setting the book title. So that&#8217;s all that gets written to PDB files that either don&#8217;t support metadata in their internal format or that don&#8217;t have their own specific metadata writer.</p>
<p>eReader wasn&#8217;t the only format to get some output work. FB2 output has been added as well. However, there is no metadata writer for it yet.</p>
<p>The final bit of work I did for this week was to add auto convert to sending by email in the GUI. It&#8217;s the same idea as auto convert for sending to a device. If the file that is being sent is not in a format that is accepted by the email address (this is configurable setting) the file will be auto converted to a suitable format before being sent.</p>
]]></content:encoded>
			<wfw:commentRss>http://john.nachtimwald.com/2009/05/16/calibre-week-in-review-5/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
