1. 09 5月, 2017 1 次提交
  2. 17 3月, 2017 1 次提交
    • R
      Update emoji character data in Minikin · 0480d6da
      Roozbeh Pournader 提交于
      Update emoji character data to Unicode 10.0 / Emoji 5.0 (which also
      removes U+1F93B MODERN PENATHLON from the emoji base letters).
      
      Also add unit tests for line breaking for new characters (based on
      earlier work by Seigo Nonaka).
      
      Test: All new and existing unit tests pass;
      Test: Manually tested line breaking of new emojis in TextView.
      
      Bug: 28364892
      Bug: 28678294
      Bug: 30874706
      Change-Id: I367cdab09187dc08a66a3112a5181a2b7fb338a5
      0480d6da
  3. 03 3月, 2017 1 次提交
    • R
      Correct hyphenation for various complex cases · c7ef4000
      Roozbeh Pournader 提交于
      This adds better support for Arabic script languages, Armenian,
      Catalan, Hebrew, Kannada, Malayalam, Polish, Tamil, and Telugu by
      adding various hyphenation types and edits appropriate for the
      locales.
      
      For Arabic script languages, soft hyphens act transparently with
      regard to joining: If a line is broken at a soft hyphen where the two
      characters around the soft hyphen were joining each other before,
      they will continue to appear joining if the line is broken at the
      soft hyphen and a hyphen glyph is inserted.  This is needed for
      Central Asian languages such as Uighur.
      
      For Armenian, U+058A ARMENIAN HYPHEN is used for line breaks caused
      by either automatic hyphenation or soft hyphens.
      
      For Catalan, nonstandard line breaks are implemented for "l·l", which
      hyphenates as "l-/l".
      
      For Polish, when there is a line break at a hyphen, the hyphen is
      repeated at the next line.
      
      For the South Indic languages, when breaks happen due to soft breaks
      or automatic hyphenation, no visible hyphen is inserted, although a
      penalty is added.
      
      For Hebrew, support for using U+05BE HEBREW PUNCTUATION MAQAF has
      been implemented, but it's turned off pending confirmation of
      desirability.
      
      Also, hard hyphens, which previously had no penalty added for
      breaking the line after them, now have the same penalty as an
      automatic or soft break, with the difference that no hyphen is
      inserted when they break.
      
      Finally, some bugs have been fixed with hyphenating multiscript and
      multi-font words.
      
      Bug: 19950445
      Bug: 19955011
      Bug: 25623243
      Bug: 26154469
      Bug: 26154471
      Bug: 33387871
      Bug: 33560754
      Bug: 33752592
      Bug: 33754204
      Test: Unit tests added, plus thorough manual testing
      Change-Id: Iaccf776ce8d1d434ee8b1c534ff3659d80fdc338
      c7ef4000
  4. 08 2月, 2017 1 次提交
    • S
      Introduce unittests for flag sequence. · e05034f3
      Seigo Nonaka 提交于
      The Flag sequence is well handled by latest ICU.
      Just add unit tests for catching regression in future.
      
      Test: ran minikin_tests
      Change-Id: I78d5461de8ff4d002ca06fb5bb81fcd7bc45d95e
      e05034f3
  5. 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
  6. 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
  7. 26 5月, 2016 1 次提交
  8. 19 4月, 2016 1 次提交
  9. 17 3月, 2016 1 次提交
  10. 27 2月, 2016 1 次提交
    • 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
  11. 19 2月, 2016 1 次提交
    • R
      Suppress linebreaks in emoji ZWJ sequences · d3f45892
      Raph Levien 提交于
      Due to the way emoji ZWJ sequences are defined, the ICU line breaking
      algorithm determines that there are valid line breaks inside the
      sequence. This patch suppresses these line breaks.
      
      This is an adaptation of I225ebebc0f4186e4b8f48fee399c4a62b3f0218a
      into the nyc-dev branch.
      
      Bug: 25433289
      Change-Id: I84b50b1e6ef13d436965eab389659d02a30d100f
      d3f45892
  12. 18 2月, 2016 3 次提交
    • R
      Add penalty for breaks in URLs and email addresses · c88ef135
      Raph Levien 提交于
      Recent changes have added special cases for line breaks within URLs
      and email addresses. Such breaks are undesirable when they can be
      avoided, but at other times are needed to avoid huge gaps, or indeed
      to make the line fit at all.
      
      This patch assigns a penalty for such breaks, equal to the hyphenation
      penalty. The mechanism is currently very simple, but would be easy to
      fine-tune based on more detailed information about break quality.
      
      Bug: 20126487
      Bug: 20566159
      Change-Id: I0d3323897737a2850f1e734fa17b96b065eabd9c
      c88ef135
    • R
      Add line breaks to email addresses and URLs · 6d15657e
      Raph Levien 提交于
      This change adds accceptable line breaks according to sections 7.42
      (Dividing URLs and e-mail addresses) and 14.12 (URLs or DOIs and line
      breaks) of the Chicago Manual of Style (16th ed.). In general, these
      place breaks before punctuation symbols, and suppresses them after
      hyphens.
      
      Bug: 20126487
      Bug: 20566159
      Change-Id: I2d07d516b920a506a2f718c38fb435c5eb1ee1f8
      6d15657e
    • R
      Special-case URLs and email addresses for line breaking · 9c4cc648
      Raph Levien 提交于
      Detect URLs and email addresses, and suppress both line breaking and
      hyphenation within them.
      
      Bug: 20126487
      Bug: 20566159
      
      Change-Id: I43629347a063dcf579e355e5b678d7195f453ad9
      9c4cc648
  13. 17 2月, 2016 1 次提交
    • R
      Refine hyphenation around punctuation · 57b6dae9
      Raph Levien 提交于
      Implement a WordBreaker that defines our concept of valid word
      boundaries, customizing the ICU behavior. Currently, we suppress line
      breaks at soft hyphens (these are handled specially). Also, the
      new WordBreaker class has methods that determine the start and end
      of the word (punctuation stripped) for the purpose of hyphenation.
      
      This patch, in its current form, doesn't handle email addresses and
      URLs specially, but the WordBreaker class is the correct place to do
      so. Also, special case handling of hyphens and dashes is still done
      in LineBreaker, but all of that should be moved to WordBreaker.
      
      Bug: 20126487
      Bug: 20566159
      Change-Id: I492cbad963f9b74a2915f010dad46bb91f97b2fe
      57b6dae9