204 Commits

Author SHA1 Message Date
Jason Simmons
1d0615af4e
libtxt: remove a debug log message in ComputeStrut (#7953) 2019-02-25 17:43:32 -08:00
Gary Qian
21c59197e7
[re-land] Use all font managers to discover fonts for strut. (#7803) 2019-02-22 13:44:02 -08:00
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