346 Commits

Author SHA1 Message Date
Romain Guy
325740fb44 Add hooks to implement Canvas.drawTextOnPath() in GL
Change-Id: I165c9e05facf5365aa6850605688e538640c7fcc
2012-02-24 16:48:34 -08:00
Mathias Agopian
b13b9bdad2 frameworks/base refactoring.
step 2: move libutils headers to their new home: androidfw

Change-Id: I14624ba23db92a81f2cb929f104386e1fab293ef
2012-02-17 19:01:26 -08:00
Chih-Chung Chang
fb2cfa223b Comment out a warning message to avoid log spamming.
The warning message happens a lot when the region decoder is used (like
viewing a picture in the Gallery app).

Change-Id: I435f92eac8f322b091f3ed14ee48d0b5f0d84a8a
2012-02-07 13:07:51 +08:00
Jean-Baptiste Queru
0a3f6d69b6 am 33476f7a: am f79bcd2d: am 52da99fa: am a081c7b8: Merge "Skia API changes as a result of an update to the Skia library."
* commit '33476f7ad1c3b4dcaefddb306f315e201c4efb33':
  Skia API changes as a result of an update to the Skia library.
2012-02-06 14:45:36 -08:00
Jean-Baptiste Queru
52da99fac8 am a081c7b8: Merge "Skia API changes as a result of an update to the Skia library."
* commit 'a081c7b8bc5a3ea19fc7562b333fac525b17bc5f':
  Skia API changes as a result of an update to the Skia library.
2012-02-06 14:07:31 -08:00
Fabrice Di Meglio
ffd121233a Merge "Revert back to DroidSansArabic font for SystemUI" 2012-02-03 18:33:49 -08:00
Fabrice Di Meglio
ab8c73882e Fix bug #5929529 Parentheses aren't correctly rendered in RTL context
- do BiDi mirrored char mirroring in TextLayoutCache
- see BiDi mirrored chars list at:

 http://www.unicode.org/Public/6.0.0/ucd/extracted/DerivedBinaryProperties.txt

Change-Id: Ia0af0e252dbb0c55cc689bc9db34e05591bb6ee8
2012-02-02 19:07:02 -08:00
Fabrice Di Meglio
9b255cac77 Revert back to DroidSansArabic font for SystemUI
- see bug #5957987 Revert to use DroidSansArabic instead of DroidNaskh font for Arabic Shaping in SystemUI
- DroidNaskh was having FontMetrics not compatible with Roboto

Change-Id: I9f3031c250f907c80f3992f71d929dc91686e1e5
2012-02-02 18:57:19 -08:00
Derek Sollenberger
889a3fa6ab Skia API changes as a result of an update to the Skia library.
These changes are required to work with r3022 of Skia

Change-Id: Ib7cebeb2eba6790bb38edfc2397b311cf419e17c
2012-01-31 14:08:22 -05:00
Fabrice Di Meglio
a731b082b2 Code cleaning: centralize use of #if USE_TEXT_LAYOUT_CACHE
- also clean some destructors (was not quite compulsory because
they are related to some Singletons)

Change-Id: I3091cac7b38628cda593d72570ba7a5d7ea2a15c
2012-01-27 14:24:46 -08:00
Fabrice Di Meglio
e414613bb8 Merge "Fix bug #5901103 all_source_project_146981_Android - Android ICS LQA Regression:FA, AR, HE and TH - Font Corruption" 2012-01-24 16:57:21 -08:00
Fabrice Di Meglio
3941a22bfd Fix bug #5901103 all_source_project_146981_Android - Android ICS LQA Regression:FA, AR, HE and TH - Font Corruption
- use the first char of the "run" instead of the "string" for the BaseGlyphCount

Change-Id: I647528ec912bb69655cf301bbc73b66dc1a6fc82
2012-01-24 16:44:00 -08:00
Fabrice Di Meglio
bd901dee31 Fix bug #5846413 "phone" keyboard layout is broken on master
- was a subtle regression introduced when fixing bug #5753006
- as we are now using SkPaint::kGlyphID_TextEncoding (glyph encoding)
instead of SkPaint::kUTF16_TextEncoding (UTF16 encoding), we need to
force the UTF16 encoding in some cases that are NOT going thru
the TextLayoutCache / Harfbuzz shaping

