1. 29 1月, 2015 2 次提交
  2. 28 1月, 2015 3 次提交
  3. 27 1月, 2015 2 次提交
    • B
      [API] Add hb_buffer_add_latin1() · 61820bc4
      Behdad Esfahbod 提交于
      This is by no ways to promote non-Unicode encodings.  This is an entry
      point that takes Unicode codepoints that happen to all be the first
      256 characters and hence fit in 8bit strings.  This is useful eg in Chrome
      where strings that can fit in 8bit are implemented that way, and this
      avoids copying into UTF-8 or UTF-16.
      
      Perhaps we should rename this to hb_buffer_add_codepoints8().  I'm also
      curious if anyone would be really interested in hb_buffer_add_codepoints16().
      
      Please discuss!
      61820bc4
    • B
      78c6e86c
  4. 26 1月, 2015 1 次提交
  5. 25 1月, 2015 3 次提交
  6. 24 1月, 2015 2 次提交
  7. 22 1月, 2015 4 次提交
  8. 21 1月, 2015 4 次提交
  9. 20 1月, 2015 3 次提交
  10. 19 1月, 2015 1 次提交
  11. 18 1月, 2015 1 次提交
  12. 08 1月, 2015 1 次提交
  13. 07 1月, 2015 5 次提交
  14. 06 1月, 2015 1 次提交
  15. 05 1月, 2015 2 次提交
  16. 04 1月, 2015 2 次提交
  17. 03 1月, 2015 1 次提交
  18. 29 12月, 2014 2 次提交
    • 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