GNU bug report logs - #73530
[PATCH] Add imenu index function for Djvu files in doc-view

Previous Next

Package: emacs;

Reported by: Visuwesh <visuweshm <at> gmail.com>

Date: Sat, 28 Sep 2024 15:12:02 UTC

Severity: wishlist

Tags: patch

Done: Tassilo Horn <tsdh <at> gnu.org>

Bug is archived. No further changes may be made.

Full log


Message #61 received at 73530 <at> debbugs.gnu.org (full text, mbox):

From: Tassilo Horn <tsdh <at> gnu.org>
To: Visuwesh <visuweshm <at> gmail.com>
Cc: Eli Zaretskii <eliz <at> gnu.org>, "Jose A. Ortega Ruiz" <jao <at> gnu.org>,
 73530 <at> debbugs.gnu.org
Subject: Re: bug#73530: [PATCH] Add imenu index function for Djvu files in
 doc-view
Date: Thu, 03 Oct 2024 10:03:08 +0200
Tassilo Horn <tsdh <at> gnu.org> writes:

Hi again,

>> The PDF generated by LaTeX can have a wildly different outline than
>> matched by doc-view's regexp:
>>
>>     % mutool show test.pdf outline
>>     |	"Text"	#nameddest=section.1
>>     |	"Annotations"	#nameddest=section.2
>>
>> Compare it with:
>>
>>     % mutool show atkins_physical_chemistry.pdf outline
>>     |	"Cover"	#page=1&view=Fit
>>     |	"PREFACE"	#page=7&view=Fit
>>     |	"USING THE BOOK"	#page=8&view=Fit
>
> Ok, I see.  All my LaTeX PDFs have #nameddest=section.x values instead
> of #page=X values, so that's the reason they don't work.  It would be
> good if we could mention that it won't work because there are no page
> references in the outline in the error message.

Would you mind doing that in a new version of the patch?

And I wonder if it mutool could spit out page references in addition to
the nameddest references.  Do you know if there's a technical limitation
or if it's just not implemented?

Sadly, their communication platform seems to be Discord where I didn't
want to register an account to ask.  They seem to use the ghostscript
bugzilla, so one could create a ticket there...  If nobody else here in
the discussion already has an account there, I wouldn't mind creating
ony myself and asking.

>>> For DjVu, my sample size is 1, and that's a presentation, so at least
>>> here I'm not sure if there should be an index available...
>>
>> I will send the link to the DjVu file that I wrote the feature for
>> off-list.  I will send a link to a PDF file too.
>
> Thanks, will try with those two files.

I did so now and it is blazingly fast for those 80+mb PDF/DjVu files
even on my almost 10 years old laptop, so I'd say your simpler approach
is the right choice.

>> On this note, should we use doc-view-pdfdraw-program in place of
>> mutool in doc-view--pdf-outline?
>
> Yes, but only if the older names pdfdraw and mudraw already had the
> "show <file> outline" feature.

I revert the "but only if" part.  If mupdf is old and comes with, e.g.,
the pdfdraw executable, chances are almost zero that mutool is
installed, too.  And if it is, then we should prefer it anywhere.  So I
think the way to go is to (executable-find "mutool") in
doc-view-pdfdraw-program first so that it takes precedence and use
doc-view-pdfdraw-program in doc-view--pdf-outline.

>>> Well, I actually have no strong opinion here.  Technically, I like
>>> your approach better because of its simplicity.  I would like to test
>>> with some larger documents to see how long index building takes,
>>> though.
>>
>> I tried the function with a large PDF file:
>
> Will try with the large two you've linked later.

As said above, it's more than fast enough, so let's take your approach.

Thanks,
  Tassilo




This bug report was last modified 228 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.