- fix also breakText() the same way

- also clean some old comment

- Warning: depends also on a CL from Skia for having getBaseGlyphCount() "const"

Change-Id: I3d1fc87f070884876c679b33541f810fbfb5df3f
2012-01-23 13:34:08 -08:00
Jean-Baptiste Queru
12b7da6995 am 6df477be: Merge "Rename (IF_)LOGE(_IF) to (IF_)ALOGE(_IF)"
* commit '6df477be186233e36fc370c4d2db6c1ed928a740':
  Rename (IF_)LOGE(_IF) to (IF_)ALOGE(_IF)
2012-01-19 17:26:12 -08:00
Jean-Baptiste Queru
f3f650db96 am a826f9e2: Merge "Rename (IF_)LOGW(_IF) to (IF_)ALOGW(_IF)"
* commit 'a826f9e2c4f6329d8d48c927f6e942e78ffaf92f':
  Rename (IF_)LOGW(_IF) to (IF_)ALOGW(_IF)
2012-01-19 17:26:08 -08:00
Jean-Baptiste Queru
08d3c6e5ba am 4f367f33: Merge "Rename (IF_)LOGI(_IF) to (IF_)ALOGI(_IF)"
* commit '4f367f3387887c538c81c34cc8becaea6fa5e430':
  Rename (IF_)LOGI(_IF) to (IF_)ALOGI(_IF)
2012-01-19 17:26:03 -08:00
Jean-Baptiste Queru
7ae84204c1 am ba7f0d2a: Merge "Rename (IF_)LOGD(_IF) to (IF_)ALOGD(_IF)"
* commit 'ba7f0d2a03643ce429421b81febf18fd50473070':
  Rename (IF_)LOGD(_IF) to (IF_)ALOGD(_IF)
2012-01-19 17:25:58 -08:00
Jean-Baptiste Queru
97aa8ee811 Merge ee4618bc
Change-Id: Ie1dc6ad38e7c30636d80f6caef11cf6673144940
2012-01-19 17:18:25 -08:00
Jean-Baptiste Queru
36b48c30ad am c318bbb0: Merge "Rename (IF_)LOG() to (IF_)ALOG()"
* commit 'c318bbb05e02a0080e129623ec8029d31be0d60e':
  Rename (IF_)LOG() to (IF_)ALOG()
2012-01-19 16:59:41 -08:00
Steve Block
c6aacce371 Rename (IF_)LOGE(_IF) to (IF_)ALOGE(_IF)
Change-Id: I1de629b4632a4b3187ca1a28d6416daccd35f924
2012-01-19 14:45:03 -08:00
Steve Block
a51f0e707f Rename (IF_)LOGW(_IF) to (IF_)ALOGW(_IF)
Change-Id: I8fbdfa7a7581f481968dbb65aa40f7042936d7cb
2012-01-19 14:44:59 -08:00
Steve Block
933e856150 Rename (IF_)LOGI(_IF) to (IF_)ALOGI(_IF)
Change-Id: I26f76452ac49e2890b14d133c065493d8df0fb4a
2012-01-19 14:44:56 -08:00
Steve Block
1afd5bab4e Rename (IF_)LOGD(_IF) to (IF_)ALOGD(_IF)
Change-Id: I44f267700356967dc51e8f85ebf457dc85cfb229
2012-01-19 14:44:50 -08:00
Steve Block
06ade6ae1b Rename (IF_)LOGV(_IF) to (IF_)ALOGV(_IF)
Change-Id: I5321ebd12e9c6248a108529e82c4e1af2a4405e3
2012-01-19 14:44:31 -08:00
Steve Block
ad3f5145fe Rename (IF_)LOG() to (IF_)ALOG()
Change-Id: If49c81a2793182771c6160fbca93905daa6f44c1
2012-01-18 11:08:20 +00:00
Romain Guy
11d06a73df Merge "Fix text encoding when drawing with drawPosText in software" 2012-01-17 14:54:45 -08:00
Romain Guy
62b6eaa7f3 Fix text encoding when drawing with drawPosText in software
Change-Id: I0cd8ee526189c38c50953a1a08b50e0b31c55d8c
2012-01-17 14:53:26 -08:00
Fabrice Di Meglio
c7c09960ff Merge "Fix bug #5870701 Thai text can be clipped when there are more glyphs generated than the initial number of code points" 2012-01-17 11:51:22 -08:00
Fabrice Di Meglio
03e250aefa Fix bug #5870701 Thai text can be clipped when there are more glyphs generated than the initial number of code points
- compute total advances correctly by iterating on the advances array for up to mShaperItem.num_glyphs
- update unit tests

