- 02 6月, 2015 1 次提交
-
-
由 Raph Levien 提交于
Very long words cause O(n^2) behavior. These are unlikely to happen in real text, but do happen with synthetic strings, so in those cases we just disable hyphenation. Bug: 20790394 Change-Id: Idf957dd40b24efe1476f619f17093a48b5bc56f7
-
- 13 5月, 2015 1 次提交
-
-
由 Roozbeh Pournader 提交于
Three hyphenation frequencies are now supported: kHyphenationFrequency_None, which turns off both automatic hyphenation and soft hyphens. kHyphenationFrequency_Normal, which has aconservative amount of hyphenation useful as a conservative default. kHyphenationFrequency_Full, which has a typographic-quality amount of hyphenation useful for running text and tight screens. Bug: 21038249 Change-Id: I2800f718c887c9389a1a059d7ec07d7fa2ca1dee
-
- 28 4月, 2015 1 次提交
-
-
由 John Reck 提交于
namespace naming collision. Move minikin's Bitmap out of android:: and into minikin:: Change-Id: I5ae3925f81b848dc79576429ab55243b96f7fed2
-
- 23 4月, 2015 1 次提交
-
-
由 Raph Levien 提交于
In a paragraph with a trailing newline, the width of the newline character was included in the line width for breaking purposes, basically as if it were a non-breaking space. This caused a discrepancy, where Layout.getDesiredWidth() suggested that the text would fit in a single line, but StaticLayout would break it because of the added width of the newline character. The proposed fix is simply to consider newline to be a space that disappears at the end of a line. Bug: 20152308 Change-Id: I539574c5b8ea892c8ed6aca6c59e90ccdf74a680
-
- 16 4月, 2015 3 次提交
-
-
由 Raph Levien 提交于
New functions for computing the correspondence between cursor position and advance, respecting grapheme boundaries. Change-Id: I620378d5f64cd74300cd43db522adeb555825dff
-
由 Raph Levien 提交于
The name "margin" conflicts with another meaning, so we're making the name in the public api "idents" and the code consistent in naming. Change-Id: I9170116b4d972e4b25f0f319e78376310288eb41
-
由 Raph Levien 提交于
In order to support layout in non-rectangular regions, the LineWidths object needs to accept an arbitrary array of margins. This is implemented in addition to the existing firstWidthLineCount/restWidth mechanism for convenience, though using only arrays would have the same expressive power. Bug: 20182243 Change-Id: Iea96bca1a92012314ac27e617c67f306c1f1b2f2
-
- 31 3月, 2015 3 次提交
-
-
由 Raph Levien 提交于
This reverts commit 0b25d5ac.
-
由 Raph Levien 提交于
This patch adds hyphenation using the Liang hyphenation algorithm, similar to TeX. It also improves the optimized line breaker so that it works correctly and efficiently even when the line width is not constant (there is a specialization for constant width, which is probably worthwhile, but performance TODOs remain). Still to be done: * hyphenator has many shortcuts, only tested with English * interaction between punctuation and hyphenation is problematic Change-Id: I2d94a1668ebc536398b7c43fcf486333eeb7c6aa
-
- 27 3月, 2015 1 次提交
-
-
由 Raph Levien 提交于
This patch adds a LineBreaker class to Minikin, which will be used for computing line breaks in StaticLayout. The version in this patch contains basically the same functionality that existed before, but hopefully better performance and an interface that's suitable for more sophisticated paragraph layout. Note that this version contains a high quality strategy, which mostly works but doesn't respect varying line width. Change-Id: I02485d58b1e52856296a72cdd4efd963bc572933
-
- 13 3月, 2015 1 次提交
-
-
由 Raph Levien 提交于
Adds a "HyphenEdit" field to the Minikin Paint object, which represents an edit to the text to add a hyphen (and, in the future, other edits to support nonstandard hyphenation). Change-Id: Ib4ee690b0fe2137e1d1e2c9251e5526b274ec3a7
-
- 26 2月, 2015 1 次提交
-
-
由 Roozbeh Pournader 提交于
Previously, HarfBuzz's default fallback to compatibility decompositions resulted in Mathematical Alphanumeric Symbols getting rendered as normal letters and digits when there was no font available to render them. This patch disables that fallback, to ensure they are displayed as tofus. Based on a patch by Behdad Esfahbod. Bug: 19202569 Change-Id: I357f172302448d4ab0b24efc86119f1977b5996b
-
- 06 1月, 2015 2 次提交
-
-
由 Narayan Kamath 提交于
* commit '79298c34': Remove hardcoded ICU include paths.
-
由 Narayan Kamath 提交于
* commit '5870d4f0': Remove hardcoded ICU include paths.
-
- 05 1月, 2015 1 次提交
-
-
由 Narayan Kamath 提交于
ICU exports them using LOCAL_EXPORT_C_INCLUDE_DIRS. bug: 18581021 Change-Id: Ia57b3b4d231966203274b0e7e7b850beb1bd11c0
-
- 05 12月, 2014 3 次提交
-
-
由 Andreas Gampe 提交于
* commit '919fbb99': Minikin: Remove unused variables, fix init order
-
由 Andreas Gampe 提交于
* commit 'cb20a2f0': Minikin: Remove unused variables, fix init order
-
由 Raph Levien 提交于
* commit '58b25145': Move coverage bitmap from FontCollection to FontFamily
-
- 04 12月, 2014 3 次提交
-
-
由 Raph Levien 提交于
* commit '13f1aae0': Move coverage bitmap from FontCollection to FontFamily
-
由 Andreas Gampe 提交于
For build-system CFLAGS clean-up, fix unused variables. Reorder initializer list to initialize in the order of member declarations. Change-Id: I64358b2dcf0e39d0f4e18fdc3473de867f84fcba
-
由 Raph Levien 提交于
This will significantly reduce memory usage and also speed the creation of new font families. In particular, the coverage bitmaps for the fonts in the fallback stack will be computed once in the Zygote, rather than separately in each app process. Bug: 17756900 Change-Id: I66f5706bddd4658d78fe5b709f7251ca9d2ff4f8
-
- 13 11月, 2014 2 次提交
-
-
由 Dan Albert 提交于
* commit 'dc81fbad': Move frameworks/minikin over to libc++.
-
由 Dan Albert 提交于
* commit '69d4fba2': Move frameworks/minikin over to libc++.
-
- 12 11月, 2014 1 次提交
-
-
由 Dan Albert 提交于
Bug: 15193147 Change-Id: I5e15c95415c39515340e2663acd5fd26666db720
-
- 31 10月, 2014 1 次提交
-
-
由 Raph Levien 提交于
* commit '253320d2': Move coverage bitmap from FontCollection to FontFamily
-
- 30 10月, 2014 1 次提交
-
-
由 Raph Levien 提交于
This will significantly reduce memory usage and also speed the creation of new font families. In particular, the coverage bitmaps for the fonts in the fallback stack will be computed once in the Zygote, rather than separately in each app process. Bug: 17756900 Change-Id: I66f5706bddd4658d78fe5b709f7251ca9d2ff4f8
-
- 24 10月, 2014 2 次提交
-
-
由 Raph Levien 提交于
* commit '5f11abd3': Silently ignore invalid rangeOffset values
-
由 Raph Levien 提交于
Some fonts contain a cmap segment for char 0xffff that contains an invalid rangeOffset. This was rejected by the existing code, which means the font is considered to have empty Unicode coverage. This patch just discards the invalid segment (consistent with OpenType Sanitizer), making the custom font display. Bug: 18106256 Change-Id: Icc8616a3030f80e62db906332be64d434ae72ea2
-
- 24 9月, 2014 1 次提交
-
-
由 Raph Levien 提交于
* commit 'd5804e39': Fine-tune fake-bolding condition
-
- 23 9月, 2014 1 次提交
-
-
由 Raph Levien 提交于
The old logic for fake bolding results in no fake bolding for a bold span on a light weight (300) because the target weight (600 in this case) didn't meet the condition. This patch fine-tunes the threshold to enable fake bolding for this. Bug: 17587185 Change-Id: I04abd00a74240cbed79c417f81486aa2158b2806
-
- 04 9月, 2014 2 次提交
-
-
由 Raph Levien 提交于
* commit '6740536e': Snap advance widths to integers
-
由 Raph Levien 提交于
Fractional advance widths were causing subtle problems with text positioning when the same text was drawn with different spans in the hwui renderer. Quantizing the coordinates on layout (as opposed to waiting until the renderer draws the glyphs) solves the problem. This patch also fixes a discrepancy between x position and advance widths when letterspacing. Bug: 17347779 Change-Id: Ia705944047408c2839d5ad078eefd6bbec446872
-
- 28 8月, 2014 1 次提交
-
-
由 Raph Levien 提交于
* commit '997c799e': Try Unicode decomposition for selecting fallback font
-
- 27 8月, 2014 1 次提交
-
-
由 Raph Levien 提交于
This patch finds an appropriate fallback font in the case where no font directly maps the requested character, but a font does exist for the character's canonical decomposition. This yields correct rendering of compatibility characters such as U+FA70. Bug: 15816880 Bug: 16856221 Change-Id: Idff8ed6b942fec992a0815a32028b95af091d0ee
-
- 23 8月, 2014 1 次提交
-
-
由 Behdad Esfahbod 提交于
* commit '56c7fb8c': Allocate font vector on stack
-
- 22 8月, 2014 4 次提交
-
-
由 Behdad Esfahbod 提交于
This reduces another allocation (last one?) we were doing when fulfilling shaping requests from the cache. Bug: 17111260 Change-Id: Ieb8ae1ccfcaacedb257e1e9263777f10623aaf98
-
由 Behdad Esfahbod 提交于
* commit '6da7796c': Fix Layout initialization in the skipCache path
-
由 Behdad Esfahbod 提交于
C++ local var initialization always tricks me. Previously, Layout didn't have a constructor, which meant that defining it on the stack left mAdvance uninitialized. This was not an issue when we were doing "new Layout()", since that invokes zero-initialization, but was an issue for the skipCache path that was allocating layout on stack by just "Layout l" instead of "Layout l = Layout()". To avoid surprises, add a constructors that clears everything. Also adds reset() method to reset the layout for reuse. Change-Id: I3e02f00da9dd7d360abe13f63c310f6882292d0a
-
由 Behdad Esfahbod 提交于
* commit '288c9159': Speed up cache lookup
-