1. 10 1月, 2017 1 次提交
  2. 28 12月, 2016 1 次提交
    • M
      minikin: Replace cutils/log.h with android/log.h or log/log.h · 555d84c6
      Mark Salyzyn 提交于
      - replace cutils/log.h with android/log.h (main buffer logging)
      - replace cutils/log.h with log.log.h (+SafetyNet logging)
      - define LOG_TAG before use.
      
      Test: compile
      Bug: 26552300
      Bug: 31289077
      Change-Id: I7a4803dd66f31b7103e09e5ff5b8fa523fa0fd60
      555d84c6
  3. 16 12月, 2016 1 次提交
    • D
      Use LOCAL_TEST_DATA to install test data · 068eab8f
      Dan Willemsen 提交于
      This will handle installation for local builds as well as for the test
      bundles.
      
      Test: m -j minikin_tests; ls $OUT/data/nativetest*/minikin_tests
      Test: m -j continous_native_tests dist; zipinfo -1 out/dist/*continuous_native_tests*.zip
      Test: /data/nativetest{,64}/minikin_tests/minikin_tests
      Change-Id: Iafd31fa119e7c4d92937ca8ae8346e268a6c1f38
      Merged-In: Iafd31fa119e7c4d92937ca8ae8346e268a6c1f38
      068eab8f
  4. 14 12月, 2016 1 次提交
    • D
      Use LOCAL_TEST_DATA to install test data · 549e2315
      Dan Willemsen 提交于
      This will handle installation for local builds as well as for the test
      bundles.
      
      Test: m -j minikin_tests; ls $OUT/data/nativetest*/minikin_tests
      Test: m -j continous_native_tests dist; zipinfo -1 out/dist/*continuous_native_tests*.zip
      Test: /data/nativetest{,64}/minikin_tests/minikin_tests
      Change-Id: Iafd31fa119e7c4d92937ca8ae8346e268a6c1f38
      549e2315
  5. 06 12月, 2016 1 次提交
    • Y
      Change language score calculation · d478da32
      Yirui Huang 提交于
      Change language score calculation in the calculation of the font family.
      Instead of language and script matching, a match in subtag is added.
      In addition, a match in subtag has a higher priority than a match in
      script. The score levels are divided into 5 score levels and the limit
      of the number of font languages is changed to 12 from 17. Multiple
      languages selection rule could to be added in the future.
      
      Bug: 31608997
      Test: Done by unittests.
      Change-Id: I1e7177095f604fd1794bc99ca36c705dcb4c56e7
      d478da32
  6. 03 12月, 2016 1 次提交
    • C
      Move LOCAL_PICKUP_FILES out of $OUT/data · 2e621342
      Colin Cross 提交于
      minikin_tests was copying its test data to
      $OUT/data/DATA/nativetest/minikin_test, and then packaging that with
      LOCAL_PICKUP_FILES=$OUT/data/DATA, which would also pick up anything
      any other module copyied to $OUT/data/DATA.  $OUT/data/DATA isn't
      where the tests expect to find their data, they look in
      /data/nativetest/minikin_test.  Copy the files to the intermediates
      directory instead.
      
      A future change will install LOCAL_PICKUP_FILES for local builds
      to the correct place, so adb sync and
      adb shell /data/nativetest/minikin_tests/minikin_tests will run the
      tests.
      
      Test: mma -j
      Change-Id: I808ce743f51e5ccac711e22821e7e0d7cd94ffdf
      2e621342
  7. 21 11月, 2016 1 次提交
    • Y
      Parse Emoji subtag and store it to FontLanguage · e1d7f616
      yirui 提交于
      Parse Emoji subtag and store into 4 different styles: default, text,
      color and empty. Replace hasEmojiFlag function with getEmojiStyle to
      get effective status according to script and subtag. However, score
      calculation for the font selection needs to be completed in the next
      stage. No performance regression is observed with this CL.
      
      Bug: 31608997
      Test: Done by unittests.
      Change-Id: I923243641c946248dd5a0aa9fb9c940515310d34
      e1d7f616
  8. 17 11月, 2016 1 次提交
    • S
      Clean Up: Removing unused interface GetTable from MinikinFont. · fd77b01f
      Seigo Nonaka 提交于
      This is 2nd attempt of Ifcd7a348d7fb5af081192899dbcdfc7fb4eebbf9
      
      After Id766ab16a8d342bf7322a90e076e801271d527d4, GetTable is no longer
      used in production due to poor performance and it is now only used in
      tests. This CL removes GetTable interface from MinikinFont and update
      tests code to use new interfaces, GetFontData, GetFontSize and
      GetFontIndex.
      
      Bug: 27860101
      Test: Manually done
      Change-Id: Ib48973ff25cdc61a4c666d28128266df0aaea83e
      fd77b01f
  9. 16 11月, 2016 2 次提交
    • M
      Fix calls to deprecated range_x. · 815bc4a8
      Martijn Coenen 提交于
      Test: fixes master build.
      Change-Id: I8b2822d310c0cf423b15834e6d6ae3a9ea64233b
      815bc4a8
    • S
      Implement word spacing · acd401d0
      Seigo Nonaka 提交于
      Add a wordSpacing paint parameter, which will be used for
      justification.
      
      Bug: 31707212
      Test: ran minikin_tests
      Change-Id: I91224ab8ef882ac0c87425c28ab731fead283612
      acd401d0
  10. 25 10月, 2016 1 次提交
  11. 18 10月, 2016 1 次提交
    • S
      Clean Up: Removing unused interface GetTable from MinikinFont. · 1d525df4
      Seigo Nonaka 提交于
      After Id766ab16a8d342bf7322a90e076e801271d527d4, GetTable is no longer
      used in production due to poor performance and it is now only used in
      tests. This CL removes GetTable interface from MinikinFont and update
      tests code to use new interfaces, GetFontData, GetFontSize and
      GetFontIndex.
      
      Bug: 27860101
      Test: Manually done
      
      Change-Id: Ifcd7a348d7fb5af081192899dbcdfc7fb4eebbf9
      1d525df4
  12. 15 9月, 2016 1 次提交
    • S
      Fix lookup order for VS in itemization. · 4a4e6574
      Seigo Nonaka 提交于
      This is partial revert of Iced1349e3ca750821d8882c551551f65bb569794.
      
      Due to sorting of target family vectors, the font family order from XML
      settings file is broken. Making unique operation stable doesn't fix the
      issue completely since some font families are appended for the fallback
      which also breaks the original order.
      
      By this change, itemization becomes 3x slower than before if variation
      selector is appended.
      
      Bug: 29585939
      Change-Id: I7c1a8a57f04111a30cd41a5cd5bec25fcfb3972e
      4a4e6574
  13. 12 8月, 2016 1 次提交
  14. 06 8月, 2016 1 次提交
    • B
      Move SkTypeface::CreateXXX to SkTypeface::MakeXXX. · e6adb66a
      Ben Wagner 提交于
      Skia is moving to returning smart pointers from its factory methods.
      This updates uses of SkTypeface::CreateXXX to SkTypeface::MakeXXX and
      generally updates use of SkTypeface to sk_sp. This will allow for the
      removal of the SK_SUPPORT_LEGACY_TYPEFACE_PTR define.
      
      Change-Id: If3e600c6cb86080576667bc77d427da4f6560afa
      e6adb66a
  15. 14 7月, 2016 3 次提交
    • S
      Lookup glyph from color emoji font before and after ZWJ. · 9431bb96
      Seigo Nonaka 提交于
      Unicode recommends that the zwj sequences should be emoji presentation
      even if they don't have the proper U+FE0F. Thus always lookup the glyph
      for the code point before and after zwj as if they have a U+FE0F
      variation selector.
      
      Bug: 30056627
      Change-Id: I03958a92337eaba4a8dd9c5be824b2665aa4a103
      9431bb96
    • S
      Treat U+2695, U+2640, U+2642 as emoji characters. · c2642f9a
      Seigo Nonaka 提交于
      Bug: 29885295
      Change-Id: I1bf191a46d05e7099265d863bae0523c50817d0b
      c2642f9a
    • S
      Add some gender balanced components in to the sticky whitelist. · fab99dde
      Seigo Nonaka 提交于
      FEMALE SIGN(U+2640), MALE SIGN(U+2642), StAFF OF AESCULAPIUS(U+2695)
      will be used as the ZWJ sequenced in gender balanced emoji sequence.
      To be in the same run with ZWJ, mark these emoji as sticky chracters.
      
      With this fix, Female police officer sequence will be shown correctly
      regardless of VS16.
      
      Bug: 30026374
      Change-Id: I503fc061eaa943d45208bb69e885151610c430ce
      fab99dde
  16. 12 7月, 2016 1 次提交
    • S
      Lookup glyph from color emoji font before and after ZWJ. · 98487de5
      Seigo Nonaka 提交于
      Unicode recommends that the zwj sequences should be emoji presentation
      even if they don't have the proper U+FE0F. Thus always lookup the glyph
      for the code point before and after zwj as if they have a U+FE0F
      variation selector.
      
      Bug: 30056627
      Change-Id: I03958a92337eaba4a8dd9c5be824b2665aa4a103
      98487de5
  17. 11 7月, 2016 1 次提交
  18. 08 7月, 2016 1 次提交
    • S
      Add some gender balanced components in to the sticky whitelist. · 435076ff
      Seigo Nonaka 提交于
      FEMALE SIGN(U+2640), MALE SIGN(U+2642), StAFF OF AESCULAPIUS(U+2695)
      will be used as the ZWJ sequenced in gender balanced emoji sequence.
      To be in the same run with ZWJ, mark these emoji as sticky chracters.
      
      With this fix, Female police officer sequence will be shown correctly
      regardless of VS16.
      
      Bug: 30026374
      Change-Id: I503fc061eaa943d45208bb69e885151610c430ce
      435076ff
  19. 28 6月, 2016 3 次提交
    • S
      Fix build failure of minikin_perftest · 524369b0
      Seigo Nonaka 提交于
      stat.st_size is off_t not size_t, so need to cast to size_t before
      compare it.
      
      Change-Id: I6b742746fbb9f254701fc91e515c293f93f912c5
      524369b0
    • S
      Introduce FontCollection perftest · 5e6bc85d
      Seigo Nonaka 提交于
      This CL introduces performance tests for FontCollection.
      
      To support TTC file in /system/fonts, this CL also extends FontTestUtils
      
      Bug:29142734
      Change-Id: I9d8ad24ca55f61031b85623ab7c26234239e4f41
      5e6bc85d
    • S
      Add more native perf tests to minikin. · 0ca4fb6d
      Seigo Nonaka 提交于
      This CL introduces performance tests for following three modules:
      - Hyphenator
      - WordBreaker
      - GraphemeBreak
      
      During using UnicodeUtils, need to decouple it from gtest since
      perftest doesn't have gtest dependencies.
      
      Bug:29142734
      Change-Id: I700c662fa7d0a52f19d8e93150ad1a85dc28769f
      0ca4fb6d
  20. 21 6月, 2016 1 次提交
    • S
      Fix test utilities · 81c79d6e
      Seigo Nonaka 提交于
      This fixes following three memory leaks in test utilities.
      There is no problem in production code and this CL doesn't affect
      any production behaviors.
      
      - SkTypeface leaks due to forget calling SkSafeUnref in dtor.
      - MinikinFontForTest leaks during constructing FontCollection.
      - FontCollection leaks due to unnecessary AddRef.
      
      Change-Id: I22e1e0307f1b2499296acb1aacc3ef66076a36e9
      81c79d6e
  21. 10 6月, 2016 1 次提交
    • S
      Always use minikin namespace. · 14e2d136
      Seigo Nonaka 提交于
      Here is a new policy of the namespace of minikin.
      - All components should be in minikin namespace.
      - All tests are also in minikin namespace and no anonymous namespace.
      
      Bug: 29233740
      Change-Id: I71a8a35049bb8d624f7a78797231e90fed1e2b8c
      14e2d136
  22. 09 6月, 2016 1 次提交
    • S
      Reconstruct the directory structure of minikin tests. · c38b249e
      Seigo Nonaka 提交于
      To add perftests and reuse some utility classes, reconstruct
      test directory structure.
      
      - Move unit tests from minikin/tests to minikin/tests/unittests
      - Extract utilitiy classes to minikin/tests/utils which will be
        used by perftests eventually.
      
      Change-Id: I5026b177934e72ae67d362ee888302037da2f808
      c38b249e
  23. 08 6月, 2016 1 次提交
  24. 26 5月, 2016 1 次提交
  25. 19 4月, 2016 1 次提交
  26. 15 4月, 2016 1 次提交
    • S
      Returns hasVariationSelector true for VS15/VS16 · 994aa84f
      Seigo Nonaka 提交于
      Minikin has a special font fallback for VS15/VS16, so
      hasVariationSelector for emojis with VS15/VS16 should always return
      true.
      
      Bug: 27531970
      Change-Id: Ieebd58f48b135b6ec50d999df68dcc09b1284606
      994aa84f
  27. 12 4月, 2016 1 次提交
    • S
      Fix minikin_unittests · 6c60831c
      Seigo Nonaka 提交于
      This CL fixes following test cases in minikin_tests
      - FontFamilyTest.hasVariationSelectorTest
      - HbFontCacheTest.getHbFontLockedTest
      - HbFontCacheTest.purgeCacheTest
      
      For the fix of FontFamilyTest.hasVariationSelectorTest, removing virtual
      from GetUniqueId() in MinikinFont.  After [1], MinikinFont's destructor
      started calling purgeHbCache() which calls virtual method,
      MinikinFont::GetUniqueId().  Fortunately, the SkTypeface::uniqueID()
      returns just internal value, so we can store it at the construction time
      and use it instead of calling SkTypeface::uniqueID() every time.
      
      This patch also changes purgeHbFont to purgeHbFontLocked, as all uses of
      it were already under global mutex. This change avoids deadlock on
      explicit unref, as when invoked by a Java finalizer from the Java object
      that holds a reference to the font.
      
      Some of the tests needed to change to using the ref counting protocol
      rather than explicitly destructing font objects, as well.
      
      [1] 9afcc6e2
      
      Bug: 28105730
      Bug: 28105688
      Change-Id: Ie5983c4869147dacabdca81af1605066cd680b3f
      6c60831c
  28. 08 4月, 2016 1 次提交
    • R
      Avoid copying of font table data · aaa4e347
      Raph Levien 提交于
      The hb_font_t object holds on to tables of font data, acquired through
      the MinikinFont::GetTable interface, which is based on copying data
      into caller-owned buffers. Now that we're caching lots of hb_font_t's,
      the cost of these buffers is significant.
      
      This patch moves to a different interface, inspired by HarfBuzz's
      hb_reference_table API, where the font can provide a pointer to the
      actual font data (which will often be mmap'ed, so it doesn't even
      consume physical RAM).
      
      Bug: 27860101
      Change-Id: Id766ab16a8d342bf7322a90e076e801271d527d4
      aaa4e347
  29. 04 4月, 2016 1 次提交
    • S
      Support multiple locales for font language settings. · f3afe92d
      Seigo Nonaka 提交于
      Some fonts support multiple scripts, for example, some fonts for
      Korean supports not only "Kore" but also "Jamo".
      
      To select fonts based on their multiple languages, this CL introduces
      the following changes:
      - Compares all languages of the font family and use the maximum score
        for font selection.
      - Even if each language of the font family doesn't support the requested
        language, the font get score of 2 if the requested font is covered by
        all of the languages of the font family. For example, the font for
        "ko-Hang,ko-Hani" gets score of 2 for the requested language "ko-Kore".
      
      Bug: 26687969
      
      Change-Id: I7f13b51464c9b01982bb573251d77052b9ddbd70
      f3afe92d
  30. 17 3月, 2016 1 次提交
  31. 04 3月, 2016 1 次提交
  32. 03 3月, 2016 1 次提交
  33. 27 2月, 2016 2 次提交
    • R
      Fix wrong conditions in isEmojiBase · 1934c2c3
      Raph Levien 提交于
      I computed ranges using low <= c || c <= high, should be &&.
      
      Bug: 26829153
      Change-Id: Ic1002d90b6a408a0b415f2d117d0e57adcbc2fa9
      1934c2c3
    • R
      Suppress line breaks in emoji + modifier · 56840e80
      Raph Levien 提交于
      An emoji base with an emoji modifier renders as a single glyph and
      thus should not be a line break. Current (Unicode 8) logic does
      indicate a line break, so we override the results of the ICU line
      break iterator. The code references a proposal to improve Unicode
      behavior; when that is adopted and we upgrade ICU accordingly, the
      special-case code should be deleted, but the tests can remain.
      
      Bug: 27343378
      Change-Id: I5de9c53e9a34c503816f9131e3d894e6f7a57d13
      56840e80
  34. 26 2月, 2016 1 次提交
    • S
      Use color font if skin tone is specified. · 0036da16
      Seigo Nonaka 提交于
      If skin tone is specified, the base emoji should be emoji style even
      if it is text presentation default emoji.
      
      This patch also removes wrong test case which expects default emoji
      presentation but it is controlled by family order in /etc/fonts.xml
      and there is no special logic for default presentation in minikin.
      Thus the default presentation unit test should not be in minikin.
      
      Bug: 27342346
      
      Change-Id: I74a2b2feab4d559535049e368cfd833063cce81c
      0036da16