197 Commits

Author SHA1 Message Date
Jason Simmons
d692d13125 libtxt: track the start and end x positions of glyph blobs for more accurate rendering of text decorations (flutter/engine#8368)
Fixes https://github.com/flutter/flutter/issues/30041
Fixes https://github.com/flutter/flutter/issues/24337
2019-03-29 13:01:37 -07:00
Jason Simmons
b57b96cda3 Allow per-platform customization of the default Skia font manager (flutter/engine#8358)
The font manager returned by SkFontMgr::RefDefault is determined by Skia's
build configuration flags.  Embedders may want to use a default font manager
other than the one selected by their build of Skia.
2019-03-29 09:52:29 -07:00
Jason Simmons
8ab6735ab0 libtxt: more accurate tracking of run positioning and width for justified text (flutter/engine#8214)
Fixes https://github.com/flutter/flutter/issues/28891
2019-03-19 14:43:54 -07:00
Gary Qian
71b193e3c8 Expose decorationThickness to dart:ui (flutter/engine#8008) 2019-03-11 16:43:11 -07:00
Core
86ce32dfb4 Fix cursor jumping when typing some special characters. (flutter/engine#7964) 2019-02-28 17:44:49 -08:00
Jason Simmons
8a2ca037a6 libtxt: remove a debug log message in ComputeStrut (flutter/engine#7953) 2019-02-25 17:43:32 -08:00
Gary Qian
8485c02dc1 [re-land] Use all font managers to discover fonts for strut. (flutter/engine#7803) 2019-02-22 13:44:02 -08:00
Stanislav Baranov
95c09f168a Reland #7777 with proper LICENSE (flutter/engine#7888) 2019-02-21 13:45:24 -08:00
Jason Simmons
e1b2fdc6ba Do not add ghost runs for trailing whitespace if the text is ellipsized (flutter/engine#7906) 2019-02-21 13:36:33 -08:00
Gary Qian
fa8da491cd Fix caret being at left edge when newline pressed on centered text (flutter/engine#7875) 2019-02-19 16:25:42 -08:00
Gary Qian
c8d2055a42 Fix tests that were committed after cirrus ran (flutter/engine#7819) 2019-02-13 16:27:15 -08:00
Gary Qian
57032e73e1 Add space metrics tracking for trailing whitespace "ghost" runs. (flutter/engine#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
ff5f45ad8e Revert "Use all font managers to discover fonts for strut. (#7734)" (flutter/engine#7801)
This reverts commit b5b92f94ecf1d75f80c23b5b842e40e33b305acb.
2019-02-12 13:11:16 -08:00
Gary Qian
b5b92f94ec Use all font managers to discover fonts for strut. (flutter/engine#7734) 2019-02-12 03:32:59 -08:00
Jason Simmons
135a84f64c libtxt: support justification of RTL text (flutter/engine#7719)
Fixes https://github.com/flutter/flutter/issues/25567
2019-02-11 10:57:28 -08:00
Yunyu Lin
5ae6ae6c16 Replace hb_face_reference_table with hb_ot_color_has_png in isColorBitmapFont (flutter/engine#7686) 2019-02-04 16:59:12 -08:00
Gary Qian
597d325f70 Strut implementation (flutter/engine#7414)
Engine half of flutter/flutter#26332
2019-01-30 10:16:37 -08:00
reed-at-google
3da82d46e3 IWYU, esp. since SkFontMetrics.h is leaving SkPaint.h (flutter/engine#7545) 2019-01-22 10:08:55 -05:00
reed-at-google
38ac7c1355 IWYU to get SkFontMetrics (flutter/engine#7539) 2019-01-21 11:18:40 -05:00
Gary Qian
b3fd686c29 Add Ahem to LibTxt testing fonts. (flutter/engine#7435) 2019-01-14 18:02:29 -05:00
Chris Bracken
483adfa381 Eliminate std::string using directive (flutter/engine#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
613bb815ba Clear the font collection's cache when a font is dynamically loaded (flutter/engine#7436)
Fixes https://github.com/flutter/flutter/issues/26293
2019-01-10 11:26:49 -08:00
Dan Field
df35434ca0 Reset ParagraphBuilder after build() (flutter/engine#7401)
* Reset ParagraphBuilder after build()
2019-01-07 16:10:53 -08:00
Rusino
a8be411e5a Preparing to remove SK_SUPPORT_LEGACY_PAINT_TEXTMEASURE (flutter/engine#7354)
* Preparing to remove SK_SUPPORT_LEGACY_PAINT_TEXTMEASURE

* Fixing a bug

* Formatting problem
2019-01-02 16:23:35 -05:00
Gary Qian
bfbb7a080b Paint all backgrounds first to prevent overlap (flutter/engine#7287) 2019-01-02 16:22:05 -05:00
Gary Qian
759b7781b1 Support user-provided font-fallback. (flutter/engine#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
28d536a39a Support real fonts in 'flutter test' (flutter/engine#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
34ea3f7a7f Fallback font match caching to fix emoji lag. (flutter/engine#7208) 2018-12-13 10:39:09 -08:00
Gary Qian
1a974808b0 Revert "Support overriding font leading in TextStyle and LibTxt (#6927)" (flutter/engine#7187)
This reverts commit 78a251625bf942712e756dca2d65772515078479.
2018-12-11 10:43:03 -08:00
Gary Qian
4128cd8e3f Check for empty line before adding empty 'padding' metrics (flutter/engine#7185) 2018-12-11 10:33:10 -08:00
Gary Qian
78a251625b Support overriding font leading in TextStyle and LibTxt (flutter/engine#6927) 2018-12-10 15:35:44 -08:00
Gary Qian
85373dc25a Add empty metrics to account for truncated whitespace for GetRectsForRange. (flutter/engine#7164) 2018-12-10 15:30:46 -08:00
Jason Simmons
2405386228 Merge master branch into skia-master 2018-12-10 14:48:10 -08:00
Gary Qian
398355981c Minor comment fix and add TODO. (flutter/engine#7158) 2018-12-10 14:03:10 -08:00
Rusino
3a7b45135a Old unnoticed changes (Paint->Font) for txt_benchmarks and making (flutter/engine#7068)
changes for removed SK_SUPPORT_LEGACY_TEXTENCODINGENUM
2018-12-03 17:00:37 -05:00
Rusino
278a728f52 Remove SK_SUPPORT_LEGACY_TEXTBLOBBUILD_WITH_PAINT (flutter/engine#6971)
* Remove SK_SUPPORT_LEGACY_TEXTBLOBBUILD_WITH_PAINT

* Formatting change
2018-11-28 09:05:31 -05:00
KyleWong
159acc0b2b Fix a minikin crash (nullptr& EXC_BAD_ACCESS) on iOS8. (flutter/engine#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
01e57d1939 SkPaint::FontMetrics -> SkFontMetrics (flutter/engine#6824)
* SkPaint::FontMetrics -> SkFontMetrics

* fix file formatting

* another attempt to correct file formatting
2018-11-12 12:55:34 -05:00
Rusino
cfd68e9189 Update paint hinting for upcoming Skia API changes. (flutter/engine#6802) 2018-11-08 16:53:24 -05:00
Mehmet Fidanboylu
e8d852bac0 Skia Cleanup (flutter/engine#6786) 2018-11-07 15:29:52 -08:00
Michael Goderbauer
0def82ddb0 Unify copyright lines (flutter/engine#6757) 2018-11-07 12:24:35 -08:00
Gary Qian
4c32afdeda Roll update to harfbuzz to 2.1.0 (flutter/engine#6760) 2018-11-06 12:41:12 -08:00
Mehmet Fidanboylu
98ef33a4a3 Add missing includes (flutter/engine#6670) 2018-10-26 10:16:56 -07:00
Gary Qian
a61e92e241 Support all combinations of GetRectsForRange styles (flutter/engine#6591) 2018-10-23 11:06:21 -07:00
Gary Qian
2d0aae4047 Re-revert wrong line_heights implementation (flutter/engine#6598) 2018-10-18 14:15:20 -07:00
Mehmet Fidanboylu
800fa2c9d3 Add missing imports for unicode/utf16.h (flutter/engine#6524) 2018-10-12 21:40:32 -07:00
Jason Simmons
564d7d7b27 Case-insensitive matching of family names for custom fonts (flutter/engine#6519) 2018-10-12 14:32:32 -07:00
Jason Simmons
b00c325f05 An API for loading fonts from a buffer provided by the application (flutter/engine#6508) 2018-10-12 10:27:22 -07:00
Gary Qian
ad72b3d9fa Re-revert invalid line height tests (flutter/engine#6516) 2018-10-12 09:30:49 -07:00
Gary Qian
8c97f8bcbc Add support for text shadows (flutter/engine#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