Karl Hegbloom | 12 Apr 16:58 2016

Fwd: Pdf-writer, tagged pdf?

[Gal, Can you join the texmacs-dev list to discuss it?]
[texmacs-dev, Please Cc Gal until and unless he joins the list.]

When I produce a PDF with TeXmacs (latest from svn) and use the "read aloud" feature of pdf-max pro on Android, it doesn't "see" the typographic ligatures, and pronounces words wrong. For example, "offense" becomes "o ense", dropping the "ff" ligature. I wrote to the author of the pdf-writer library that TeXmacs uses after reading a little about the problem using a Google search, and learning that there exists something called "tagged pdf" which I don't know much about yet; I'm too busy to read about it as much as I'd like to.

I hereby "put the phones together" on this.

---------- Forwarded message ---------
From: Gal Kahana <gal.kahana <at> hotmail.com>
Date: Tue, Apr 12, 2016 at 1:31 AM
Subject: RE: Pdf-writer, tagged pdf?
To: Karl Hegbloom <karl.hegbloom <at> gmail.com>

PDF-Writer can allow adding tagged pdf content. yes.
However, for the problem at hand i think that the toUnicode map of a font should suffice, and in fact the library creates it when generating font representations and using the regular text characters.

Its either that what you are seeing is a bug in creating a unicode map in case of typographic ligatures usage, or that for some reason it is not created at all (maybe through and alternative text setup).

We need someone from TeXmacs to help us pinpoint the issue. Do you know anyone there and can communicate this to them?


Date: Sun, 10 Apr 2016 15:54:52 -0600
Subject: Pdf-writer, tagged pdf?
From: karl.hegbloom <at> gmail.com
To: gal.kahana <at> hotmail.com

I wonder if it supports creation of "tagged pdf"? My interest is due to your library being used by the TeXmacs editor, and when I export to pdf and have the pdf reader app perform text to speech (read aloud) it skips typographic ligatures and thus mispronounces words that contain them. I think the solution involves emitting tagged pdf that has typographic ligatures transliterated to their multi character unicode equvalent for the voice-reader and highlight + clipboard, while still using the ligature for display and printing.

Karl.Hegbloom <at> gmail.com

Texmacs-dev mailing list
Texmacs-dev <at> gnu.org
Karl Hegbloom | 21 Mar 18:56 2016

Paragraphsign in PDF outlines

I've got a document style sheet that puts the paragraphsign  ¶  in front of the paragraph number. It shows up fine in the document, both at the start of the paragraph and in the table of contents, but in the PDF outlines, it shows up as  ű.

If I then run the command:

pdftk inputfile.pdf dump_data_utf8  | sed -r -e 's,ű,¶,g'  | pdftk inputfile.pdf update_info_utf8 - output outputfile.pdf

... the resulting PDF has the paragraphsign in the outlines the way it's supposed to. I guess if I actually used that thing that looks like a u with a double quote above it in the text of the document in any section or paragraph headings, there would be paragraph signs instead of that letter there, which would not be correct.

Because PDF accepts that character fine when I run that sed filter, I suspect that the problem is somewhere in TeXmacs, in how it translates the text from it's internal coding to the one in the PDF.

It seems to me that it used to work fine. It might be something that broke with one of the recent changes to the PDF writer, but I'm not certain. I've not used that paragraphsign prefixed paragraph numbering much yet.

Any idea how to fix it?
Texmacs-dev mailing list
Texmacs-dev <at> gnu.org
Karl Hegbloom | 14 Mar 20:59 2016

Example "secure" not functioning in TeXmacs 1.99.4 svn 9936

When I compile the "secure" plugin example, the \inv macro works fine, but the \latexer one causes texmacs.bin to hit 100% CPU and do nothing else. I do not know how to fix it or what is the matter and I need some help.

When it does this, secure.bin has been launched as a subprocess below texmacs.bin, but it is not using any CPU.

Texmacs-dev mailing list
Texmacs-dev <at> gnu.org
Karl Hegbloom | 11 Mar 01:25 2016

Cacheing of http concretised documents

