History log of /frameworks/base/core/jni/android/graphics/FontFamily.cpp
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
373b15bda93c8b400c5e1271bc93cbef26af503f 02-May-2017 Seigo Nonaka <nona@google.com> Fix double bolding

resolveStyle increases minikinStyle's weight value based on Skia's style
value. Since we compute Skia's style based on given weight value, we
should not add extra bold weight to minikinStyle.

This CL also fixes misunderstanding of base weight.
The base weight is only used for computing weight relative to the
weighted alias. Thus, base weight should not be updated except for
createWeightAlias method.

To be clear, this CL changes the function names but keeps the same
semantics as before.

Test: adb shell /data/nativetest/hwui_unit_tests/hwui_unit_tests
Test: am instrument -w -e class android.graphics.cts.TypefaceTest\
android.graphics.cts/android.support.test.runner.AndroidJUnitRunner
Bug: 37880319
Merged-In: Ied73189b11792fb062da46f45afd2db664e6ecb4

Change-Id: I82350a1bfb99ce198b955f127949e21bccccb1cb
/frameworks/base/core/jni/android/graphics/FontFamily.cpp
5b6347a6af668ba47b3fab14cefbe03cc440c3a4 31-Mar-2017 Seigo Nonaka <nona@google.com> Introduce setFallbackTypeface

setFallbackTypeface is returned by Builder.build() method when the
provided font is not loaded due to some reasons.
The fallback family is resolved with width/italic passed to Builder.

Bug: 36794225
Test: android.graphics.cts.TypefaceTest passes
Change-Id: I65e220aca823fd815a52437b11c8e6dc952de8e2
/frameworks/base/core/jni/android/graphics/FontFamily.cpp
d5d6561f252d180d897281d62848f43650a8fdac 04-Apr-2017 Seigo Nonaka <nona@google.com> Need to return false if addSkTypeface fails.

Bug: 36809770
Test: android.content.res.cts.ResourcesTest#testGetFont_invalidFontFiles
Change-Id: I89438805b9232b1f789af5f70ef1f773589ecd3a
/frameworks/base/core/jni/android/graphics/FontFamily.cpp
20e5d91739fb88a02afb4888bf9f938308bc9b7b 18-Jan-2017 Seigo Nonaka <nona@google.com> Expose Typeface creation APIs with ttc and font variation.

Introduce Builder class for creating Typeface from various
sources with optional TTC index and font variation settings.

Bug: 33062398
Test: Manually verified new Builder create Typeface.
Change-Id: Ia23ee6a73516707d854c7387fe75fbb22f80673d
/frameworks/base/core/jni/android/graphics/FontFamily.cpp
ac873c9f25d2a687c9195226b9d680f51c91fa30 08-Mar-2017 Seigo Nonaka <nona@google.com> Clean up public FontConfig APIs

This CL contains following clean up:

- Hide unnecessary constructors.
- Change List<XX> to XX[] since actually all fields are immutable.
- Change font's variant type from String to int.
- Decouple resource related members to FontResourcesParser.
- Add NonNull/Nullable to all fields.

Test: ran android.content.res.FontResourcesParserTest

Change-Id: If456266ffff86d41342572a19662cc8f3cd13181
/frameworks/base/core/jni/android/graphics/FontFamily.cpp
c7064146f959caec058980ced144942c8044a169 10-Feb-2017 Seigo Nonaka <nona@google.com> Follow Minikin's signature changes.

Minikin now uses shared_ptr instead of MinikinRefCounted.

Bug: 28119474
Test: manually tested
Test: hwui_unit_tests passed.
Change-Id: Ie0564851a8a798af112679e15f7a07db000a977e
/frameworks/base/core/jni/android/graphics/FontFamily.cpp
a231eb1410ed2ac339277d49cd06c93bcebce0aa 22-Feb-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Implement getAxes() method."
b44abf290190ceee037f24c47493a34de45fa3f4 16-Feb-2017 Clara Bayarri <clarabayarri@google.com> Use weight & style data for fonts from xml source

Bug: 34916944
Test: manual tests
Change-Id: I1d6e1c4c52859c5e9d7a8b0a247e4d0581935833
/frameworks/base/core/jni/android/graphics/FontFamily.cpp
7a18b799617465a0a27dde1cf0c5f48c52db7980 13-Feb-2017 Seigo Nonaka <nona@google.com> Implement getAxes() method.