Change-Id: I00af68bef88702215e9222ed80dbffcc81df51a7
2012-01-13 19:49:46 -08:00
Steve Block
3762c31172 Rename (IF_)LOGE(_IF) to (IF_)ALOGE(_IF) DO NOT MERGE
See https://android-git.corp.google.com/g/#/c/157220

Bug: 5449033
Change-Id: Ic9c19d30693bd56755f55906127cd6bd7126096c
2012-01-08 13:19:13 +00:00
Steve Block
8564c8da81 Rename (IF_)LOGW(_IF) to (IF_)ALOGW(_IF) DO NOT MERGE
See https://android-git.corp.google.com/g/157065

Bug: 5449033
Change-Id: I00a4b904f9449e6f93b7fd35eac28640d7929e69
2012-01-06 10:07:54 +00:00
Fabrice Di Meglio
d4a69b4a1c Merge "Fix bug #5753006 Garbled Labels in Maps" 2012-01-05 15:18:52 -08:00
Fabrice Di Meglio
a0a117b4c1 Fix bug #5822825 Paint.measureText (char[] text, int index, int count) cannot handle text more than 32K long - DO NOT MERGE
- do not clear the smart pointer when the cache entry does not fit the cache size

See http://code.google.com/p/android/issues/detail?id=23337

Change-Id: Id4533d9f8a396c310c9215157ec5a4c07f30c7f2
2012-01-05 14:34:42 -08:00
Steve Block
bd47cac4df Merge "Rename (IF_)LOGI(_IF) to (IF_)ALOGI(_IF) DO NOT MERGE" 2012-01-05 14:07:02 -08:00
Fabrice Di Meglio
c726ff02c7 Merge "Fix bug #5822825 Paint.measureText (char[] text, int index, int count) cannot handle text more than 32K long" 2012-01-05 13:55:01 -08:00
Fabrice Di Meglio
c511bee87c Fix bug #5753006 Garbled Labels in Maps
- it was a regression introduced into this CL: https://android-git.corp.google.com/g/#/c/154240/5
- basically needed to set the GlyphID encoding to the Skia Paint as we are now using glyphID resulting
from the Harfbuzz shaping
- also define GlyphID encoding as the default on the Paint class

Change-Id: Idb7c2c57ac67595425ce3be9421258962690fcdd
2012-01-05 13:30:54 -08:00
Fabrice Di Meglio
bd7cdc32eb Fix bug #5822825 Paint.measureText (char[] text, int index, int count) cannot handle text more than 32K long
- do not clear the smart pointer when the cache entry does not fit the cache size

Change-Id: I49f1aa1e70018bb7d6a8fb076d9269d0ec6a5d98
See: http://code.google.com/p/android/issues/detail?id=23337
2012-01-04 14:25:54 -08:00
Steve Block
6215d3ff4b Rename (IF_)LOGI(_IF) to (IF_)ALOGI(_IF) DO NOT MERGE
See https://android-git.corp.google.com/g/156801

Bug: 5449033
Change-Id: Ib08fe86d23db91ee153e9f91a99a35c42b9208ea
2012-01-04 20:05:49 +00:00
Steve Block
5baa3a62a9 Rename (IF_)LOGD(_IF) to (IF_)ALOGD(_IF) DO NOT MERGE
See https://android-git.corp.google.com/g/156016

