34 Commits

Author SHA1 Message Date
Gary Qian
b66dc2cb9e Add chinese tests, underline fix, cleanup, move fonts to
third_party/fonts.

Change-Id: I1b246534cd364c9e7e3fec3f6bcbe202932fee44
2017-07-06 12:25:48 -07:00
Gary Qian
937e7d731f Implement wavy text decoration.
Change-Id: Ie28dc4e833a24a9661e72f32f54a3e7489f81417
2017-07-05 17:20:11 -07:00
Gary Qian
2bd601d4fe Add low memory setting on FontCollection. Only remove trailing whitespace at end of line, and do not justify last line.
Change-Id: Iee32003624862b3c7f5f2d0e999ef72719302551
2017-06-30 16:51:01 -07:00
Gary Qian
eebe4eb3af Move font caches to FontCollection and multiple eviction schemes. ~x200 speed improvement.
Change-Id: I1e2f940ddb36f9ac51cc95c42c2f121140ff3f6f
2017-06-30 12:05:11 -07:00
Gary Qian
ca083ed351 Remove trailing spaces of blobs to fix decoration positioning, justify,
and centering.

Change-Id: Ide66103f95be8c090ab5ddc9888cd4defc5cde51
2017-06-29 18:03:48 -07:00
Gary Qian
8a8d44818a Switch to hashmap caching of font collections to be resillient to alternating fonts and slight performance improvement.
Change-Id: Ide3a311819c41e23e88e6dca06f0ce7669f6842c
2017-06-29 16:14:35 -07:00
Gary Qian
1598c39823 Major efficiency improvements, new benches, and API change to allow changing font collections.
Change-Id: Id33cdcd161d659310d28dd36f415dc01da2e03a7
2017-06-29 15:09:38 -07:00
Gary Qian
8471606532 Only obtain new font if font has changed.
Change-Id: I9a6316854e13ff5f01a34bbfca8750d223a90af8
2017-06-28 19:52:47 +00:00
Gary Qian
5add06986d Add benchmarking.
Change-Id: I92b8d1d27d5d6b79a831853446e83086fa56a133
2017-06-28 19:52:43 +00:00
Gary Qian
406618491c Reorganize text alignment code location and add unit tests.
Change-Id: I3ccfb03230050c4c0f8ae4b7d0c73bf6f3b685ae
2017-06-26 14:00:46 -07:00
Gary Qian
19bb52f360 Implement initial version of text justification, new tests, and fix bugs
with right and center alignment.

