1. 04 12月, 2014 2 次提交
    • A
      Minikin: Remove unused variables, fix init order · cb20a2f0
      Andreas Gampe 提交于
      For build-system CFLAGS clean-up, fix unused variables.
      
      Reorder initializer list to initialize in the order of member
      declarations.
      
      Change-Id: I64358b2dcf0e39d0f4e18fdc3473de867f84fcba
      cb20a2f0
    • R
      Move coverage bitmap from FontCollection to FontFamily · 13f1aae0
      Raph Levien 提交于
      This will significantly reduce memory usage and also speed the creation
      of new font families. In particular, the coverage bitmaps for the fonts
      in the fallback stack will be computed once in the Zygote, rather than
      separately in each app process.
      
      Bug: 17756900
      Change-Id: I66f5706bddd4658d78fe5b709f7251ca9d2ff4f8
      13f1aae0
  2. 30 10月, 2014 1 次提交
    • R
      Move coverage bitmap from FontCollection to FontFamily · 253320d2
      Raph Levien 提交于
      This will significantly reduce memory usage and also speed the creation
      of new font families. In particular, the coverage bitmaps for the fonts
      in the fallback stack will be computed once in the Zygote, rather than
      separately in each app process.
      
      Bug: 17756900
      Change-Id: I66f5706bddd4658d78fe5b709f7251ca9d2ff4f8
      253320d2
  3. 23 9月, 2014 1 次提交
    • R
      Fine-tune fake-bolding condition · d5804e39
      Raph Levien 提交于
      The old logic for fake bolding results in no fake bolding for a bold
      span on a light weight (300) because the target weight (600 in this
      case) didn't meet the condition. This patch fine-tunes the threshold
      to enable fake bolding for this.
      
      Bug: 17587185
      
      Change-Id: I04abd00a74240cbed79c417f81486aa2158b2806
      d5804e39
  4. 25 7月, 2014 1 次提交
    • B
      Towards CSS removal · a5bb9119
      Behdad Esfahbod 提交于
      Extract language from FontStyle during shaping.  Don't attach CSS
      to LayoutContext.
      
      Change-Id: Ie621d3415410178d0d15fa7b810eb8e412342ab6
      a5bb9119
  5. 13 6月, 2014 2 次提交
    • R
      Tighten requirements for fake bold · e68467e9
      Raph Levien 提交于
      The simple predicate for fake bold (2 or more grades darker than
      requested) was applying it to thin (100 weight) when normal was
      requested. This patch tightens the predicate to also require that
      the requested weight be in the bold range.
      
      Fix for bug 15588352 "sans-serif-thin doesn't work on lockscreen"
      
      Change-Id: Id9988bd149a9c8a7c943e3b221f7fb4b37fb6ddb
      (cherry picked from commit 9f9f3b1e)
      e68467e9
    • R
      Tighten requirements for fake bold · 9f9f3b1e
      Raph Levien 提交于
      The simple predicate for fake bold (2 or more grades darker than
      requested) was applying it to thin (100 weight) when normal was
      requested. This patch tightens the predicate to also require that
      the requested weight be in the bold range.
      
      Fix for bug 15588352 "sans-serif-thin doesn't work on lockscreen"
      
      Change-Id: Id9988bd149a9c8a7c943e3b221f7fb4b37fb6ddb
      9f9f3b1e
  6. 12 6月, 2014 1 次提交
    • R
      Support for fake bold and italics · 15651697
      Raph Levien 提交于
      This patch adds support for computing when fake bold and fake italics
      are needed (because the styles are requested but not provided by the
      matching FontFamily), and providing them as part of the layout result.
      
      Part of the fix for bug 15436379 Fake bold doesn't fully work (Minikin)
      
      Change-Id: I180c034b559837943673b5c272c8e890178dff0d
      15651697
  7. 11 6月, 2014 1 次提交
    • R
      Support for fake bold and italics · 9a5f713a
      Raph Levien 提交于
      This patch adds support for computing when fake bold and fake italics
      are needed (because the styles are requested but not provided by the
      matching FontFamily), and providing them as part of the layout result.
      
      Part of the fix for bug 15436379 Fake bold doesn't fully work (Minikin)
      
      Change-Id: I180c034b559837943673b5c272c8e890178dff0d
      9a5f713a
  8. 30 5月, 2014 1 次提交
    • R
      Language and variant selection · 7b221d97
      Raph Levien 提交于
      This patch adds a "lang" pseudo-CSS property and uses it both to select
      an appropriate font and control the "locl" OpenType feature to get the
      most appropriate rendering for the langauge and script.  In addition,
      the "-minikin-variant" property selects between "compact" and "elegant"
      variants of a font, as the former is needed for vertically cramped
      spaces.
      
      This is part of the fix for bug 15179652 "Japanese font isn't shown on
      LMP".
      
      Change-Id: I7fab23c12d4c797a6d339a16e497b79a3afe9df1
      7b221d97
  9. 20 5月, 2014 2 次提交
    • R
      Fix incomplete refcounting and locking · 55f3653a
      Raph Levien 提交于
      These changes were supposed to be committed in the previous patch
      "Better refcounting and locking" but seem to have gotten lost in a
      rebase. It fixes a memory leak and some possible race conditions.
      
      Change-Id: I54ca1e37500ec49756fe317cc6d6d03da9911501
      55f3653a
    • R
      Fix incomplete refcounting and locking · c31e3883
      Raph Levien 提交于
      These changes were supposed to be committed in the previous patch
      "Better refcounting and locking" but seem to have gotten lost in a
      rebase. It fixes a memory leak and some possible race conditions.
      
      Change-Id: I54ca1e37500ec49756fe317cc6d6d03da9911501
      c31e3883
  10. 13 5月, 2014 2 次提交
    • R
      Better refcounting and locking · b80c1f19
      Raph Levien 提交于
      All major externally accessible objects (especially FontFamily and
      FontCollection) are now reference counted. In addition, there is a
      global lock intended to make operations thread-safe.
      
      WIP notice: in this version of the patch, not all external API entry
      points are protected by the lock. That should be fixed.
      
      Change-Id: I14106196e99eb101e8bf1bcb4b81359759d2086c
      b80c1f19
    • R
      A basket of features: itemization, bounds, refcount · ecc2d34a
      Raph Levien 提交于
      This patch improves script run itemization and also exposes metrics
      and bounds for layouts. In addition, there is a fair amount of internal
      cleanup, including ref counting, and making the MinikinFont abstraction
      strong enough to support both FreeType and Skia implementations. There
      is also a sample implementation using Skia, in the sample directory.
      
      As part of its functionality, his patch measures the bounds of the
      layout and gives access through Layout::GetBounds().  The corresponding
      method is not implemented in the FreeType-only implementation of
      MinikinFont, so that will probably have to be fixed.
      
      Change-Id: Ib1a3fe9d7c90519ac651fb4aa957848e4bb758ec
      ecc2d34a
  11. 12 9月, 2013 1 次提交
  12. 15 6月, 2013 1 次提交
    • R
      Introduce MinikinFont abstraction · bcc3dc5a
      Raph Levien 提交于
      This commit removes the direct dependency on FreeType and replaces it
      with a MinikinFont abstraction, which is designed to support both
      FreeType and Skia fonts (and possibly others in the future).
      
      Also adds a "total advance" to the Layout, with an API for retrieving
      it.
      
      Change-Id: If20f92db9a43fd15b0fe9794b761ba00fb21338c
      bcc3dc5a
  13. 26 4月, 2013 1 次提交
    • R
      Initial commit of Minikin library · 9cc9bbe1
      Raph Levien 提交于
      This is the initial draft of Minikin, a library intended to perform text
      layout functions. This version does basic weight selection and font runs
      for scripts, and also has a simple renderer for drawing into bitmaps,
      but is lacking measurement, line breaking, and a number of other
      important features. It also lacks caching and other performance
      refinements.
      
      Change-Id: I789a2e47d11d71202dc84b4751b51a5e2cd9c451
      9cc9bbe1