202 Commits

Author SHA1 Message Date
Stanislav Baranov
aa2b287cbf
Reland #7777 with proper LICENSE (#7888) 2019-02-21 13:45:24 -08:00
Jason Simmons
a5773d1211 Do not add ghost runs for trailing whitespace if the text is ellipsized (#7906) 2019-02-21 13:36:33 -08:00
Gary Qian
1263d28abf
Fix caret being at left edge when newline pressed on centered text (#7875) 2019-02-19 16:25:42 -08:00
Gary Qian
af39e22c31
Fix tests that were committed after cirrus ran (#7819) 2019-02-13 16:27:15 -08:00
Gary Qian
033f2072c3
Add space metrics tracking for trailing whitespace "ghost" runs. (#7791)
* Begin space tracking metrics in LibTxt.

* Add tracking for trailing whitespace.

* Store is_ghost in BidiRun

* Add comments
2019-02-13 15:19:53 -08:00
Gary Qian
74d94e52c6
Revert "Use all font managers to discover fonts for strut. (#7734)" (#7801)
This reverts commit c4a55552b5f07fdb0bb1db73df08a1843dd7e5a8.
2019-02-12 13:11:16 -08:00
Gary Qian
c4a55552b5
Use all font managers to discover fonts for strut. (#7734) 2019-02-12 03:32:59 -08:00
Jason Simmons
a3be1ff580
libtxt: support justification of RTL text (#7719)
Fixes https://github.com/flutter/flutter/issues/25567
2019-02-11 10:57:28 -08:00
Yunyu Lin
f38f03fc88 Replace hb_face_reference_table with hb_ot_color_has_png in isColorBitmapFont (#7686) 2019-02-04 16:59:12 -08:00
Gary Qian
c92df428ef
Strut implementation (#7414)
Engine half of flutter/flutter#26332
2019-01-30 10:16:37 -08:00
reed-at-google
747d125471 IWYU, esp. since SkFontMetrics.h is leaving SkPaint.h (#7545) 2019-01-22 10:08:55 -05:00
reed-at-google
dde2866738 IWYU to get SkFontMetrics (#7539) 2019-01-21 11:18:40 -05:00
Gary Qian
b7e0527982
Add Ahem to LibTxt testing fonts. (#7435) 2019-01-14 18:02:29 -05:00
Chris Bracken
788dea5ddb
Eliminate std::string using directive (#7433)
Eliminates a using std::string directive that conflicts with a
Google-internal using directive in base libs.

This applies a small subset of an upstream Minikin patch.
2019-01-10 11:52:36 -08:00
Jason Simmons
cd98f6bdb5
Clear the font collection's cache when a font is dynamically loaded (#7436)
Fixes https://github.com/flutter/flutter/issues/26293
2019-01-10 11:26:49 -08:00
Dan Field
4036b260aa
Reset ParagraphBuilder after build() (#7401)
* Reset ParagraphBuilder after build()
2019-01-07 16:10:53 -08:00
Rusino
4d353de493 Preparing to remove SK_SUPPORT_LEGACY_PAINT_TEXTMEASURE (#7354)
* Preparing to remove SK_SUPPORT_LEGACY_PAINT_TEXTMEASURE

* Fixing a bug

* Formatting problem
2019-01-02 16:23:35 -05:00
Gary Qian
54d7c42566
Paint all backgrounds first to prevent overlap (#7287) 2019-01-02 16:22:05 -05:00
Gary Qian
215ca15600
Support user-provided font-fallback. (#7241)
* Support user-provided font-fallback.

* Use tonic to pass to native

* Handle font families as a fallback vector in LibTxt

* Fix docs

* Concatentate fontFamily lists in dart before passing to engine

* Fix formatting

* Reworked font family matching to search all managers

* Fix formatting

* Proper toString null checking to keep format consistent

* Formatting

* Move _listEquals out of textstyle as it is not specific to TextStyle and will later be used for paragraphStyle too
2018-12-21 15:07:47 -08:00
Anthony Bullard
1bc7ccf605
Support real fonts in 'flutter test' (#6913)
* Support real fonts in 'flutter test'

Change the order of font_managers to query in font_collection
so that dynamic_font_manager fonts will be resolved.

Tested with test case in `flutter/flutter` repo:

`packages/flutter/test/rendering/localized_fonts_test.dart`

Ensured:
- A font loaded with FontLoader will be used
- The default 'Ahem' font is still loaded by default

The test above still cannot be fixed because FontLoader and the
underlying mechanisms don't cover Locale-specific font loading
and therefore a CJK font-family won't be able to be loaded as needed
for that test.

Fixes #17700

* Format fixup
2018-12-14 10:05:41 -08:00
Gary Qian
eff5e67356
Fallback font match caching to fix emoji lag. (#7208) 2018-12-13 10:39:09 -08:00
Gary Qian
25b58c0c67
Revert "Support overriding font leading in TextStyle and LibTxt (#6927)" (#7187)
This reverts commit 4b233f033b8ba7b7e5e84f1607dbdf2e4dcdc5d8.
2018-12-11 10:43:03 -08:00
Gary Qian
b0a3c74ca5
Check for empty line before adding empty 'padding' metrics (#7185) 2018-12-11 10:33:10 -08:00
Gary Qian
4b233f033b
Support overriding font leading in TextStyle and LibTxt (#6927) 2018-12-10 15:35:44 -08:00
Gary Qian
25c6c1be1a
Add empty metrics to account for truncated whitespace for GetRectsForRange. (#7164) 2018-12-10 15:30:46 -08:00
Jason Simmons
9611d746b8 Merge master branch into skia-master 2018-12-10 14:48:10 -08:00
Gary Qian
23788485a5
Minor comment fix and add TODO. (#7158) 2018-12-10 14:03:10 -08:00
Rusino
950275ba1f Old unnoticed changes (Paint->Font) for txt_benchmarks and making (#7068)
changes for removed SK_SUPPORT_LEGACY_TEXTENCODINGENUM
2018-12-03 17:00:37 -05:00
Rusino
9e16646ac3 Remove SK_SUPPORT_LEGACY_TEXTBLOBBUILD_WITH_PAINT (#6971)
* Remove SK_SUPPORT_LEGACY_TEXTBLOBBUILD_WITH_PAINT

* Formatting change
2018-11-28 09:05:31 -05:00
KyleWong
2c389678f0 Fix a minikin crash (nullptr& EXC_BAD_ACCESS) on iOS8. (#6795)
* Fix a minikin crash (nullptr& EXC_BAD_ACCESS) on iOS8.

* Use find for vector to avoid side effect.
2018-11-12 11:21:20 -08:00
Rusino
14db8b397a SkPaint::FontMetrics -> SkFontMetrics (#6824)
* SkPaint::FontMetrics -> SkFontMetrics

* fix file formatting

* another attempt to correct file formatting
2018-11-12 12:55:34 -05:00
Rusino
16f8c67f0b Update paint hinting for upcoming Skia API changes. (#6802) 2018-11-08 16:53:24 -05:00
Mehmet Fidanboylu
94dd7165ef
Skia Cleanup (#6786) 2018-11-07 15:29:52 -08:00
Michael Goderbauer
70a1106b50
Unify copyright lines (#6757) 2018-11-07 12:24:35 -08:00
Gary Qian
dda667f8f0
Roll update to harfbuzz to 2.1.0 (#6760) 2018-11-06 12:41:12 -08:00
Mehmet Fidanboylu
3236b49cea
Add missing includes (#6670) 2018-10-26 10:16:56 -07:00
Gary Qian
2586e94122
Support all combinations of GetRectsForRange styles (#6591) 2018-10-23 11:06:21 -07:00
Gary Qian
3860a43379
Re-revert wrong line_heights implementation (#6598) 2018-10-18 14:15:20 -07:00
Mehmet Fidanboylu
e6887a4121
Add missing imports for unicode/utf16.h (#6524) 2018-10-12 21:40:32 -07:00
Jason Simmons
32841dd89b
Case-insensitive matching of family names for custom fonts (#6519) 2018-10-12 14:32:32 -07:00
Jason Simmons
f2e7441b55
An API for loading fonts from a buffer provided by the application (#6508) 2018-10-12 10:27:22 -07:00
Gary Qian
84fe4a9f7e
Re-revert invalid line height tests (#6516) 2018-10-12 09:30:49 -07:00
Gary Qian
5f529566c9
Add support for text shadows (#6385)
Text shadows can now be added to a TextStyle by providing a List<Shadow>. The dart:ui Shadow class is now the base class to flutter BoxShadow.
2018-10-12 09:09:18 -07:00
liyuqian
bf377896ff
Revert height (#6477)
This should fix our Google3 roll.

* Revert "Disable line_height tests on Windows (#6423)"

This reverts commit 191168cec468108fb4d85c6f936fafd690288065.

* Revert "Implement ParagraphStyle.line_height and add tests for line_height and baselines. (#6417)"

This reverts commit 10b45405b64e29926bdf075fb4de9f787539e8fa.
2018-10-09 10:32:29 -07:00
Gary Qian
191168cec4
Disable line_height tests on Windows (#6423) 2018-10-03 16:28:21 -07:00
Gary Qian
061cc6643c
Fix ideographic baseline to match spec. (#6422)
* Fix ideographic baseline to match spec.
2018-10-03 16:26:09 -07:00
Gary Qian
10b45405b6
Implement ParagraphStyle.line_height and add tests for line_height and baselines. (#6417) 2018-10-03 14:01:39 -07:00
Gary Qian
3a9c22afde
Allow GetRectsForRange to provide more detailed/nuanced metrics through RectStyle enum. (#6335)
* Let GetRectsForRange provide more detailed/nuanced metrics through RectStyle enum.
2018-10-01 17:01:45 -07:00
Jason Simmons
7ec1d211e4
Compute maxIntrinsicWidth based on the width of styled runs added to the line breaker (#6281)
maxIntrinsicWidth represents the width of the paragraph if no word wrap is
applied.  This can be calculated by summing the width of all runs within each
block of text delimited by a hard line break.  maxIntrinsicWidth is the
maximum width among the blocks in the paragraph.

Fixes https://github.com/flutter/flutter/issues/21965
2018-09-19 13:01:08 -07:00
Gary Qian
058edef8f2
Fix LibTxt/minikin text shifiting when breaking into multiple runs (#6184) 2018-09-06 11:00:18 -07:00