getAxes() is necessary for calling hb_font_set_variations.

Test: None
Change-Id: Iec4759189b0653aa483ba85682d10b2b81beaab8
/frameworks/base/core/jni/android/graphics/FontFamily.cpp
9ff994d98846d24bc488939af6e7dc440149a4bc 30-Nov-2016 Seigo Nonaka <nona@google.com> Introduce set/getFontVariationSettings.

This is 2nd attempt of I249d464f8cdaa56017a987588b94ed685aadeb58.
The original CL was reverted due to conflicting with another CL submitted
before.
Nothing has changed except for following class name changes.

Here is the original commit message of reverted change.

This CL enables developers to specify axis values to the underlying
font collection. The specification of the font variation settings is
the same as the CSS font-variation-settings attribute in CSS working
draft as of 2016-11-30.

Code example: Here is an example to set width 100 and weight 1.5.

TextView tv = (TextView) findViewById(R.id.textView);
tv.setFontVariationSettings("'wdth' 100, 'wght' 1.5");

Bug: 33062398
Test: Manually done. Ran FrameworksGraphicsTests, CtsGraphicsTestCases
and CtsWidgetTestCases

Change-Id: I9cdfbdecc87c995d805096883ef2652768c6c21e
/frameworks/base/core/jni/android/graphics/FontFamily.cpp
8b48e624457e438fcc2b6b9363329036ef2f7743 07-Jan-2017 Seigo Nonaka <nona@google.com> Follow minikin::FontFamily constructor signature change.

This is 2nd attempt of Id10ca97f6f6f5bbe4999c1ad2736423a204d6e87.
The root caus of crash is due touching null pointer in nUnrefFamily.
After above change, native object may not be created on error case.
In that case, nUnrefFamily can not be called. In addition to this issue
there is also memory leak on error case. This fixes it by introducing
abortCreation method.

Also this contains fix of layout lib breakage done by jgaillard@.
Originally submitted by Ic8872a43993bcb0a157c5e3f0ce423af9b47f606

Here is original commit message of reverted change.

minikin::FontFamily no longer has addFont function, instead it accept
vector of Fonts in its constructor. To follow this signature change,
holding minikin::Font instance in native and build minikin::FontFamily
instance in FontFamily.freeze() method.

Bug: 34042446
Bug: 28119474
Bug: 34378805
Test: hwui test has passed
Test: m layoutlib layoutlib-tests
Change-Id: Ic34ebaa8191273d4c9f49c43124f15a1da5f7b78
/frameworks/base/core/jni/android/graphics/FontFamily.cpp
4a65687b853a92268f4f0eb52f22e092b16f8ed3 23-Jan-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Expose fonts.xml via public API with a service"
04d72abde1efc963ebb2f145f859552e83b92d13 10-Jan-2017 Clara Bayarri <clarabayarri@google.com> Expose fonts.xml via public API with a service

This change creates a new FontManagerService, in charge of providing
font management data. It exposes a public API to retrieve the
information in fonts.xml without accessing it directly. To do this,
it also refactors FontListParser's internal classes into a new public
FontConfig class holding all the font data.

getSystemFonts() returns all the available information in fonts.xml
as well as file descriptors for all the fonts. This allows us to
share the memory consumed by these files between all clients.

Bug: 34190490
Test: See attached CTS change in topic
Change-Id: I0e922f8bcc9a197a1988d04071eb485328d66fb7
/frameworks/base/core/jni/android/graphics/FontFamily.cpp
18e9f9f3778318918c44d944489cb50daaf45d1c 19-Dec-2016 Clara Bayarri <clarabayarri@google.com> Expose Resources.getFont

Based on the work already done in aapt2, load a Font from a
resource id.

Test: WIP
Change-Id: Idc06bfbfd16452a328bfcc6ea9dcfb723b633f0c
/frameworks/base/core/jni/android/graphics/FontFamily.cpp
c0d685b87aa544bc23c1ed1c01e88f6c04855f72 20-Jan-2017 Siyamed Sinir <siyamed@google.com> Revert "Follow minikin::FontFamily constructor signature change."

This reverts commit a0a4828614edfd633ab86f04408e7f4e55b491dd.