... really ought to watch the http headers to know when to refresh. I am using tree-import to call the BetterBibTeX for Zotero "cayw" (cite as you write) GET interface,  which operates only to localhost, and causes Zotero to open a dialog box for searching to find references, which are then returned. So the URL doesn't change from call to call,  but the data returned does. The workaround was to add an extra GET argument to the URL with a timestamp. Luckily the service it's calling doesn't care about extra args.

I realize that when TeXmacs has guile 2, it's web modules can replace the use of wget.

Q: is TeXmacs threadsafe? Can multiple guile threads be utilized in the future? 
Texmacs-dev mailing list
Texmacs-dev <at> gnu.org
Stephen Crowley | 7 Mar 20:35 2016

QT gui tool bar positions not persisting

Just latest svn revision 9974 from svn://svn.savannah.gnu.org/texmacs 
and compiled against qt4. WHen I move the toolbar positions, so all 3 
are stacked horizontally on one line, then exit texmacs and start it 
again, the toolbars go back to being distributed 3 stacked vertically on 
the left side...

How do I make the changes persistent? If it can be done with the current 
system, where would I look for the code that handles that?


p.s. I apologize in advice for this draconian nonsense in the footer 
attached to this message

This message is intended only for the use of the individual or entity to which it is addressed and may contain
information which is privileged, confidential or subject to copyright. Internet communications
cannot be guaranteed to be secure or error-free as information could be intercepted, corrupted, lost,
arrive late or contain viruses. The information contained in this e-mail is drawn from sources believed
to be reliable, but the accuracy and completeness of the information is not guaranteed, nor in providing
it does Canaccord Genuity Corp. or its subsidiaries, or affiliated companies, "The Firm" assume any

Canaccord Genuity Corp., its subsidiaries or affiliated companies, disclaims all responsibility and
accepts no liability (including negligence) for the consequences for any person acting, or refraining
from acting, on such information. Unless otherwise stated, this transmission is neither an offer nor the
solicitation of an offer to sell or purchase any investment. As a solicitation, this e-mail was intended
for distribution in those jurisdictions where The Firm is registered as advisors or dealers in
securities. Any unauthorized use, disclosure, distribution or copying of this communication by anyone
other than the intended recipient is strictly prohibited. 

When addressed to our clients, any opinions or advice contained in this email are subject to the terms and
conditions expressed in the governing Canaccord Genuity Corp., its subsidiaries or affiliated
companies' client agreements.  If you have received this message in error, please notify us immediately
by return email and destroy and delete the message from your computer.  (Disclaimer)
Karl Hegbloom | 1 Mar 19:22 2016

Guile 2.2, "lazy catch"

I spent some hobby-time yesterday looking into what it will take to port TeXmacs to Guile 2.2, since it has a fast virtual machine and I think it will make TeXmacs much more useable. One of the first differences that I find is that the "lazy catch" thing is no longer present.

I realize that the only real way to do this is going to involve spending more hobby-time on learning the internals of guile-1.8 vs guile-2.2 wrt libguile/throw.[hc] and then the internals of TeXmacs itself, to see what's the right thing to do. But if anyone has a quick answer, or any insight that might help me with that study, please, post it here.
Texmacs-dev mailing list
Texmacs-dev <at> gnu.org
Marduk Bolaños | 17 Feb 00:10 2016

Style files and cache

Dear all,

I just learned that changes made to a style file with a text
editor will not be recognized by TeXmacs. It is necessary to
rebuild the cache to make TeXmacs aware of the changes.

When editing the file with TeXmacs, it takes care of updating
the cache.

It would be of great help to include this information in the

Best regards,
Karl Hegbloom | 8 Feb 22:39 2016

Document --> Parts...

I am working on a long document. TeXmacs, as you know, slows way down when editing a large complexly structured document, and setting it to display only 1 or a few sections at a time improves performance to acceptable levels. However, the present arrangement of the "Document --> Parts --> ..." menu is unsatisfactory. I would like it to switch to using a dialog box the way it does now for things like document settings. I want to be able to "select all", "select none", or select one or several perhaps from a list as in a file chooser, or with check-boxes.
Texmacs-dev mailing list
Texmacs-dev <at> gnu.org
Marduk Bolaños | 6 Feb 02:20 2016