Bug: 5449033
Change-Id: I4c4e33bb9df3e39e11cd985e193e6fbab4635298
2012-01-03 22:38:27 +00:00
Fabrice Di Meglio
a4d0770063 Fix bug #5674155 Segmentation issue for Thai
- force Harfbuzz to shape with the Thai font

Change-Id: I3830acae17385b050e2745fca277cf66af103099
2011-12-13 18:52:13 -08:00
Fabrice Di Meglio
65194adc9a Fix bug #5727213 Rendering issues with Bengali in Textview in IML63B
- force Harfbuzz to shape with the Bengali font
- also fix potential returned NULL value from SkTypeface::CreateFromFile(path)

Change-Id: I25be09d06e449b89bb4a62444e27f77e436b77ba
2011-12-13 18:14:49 -08:00
Fabrice Di Meglio
902a5b31c5 TextLayoutCache - fix diacritics composition
- normalize (with ICU) each BiDi run before shaping them

We are normalizing by "chuncks" and starting from the end of the string. Each "chunck"
is composed of the main code point and its associated diacritics.

Fix bug #5738435 TextLayoutCache should be able to take care about diacritics during shaping

Change-Id: I7288027a7fa8eafb8b9f38d449625be60214548a
2011-12-13 15:28:16 -08:00
Fabrice Di Meglio
b02d0ca555 Clean TextLayout code and remove RTL_USE_HARFBUZZ
- remove dependencies on ICU
- use TextLayouCache
- remove RTL_USE_HARFBUZZ define (we *are* using Harfbuzz now)
- also fix compilation warning

Change-Id: I022e11703438d07032e49e42724184f6bf16653e
2011-12-08 15:16:17 -08:00
Fabrice Di Meglio
99cdc6a3b5 Fix TextLayoutCache issue when loading Font tables (DO NOT MERGE)
- disable GSUB / GPOS table loading

Change-Id: I2ae058c9d926242586f90dc2a98302ff886f1fe1
2011-12-06 15:31:19 -08:00
Jeff Brown
f98c2a67fe Fix memory corruption issues in TextLayoutCache. (DO NOT MERGE)
Ensure log_clusters array is big enough.
Bug: 5714171

Explicitly handle the cases where the entire string or a single
run might have a length of 0.
Harfbuzz assumes the length of the item is at least 1.
If the length is zero, then it will clobber memory at index -1
into the log_clusters array.
Bug: 5705479

Change-Id: If28a9866221081f69973c1d12d7fe0cf8db2edd0
2011-12-05 20:40:03 -08:00
Jeff Brown
a03bdedbdf Harfbuzz assumes the length of the item is at least 1.
If the length is zero, then it will clobber memory at index -1
into the log_clusters array.

Explicitly handle the cases where the entire string or a single
run might have a length of 0.

Bug: 5705479
Change-Id: Ibbd3a4edcb7e1cad09c34091b42bb315776ea558
2011-12-05 20:33:50 -08:00
Jeff Brown
738ef87eac Ensure log_clusters array is big enough.
Bug: 5714171
Change-Id: I886f1af8af177827f052e6406a192f2fad5c2cec
2011-12-05 20:24:21 -08:00
Fabrice Di Meglio
868d1bdf3c Merge "TextLayoutCache Fix compilation issue" 2011-12-02 16:21:14 -08:00
Fabrice Di Meglio
5448f0378e TextLayoutCache Fix compilation issue
- fix compilation after refactoring and when setting DEBUG_ADVANCES to 1

Change-Id: I8eef7e3c4550c505325459948d3c8eebbdd5215a
2011-12-02 15:56:19 -08:00
Fabrice Di Meglio
2e5e96e9f0 TextLayoutCache Code cleaning
- remove commented code
- fix log

Change-Id: I8495b923c9426e33e645fe85ea04005520716f4e
2011-11-30 20:08:16 -08:00