From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Camm Maguire Newsgroups: gmane.emacs.devel Subject: Re: Djvu mode Date: Mon, 03 Oct 2011 15:41:40 -0400 Message-ID: <87botxq2vf.fsf@maguirefamily.org> References: <871uv17nar.fsf@gmail.com> <874nzwvjgi.fsf@maguirefamily.org> <82bou4y5kz.fsf@gmail.com> <87d3ejtjrb.fsf_-_@niu.edu> <87r52zl29j.fsf_-_@maguirefamily.org> <20100.46983.768447.889306@gargle.gargle.HOWL> <87d3ejgmmz.fsf@maguirefamily.org> <20103.17789.10053.53615@gargle.gargle.HOWL> <878vp49g56.fsf@maguirefamily.org> <20105.64927.931187.909507@gargle.gargle.HOWL> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-Trace: dough.gmane.org 1317670918 28976 80.91.229.12 (3 Oct 2011 19:41:58 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Mon, 3 Oct 2011 19:41:58 +0000 (UTC) Cc: joakim@verona.se, emacs-devel@gnu.org To: "Roland Winkler" Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Mon Oct 03 21:41:52 2011 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([140.186.70.17]) by lo.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1RAoOd-0004BZ-QF for ged-emacs-devel@m.gmane.org; Mon, 03 Oct 2011 21:41:52 +0200 Original-Received: from localhost ([::1]:35355 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RAoOd-0008Rm-7K for ged-emacs-devel@m.gmane.org; Mon, 03 Oct 2011 15:41:51 -0400 Original-Received: from eggs.gnu.org ([140.186.70.92]:54949) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RAoOY-0008Rh-QI for emacs-devel@gnu.org; Mon, 03 Oct 2011 15:41:48 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1RAoOX-0000B7-8t for emacs-devel@gnu.org; Mon, 03 Oct 2011 15:41:46 -0400 Original-Received: from tvwna-ip-a-22.princeton.org ([66.180.184.32]:48779 helo=localhost.m.enhanced.com) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RAoOU-0000At-Ud; Mon, 03 Oct 2011 15:41:43 -0400 Original-Received: from camm by localhost.m.enhanced.com with local (Exim 4.69) (envelope-from ) id 1RAoOS-0002Nw-Jp; Mon, 03 Oct 2011 15:41:40 -0400 In-Reply-To: <20105.64927.931187.909507@gargle.gargle.HOWL> (Roland Winkler's message of "Mon\, 3 Oct 2011 13\:23\:27 -0500") User-Agent: Gnus/5.11 (Gnus v5.11) Emacs/22.2 (gnu/linux) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 2) X-Received-From: 66.180.184.32 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:144550 Archived-At: --=-=-= Greetings! "Roland Winkler" writes: > On Sun Oct 2 2011 Camm Maguire wrote: >> Currently the code ignores but preserves non-djvm-mode produced >> annotations, but this should be easy to add. > > I am sorry, I am confused! What kind of annotations are then added > to the file? Are they incompatible with the standard djvu format? > Why that? > The code reads all annotations, creates some, edits some that it has created, and writes the whole lot back to the file. It does not display or edit "foreign" annotations yet. The newly constructed annotations should be completely compatible. There is a comment field in the maparea list. I use this to label the areas created by the djvm code primarily just as an initial rough implementation to separate my stuff from whatever else may be in a file. But secondarily, the comment is used to group highlighted regions into one block in the case they consist of contiguous rectangles, such as highlights anchored on word boundaries, or text comment boxes in the margin of, and logically "attached" to, highlighted text. The maparea construct has no other field for such grouping AFAICT. There is no permanent reason that this code cannot edit and display foreign annotations. Each maparea would have to be logically distinct, but that is OK. And there are several other maparea features which are as yet unimplemented. >> Me too. This is the main point. I am currently using it for this >> with success. I'm not really sure though whether text notes are best >> placed in the file, as you have to click on the box to see them (in >> emacs djvm mode or djview), > > Depending on how you set up the annotations. djview displays them > immediately - at least for me (with DjVuLibre DjView 4.5 under GNU linux). > OK. Still much harder to read then what I'm really used to, which is my own handwriting in the margin. Alas, those days appear gone and we must adapt as best we can. Another weakness/feature of the current implementation is that no margin text is written on the image over a comment box. In emacs, one does have to click on the box to get at the text in another buffer. Don't know how severe this is. >> > nicely displays these annotations including any text layers they >> > might have. >> >> Emacs with this mode does too, but just for the annotations it writes >> itself at the moment. It labels these with a "djvm" comment. > > Why "djvm"? Why being incompatible? > Is a comment incompatible? The mapareas written by the djvm code show up correctly under djview in my experience. They display the comment tag in djview when the mouse moves over the highlight, but this does not appear incompatible to me. Am I missing something? Full compatibility with all standards is the goal, to say the least. >> This is a somewhat common indication of a poorly constructed text >> layer by an early ocr engine. I've always cleared this by a fresh >> ocrodjvu --in-place foo.djvu. Boxes then line up perfectly. I think >> the ocr code has only very recently matured. > > Again I am confused. Take the djvu file I attached earlier in this > thread (produced with pdf2djvu-0.7.7). If I search a word via > djview, it highlights the matches such that the boxes are perfectly > aligned with the text. So I assume that the djvu file is OK. Yet > with your mode the highlighting is shifted relative to what it is > supposed to match. Something is misaligned here. > (My emacs is GNU Emacs 24.0.50.1 (x86_64-unknown-linux-gnu, GTK+ > Version 2.20.1) of 2011-09-19.) > > What am I missing here? Thanks for this pointer, you are missing nothing. The current code is assuming a page box beginning at 0 0 as this is what I've been accustomed to working with ocrodjvu. Told you it was rough! I see now this is really a special case, and will post a patch soon. If you want to see correct alignment for further testing/commenting purposes, take a look at p2.djvu below, which I've ocr'ed as described earlier. You can also see the different layout in the text layer. BTW, there are a few other needed improvements of which I'm currently aware. For example, I've written the routines mostly recursively from my experience with GCL, but this is blowing out emacs limits on some really big files. Take care, > > Roland > > > > -- Camm Maguire camm@maguirefamily.org ========================================================================== "The earth is but one country, and mankind its citizens." -- Baha'u'llah --=-=-= Content-Type: image/vnd.djvu Content-Disposition: attachment; filename=p2.djvu Content-Transfer-Encoding: base64 Content-Description: p2 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 MGPu75/WjzyvoZSZ9k8b3VhErw== --=-=-=--