1. 27 3月, 2015 1 次提交
    • R
      Add LineBreaker to Minikin · 01f52661
      Raph Levien 提交于
      This patch adds a LineBreaker class to Minikin, which will be used for
      computing line breaks in StaticLayout. The version in this patch
      contains basically the same functionality that existed before, but
      hopefully better performance and an interface that's suitable for more
      sophisticated paragraph layout.
      
      Note that this version contains a high quality strategy, which mostly
      works but doesn't respect varying line width.
      
      Change-Id: I02485d58b1e52856296a72cdd4efd963bc572933
      01f52661
  2. 13 3月, 2015 1 次提交
    • R
      HyphenEdit in support of hyphenation · d692d6a9
      Raph Levien 提交于
      Adds a "HyphenEdit" field to the Minikin Paint object, which represents
      an edit to the text to add a hyphen (and, in the future, other edits to
      support nonstandard hyphenation).
      
      Change-Id: Ib4ee690b0fe2137e1d1e2c9251e5526b274ec3a7
      d692d6a9
  3. 26 2月, 2015 1 次提交
    • R
      Disable HarfBuzz's fallback to compatibility decompositions · 0bbff3a9
      Roozbeh Pournader 提交于
      Previously, HarfBuzz's default fallback to compatibility
      decompositions resulted in Mathematical Alphanumeric Symbols getting
      rendered as normal letters and digits when there was no font
      available to render them. This patch disables that fallback, to
      ensure they are displayed as tofus.
      
      Based on a patch by Behdad Esfahbod.
      
      Bug: 19202569
      Change-Id: I357f172302448d4ab0b24efc86119f1977b5996b
      0bbff3a9
  4. 06 1月, 2015 2 次提交
  5. 05 1月, 2015 1 次提交
  6. 05 12月, 2014 3 次提交
  7. 04 12月, 2014 3 次提交
  8. 13 11月, 2014 2 次提交
  9. 12 11月, 2014 1 次提交
  10. 31 10月, 2014 1 次提交
  11. 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
  12. 24 10月, 2014 2 次提交
    • R
      am 5f11abd3: Silently ignore invalid rangeOffset values · 168d3ef0
      Raph Levien 提交于
      * commit '5f11abd3':
        Silently ignore invalid rangeOffset values
      168d3ef0
    • R
      Silently ignore invalid rangeOffset values · 5f11abd3
      Raph Levien 提交于
      Some fonts contain a cmap segment for char 0xffff that contains an
      invalid rangeOffset. This was rejected by the existing code, which
      means the font is considered to have empty Unicode coverage. This patch
      just discards the invalid segment (consistent with OpenType Sanitizer),
      making the custom font display.
      
      Bug: 18106256
      Change-Id: Icc8616a3030f80e62db906332be64d434ae72ea2
      5f11abd3
  13. 24 9月, 2014 1 次提交
  14. 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
  15. 04 9月, 2014 2 次提交
    • R
      am 6740536e: Snap advance widths to integers · 9f00aaec
      Raph Levien 提交于
      * commit '6740536e':
        Snap advance widths to integers
      9f00aaec
    • R
      Snap advance widths to integers · 6740536e
      Raph Levien 提交于
      Fractional advance widths were causing subtle problems with text
      positioning when the same text was drawn with different spans in the
      hwui renderer. Quantizing the coordinates on layout (as opposed to
      waiting until the renderer draws the glyphs) solves the problem.
      
      This patch also fixes a discrepancy between x position and advance
      widths when letterspacing.
      
      Bug: 17347779
      Change-Id: Ia705944047408c2839d5ad078eefd6bbec446872
      6740536e
  16. 28 8月, 2014 1 次提交
  17. 27 8月, 2014 1 次提交
    • R
      Try Unicode decomposition for selecting fallback font · 997c799e
      Raph Levien 提交于
      This patch finds an appropriate fallback font in the case where no font
      directly maps the requested character, but a font does exist for the
      character's canonical decomposition. This yields correct rendering of
      compatibility characters such as U+FA70.
      
      Bug: 15816880
      Bug: 16856221
      Change-Id: Idff8ed6b942fec992a0815a32028b95af091d0ee
      997c799e
  18. 23 8月, 2014 1 次提交
  19. 22 8月, 2014 5 次提交
    • B
      Allocate font vector on stack · 56c7fb8c
      Behdad Esfahbod 提交于
      This reduces another allocation (last one?) we were doing when
      fulfilling shaping requests from the cache.
      
      Bug: 17111260
      Change-Id: Ieb8ae1ccfcaacedb257e1e9263777f10623aaf98
      56c7fb8c
    • B
      am 6da7796c: Fix Layout initialization in the skipCache path · c01aa1e3
      Behdad Esfahbod 提交于
      * commit '6da7796c':
        Fix Layout initialization in the skipCache path
      c01aa1e3
    • B
      Fix Layout initialization in the skipCache path · 6da7796c
      Behdad Esfahbod 提交于
      C++ local var initialization always tricks me.  Previously, Layout
      didn't have a constructor, which meant that defining it on the stack
      left mAdvance uninitialized.  This was not an issue when we were doing
      "new Layout()", since that invokes zero-initialization, but was an
      issue for the skipCache path that was allocating layout on stack by
      just "Layout l" instead of "Layout l = Layout()".  To avoid surprises,
      add a constructors that clears everything.
      
      Also adds reset() method to reset the layout for reuse.
      
      Change-Id: I3e02f00da9dd7d360abe13f63c310f6882292d0a
      6da7796c
    • B
      am 288c9159: Speed up cache lookup · 338de7c4
      Behdad Esfahbod 提交于
      * commit '288c9159':
        Speed up cache lookup
      338de7c4
    • B
      Speed up cache lookup · 288c9159
      Behdad Esfahbod 提交于
      Avoid copying the string for cache lookup.
      
      Bug: 17111260
      Change-Id: Ic220bfc991fc6b3dada197304aabdf72a8941bd7
      288c9159
  20. 09 8月, 2014 2 次提交
  21. 31 7月, 2014 2 次提交
  22. 30 7月, 2014 5 次提交