aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/ports/SkFontHost_android.cpp
Commit message (Collapse)AuthorAge
* Change to BDS license (as we did with all the other files that were Apache)Gravatar reed@google.com2012-12-13
| | | | | | Review URL: https://codereview.appspot.com/6948045 git-svn-id: http://skia.googlecode.com/svn/trunk@6787 2bbb7eff-a529-9590-31e7-b0007b416f81
* Avoid deadlock in SkGetFallbackFamilyNameForChar().Gravatar djsollen@google.com2012-10-15
| | | | | | | | | | | | The deaklock happened when SkFontHost::CreateTypefaceFromStream() is called indirectly from SkGetFallbackFamilyNameForChar(). This commits a change that was submitted for review by... wangxianzhu1 @ https://codereview.appspot.com/6654051/ Review URL: https://codereview.appspot.com/6690044 git-svn-id: http://skia.googlecode.com/svn/trunk@5956 2bbb7eff-a529-9590-31e7-b0007b416f81
* Disable automatic font fallback of SkFontHost_android when building for WebKitGravatar djsollen@google.com2012-10-09
| | | | | | | | | | | | | | | | The internal font fallback mechanism prevents WebKit from getting the properties of the actually used font. Disable the internal fallback mechanism when building for WebKit and add SkGetFallbackFamilyNameForChar() to let the upper level know the fallback font for individial characters. This commits a change that was submitted for review by... wangxianzhu1 @ https://codereview.appspot.com/6572059/ BUG=913 (http://code.google.com/p/skia/issues/detail?id=913) Review URL: https://codereview.appspot.com/6640048 git-svn-id: http://skia.googlecode.com/svn/trunk@5866 2bbb7eff-a529-9590-31e7-b0007b416f81
* cleanup coding style for r5825Gravatar djsollen@google.com2012-10-05
| | | | | | Review URL: https://codereview.appspot.com/6621054 git-svn-id: http://skia.googlecode.com/svn/trunk@5829 2bbb7eff-a529-9590-31e7-b0007b416f81
* Reduce Android Log Spam.Gravatar djsollen@google.com2012-10-05
| | | | | | | | The logging of system fonts is now hidden behind a #define Review URL: https://codereview.appspot.com/6609048 git-svn-id: http://skia.googlecode.com/svn/trunk@5825 2bbb7eff-a529-9590-31e7-b0007b416f81
* Upstream Clank's SkFontHost_Android DRT infinite loop fix.Gravatar tomhudson@google.com2012-09-04
| | | | | | | | | | | We may have to do future work to reconcile this with Android native; probably pending Android OS adding a font manager API. http://codereview.appspot.com/6497081/ git-svn-id: http://skia.googlecode.com/svn/trunk@5386 2bbb7eff-a529-9590-31e7-b0007b416f81
* Change Arabic sample character from 0x0600 to 0x0627.Gravatar djsollen@google.com2012-08-29
| | | | | | | | | | | Arabic font on some devices doesn't have 0x0600 glyph and is not correctly handled by complex text path. BUG=6772513 Review URL: https://codereview.appspot.com/6497053 git-svn-id: http://skia.googlecode.com/svn/trunk@5336 2bbb7eff-a529-9590-31e7-b0007b416f81
* [android] Add an API to load customized font config for testing.Gravatar djsollen@google.com2012-06-25
| | | | | | | | | | | When running WebKit layout tests, we need to load some fonts from Linux to match baselines of chromium linux. However, font config file is hard-coded in Skia now. This change add an API to customize font config in skia. https://codereview.appspot.com/6296067/ git-svn-id: http://skia.googlecode.com/svn/trunk@4316 2bbb7eff-a529-9590-31e7-b0007b416f81
* Store font family when serializing android fonts.Gravatar djsollen@google.com2012-06-01
| | | | | | Review URL: https://codereview.appspot.com/6259063 git-svn-id: http://skia.googlecode.com/svn/trunk@4114 2bbb7eff-a529-9590-31e7-b0007b416f81
* Update the implementation of SkTypeface_android.h functions.Gravatar djsollen@google.com2012-06-01
| | | | | | | | | | | This CL removes the hardcoded mappings of FallbackScripts to a particular font file and replaces it with a dynamic mechanism that takes a style and representative character code for a given FallbackScript class and returns the most appropriate SkTypeface that contains that character code. Review URL: https://codereview.appspot.com/6197074 git-svn-id: http://skia.googlecode.com/svn/trunk@4111 2bbb7eff-a529-9590-31e7-b0007b416f81
* Add SkFontDescriptor for serializing fonts.Gravatar djsollen@google.com2012-05-31
| | | | | | Review URL: https://codereview.appspot.com/6250080 git-svn-id: http://skia.googlecode.com/svn/trunk@4106 2bbb7eff-a529-9590-31e7-b0007b416f81
* Use a NDK-compliant way of reading locale.Gravatar djsollen@google.com2012-05-10
| | | | | | Remove !SK_BUILD_FOR_ANDROID_NDK from locale-related code git-svn-id: http://skia.googlecode.com/svn/trunk@3899 2bbb7eff-a529-9590-31e7-b0007b416f81
* remove unused ptr/len parameters from CreateTypefaceGravatar reed@google.com2012-05-07
| | | | | | Review URL: https://codereview.appspot.com/6201056 git-svn-id: http://skia.googlecode.com/svn/trunk@3862 2bbb7eff-a529-9590-31e7-b0007b416f81
* Upstream font changes from Android repository.Gravatar djsollen@google.com2012-05-04
| | | | | | Review URL: https://codereview.appspot.com/6166043 git-svn-id: http://skia.googlecode.com/svn/trunk@3838 2bbb7eff-a529-9590-31e7-b0007b416f81
* Fix deadlock in Android's font deserializer.Gravatar djsollen@google.com2012-03-30
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@3551 2bbb7eff-a529-9590-31e7-b0007b416f81
* Upstream changes from Android repository.Gravatar djsollen@google.com2012-03-21
| | | | | | Review URL: https://codereview.appspot.com/5752055 git-svn-id: http://skia.googlecode.com/svn/trunk@3449 2bbb7eff-a529-9590-31e7-b0007b416f81
* Fix broken android buildGravatar djsollen@google.com2012-03-15
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@3404 2bbb7eff-a529-9590-31e7-b0007b416f81
* Add CreateFallbackForScript to SkTypeface for Android.Gravatar djsollen@google.com2012-03-15
| | | | | | | | | | | | | | | WebKit uses HarfBuzz directly to do Complex Text Layout, so it needs to get the proper SkTypeface to pass it to HarfBuzz. However, on Android, fallback scripts have no name, and we can only get them by file name each time (CreateFromFile). This actually breaks the semantics of SkTypeface, which states 'The ID should be unique for the underlying font file/data, not unique per typeface instance.' And add 2 helper function to convert between FallbackScripts enum and font file name. These are useful for WebKit's FontCache, which needs string as key. https://codereview.appspot.com/5797066/ git-svn-id: http://skia.googlecode.com/svn/trunk@3403 2bbb7eff-a529-9590-31e7-b0007b416f81
* Remove SkFontHost::ValidFontID PART 2: remove definition and skia callers ↵Gravatar bungeman@google.com2012-02-24
| | | | | | | | | | not that Chrome's font host has been updated. See also https://chromiumcodereview.appspot.com/9347043/ http://codereview.appspot.com/5654055/ git-svn-id: http://skia.googlecode.com/svn/trunk@3255 2bbb7eff-a529-9590-31e7-b0007b416f81
* Lazily allocate gNameList, and protect its usage behind the global mutex.Gravatar djsollen@google.com2012-02-16
| | | | | | https://codereview.appspot.com/5674059 git-svn-id: http://skia.googlecode.com/svn/trunk@3207 2bbb7eff-a529-9590-31e7-b0007b416f81
* Fix regression where we disable fonts with no specified nameGravatar djsollen@google.com2012-02-15
| | | | | | Review URL: https://codereview.appspot.com/5675061 git-svn-id: http://skia.googlecode.com/svn/trunk@3202 2bbb7eff-a529-9590-31e7-b0007b416f81
* Merge changes from the android repo upstream to SkiaGravatar djsollen@google.com2012-02-15
| | | | | | Review URL: https://codereview.appspot.com/5545070 git-svn-id: http://skia.googlecode.com/svn/trunk@3199 2bbb7eff-a529-9590-31e7-b0007b416f81
* posix: Avoid static initializers in static/global mutexesGravatar digit@google.com2012-01-26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch removes static initializers related to static and global mutexes from the final library's machine code when building on a pthread-capable system. We use PTHREAD_MUTEX_INITIALIZER to perform POD-style initialization. You need a line like the following to declare a global mutex with it: SkBaseMutex gMutex = { PTHREAD_MUTEX_INITIALIZER }; We introduce the SK_DECLARE_STATIC_MUTEX and SK_DECLARE_GLOBAL_MUTEX macros to be able to declare static/global mutexes in the source tree uniformly. SkMutex is now defined as a sub-class of SkBaseMutex, with standard construction/destruction semantics. This is useful if the mutex object is a member of another C++ class, or allocated dynamically. We also modify a few places to refer to SkBaseMutex instead of a SkMutex, where it makes sense. Generally speaking, client code should hold and use pointers to SkBaseMutex whenever they can now. We defined a new built-time macro named SK_USE_POSIX_THREADS to indicate that we're using a pthread-based SkThread.h interface. The macro will also be used in future patches to implement other helper thread synchronization classes. Finally, we inline the acquire() and release() functions in the case of Posix to improve performance a bit. Running: 'bench -repeat 10 -match mutex' on an Android device or a 2.4GHz Xeon Linux desktop shows the following improvements: Before After Galaxy Nexus 1.64 1.45 Nexus S 1.47 1.16 Xoom 1.86 1.66 Xeon 0.36 0.31 This removes 5 static mutex initializers from the library Review URL: https://codereview.appspot.com/5501066 git-svn-id: http://skia.googlecode.com/svn/trunk@3091 2bbb7eff-a529-9590-31e7-b0007b416f81
* Add SkDEBUGFAIL to clean up use of SkASSERT(!"text");Gravatar tomhudson@google.com2011-12-28
| | | | | | | | | | catch a couple of latent SkASSERT("text") bugs. http://codereview.appspot.com/5504090/ git-svn-id: http://skia.googlecode.com/svn/trunk@2926 2bbb7eff-a529-9590-31e7-b0007b416f81
* add api to SkGraphics to get/set font cache limitGravatar reed@google.com2011-11-08
| | | | | | | | add SK_DEFAULT_FONT_CACHE_LIMIT to SkUserConfig, to override our default value git-svn-id: http://skia.googlecode.com/svn/trunk@2621 2bbb7eff-a529-9590-31e7-b0007b416f81
* Adding support to trunk for building Skia using the Android NDK.Gravatar djsollen@google.com2011-11-03
| | | | | | | | | | This CL depends on a subsequent CL to add the appropriate NDK toolchain and system sources to the skia repo. Review URL: http://codereview.appspot.com/5306089/ Review URL: http://codereview.appspot.com/5306089 git-svn-id: http://skia.googlecode.com/svn/trunk@2592 2bbb7eff-a529-9590-31e7-b0007b416f81
* Automatic update of all copyright notices to reflect new license terms.Gravatar epoger@google.com2011-07-28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | I have manually examined all of these diffs and restored a few files that seem to require manual adjustment. The following files still need to be modified manually, in a separate CL: android_sample/SampleApp/AndroidManifest.xml android_sample/SampleApp/res/layout/layout.xml android_sample/SampleApp/res/menu/sample.xml android_sample/SampleApp/res/values/strings.xml android_sample/SampleApp/src/com/skia/sampleapp/SampleApp.java android_sample/SampleApp/src/com/skia/sampleapp/SampleView.java experimental/CiCarbonSampleMain.c experimental/CocoaDebugger/main.m experimental/FileReaderApp/main.m experimental/SimpleCocoaApp/main.m experimental/iOSSampleApp/Shared/SkAlertPrompt.h experimental/iOSSampleApp/Shared/SkAlertPrompt.m experimental/iOSSampleApp/SkiOSSampleApp-Base.xcconfig experimental/iOSSampleApp/SkiOSSampleApp-Debug.xcconfig experimental/iOSSampleApp/SkiOSSampleApp-Release.xcconfig gpu/src/android/GrGLDefaultInterface_android.cpp gyp/common.gypi gyp_skia include/ports/SkHarfBuzzFont.h include/views/SkOSWindow_wxwidgets.h make.bat make.py src/opts/memset.arm.S src/opts/memset16_neon.S src/opts/memset32_neon.S src/opts/opts_check_arm.cpp src/ports/SkDebug_brew.cpp src/ports/SkMemory_brew.cpp src/ports/SkOSFile_brew.cpp src/ports/SkXMLParser_empty.cpp src/utils/ios/SkImageDecoder_iOS.mm src/utils/ios/SkOSFile_iOS.mm src/utils/ios/SkStream_NSData.mm tests/FillPathTest.cpp Review URL: http://codereview.appspot.com/4816058 git-svn-id: http://skia.googlecode.com/svn/trunk@1982 2bbb7eff-a529-9590-31e7-b0007b416f81
* add 2nd parameter to SkFontHost::NextLogicalFont()Gravatar reed@google.com2011-06-13
| | | | | | | | needed by android to map different styles of fallback fonts git-svn-id: http://skia.googlecode.com/svn/trunk@1562 2bbb7eff-a529-9590-31e7-b0007b416f81
* Upstreaming code from android repository.Gravatar djsollen@google.com2011-02-24
| | | | | | | | | | * fix for png decoder * clean up for SkFontHost reviewed by reed@google.com git-svn-id: http://skia.googlecode.com/svn/trunk@847 2bbb7eff-a529-9590-31e7-b0007b416f81
* add fixed-width attribute to typefaceGravatar reed@google.com2011-02-23
| | | | | | | | (patch from russellbrenner) git-svn-id: http://skia.googlecode.com/svn/trunk@837 2bbb7eff-a529-9590-31e7-b0007b416f81
* Cleanup SkPDFTypfaceInfo and make it more generic.Gravatar vandebo@chromium.org2011-02-02
| | | | | | | | | | | | Renamed to SkAdvancedTypefaceMetrics. Include Em size and return all metrics in unscaled font units. Make retrieval of advances optional. Reorder SkAdvancedTypefaceMetrics to be somewhat logical. Change the types of fields in SkAdvancedTypefaceMetrics to their minimum required size. Review URL: http://codereview.appspot.com/4121049 git-svn-id: http://skia.googlecode.com/svn/trunk@752 2bbb7eff-a529-9590-31e7-b0007b416f81
* Add Truetype and Type 1 font embedding supportGravatar vandebo@chromium.org2011-01-25
| | | | | | | | | | | | | | | | | | | | | | | | | Sorry this is such a large CL. It was very exploratory for me to make this work. - Add an interface to SkFontHost to retrieve font information and provide NULL implementations on all platforms except Linux. - Segment large Type 1 fonts into fonts with shared resources with 255 glyphs each. - Convert the various Type 1 formats to the form PDF wants. - Update font as we draw text instead of as part of the graphical state. - Remove built-in font support, we can't really use it. Other changes I can pull out to a separate CL if you like. - Add SkTScopedPtr class. - Fix double free of resources. - Fix bug in resource unique-ifying code. - Don't print anything for any empty clip path. - Fix copy paste error - MiterLimit. - Fix sign extension bug in SkPDFString - Fix FlateTest rename that was missed on a previous commit. Review URL: http://codereview.appspot.com/4082042 git-svn-id: http://skia.googlecode.com/svn/trunk@728 2bbb7eff-a529-9590-31e7-b0007b416f81
* fix for issue 93: need to rewind the shared stream each time openStream() is ↵Gravatar reed@google.com2011-01-04
| | | | | | called git-svn-id: http://skia.googlecode.com/svn/trunk@672 2bbb7eff-a529-9590-31e7-b0007b416f81
* Add a SkTypeface::CreateForChars() function.Gravatar agl@chromium.org2010-04-20
| | | | | | | | | | | | This allows us to do font fallback for strange scripts. Added empty stubs to the implementations on all platforms. Patch-by: Evan Martin Signed-off-by: Adam Langley http://codereview.appspot.com/950041 git-svn-id: http://skia.googlecode.com/svn/trunk@557 2bbb7eff-a529-9590-31e7-b0007b416f81
* update for new fontsGravatar reed@android.com2010-03-02
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@517 2bbb7eff-a529-9590-31e7-b0007b416f81
* add GetFileName api to SkFontHostGravatar reed@android.com2009-07-31
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@299 2bbb7eff-a529-9590-31e7-b0007b416f81
* pull latest from androidGravatar reed@android.com2009-03-20
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@132 2bbb7eff-a529-9590-31e7-b0007b416f81
* Simplify font-chaining (fallbacks) to have fonthost just return the nextGravatar reed@android.com2009-03-17
| | | | | | | | | | logical fontID. Extend ImageRef to accept an imagedecoder factory, to replace calling the std one. git-svn-id: http://skia.googlecode.com/svn/trunk@125 2bbb7eff-a529-9590-31e7-b0007b416f81
* fix leak in DeserializeGravatar reed@android.com2009-03-06
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@112 2bbb7eff-a529-9590-31e7-b0007b416f81
* fix ref() in CreateTypefaceGravatar reed@android.com2009-03-05
| | | | | | | | fix comment in SkDraw.cpp git-svn-id: http://skia.googlecode.com/svn/trunk@111 2bbb7eff-a529-9590-31e7-b0007b416f81
* Significant cleanup in api, and more importantly in sementics, of SkFontHostGravatar reed@android.com2009-03-04
| | | | | | | | | | | | | | - FindTypeface is now CreateTypeface, and what it returns is always considered a new instance, even if it is from a cache (in which case it will have been ref()'d. The caller must always balance its ownership by calling unref() on the result when they are done. - CloseStream is gone, since the caller can/must call stream->unref() when they are done using it. - ResolveTypeface is now ValidFontID, and just returns a bool. git-svn-id: http://skia.googlecode.com/svn/trunk@109 2bbb7eff-a529-9590-31e7-b0007b416f81
* pull from android - add createfromfile entry-pointGravatar reed@android.com2008-12-23
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@51 2bbb7eff-a529-9590-31e7-b0007b416f81
* grab from latest androidGravatar reed@android.com2008-12-17
git-svn-id: http://skia.googlecode.com/svn/trunk@27 2bbb7eff-a529-9590-31e7-b0007b416f81