1. 22 1月, 2015 4 次提交
  2. 21 1月, 2015 4 次提交
  3. 20 1月, 2015 3 次提交
  4. 19 1月, 2015 1 次提交
  5. 18 1月, 2015 1 次提交
  6. 08 1月, 2015 1 次提交
  7. 07 1月, 2015 5 次提交
  8. 06 1月, 2015 1 次提交
  9. 05 1月, 2015 2 次提交
  10. 04 1月, 2015 2 次提交
  11. 03 1月, 2015 1 次提交
  12. 29 12月, 2014 6 次提交
    • B
      [ft] Don't set font ppem · f34aaba8
      Behdad Esfahbod 提交于
      For discussion see:
      
        http://lists.freedesktop.org/archives/harfbuzz/2012-April/001905.html
      
      Over time we have had added NO_HINTING all over the place in hb-ft.  Finish it off.
      Not setting ppem on hb-font disables get_contour_point() calls which is good anyway.
      
      See comments in the commit.
      f34aaba8
    • B
      [ft] Add hb_ft_face_create_referenced() and hb_ft_font_create_referenced() · 350f3a02
      Behdad Esfahbod 提交于
      When I originally wrote hb-ft, FreeType objects did not support reference
      counting.  As such, hb_ft_face_create() and hb_ft_font_create() had a
      "destroy" callback and client was responsible for making sure FT_Face is
      kept around as long as the hb-font/face are alive.
      
      However, since this was not clearly documented, some clienets didn't
      correctly did that.  In particular, some clients assumed that it's safe
      to destroy FT_Face and then hb_face_t.  This, indeed, used to work, until
      45fd9424, which make face destroy access
      font tables.
      
      Now, I fixed that issue in 395b3590 since
      the access was not needed, but the problem remains that not all clients
      handle this correctly.  See:
      
        https://bugs.freedesktop.org/show_bug.cgi?id=86300
      
      Fortunately, FT_Reference_Face() was added to FreeType in 2010, and so we
      can use it now.  Originally I wanted to change hb_ft_face_create() and
      hb_ft_font_create() to reference the face if destroy==NULL was passed in.
      That would improve pretty much all clients, with little undesired effects.
      Except that FreeType itself, when compiled with HarfBuzz support, calls
      hb_ft_font_create() with destroy==NULL and saves the resulting hb-font on
      the ft-face (why does it not free it immediately?).  Making hb-face
      reference ft-face causes a cycling reference there.  At least, that's my
      current understanding.
      
      At any rate, a cleaner approach, even if it means all clients will need a
      change, is to introduce brand new API.  Which this commit does.
      
      Some comments added to hb-ft.h, hoping to make future clients make better
      choices.
      
      Fixes https://bugs.freedesktop.org/show_bug.cgi?id=75299
      350f3a02
    • B
      Remove redundant check for FT_Face_GetCharVariantIndex · 9a3b7488
      Behdad Esfahbod 提交于
      We require FreeType >= 2.8.3.  This symbol was introduced earlier
      than that.
      9a3b7488
    • B
      Fix FreeType version check · 1226b2e9
      Behdad Esfahbod 提交于
      1226b2e9
    • B
      [ft] Open blob in READONLY mode · affacf2f
      Behdad Esfahbod 提交于
      HB_MEMORY_MODE_READONLY_MAY_MAKE_WRITABLE is deprecated and fairly
      useless now.
      affacf2f
    • B
      Avoid accessing layout tables at face destruction · 395b3590
      Behdad Esfahbod 提交于
      "Fixes" https://bugs.freedesktop.org/show_bug.cgi?id=86300
      
      Based on discussion someone else who had a similar issue, most probably
      the user is releasing FT_Face before destructing hb_face_t / hb_font_t.
      While that's a client bug, and while we can (and should) use FreeType
      refcounting to help avoid that, it happens that we were accessing
      the table when we didn't really have to.  Avoid that.
      395b3590
  13. 19 12月, 2014 2 次提交
  14. 18 12月, 2014 1 次提交
  15. 13 12月, 2014 6 次提交