A recipe to crash TeXmacs

Dear all,

While learning to write macros, I discovered that it is very
easy to crash TeXmacs if one is not careful.

Following the manual I wanted to define this macro:


But instead I entered


Then I pressed Return several times and TeXmacs crashed
(quit). The latest version does not quit but an error window
comes up and the whole line is deleted.

I verified that this bug exists since at least 2011.

I know that one is not supposed to write grammatically
incorrect macros, but one can do it.

Either it should not be possible to do it or TeXmacs should
fail more gracefully.

This bug is of great importance for TeXmacs users in Ubuntu,
given that an old version was included in recent Ubuntus.

Hope this helps.

Best regards,
Karl Hegbloom | 15 Jan 20:40 2016

Long documents, show one part, vs show all parts, slow input

When I have a long document with all parts showing, it's too slow to use it because it is trying to keep retypesetting the entire thing. So when I have it show only one part, it's fast enough to use.

Why not have it keep a page-break cache, or for papyrus paper type a cache of waypoints, like headings or paragraphs, gotten from typesetting only once through, for up until just before the part that's actually on the screen. Since nothing is changing anywhere off-screen as I type except for after the part that's on screen, it only needs to know the cached location just before the screen display starts in order to format the part that's on the screen now. And everything below the bottom of the screen doesn't need to be retypeset every time I enter a character either.

Of course, the newest Guile with the virtual machine and byte code compiler will also make a huge difference. I wish I had enough free time to learn how to be the one that does this work. Unfortuneatly, I will be too busy at least until next autumn... and don't count on my having enough time to learn enough about it then and to do the work. I'll help if I can. I hope that a very bright student is preparing to take on this work. It will make TeXmacs a lot better!

I'm not a TeXmacs developer and don't understand very much about it's internals at this point in time. I would like to... but am too busy using it to write legal documents right now. :-)
Texmacs-dev mailing list
Texmacs-dev <at> gnu.org
Marco Atzeri | 18 Dec 21:48 2015

TeXmacs-1.99.4 build failure

I am the current packager for cygwin.
While building 1.99.4 with

configure --with-iconv=/usr --with-imlib2=linked --with-gs

the build stop at

g++ -lz -Wl,-stack,8388608 -dynamic Objects/ANSIFontWriter.o 
Objects/AbstractContentContext.o Objects/AbstractWrittenFont.o 
Objects/Ascii7Encoding.o Objects/CFF ...
-L/usr/lib -lQtGui -lQtCore -L/usr/lib -liconv -lguile -lltdl -lgmp 
-lcrypt -lm -lltdl -lImlib2 -lz -lfreetype -ldl -ldl -o 
Objects/pipe_link.o:pipe_link.cpp:(.text+0xd13): undefined reference
to `remove_notifier(socket_notifier)'
Objects/pipe_link.o:pipe_link.cpp:(.text+0x1296): undefined reference to 
Objects/tm_server.o:tm_server.cpp:(.text+0x142b): undefined reference to 
collect2: error: ld returned 1 exit status
makefile:436: recipe for target 'Objects/texmacs-shared.bin' failed

For what I see on src/System/Link/socket_notifier.cpp
the "#ifndef QTTEXMACS"  excludes the definition of
   remove_notifier, perform_select and add_notifier


while on pipe_link.cpp the equivalent check

"#if !(defined (QTTEXMACS) && (defined (__MINGW__) || defined 
(__MINGW32__) || defined (QTPIPES)))"

has not the same effect, as on CYGWIN it is true,
and remove_notifier is used.
May be the check should be written differently ?

   "remove_notifier" and similars should be defined or not ?

On TeXmacs-1.99.2 , the build defined "remove_notifier"

$ grep remove_notifier *
Binary file pipe_link.o matches
Binary file qt_gui.o matches
Binary file socket_link.o matches
Binary file socket_notifier.o matches
Binary file socket_server.o matches
Binary file texmacs-shared.bin matches