[Poppler-bugs] [Bug 9001] Ligated characters are drawn multiple times when selected

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Fri Jul 19 08:04:03 PDT 2013


https://bugs.freedesktop.org/show_bug.cgi?id=9001

--- Comment #16 from Ed Catmur <ed at catmur.co.uk> ---
(In reply to comment #15)
> Patch works. I wonder if we should return the ligatures as a single
> character instead so that we don't need a special case.

We currently support selecting individual characters within a ligature; it'd be
a shame to lose that.

> ::: poppler/TextOutputDev.cc
> @@ +2392,4 @@
> >      w1 /= uLen;
> >      h1 /= uLen;
> >      for (i = 0; i < uLen; ++i) {
> > +      if (i > 0) c = CHARCODE_LIGATED;
> 
> Could you explain why this means it's a ligature?

uLen is greater than 1 when a single CharCode (i.e. a glyph) signifies multiple
Unicode codepoints.  In English text, that typically occurs when the glyph is a
ligature.  In other scripts that might not be the case
(http://unicode.org/Public/UNIDATA/NamedSequences.txt) but if so we don't
handle those correctly anyway; by chopping up the space occupied by the glyph
we're assuming it's a ligature.

Maybe a better name like CHARCODE_GLYPH_CONTINUATION would be clearer?

-- 
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/poppler-bugs/attachments/20130719/20ef4c99/attachment.html>


More information about the Poppler-bugs mailing list