<html>
  <head>

    <meta http-equiv="content-type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <p>Hi everybody!</p>
    <p>I use this C++ code to generate page hyperlinks with the pdf
      backend:<br>
    </p>
    <blockquote><font face="monospace">  for (auto &cr :
        Cairo_output.contexts) // loop over a set pf crs</font><br>
      <font face="monospace">    {</font><br>
      <font face="monospace">      cairo_tag_begin (cr, CAIRO_TAG_LINK,
        attr.c_str ());</font><br>
      <font face="monospace">      cairo_tag_end (cr, CAIRO_TAG_LINK);</font><br>
      <font face="monospace">    }</font><br>
      <font face="monospace">  debug_output (_f ("page-link %s",
        attr.c_str ()));</font></blockquote>
    <p>All the following attribute strings passed to cairo_tag_begin
      should be ok:<br>
    </p>
    <blockquote><font face="monospace">page-link rect=[ 245.195312
        482.759313 101.537008 -9.776040 ] page=2 pos=[0.0 0.0]<br>
        page-link rect=[ 246.871094 50.185095 101.537008 -9.776040 ]
        page=1 pos=[0.0 0.0]<br>
        page-link rect=[ 246.871094 64.380407 101.537008 -9.776040 ]
        page=3 pos=[0.0 0.0]<br>
        page-link rect=[ 246.871094 50.341345 101.537008 -9.776040 ]
        page=2 pos=[0.0 0.0]</font></blockquote>
    <p>But in reality cairo_tag_* fails if 'page' is a forward
      reference. While processing page 2 it is possible to generate a
      link to page 1, but a link to page 3 fails.</p>
    <p>Tested with: cairo 1.16.0, git master.<br>
    </p>
    <p>Knut<br>
    </p>
  </body>
</html>