Bug: 34378805
Change-Id: Icbdbfbde2efe8eaebbe4334a679e3b3247057388
/frameworks/base/core/jni/android/graphics/FontFamily.cpp
a3b9f2e3c66ec485f3b712560d52e31632a9cbe8 20-Jan-2017 Siyamed Sinir <siyamed@google.com> Revert "Introduce set/getFontVariationSettings."

This reverts commit ba3028c1fc9fca2d45acc841557da2c9a83923bf.

Bug: 34378805
Change-Id: I8250c87af5d65fb45789632580be4ae1b8711372
/frameworks/base/core/jni/android/graphics/FontFamily.cpp
ba3028c1fc9fca2d45acc841557da2c9a83923bf 30-Nov-2016 Seigo Nonaka <nona@google.com> Introduce set/getFontVariationSettings.

This CL enables developers to specify axis values to the underlying
font collection. The specification of the font variation settings is
the same as the CSS font-variation-settings attribute in CSS working
draft as of 2016-11-30.

Code example: Here is an example to set width 100 and weight 1.5.

TextView tv = (TextView) findViewById(R.id.textView);
tv.setFontVariationSettings("'wdth' 100, 'wght' 1.5");

Bug: 33062398
Test: Manually done. Ran FrameworksGraphicsTests, CtsGraphicsTestCases
and CtsWidgetTestCases
Change-Id: I249d464f8cdaa56017a987588b94ed685aadeb58
/frameworks/base/core/jni/android/graphics/FontFamily.cpp
a0a4828614edfd633ab86f04408e7f4e55b491dd 07-Jan-2017 Seigo Nonaka <nona@google.com> Follow minikin::FontFamily constructor signature change.

minikin::FontFamily no longer has addFont function, instead it accept
vector of Fonts in its constructor. To follow this signature change,
holding minikin::Font instance in native and build minikin::FontFamily
instance in FontFamily.freeze() method.

Test: hwui test passed
Change-Id: Id10ca97f6f6f5bbe4999c1ad2736423a204d6e87
/frameworks/base/core/jni/android/graphics/FontFamily.cpp
18bd88534a5783e581ccdd25b1b0f81c237a14b4 24-Oct-2016 Ben Wagner <bungeman@google.com> Replace SkAutoTUnref with sk_sp.

Skia would like to remove SkAutoTUnref and replace it with sk_sp.
This also removes the last SkAutoTDelete straggler.

Change-Id: Idd46fcbbffe7fc1edb243b82b1c2f5425ccd60b6
/frameworks/base/core/jni/android/graphics/FontFamily.cpp
81be3a96e080f8f30653f926934fc072143ef368 05-Aug-2016 Ben Wagner <bungeman@google.com> Move SkTypeface::CreateXXX to SkTypeface::MakeXXX.

Skia is moving to returning smart pointers from its factory methods.
This updates uses of SkTypeface::CreateXXX to SkTypeface::MakeXXX and
generally updates use of SkTypeface to sk_sp. This will allow for the
removal of the SK_SUPPORT_LEGACY_TYPEFACE_PTR define.

Change-Id: I017ceb681d2c338e6913aa267915d03a7d3a898b
/frameworks/base/core/jni/android/graphics/FontFamily.cpp
d8b5c31904d9f6d1eabaa0b8417a25342407e382 03-Aug-2016 Ben Wagner <bungeman@google.com> Move from SkData::NewXXX to SkData::MakeXXX.

Skia is moving to returning smart pointers when creating an SkData.

Change-Id: I1f672bad9fabb65026c5c7ee51410fb2a65dade3
/frameworks/base/core/jni/android/graphics/FontFamily.cpp
ae1aa85d0c7305bb621f1f8003bd674285aa3b63 09-Jun-2016 Seigo Nonaka <nona@google.com> Follow the minikin namespace changes

Bug: 29233740
Change-Id: I0ec7c5c88e64daa626751d3a03e24b9c36521c17
/frameworks/base/core/jni/android/graphics/FontFamily.cpp
34ea6b68de0d989d4502161d53b4fc8920e8f586 08-Apr-2016 Raph Levien <raph@google.com> Merge "Avoid copying of font table data, provide raw font bytes" into nyc-dev am: c147dbb
am: eadd2b8

