[Fontconfig-bugs] [Bug 82266] New: Support variation selectors

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Wed Aug 6 14:08:18 PDT 2014


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

          Priority: medium
            Bug ID: 82266
          Assignee: fontconfig-bugs at lists.freedesktop.org
           Summary: Support variation selectors
        QA Contact: freedesktop at behdad.org
          Severity: normal
    Classification: Unclassified
                OS: All
          Reporter: freedesktop at behdad.org
          Hardware: Other
            Status: NEW
           Version: unspecified
         Component: library
           Product: fontconfig

I think can support this internally by including a unicode,selector pair as
(selector<<21)|unicode value in the charset, but provide new API to the charset
for querying.  Or maybe expose that convention all the way to the API.  Here's
some code to that extent:

      unsigned int var_num = 0;
      if (variation_selector - 0xFE00u < 16)
        var_num = variation_selector - 0xFE00 + 1;
      else if (variation_selector - 0xE0100u < (256 - 16))
        var_num = variation_selector - 0xE0100 + 17;
      unicode = (var_num << 21) | unicode;

Note that currently FcCharSetPutLeaf has:

    ucs4 >>= 8;
    if (ucs4 >= 0x10000)
        return FcFalse;

so the top byte of the ucs4 has been unused.  Unfortunately the top byte is not
enough as there are 256 values to fit, not 255 :(.

-- 
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/fontconfig-bugs/attachments/20140806/49c915d9/attachment.html>


More information about the Fontconfig-bugs mailing list