- 18 2月, 2016 3 次提交
-
-
由 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
-
由 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
-
由 Raph Levien 提交于
Detect URLs and email addresses, and suppress both line breaking and hyphenation within them. Bug: 20126487 Bug: 20566159 Change-Id: I43629347a063dcf579e355e5b678d7195f453ad9
-
- 17 2月, 2016 1 次提交
-
-
由 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
-
- 12 2月, 2016 1 次提交
-
-
由 Aurimas Liutikas 提交于
Removing variables in main function of sample/example.cpp as they are not used. Bug: 26936282 Change-Id: I64ae0a455b413df333ddd4810a9e090d52322041
-
- 08 2月, 2016 1 次提交
-
-
由 Keisuke Kuroyanagi 提交于
Bug: 24505153 Change-Id: If61c063c175086dec88cda187eafd9ce923e4cb1
-
- 04 2月, 2016 1 次提交
-
-
由 Seigo Nonaka 提交于
It turned out that hb_font_t creation is not a lightweight operation. Especially, Paint.hasGlyph creates hb_font_t for all existing fonts every time. To improve the performance, cache hb_font_t instead of hb_face_t. Note that to calculate horizontal advance, MinikinPaint needs to be associated with hb_font_t by calling hb_font_set_funcs. With this patch, hb_font_set_funcs may be called multiple times for the same hb_font_t object. However this is not an issue since MinikinPaint is unique during layout. Bug: 26784699 Change-Id: I516498ae9f0127d700fc9829327e9789845a1416
-
- 26 1月, 2016 3 次提交
-
-
由 Stephen Hines 提交于
am: 3d15532a * commit '3d15532a': Disable unsigned integer overflow sanitization until libc++ is fixed.
-
由 Stephen Hines 提交于
am: 4553fa41 * commit '4553fa41': Disable unsigned integer overflow sanitization until libc++ is fixed.
-
由 Stephen Hines 提交于
Bug: http://b/26781196 Bug: http://b/25884483 Bug: http://b/26432628 Although this issue was first only manifesting on Fugu, it now affects N9 and N6p as well. This change disables unsigned overflow sanitization on all platforms. The real fix for libc++ (r257368) can't be committed until we have updated Clang at least one more time. Change-Id: I71e9c50d25ae4566d4c06f348183c4b22a4bb60a
-
- 21 1月, 2016 1 次提交
-
-
由 Keisuke Kuroyanagi 提交于
The intruduced method measureText can be used instead of doLayout for text measurement purpose. Bug: 24505153 Change-Id: Ic29bbb347daf18d1f6c13f86970dcdd11dd6a2bd
-
- 16 1月, 2016 8 次提交
-
-
由 Raph Levien 提交于
am: e82552ae * commit 'e82552ae': Reject fonts with invalid ranges in cmap
-
由 Raph Levien 提交于
am: a3df6da3 * commit 'a3df6da3': Reject fonts with invalid ranges in cmap
-
由 Raph Levien 提交于
am: 3034e8b4 * commit '3034e8b4': Reject fonts with invalid ranges in cmap
-
由 Raph Levien 提交于
am: ca8ac8ac * commit 'ca8ac8ac': Reject fonts with invalid ranges in cmap
- 15 1月, 2016 1 次提交
-
-
由 Seigo Nonaka 提交于
The motivation of this CL is enhance the font fallback score design to support multiple language font fallback. This CL contains following changes: - Break language based font score into two: script-based score and primary-language-based score. - The primary-language-based score is 0 if the script-based score is 0. If the script-based score is not 0 and the primary language is the as same as the requested one, the font gets an extra score of 1. - The language score gets a higher multiplier for languages higher in the locale list. Bug: 25122318 Bug: 26168983 Change-Id: Ib999997a88e6977e341f4c325e2a1b41a59db2d5
-
- 14 1月, 2016 4 次提交
-
-
由 Raph Levien 提交于
am: 850fcc0b -s ours * commit '850fcc0b': Tailor grapheme boundaries so sequence emoji are one grapheme - DO NOT MERGE
-
由 Raph Levien 提交于
am: 2e98eb6b * commit '2e98eb6b': Tailor grapheme boundaries so sequence emoji are one grapheme - DO NOT MERGE
-
由 Raph Levien 提交于
Make it so it's not possible to position the cursor inside an emoji formed by a sequence including zero-width joiners. Bug: 25368653 Change-Id: I67ec0874cd1505f3c82ab91492ffc3d39a52fae6
-
由 Raph Levien 提交于
Make it so it's not possible to position the cursor inside an emoji formed by a sequence including zero-width joiners. Bug: 25368653 Change-Id: I67ec0874cd1505f3c82ab91492ffc3d39a52fae6
-
- 08 1月, 2016 2 次提交
-
-
由 Raph Levien 提交于
A corrupt or malicious font may have a negative size in its cmap range, which in turn could lead to memory corruption. This patch detects the case and rejects the font, and also includes an assertion in the sparse bit set implementation if we missed any such case. External issue: https://code.google.com/p/android/issues/detail?id=192618 Bug: 26413177 Change-Id: Icc0c80e4ef389abba0964495b89aa0fae3e9f4b2
-
由 Raph Levien 提交于
A corrupt or malicious font may have a negative size in its cmap range, which in turn could lead to memory corruption. This patch detects the case and rejects the font, and also includes an assertion in the sparse bit set implementation if we missed any such case. External issue: https://code.google.com/p/android/issues/detail?id=192618 Bug: 26413177 Change-Id: Icc0c80e4ef389abba0964495b89aa0fae3e9f4b2
-
- 07 1月, 2016 12 次提交
-
-
由 Andreas Gampe 提交于
am: 0497c013 * commit '0497c013': Minikin: Disable sanitizer on x86
-
由 Andreas Gampe 提交于
am: 72c02682 * commit '72c02682': Minikin: Disable sanitizer on x86
-
由 Andreas Gampe 提交于
Disable unsigned-integer-overflow sanitizer on x86, as it crashes. Bug: 25884483 Bug: 26432628 Change-Id: Ia658ed56a6c81660a36edf71f7116118056aa917
-
由 Seigo Nonaka 提交于
-
由 Dan Austin 提交于
am: cf6ebc1e * commit 'cf6ebc1e': Enable integer sanitization in libminikin
-
由 Dan Austin 提交于
am: 7087da25 * commit '7087da25': Enable integer sanitization in libminikin
-
由 Dan Austin 提交于
Enable signed and unsigned integer sanitization in libminikin. Bug: 25884483 Change-Id: I98905827174d16138d20bb443fe2e1d7228ea1a3
-
由 Dan Austin 提交于
am: 5255614d * commit '5255614d': Revert "Enable integer sanitization in libminikin."
-
由 Dan Austin 提交于
am: 342cd45a * commit '342cd45a': Revert "Enable integer sanitization in libminikin."
-
由 Dan Austin 提交于
This reverts commit 9c13a3dc. Change-Id: Iecd1f61a5fdf5955d871a920cb243553857d46ff
-
由 Dan Austin 提交于
am: ebe37167 * commit 'ebe37167': Enable integer sanitization in libminikin.
-
由 Dan Austin 提交于
am: 9c13a3dc * commit '9c13a3dc': Enable integer sanitization in libminikin.
-
- 06 1月, 2016 2 次提交
-
-
由 Seigo Nonaka 提交于
The assertion for the lock state has now activated by I9c4b1e1f09c6793e387fbdb8bb654cc0a13c65d5. This CL fixes the assertion failure in the unit tests by acquiring lock before calling the functions. Change-Id: I6a6afefb4de01e8610c2abfe6c779afa9442cc67
-
由 Seigo Nonaka 提交于
-