* commit 'eadd2b8aba89ebab859149c25779127bd755ace9':
Avoid copying of font table data, provide raw font bytes

Change-Id: If2a32510f97d15924970e31454f805757745a9fc
296bf8c55aaba0025f3e5b904fda3b6e15686753 07-Apr-2016 Raph Levien <raph@google.com> Avoid copying of font table data, provide raw font bytes

Minikin is changing its approach to table access to use HarfBuzz to
access the tables, based on raw font data, rather than calling the
MinikinFont::GetTable() virtual method. This patch provides raw access
to the font data to make this work.

There's a bit of plumbing to make sure fonts get a pointer to the raw
data as well.

Bug: 27860101
Change-Id: I638e18cf363644bf22fbc9fb9b3358a9e731087f
/frameworks/base/core/jni/android/graphics/FontFamily.cpp
6248dc0ad1066cd684ac8938b39ab7b9e09f6d59 22-Mar-2016 sergeyv <sergeyv@google.com> Merge "Clean up and rename TypefaceImpl" into nyc-dev am: ef8ee4c
am: 6b8e2c0

* commit '6b8e2c0886a4084b86b71b86ccead5218cd9b451':
Clean up and rename TypefaceImpl
2a0732996dec1d03c575b98ea9abff75534f51d5 22-Mar-2016 sergeyv <sergeyv@google.com> Merge "Reland: Move text logic from jni to hwui level" into nyc-dev am: d8e91f6
am: b08bd4e

* commit 'b08bd4e2a3dedeee184e7de7436ecf0402653008':
Reland: Move text logic from jni to hwui level
bad99183916ba2bac6659efc8a28273e344ba511 17-Mar-2016 sergeyv <sergeyv@google.com> Clean up and rename TypefaceImpl

bug:25865834
Change-Id: I77e8a627163e040a5c25865054a8a936052af367
/frameworks/base/core/jni/android/graphics/FontFamily.cpp
dccca44ffda4836b56a21da95a046c9708ffd49c 21-Mar-2016 sergeyv <sergeyv@google.com> Reland: Move text logic from jni to hwui level

Initial CL: https://googleplex-android-review.git.corp.google.com/#/c/886854/

Change-Id: I9dfd85fe1d2a2c44f4360c8a29fd58d80e6f31c8
/frameworks/base/core/jni/android/graphics/FontFamily.cpp
4d808f50671a217fb05ee7ca47293c35c2e05b2d 21-Mar-2016 Sergei Vasilinetc <sergeyv@google.com> Merge "Revert "Move text logic from jni to hwui level"" into nyc-dev am: 6847953
am: 30e2bb8

* commit '30e2bb845a66c3103cb23fa01d616a84b6fa565d':
Revert "Move text logic from jni to hwui level"
afbd0f1fef46ef0ddf633dfde0de724db3da1405 21-Mar-2016 Sergei Vasilinetc <sergeyv@google.com> Revert "Move text logic from jni to hwui level"

This reverts commit a7f6bba1a3565c19715e878dfe7f0e01022944ff.

Change-Id: If4f36f87a85411b6128fd92d391313803ccaf9dd
/frameworks/base/core/jni/android/graphics/FontFamily.cpp
f41fe9a85916e79d69601603688dd0a639377746 21-Mar-2016 sergeyv <sergeyv@google.com> Merge "Move text logic from jni to hwui level" into nyc-dev am: 49658d4
am: b568e44

* commit 'b568e44f1ba32a3e879a820558eeaf2c2349090e':
Move text logic from jni to hwui level
a7f6bba1a3565c19715e878dfe7f0e01022944ff 16-Mar-2016 sergeyv <sergeyv@google.com> Move text logic from jni to hwui level

bug:25865834
Change-Id: I2d8c9c9544afcb5ce1784f732aed3e54e0eda372
/frameworks/base/core/jni/android/graphics/FontFamily.cpp
6c9fef5ae06ad826fbfe8a3ae6f1a9621db9de66 10-Mar-2016 Derek Sollenberger <djsollen@google.com> Make reference to data within SkAutoTUnref unambiguous.

Change-Id: I9a9754f1c7d759ae0393d672474050a63846566b
/frameworks/base/core/jni/android/graphics/FontFamily.cpp
fb95699364e555148b437cfa1e5c69384f843845 28-Jan-2016 Ben Wagner <bungeman@google.com> Deduplicate font file mappings.

