Index: src/Plugins/Pdf/pdf_hummus_renderer.cpp =================================================================== --- src/Plugins/Pdf/pdf_hummus_renderer.cpp (revision 8800) +++ src/Plugins/Pdf/pdf_hummus_renderer.cpp (working copy) @@ -1979,7 +1979,7 @@ dict << "\t/Dest /label" << as_string(get_label_id(prepare_text (label))) << "\r\n"; } else { - dict << "/Action << /Subtype /URI /URI (" << prepare_text (label) << ") >>\r\n"; + dict << "/A << /S /URI /URI (" << prepare_text (label) << ") >>\r\n"; } dict << ">>\r\n"; annot_list (annotId) = dict; Index: src/Typeset/Concat/concat_active.cpp =================================================================== --- src/Typeset/Concat/concat_active.cpp (revision 8800) +++ src/Typeset/Concat/concat_active.cpp (working copy) @@ -160,8 +160,16 @@ if (build_locus (env, t, ids, col, ref, anchor)) { marker (descend (ip, 0)); tree old= env->local_begin (COLOR, col); - typeset (t[last], descend (ip, last)); +/* typeset (t[last], descend (ip, last)); + env->local_end (COLOR, old);*/ +// pdf hlink are created at the post_display typesetting step only for locus_box (see change_boxes.cpp) +// for some reason hlink loci were not typeset as locus_box (code commented just above) +// minimal modification (copied from below) that enable hlinks to become pdf hlinks : + box b= typeset_as_concat (env, t[last], descend (ip, last)); env->local_end (COLOR, old); + print (locus_box (ip, b, ids, env->pixel, ref, anchor)); +// end changes + marker (descend (ip, 1)); } else {