253320d25fccbb49621926d49dcf5ef64cf529c6 |
29-Oct-2014 |
Raph Levien <raph@google.com> |
Move coverage bitmap from FontCollection to FontFamily 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
ontCollection.cpp
ontFamily.cpp
|
5f11abd31fa8cfa723f54bd1c98ce4e27e7d3c77 |
23-Oct-2014 |
Raph Levien <raph@google.com> |
Silently ignore invalid rangeOffset values 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
mapCoverage.cpp
|
d5804e3937a961736e5cef0e8a70eacf91ee00bb |
22-Sep-2014 |
Raph Levien <raph@google.com> |
Fine-tune fake-bolding condition 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
ontFamily.cpp
|
6740536e3927d25bf5c2567e5f6e8c175973cbb7 |
03-Sep-2014 |
Raph Levien <raph@google.com> |
Snap advance widths to integers 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
ayout.cpp
|
997c799e3ec6bf8adf687e29670d23d91e0f5fee |
27-Aug-2014 |
Raph Levien <raph@google.com> |
Try Unicode decomposition for selecting fallback font 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
ontCollection.cpp
|
56c7fb8c0633f1b02115bb4370854016f8c84fb4 |
22-Aug-2014 |
Behdad Esfahbod <behdad@google.com> |
Allocate font vector on stack This reduces another allocation (last one?) we were doing when fulfilling shaping requests from the cache. Bug: 17111260 Change-Id: Ieb8ae1ccfcaacedb257e1e9263777f10623aaf98
ayout.cpp
|
6da7796cbe8a17efd61a3302369e69bb222fdb4f |
21-Aug-2014 |
Behdad Esfahbod <behdad@google.com> |
Fix Layout initialization in the skipCache path 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
ayout.cpp
|
288c915963b3500c7efb958ba613650e2ecdfdfa |
20-Aug-2014 |
Behdad Esfahbod <behdad@google.com> |
Speed up cache lookup Avoid copying the string for cache lookup. Bug: 17111260 Change-Id: Ic220bfc991fc6b3dada197304aabdf72a8941bd7
ayout.cpp
|
f952161b874fd2e9af474b9fd2ebcca1f3bb4555 |
08-Aug-2014 |
Behdad Esfahbod <behdad@google.com> |
Choose same font for Emoji keycap and its base character The U+20E3 COMBINING KEYCAP is used in our fonts to generate an emoji rendering of ASCII numbers and letters through GSUB. For that to work we need to choose the same (Emoji) font for the character coming *before* the COMBINING KEYCAP character. This is a special-case of a broader need to choose fonts per grapheme cluster as opposed to per character, but for now, special-case U+20E3. Bug: 7557244 Change-Id: I958e5a01068df8495bbb9bc3b9ed871cea1838b6
ontCollection.cpp
|
5986f6048ae21e0ec094c1f2ca0169d0ca6ec6b5 |
29-Jul-2014 |
Behdad Esfahbod <behdad@google.com> |
Support fontFeatureSettings Bug: 15246510 Change-Id: I544915d29b2be4fb9f82f1989188a3a918c50fbc
ayout.cpp
|
c924dd126db5d029af407ae6dd1a41c3652a6a64 |
29-Jul-2014 |
Behdad Esfahbod <behdad@google.com> |
Remove CSS string doLayout entrypoint and supporting code All usage is ported to the new doLayout() API now. Bug: 16651112 Change-Id: I2c959138a69853b5e30098889d771fe5f4cfaa66
ndroid.mk
ssParse.cpp
ayout.cpp
|
09f1901d6befcab49ed46cb77151a5d4af14a3b9 |
29-Jul-2014 |
Behdad Esfahbod <behdad@google.com> |
Add doLayout variant that does NOT take css string New API removes CSS string and directly takes needed objects. Bug: 16651112 Change-Id: Ie5f7c2ab05be6cbd77cae0a5fd6bb453771ada59
ayout.cpp
|
41b1aa18d7c32b4383993cd1b0a7e2e6648be14e |
25-Jul-2014 |
Behdad Esfahbod <behdad@google.com> |
Merge "Don't get stuck on invalid UTF-16" into lmp-dev
|
b8208bc19c178b73175f76323381a1eeb8059807 |
25-Jul-2014 |
Behdad Esfahbod <behdad@google.com> |
Don't get stuck on invalid UTF-16 Replaces invalid unicode with replacement character U+FFFD and always makes forward progress. Bug: 15849380 Change-Id: Ic59ef6c64b0f5c4450bcae61597adcc269d6e7c5
ayout.cpp
|
a5bb91190edbea0be0e78a8511b3c920b6e99c4e |
25-Jul-2014 |
Behdad Esfahbod <behdad@google.com> |
Towards CSS removal Extract language from FontStyle during shaping. Don't attach CSS to LayoutContext. Change-Id: Ie621d3415410178d0d15fa7b810eb8e412342ab6
ontFamily.cpp
ayout.cpp
|
f0a1e5b2da5aaccbc1c010413365cd8c304cf5d9 |
25-Jul-2014 |
Behdad Esfahbod <behdad@google.com> |
Remove deprecated API It has been unused outside minikin. Change-Id: Iaa2237767d81c77f90d0264e633375e601dd72f1
ayout.cpp
|
8e7a3dae37e9a22b2c054aec852615843d71caf6 |
18-Jul-2014 |
Behdad Esfahbod <behdad@google.com> |
Add letter-spacing support Bug: 15594400 Change-Id: Ied94d7674be4097b0f44c9b0770d3294dc6433c1
ssParse.cpp
ayout.cpp
|
4422f4dd941628ad289bcabc75fbd788d37415f6 |
11-Jul-2014 |
Behdad Esfahbod <behdad@google.com> |
Don't pass invalid Unicode codepoint to Skia Bug: 15849380 Change-Id: Ib5285e57c5806bd399600fadd56e8bc809da323f
ayout.cpp
|
a8e7eb6316e7d5169f0800e8f6e5af6508d97b72 |
11-Jul-2014 |
Behdad Esfahbod <behdad@google.com> |
Merge "Use __builtin_clzl if element is long"
|
329ae0639e332fa0ca85049f738776083b6dbafc |
10-Jul-2014 |
Behdad Esfahbod <behdad@google.com> |
Use __builtin_clzl if element is long Change-Id: I50a112739847fa826088854f6d172a188ff4cfb3
parseBitSet.cpp
|
fbe7ebf529b3d429ae9f153b7df3529554bfc64d |
10-Jul-2014 |
Elliott Hughes <enh@google.com> |
Switch minikin to the new icu. Change-Id: I29a59edfe6102257c9f308aac1b4348ef7a18db7
ndroid.mk
|
156acb18f53b32655abb34166ea737e4320ca366 |
07-Jul-2014 |
Raph Levien <raph@google.com> |
Assign non-coverage font runs to base font When a run has no cmap coverage in any font, use the base font. Most of the time, this will cause rendering of the .notdef glyph, which is preferable to displaying nothing. In some cases, Harfbuzz may be able to decompose the characters (not in the cmap) to ones that are, in which case we'll render those, as long as they're in the base font. Bug: 6629748 Bug: 15816880 Change-Id: Ibb1b9242c83626e0c7db363ad65ce44a967a005e
ontCollection.cpp
|
67ea671fe421d0e4642caef619ec39ec86bdcaef |
26-Jun-2014 |
Raph Levien <raph@google.com> |
Disable "palt" OpenType feature Proper Japanese layout requires sophisticated rules for spacing punctuation, not just turning on the "palt" (proportional alternate) feature. Until we can support the whole set, roll back palt. Change-Id: If2359c529b70b1dd45dddc00e5f4aa1c91f8b0e9
ayout.cpp
|
22e41754f6470ff1f4c0e0a56d01f7f555b59e21 |
26-Jun-2014 |
Raph Levien <raph@google.com> |
Add purgeCaches() method Expose a method to purge caches used for TextLayout, useful for low memory conditions. Change-Id: I92f41afe987b7be4af5ca0a0c50fb51be35a2758
ayout.cpp
|
3d28a3fcebfed4744d1ef0307a8bdc8fc01e364c |
16-Jun-2014 |
Raph Levien <raph@google.com> |
Implement grapheme cluster breaking This patch includes an implementation of grapheme cluster breaking, which is especially useful for repositioning the cursor for left and right arrow key presses. The implementation is closely based on Unicode TR29, and uses the ICU grapheme cluster break property, but is tailored to more closely match the existing implementation and expected behavior. Part of a fix for b/15653110 Improve behavior of arrow keys in EditText Change-Id: I8eb742f77039c9ab7b2838285018cf8a8fc88343
ndroid.mk
raphemeBreak.cpp
|
bb601b67dd05947f92cc23092bfb8a059c2e3377 |
19-Jun-2014 |
Raph Levien <raph@google.com> |
Make font runs less sticky Fixes b/15734816 In the text "Wi-Fi", "-Fi" appears bolder than "Wi" The problem was caused by "stickiness" in choosing fonts, where layout would prefer using a font used for preceding characters as long as it mapped the following characters in a run, in favor of the "best match" rules. This patch adds a whitelist for making the stickiness more conservative, only applying it for characters necessary for correct shaping (ZWJ and ZWNJ in particular) and basic punctuation, where it is desirable to match the style of the preceding text. Change-Id: I1cf116879f074a5a71c351846707bfdd07b0d320
ontCollection.cpp
|
92207c3e831ce4214f60137da9430a1ce65351c0 |
12-Jun-2014 |
Raph Levien <raph@google.com> |
Merge "Fix missing text on nonexistent font file"
|
9f9f3b1ef40f7358dca6acd9dfef686cedefb6aa |
12-Jun-2014 |
Raph Levien <raph@google.com> |
Tighten requirements for fake bold The simple predicate for fake bold (2 or more grades darker than requested) was applying it to thin (100 weight) when normal was requested. This patch tightens the predicate to also require that the requested weight be in the bold range. Fix for bug 15588352 "sans-serif-thin doesn't work on lockscreen" Change-Id: Id9988bd149a9c8a7c943e3b221f7fb4b37fb6ddb
ontFamily.cpp
|
bd36ec766a451c62ffdd407d5ce1a355e8f7dfd8 |
12-Jun-2014 |
Raph Levien <raph@google.com> |
Fix missing text on nonexistent font file Fix for bug 15570313 "Missing text on nonexistent font file" This patch makes sure that the lastChar and mInstances arrays are in sync with each other even when a FontFamily being added has no valid fonts in it. Previously, when they got out of sync, unicode coverage calculation would be wrong, resulting in missing text. Change-Id: I69c727ef69e2c61e2b2d6b81d5a28c806327f865
ontCollection.cpp
|
1c7b403ad8026fdebd0185319183d0a7a2c377bd |
10-Jun-2014 |
Raph Levien <raph@google.com> |
Merge "Provisionally enable "palt" OpenType feature"
|
9a5f713add8cfb91ac2c9ed5c917309053201ab6 |
07-Jun-2014 |
Raph Levien <raph@google.com> |
Support for fake bold and italics This patch adds support for computing when fake bold and fake italics are needed (because the styles are requested but not provided by the matching FontFamily), and providing them as part of the layout result. Part of the fix for bug 15436379 Fake bold doesn't fully work (Minikin) Change-Id: I180c034b559837943673b5c272c8e890178dff0d
ontCollection.cpp
ontFamily.cpp
ayout.cpp
|
4043f6f6d9c584bc61bc3d81d1680bf1b558330e |
07-Jun-2014 |
Raph Levien <raph@google.com> |
Provisionally enable "palt" OpenType feature We want to test configurations where the Noto Japanese font will have its "palt" feature (to select tighter spacing in kana) will be enabled for framework but not WebView or Chrome rendering of Japanese text. This patch simply hardcodes this feature on. This is also a first step towards more general setting of OpenType features. The hardcoded feature list will grow into one set by parameters which will eventually be plumbed up to Java. Change-Id: Ie284e0487a1434155c8ac1cb68ddc4fc4b3c018a
ayout.cpp
|
89566f0ada1cafe673efa064cde38467990235d4 |
06-Jun-2014 |
Raph Levien <raph@google.com> |
Add baseFont method to FontCollection This patch adds a method to retrieve the base font from a FontCollection, which is useful when querying global font metrics. Part of the fix for bug 15467288 "Inconsistent line heights on Minikin builds" Change-Id: I268ae5128d0852a020d746bc22af81fc1a623228
ontCollection.cpp
|
3f1ea5da2ee12b0d95c17c56928c3e553d4eeda0 |
05-Jun-2014 |
Raph Levien <raph@google.com> |
Support for context in API This patch completes support for adding context for complex script layout, for example when a string with joins straddles two spans. Part of the fix for 15431028: "Properly support context for joining scripts (Minikin)" Change-Id: I65b0833be92eb477aa531bbef0ac6eddeb3a962a
ayout.cpp
|
3164d1a77eecf3185347a44342131f4275de824f |
05-Jun-2014 |
Raph Levien <raph@google.com> |
Make paint flags consistently uint32_t Change internal plumbing of paint flags (including CssParse) to uint32_t consistently, to match the type used in the client. This will probably prevent compiler warnings. Also renames "float" to "double" to avoid confusion about precision. Change-Id: I80374712c4067ca9e7711cc2d4ec33c440ab9c7c
ssParse.cpp
ayout.cpp
|
893399732b64203133c22ad3c1f3535e46bf35a7 |
04-Jun-2014 |
Raph Levien <raph@google.com> |
Fix unmatching type Missed a slightly mismatched type (int vs int32_t) from a previous code review. Change-Id: Ib56775a3a1a6ec3763da7f7432186954251cc048
ayout.cpp
|
448b0fd720d7ba902b9be224a287d08abe3ebea8 |
31-May-2014 |
Raph Levien <raph@google.com> |
Support for scaleX and skewX Adds pseudo-css properties for scaleX and skewX, as well as paint flags, and plumb them through to the MinikinPaint abstraction and to Harfbuzz, to support nontrivial scale and stretch of text. This is the Minikin part of the fix for bug 15186705 "Usability of the suggestion strip in recent OTA's is severely reduced" Change-Id: Ifa60355e086e4691ff92c5d50d84eb7cea0fea95
ssParse.cpp
ayout.cpp
|
066e8575af64fb452617ac6005de6ccf6509553b |
29-May-2014 |
Raph Levien <raph@google.com> |
Fix ZWJ not working for Indic fonts This is a fix for bug 15185229 ZWJ not working in Sinhala and Kannada. Indic fonts (unlike Arabic) require the entire string, including ZWJ, to be passed to Harfbuzz; it's not enough for the ZWJ to be present in the context. The solution is to be "sticky" in font itemization, continuing to use the same font as long as it has Unicode coverage. Change-Id: I7673bc56fbda09f1e1a4582e8d88342343b706f1
ontCollection.cpp
|
7b221d97b7b64dc5ce457e19666d55d042e22e62 |
27-May-2014 |
Raph Levien <raph@google.com> |
Language and variant selection This patch adds a "lang" pseudo-CSS property and uses it both to select an appropriate font and control the "locl" OpenType feature to get the most appropriate rendering for the langauge and script. In addition, the "-minikin-variant" property selects between "compact" and "elegant" variants of a font, as the former is needed for vertically cramped spaces. This is part of the fix for bug 15179652 "Japanese font isn't shown on LMP". Change-Id: I7fab23c12d4c797a6d339a16e497b79a3afe9df1
ssParse.cpp
ontCollection.cpp
ontFamily.cpp
ayout.cpp
|
0297ee985c26b49fc2a3b0941db354c27f436bbf |
29-May-2014 |
Raph Levien <raph@google.com> |
Fix for Minikin native crash The context start offset wasn't being taken into account for accumulating the advance values, leading in some cases to array index overflow. This is a fix for bug 15327918 "SIGSEGV in android::MinikinFontSkia::GetSkTypeface()" Change-Id: I9b646785724c9b72d862b822cd84661c106fbe52
ayout.cpp
|
7c382381191b2280b53c375fe83dfc6217bbdfa9 |
26-May-2014 |
Raph Levien <raph@google.com> |
Fix for bug 15252902 native crash in Minikin This is a fix for bug 15252902 "Crash observed on keep launch or existing youtube app after playing video". It was doing the test for a null font after trying to resolve the font in a cache, which caused a crash when there was no font for the run. This patch just tests before cache lookup. Change-Id: Iee41f7ce6b69cb09438462b6aaa916f242da7b77
ayout.cpp
|
4d4e6bc8118d15542f1f2a9218f0f7a91a29474f |
21-May-2014 |
Raph Levien <raph@google.com> |
Caching for layouts and harfbuzz faces This patch adds caching for both layouts and for HarfBuzz face objects. The granularity of the cache for layouts is words, so it splits the input string at word boundaries (using a heuristic). There are is also some refactoring to reduce the amount of allocation and copying, and movement towards properly supporting contexts. The size of the caches is a fixed number of entries; thus, it is possible to consume a large amount of memory by filling the cache with lots of large strings. This should be refined towards a scheme that bounds the total memory used by the cache. This patch fixes bug 15237293 "Regression: Measure performance is significantly slower with minikin". Change-Id: Ie8176857e2d78656ce5479a7c04969819ef2718d
ndroid.mk
ontCollection.cpp
ayout.cpp
|
d973b3926b3a34c19d3d6f309fae1138e782e4dc |
27-May-2014 |
Raph Levien <raph@google.com> |
Merge "Do BiDi algorithm for text layout" into lmp-preview-dev
|
86fa46c5ebb0d2c3319e08f4fbf487d8c2abbbfc |
19-May-2014 |
Raph Levien <raph@google.com> |
Do BiDi algorithm for text layout This is a fix for bug 15130102 "Language name for Hebrew displayed the wrong way around on keyboard". This patch extends the previous BiDi support (when the direction for the entire string was given by the caller) to run the BiDi algorithm (provided by ICU) over the string to break it into BiDi runs. Thus, it handles mixed LTR and RTL strings in a single layout, and also respects heuristics for inferring the paragraph direction from the string. Change-Id: Ia4b869de3c139c5a7d16b8ce7766870b98a815ea (cherry picked from commit 4b3a941128454e55893d65433a835e78a9e9781d)
ndroid.mk
ayout.cpp
|
72fe9422c869b7878240a23e4650d9d90edb1c2a |
24-May-2014 |
Raph Levien <raph@google.com> |
Fix native crash in Latin-1 typefaces This is a fix for bug 15171911 Timely crashes (native crash in libminikin) when I go to add a new alarm This patch fixes an off-by-one error that caused typefaces with only one page of Unicode coverage (ASCII or Latin-1) to have nPages = 0 instead of the correct value of 1 in the corresponding FontCollection. Change-Id: Id8be0c9e5713b8af22d863992921ee6382416a34
ontCollection.cpp
|
c31e3883456e018d742e9f29815ba5ff8b315ea1 |
19-May-2014 |
Raph Levien <raph@google.com> |
Fix incomplete refcounting and locking These changes were supposed to be committed in the previous patch "Better refcounting and locking" but seem to have gotten lost in a rebase. It fixes a memory leak and some possible race conditions. Change-Id: I54ca1e37500ec49756fe317cc6d6d03da9911501
ontCollection.cpp
ontFamily.cpp
ayout.cpp
|
d231a4b0b1d482c7ae7717b048112e1fe5d0f5a9 |
13-May-2014 |
Raph Levien <raph@google.com> |
Initial BiDi support This patch contains a very basic implementation of BiDi. It respects the BiDi flags passed in as an explicit parameter (through the "-minikin-bidi" pseudo-CSS property), but doesn't yet do its own BiDi run detection. It also takes some shortcuts (marked as TODO) that are based on reasonable assumptions of the current font stack, but not universally valid. Even with these shortcomings, it seems to display RTL text from TextView correctly. Change-Id: I223433923c4eb06f90c0327e86bfbe0aff71d4f5
ssParse.cpp
ayout.cpp
|
0a689bb956183beebe7d59fccb226a82680f265a |
14-May-2014 |
Raph Levien <raph@google.com> |
Fix 64-bit cleanliness problem This patch fixes a problem where int and ssize_t were being conflated. Change-Id: I642a4ee1d59d81723034fdfe33bd8ca29a5dc322
ayout.cpp
|
d133eab2a1a59ce4a5b1b3db04ec00dc0dbdf349 |
14-May-2014 |
Raph Levien <raph@google.com> |
Fix build breakage in sample code This updates the Skia sample implementation to implement GetBounds, but the FreeType implementation is NYI (to be fixed in future commit). Change-Id: I24eda14d5fb11c2a1e81394ad8c779de3292dd79
inikinFontFreeType.cpp
|
b80c1f19c58b927820a8a24bf2218e5645724608 |
06-May-2014 |
Raph Levien <raph@google.com> |
Better refcounting and locking All major externally accessible objects (especially FontFamily and FontCollection) are now reference counted. In addition, there is a global lock intended to make operations thread-safe. WIP notice: in this version of the patch, not all external API entry points are protected by the lock. That should be fixed. Change-Id: I14106196e99eb101e8bf1bcb4b81359759d2086c
ndroid.mk
ontCollection.cpp
ontFamily.cpp
ayout.cpp
inikinInternal.cpp
inikinInternal.h
inikinRefCounted.cpp
|
ecc2d34ac23a497988f21e5f415b53c007b9d8c5 |
15-Jul-2013 |
Raph Levien <raph@google.com> |
A basket of features: itemization, bounds, refcount This patch improves script run itemization and also exposes metrics and bounds for layouts. In addition, there is a fair amount of internal cleanup, including ref counting, and making the MinikinFont abstraction strong enough to support both FreeType and Skia implementations. There is also a sample implementation using Skia, in the sample directory. As part of its functionality, his patch measures the bounds of the layout and gives access through Layout::GetBounds(). The corresponding method is not implemented in the FreeType-only implementation of MinikinFont, so that will probably have to be fixed. Change-Id: Ib1a3fe9d7c90519ac651fb4aa957848e4bb758ec
ndroid.mk
ontCollection.cpp
ontFamily.cpp
ayout.cpp
|
1279a3bf5ec6131efefbc51d52d24850fd81f676 |
12-Sep-2013 |
Kenny Root <kroot@google.com> |
Use canonical UniquePtr.h header Change-Id: Id50e9d6fe2f08d3121b168b45791a8e8fb045d7f
ontFamily.cpp
|
1686c1d7a2562360bfcca52e9c53ebbcd1bed00c |
28-Jun-2013 |
Victoria Lease <violets@google.com> |
Use shared ft2 lib, deal with libpng/zlib deps Bug: 9603326 Change-Id: I7df1f68fa3a44b37b1b279387f4ddfe942928bb0
ndroid.mk
|
bcc3dc5a2591a95a57e379e27cbad69c18e91e67 |
23-May-2013 |
Raph Levien <raph@google.com> |
Introduce MinikinFont abstraction This commit removes the direct dependency on FreeType and replaces it with a MinikinFont abstraction, which is designed to support both FreeType and Skia fonts (and possibly others in the future). Also adds a "total advance" to the Layout, with an API for retrieving it. Change-Id: If20f92db9a43fd15b0fe9794b761ba00fb21338c
ndroid.mk
ontCollection.cpp
ontFamily.cpp
ayout.cpp
inikinFontFreeType.cpp
|
9cc9bbe1461f359f0b27c5e7645c17dda001ab1d |
24-Apr-2013 |
Raph Levien <raph@google.com> |
Initial commit of Minikin library This is the initial draft of Minikin, a library intended to perform text layout functions. This version does basic weight selection and font runs for scripts, and also has a simple renderer for drawing into bitmaps, but is lacking measurement, line breaking, and a number of other important features. It also lacks caching and other performance refinements. Change-Id: I789a2e47d11d71202dc84b4751b51a5e2cd9c451
nalyzeStyle.cpp
ndroid.mk
mapCoverage.cpp
ssParse.cpp
ontCollection.cpp
ontFamily.cpp
ayout.cpp
parseBitSet.cpp
|