With ttc and gx variation fonts, it is now possible and common that a
number of fonts will use the same font file for data but with different
parameters. In the current code each font will map the font file data,
taking up an unecessary amount of virtual address space and is
inefficient with respect to memory management (like the tlb). This CL
deduplicates these file mappings so that a given font file will only be
mapped into memory once.

DO NOT MERGE
Change-Id: I5ca69f963a434c72ec4028402ecbf9e0f0ee7148
(cherry picked from commit fffcf0a31fd4c9a4ec8aa7de70b1eda0d48fb337)
/frameworks/base/core/jni/android/graphics/FontFamily.cpp
a87b07d7fafd59ae26073a80cd742b17ea427ecd 06-Nov-2015 Ben Wagner <bungeman@google.com> Add support for gx font variation axes.

This adds an 'axis' child element to the 'font' element. The 'axis'
element has attributes 'tag' (a four byte identifier) and 'stylevalue'
(a float value) to the parser. This also modifies reading the font file
name in a backwards compatible fashion by using only the direct #text
children of the 'font' element. (Both the Minikin and Skia parsers now
allow the font file name on a separate line in the fonts.xml file).

This information is then passed through to Skia in order to select the
desired variation. The Skia parser already parses this way and has for
some time, so Chrome and WebView can already read this format.

Change-Id: I15623fe864fa92b2bf0705af5e389daedfb77e5c
(cherry picked from commit b8e367fb7428076ff2e4aa2a97adaed1ef806e92)
/frameworks/base/core/jni/android/graphics/FontFamily.cpp
fffcf0a31fd4c9a4ec8aa7de70b1eda0d48fb337 28-Jan-2016 Ben Wagner <bungeman@google.com> Deduplicate font file mappings.

With ttc and gx variation fonts, it is now possible and common that a
number of fonts will use the same font file for data but with different
parameters. In the current code each font will map the font file data,
taking up an unecessary amount of virtual address space and is
inefficient with respect to memory management (like the tlb). This CL
deduplicates these file mappings so that a given font file will only be
mapped into memory once.

Change-Id: I5ca69f963a434c72ec4028402ecbf9e0f0ee7148
/frameworks/base/core/jni/android/graphics/FontFamily.cpp
b8e367fb7428076ff2e4aa2a97adaed1ef806e92 06-Nov-2015 Ben Wagner <bungeman@google.com> Add support for gx font variation axes.

This adds an 'axis' child element to the 'font' element. The 'axis'
element has attributes 'tag' (a four byte identifier) and 'stylevalue'
(a float value) to the parser. This also modifies reading the font file
name in a backwards compatible fashion by using only the direct #text
children of the 'font' element. (Both the Minikin and Skia parsers now
allow the font file name on a separate line in the fonts.xml file).

This information is then passed through to Skia in order to select the
desired variation. The Skia parser already parses this way and has for
some time, so Chrome and WebView can already read this format.

Change-Id: I15623fe864fa92b2bf0705af5e389daedfb77e5c
/frameworks/base/core/jni/android/graphics/FontFamily.cpp
4ea7d1d2ab51fd7f67087db669dbaf693560b838 15-Dec-2015 Seigo Nonaka <nona@google.com> Move Language normalization code from Paint.cpp to Minikin.

This is 2nd attempt of I277a08b5a17d45c3edb8fb597fdf6786bbe9f83b

The language code to BCP47 conversion is done by Minikin.

Also this CL addresses the signature changes by
I8df992a6851021903478972601a9a5c9424b100c

Bug: 26168983
Change-Id: Id106e9bb5c3eaa6652b44a1735f427accaca1368
/frameworks/base/core/jni/android/graphics/FontFamily.cpp
143f50789ecd6d9e9bcd47c38f4daee35c63004f 22-Dec-2015 Bart Sears <bsears@google.com> Revert "Move Language normalization code from Paint.cpp to Minikin."

This reverts commit 5640ae00e76f71a35b10b805bbee55efac6b16f2.

Change-Id: If6dfcd74154c3fa49d1fb037ae78fd84f9844591
/frameworks/base/core/jni/android/graphics/FontFamily.cpp
5640ae00e76f71a35b10b805bbee55efac6b16f2 15-Dec-2015 Seigo Nonaka <nona@google.com> Move Language normalization code from Paint.cpp to Minikin.

