Bug 30319 - open type init feature applied on character U+09c7 even thought it is in the middle of word
Summary: open type init feature applied on character U+09c7 even thought it is in the ...
Status: RESOLVED FIXED
Alias: None
Product: HarfBuzz
Classification: Unclassified
Component: src (show other bugs)
Version: unspecified
Hardware: Other All
: medium normal
Assignee: Behdad Esfahbod
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-09-21 18:10 UTC by Peter Hunter
Modified: 2011-06-14 13:42 UTC (History)
1 user (show)

See Also:
i915 platform:
i915 features:


Attachments

Description Peter Hunter 2010-09-21 18:10:12 UTC
A complete description can be found at: http://bugreports.qt.nokia.com/browse/QTBUG-13620

In Harbuuzz-indic.cpp there are two functions isLetter and isMark, b0th have the same return statement 

    return FLAG(HB_GetUnicodeCharCategory(ucs)) & test;

The problem is that the return value is a byte (representing a boolean value) whereas the expression being evaluated is much larger. 
A more appropriate return statement would be

    return (FLAG(HB_GetUnicodeCharCategory(ucs)) & test) != 0;
Comment 1 Behdad Esfahbod 2011-06-14 12:20:08 UTC
This is not really a bug since the '||' operator correctly handles the returned values.  I understand that it's an improvement, but the HarfBuzz.old code is not maintained anymore.
Comment 2 Behdad Esfahbod 2011-06-14 13:41:34 UTC
Oh, now I see what you mean.  Fixing.


Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.