Change-Id: I3b6a547e1d81c966b82108c02d60aa7181cb0b87
2017-06-23 17:03:06 -07:00
Gary Qian
c553c87792 Begin to move FontCollection to a multi-manager system.
Change-Id: Ied69fa2d567f695990a754337bab79dc2f17c6ef
2017-06-22 15:45:47 -07:00
Gary Qian
2e9d2f51f6 Prevent multiple calls to layout without changing paragraph.
Change-Id: I64e81606f095e3029161f5a01623df4c1ccbf5a9
2017-06-22 11:40:42 -07:00
Gary Qian
2bd423235f Implemented early version of text alignment/justification and baselines.
Change-Id: Id36a20bb9c392f09813175677776d9367d8ccfc2
2017-06-21 15:22:27 -07:00
Gary Qian
3ab6786a0c Properly implement line spacing.
Change-Id: I2f7f7768fc9d6332873f27dce6e058b354b0330d
2017-06-21 12:17:44 -07:00
Gary Qian
2dad366ea3 Add support for Decoration Styles, remove usage of separate decoration records.
Change-Id: I8fe929b0814b22e37e1517a7ddafb70a1c6b3d37
2017-06-21 10:05:27 -07:00
Gary Qian
fb9e18c356 Add support for underline, overline, and strikethrough.
Change-Id: Id98ecb8409be69d9de44dc931ed6143163469c27
2017-06-20 16:51:44 -07:00
Gary Qian
b4a5a47d4b Add preliminary support for letter-spacing and word-spacing
Change-Id: If3f64cf0c18ff0aa087091626532bcd983f6b54c
2017-06-19 11:33:15 -07:00
Gary Qian
2876b6317e Respect letter spacing and word spacing. Remove ParagraphConstraint.
Change-Id: Ie833eab67b50be40b7ea38f9c82577cb46e0e1a7
2017-06-16 17:32:26 -07:00
Gary Qian
b44e28c2fd Add Getters for intrinsic widths and implement MaxInstrinsicWidth. Update tests.
Change-Id: I210fac9d47f55f8317ca77bca64cfcfd438a246a
2017-06-16 12:13:47 -07:00
Gary Qian
63fd514583 Restructure Building of tests and FontCollection
Change-Id: Ifd7d9cd505b119684ccb42c998204d41ee7ef93e
2017-06-15 12:17:29 -07:00
Gary Qian
28a9c9e3db Now supporting initial integration with Flutter.
Change-Id: Id71461bd96e08eae0e24ab35a040874d960af8e0
2017-06-13 17:09:43 -07:00
Gary Qian
1575733949 Restructure Building and new features for Flutter support.
Change-Id: Ia0454fabcd89806cfb0e07148696e9ae66c351b6
2017-06-09 12:27:25 -07:00
Gary Qian
aab11d6991 Add TextStyle properties to better support Flutter API
Change-Id: I13174dafa497328c80aada02fe144bd1b3d7f396
2017-06-08 15:38:46 -07:00
Gary Qian
393c016b21 Add more testing for Paragraph and FontCollection.
Change-Id: Idec0077f44225f0af8bbcd6464d226555f79beae
2017-06-07 15:09:27 -07:00
Gary Qian
7180655203 Add additional test framework and tests for Italics. Overloaded paragraph text entry methods.
Change-Id: I0ae9abd6130edd276b1144a0092e03e47373427d
2017-06-07 13:55:28 -07:00
Gary Qian
0fb120fe87 Support for 'fake bold' text and additional tests
Change-Id: Ic9863052365316ea188fcf79b15378be90f440f6
2017-06-06 16:23:59 -07:00
Gary Qian
4b4afc53e5 Add fonts to Paragraph and additional tests.
Change-Id: I023cc9bc413975dabc770f6b59d4ffd1fc842ab2
2017-06-05 18:13:01 -07:00
Gary Qian
5b25eb426a Add command line option to supply --font-directory=<dir>
Change-Id: If3036a32a82249c9c95d2c5722bdb5ab097c20a1
2017-06-05 15:22:07 -07:00
Chinmay Garde
2fe2767f0a Update libTXT sources and tests from initial prototype.
This separates libTXT tests and Minikin tests and accounts for building
with an older version of ICU. Once ICU has been updated, the workarounds
for emoji handling will be removed.

Change-Id: Ic184e653a2561629b01f98aeb4f6fb88aebbfa88
2017-06-02 14:45:16 -07:00
Adam Barth
aa77a17585 Add example program from prototype
Change-Id: Ia6f6c442db57abe484a3efe33ecbc7553743bbb3
2017-05-11 09:38:03 -07:00
Adam Barth
4185e932d1 Add Paragraph class from prototype
Change-Id: Id38e4261c4d6f8fa99f405d9b21bdd9e259a9384
2017-05-11 09:25:35 -07:00
Adam Barth
3ff068f789 Import more code from the prototype
Change-Id: Ic5656c3ffcc3c3da8ed1fb4a44355b16c21c2f1e
2017-05-11 09:13:07 -07:00
Adam Barth
5c7e24ff5e Add SkFontMgr backend for FontCollection
Change-Id: Ic58127bb696f87254633b01706c26c4ae862f9be
2017-05-10 11:52:41 -07:00