The language code to BCP47 conversion is done by Minikin.

Also this CL addresses the signature changes by
I8df992a6851021903478972601a9a5c9424b100c

Bug: 26168983
Change-Id: I277a08b5a17d45c3edb8fb597fdf6786bbe9f83b
/frameworks/base/core/jni/android/graphics/FontFamily.cpp
3fa667e22401bf3ba96957fe31167bf05d164c55 10-Dec-2015 Seigo Nonaka <nona@google.com> Introduce ttcIndex attribute into system font configuration.

ttcIndex is used for specifying index of the TrueType Collection.
No user visible change is expected with this CL.

BUG: 10861108
Change-Id: I76a1c890164bb55a7ece7b9c7db2ce2bac3f8b89
/frameworks/base/core/jni/android/graphics/FontFamily.cpp
434a481b2191562582c79be29f24c2e0b5ca60d0 24-Sep-2015 Elliott Hughes <enh@google.com> am ea1831d2: am b57dd722: resolved conflicts for a884d81e to stage-aosp-master

* commit 'ea1831d211ea0e6b2d161c714bb0786369ef2df5':
constify JNINativeMethod function pointer tables
b57dd722f1dc0663417da37d3a82f8283ad3c982 24-Sep-2015 Elliott Hughes <enh@google.com> resolved conflicts for a884d81e to stage-aosp-master

Change-Id: Ice485967fa96f13786024b6939b826638e906ff0
76f6a86de25e1bf74717e047e55fd44b089673f3 19-Sep-2015 Daniel Micay <danielmicay@gmail.com> constify JNINativeMethod function pointer tables

Change-Id: I4036c924958221cbc644724f8eb01c5de3cd7954
/frameworks/base/core/jni/android/graphics/FontFamily.cpp
2f02dc5a15013a5ccc6b07b90c9e59dbde92c4d0 18-Jun-2015 Mike Reed <reed@google.com> switch to new signature for NewWithProc

Change-Id: I57fed92d4425317eb6808820a8d578856124c916
(cherry picked from commit 18dadfb42b0b7361624a344f21293918905432c1)
/frameworks/base/core/jni/android/graphics/FontFamily.cpp
3449789b9ca58fee7e5cd02ff89d544f4a6bc9b5 20-Jan-2015 Leon Scroggins III <scroggo@google.com> SkStream is no longer a ref counted object.

With https://codereview.chromium.org/849103004/, SkStream is no longer
ref counted. Change callers that currently unref() SkStreams to one of
either:
- delete the stream
- pass ownership of the stream

screencap.cpp:
Call EncodeData directly, bypassing SkDynamicMemoryWStream and SkBitmap.

Utils.cpp:
Write directly to an SkData, and then use that to construct a new
SkStream.

Cherry-pick of a change that originally landed in master-skia and is
dependent on a skia merge (ag/655422).

Change-Id: Idc99ad7d5a70c893dc012d59915216f301ab3c9d
/frameworks/base/core/jni/android/graphics/FontFamily.cpp
f462c2491bae67815ae9e4a2ff7ce77db97b49c6 12-Jan-2015 Ben Wagner <bungeman@google.com> Use at least SkStreamAsset for SkTypefaces.

The existing AssetStreamAdapter is only SkStreamRewindable, and does not
support 'duplicate'. This is needed in order for SkTypeface to be used
properly. Also, SkTypeface is moving to require SkStreamAsset for
creating typefaces for performance and code reasons.

In the previous code, Asset::getBuffer is called on creation of the
typeface, so do so explicitly and manage the memory directly. This
also prevents additional copies being made of the asset data.

BUG: 18867034
Change-Id: I458a8ec024efefb761138178b87b88b48cb4a773
/frameworks/base/core/jni/android/graphics/FontFamily.cpp
ed6b9dff563c5e22f040ff37e12c0d771e0478ae 21-Nov-2014 Andreas Gampe <agampe@google.com> Frameworks/base: Consistency in core/jni

Make consistent use of core_jni_helpers for registration.

Translate some #ifdefs into const bools.

Change-Id: I37639aa053dd50f003a552cbd8550dddecc811c5
/frameworks/base/core/jni/android/graphics/FontFamily.cpp
117cbebe810613d4a6de034f02652cdbbfef4cde 25-Aug-2014 Raph Levien <raph@google.com> New weight-aware font config

