Since there are no known users of Minikin outside Android yet, these
files are simply a maintenance burden with no actual benefit.
Removing the samples until there are potential external users.
Test: Not needed
Change-Id: If7f1fb775cae427fbe31b86c202d1380c701bf28
This adds better support for Arabic script languages, Armenian,
Catalan, Hebrew, Kannada, Malayalam, Polish, Tamil, and Telugu by
adding various hyphenation types and edits appropriate for the
locales.
For Arabic script languages, soft hyphens act transparently with
regard to joining: If a line is broken at a soft hyphen where the two
characters around the soft hyphen were joining each other before,
they will continue to appear joining if the line is broken at the
soft hyphen and a hyphen glyph is inserted. This is needed for
Central Asian languages such as Uighur.
For Armenian, U+058A ARMENIAN HYPHEN is used for line breaks caused
by either automatic hyphenation or soft hyphens.
For Catalan, nonstandard line breaks are implemented for "l·l", which
hyphenates as "l-/l".
For Polish, when there is a line break at a hyphen, the hyphen is
repeated at the next line.
For the South Indic languages, when breaks happen due to soft breaks
or automatic hyphenation, no visible hyphen is inserted, although a
penalty is added.
For Hebrew, support for using U+05BE HEBREW PUNCTUATION MAQAF has
been implemented, but it's turned off pending confirmation of
desirability.
Also, hard hyphens, which previously had no penalty added for
breaking the line after them, now have the same penalty as an
automatic or soft break, with the difference that no hyphen is
inserted when they break.
Finally, some bugs have been fixed with hyphenating multiscript and
multi-font words.
Bug: 19950445
Bug: 19955011
Bug: 25623243
Bug: 26154469
Bug: 26154471
Bug: 33387871
Bug: 33560754
Bug: 33752592
Bug: 33754204
Test: Unit tests added, plus thorough manual testing
Change-Id: Iaccf776ce8d1d434ee8b1c534ff3659d80fdc338
This reverts commit 0a7b177c330367904597a6129b3eb653d29dfca0.
Reason: broke hot reload when using "package:" style imports for
sources within the same project.
This contains some fixes for Fuchsia and I'd like to keep the version
of Dart used in fuchsia and flutter builds consistent. Should have no
other impactful changes for Flutter.
This change eliminates two previous assumptions:
1. If a Flutter view is embedded in a parent view, that the parent view
controller would apply any status bar padding necessary.
2. That we should not apply padding unless the flutter view is
fullscreen.
A simple case where the first assumption fails to hold is a Flutter view
embedded in a UINavigationController with a hidden toolbar. A simple
case where the second assumption fails to hold is a view in a window
whose top overlaps the status bar but isn't fullscreen.
The Bulgarian hyphenation patterns contain a line consisting of '0ь0'
which has no practical effect on hyphenation. Add an exception in
roundtrip testing to make sure we don't fail while comparing our tables
with the input data.
Test: make -j works and creates .hyb files for bg and cu
Change-Id: Ia46b8a45fe522f5194d8105d31b34b0e27528cc9
(cherry picked from commit 3e203b7b62404d3cf4aaf5e11b946047461a7a82)
Let's use shared_ptr since manual ref counting can be a bug-prone and
using the global mutex inside destructor is not useful for some time.
To remove raw pointer manipulation, needed to change Layout
constructors. Layout is no longer copyable and need to pass
FontCollection to constructor.
Bug: 28119474
Test: minikin_tests passed
Test: hwui_unit_tests passed
Test: No performance regression in minikin_perftest.
Change-Id: I8824593206ecba74cbc9731e298f045e1ae442a3
I had added this initially as a means of making it easier to deal with OpenGL directly in Flow. However, we are moving away from dealing with the client rendering APIs directly. Instead, delegating everything to Skia. Besides, we only ever used this to log the GPU description in case of context setup failures. This has not proved to be useful so far. Also, having this in place is making it difficult to remove all dependencies on GL in Shell.
The Bulgarian hyphenation patterns contain a line consisting of '0ь0'
which has no practical effect on hyphenation. Add an exception in
roundtrip testing to make sure we don't fail while comparing our tables
with the input data.
Test: make -j works and creates .hyb files for bg and cu
Change-Id: Ia46b8a45fe522f5194d8105d31b34b0e27528cc9
This applies commit 88441bfc0f712ad451784851bfcf0b0cc418ad75 from the
skia_rev_130a118cc68f8f9973e9572356011de378463fea branch to master so
master works in the Fuchsia build again.
Previously we had passed a local generator to flow::BitmapImageCreate /
SkImage::MakeFromGenerator, which takes ownership of the generator.
That generator in turn referenced an SkData backed by a local vector.
The result was an SkImage backed by a deleted buffer.
Keep the region code and pass it to HarfBuzz during doing layout.
Test: minikin_tests
Bug: 30746293
Change-Id: I7c908701ca677238f663c82c597f8615d190e055