Parse new fonts.xml config file, and resolve weight selection based on
the base weight of the font (as defined by a weight alias specified in
the config file) and the requested bold flag. This change improves the
appearance of bold spans for alternate weights of Roboto.

In addition, this patch enables weight selection for fallback fonts.
For example, if an additional font with a weight of 100 is added to the
Hebrew font family in the fallback list, then requesting
"sans-serif-thin" would select that font for Hebrew text.

Bug: 14538154
Change-Id: I99a04fad4f7bf01c75726e760d42735dd9003496
/frameworks/base/core/jni/android/graphics/FontFamily.cpp
3d528c403c8945cc326bb656ff0c2e11373401da 26-Jun-2014 Raph Levien <raph@google.com> Fix build breakage

Other files were including GraphicsJNI.h and didn't have Minikin in the
include path. This patch eliminates the offending include.

Change-Id: I05c9dbf80b93f1731fd0192015e2c9c68a9dd3c6
/frameworks/base/core/jni/android/graphics/FontFamily.cpp
3660789f06c5fbcb81e6c7c79612048bff8f0f66 26-Jun-2014 Raph Levien <raph@google.com> Switch all text layout to Minikin

This patch switches all text layout operations to use Minikin, removes
the USE_MINIKIN #ifdef, and deletes some of the code that was only used
in the old TextLayout path (although some more refactoring remains).

Change-Id: I51b5c4e2bb46cfd9d204c12b9f16f135c769f5b5
/frameworks/base/core/jni/android/graphics/FontFamily.cpp
d573794d83a049fe59e289944f0cd77406dd776a 02-Jun-2014 Raph Levien <raph@google.com> Support fallbacks for custom typefaces (Minikin)

This patch adds the fallback font list to custom typefaces created from
files and assets, as well as those created by name. This is a fix for
the deskclock half of bug 15139067 "Centered text isn't working".

Change-Id: I0cc60951953dfb73817a98ddfee5713f0387ee90
/frameworks/base/core/jni/android/graphics/FontFamily.cpp
f9e3d311275c37fe5f2562993687a1627780a6d0 28-May-2014 Raph Levien <raph@google.com> Language and variant selection for Minikin

This is the frameworks/base side of what's needed to support language
selection (especially Han unification, but also compact/elegant
selection for scripts that require more vertical space).

This is part of the fix for bug 15179652 "Japanese font isn't shown on
LMP".

Change-Id: I8f0f3aa9a1915659f8d0b590cf1c56529356049a
/frameworks/base/core/jni/android/graphics/FontFamily.cpp
15cf4757dc0099301662f8a26da561434cc07cfa 06-May-2014 Raph Levien <raph@google.com> Proper refcounting for Minikin objects

This patch introduces proper lifecycle maintenance (based on reference
counting) for Minkin objects, particularly FontFamily and
FontCollection. The patch depends on the corresponding Ref and Unref
methods being available in Minikin.

Change-Id: I91935e953d5a522e1adc496f2ce3a598be35de2b
/frameworks/base/core/jni/android/graphics/FontFamily.cpp
9a5b61ccc83303ceeec2059f58c1977af9faa9e3 30-Apr-2014 Raph Levien <raph@google.com> Parsing of XML font configuration files for Minikin

This patch improves Minikin-based font handling, to deal with error
conditions (missing fonts and so on), and also moves the parsing of
fallback_fonts.xml and system_fonts.xml into Java code.

Change-Id: Ib0debdbd56ad3b0196be6d2a35668d711c98f1e5
/frameworks/base/core/jni/android/graphics/FontFamily.cpp
1a73f732f91e97c9c66b808c245ddda36a10e987 31-Jan-2014 Raph Levien <raph@google.com> Start of Minikin integration

This is the current state of the Minikin integration. All changes are
hidden behind USE_MINIKIN #ifdef, so it should be safe to apply. To
play with the Minikin branch, set this in your BoardConfig.mk .

This change also merges in 64-bit changes that were happenening in
parallel.

Change-Id: Idd94553bcbe324c5875d0ff06495c966c3e95b7f
/frameworks/base/core/jni/android/graphics/FontFamily.cpp