aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/sfnt
Commit message (Collapse)AuthorAge
* Set the kMultiMaster_FontFlag in DirectWrite.Gravatar Ben Wagner2017-04-07
| | | | | | | | | | | | DirectWrite can now produce system font typefaces which are variations, so mark these as multiple masters so printing knows what to do. BUG=chromium:697916 Change-Id: Idf09ebba3c7002a09ff2e4a2dbae13dbce4e79d4 Reviewed-on: https://skia-review.googlesource.com/12101 Commit-Queue: Ben Wagner <bungeman@google.com> Reviewed-by: Hal Canary <halcanary@google.com>
* Make header files self-sufficientGravatar Hal Canary2017-02-10
| | | | | | | Change-Id: Ice7d761b1023da77e50e5d6aa597964f7d9aa1d8 Reviewed-on: https://skia-review.googlesource.com/8302 Commit-Queue: Hal Canary <halcanary@google.com> Reviewed-by: Mike Reed <reed@google.com>
* Move two skia arrays to read-only data segmentGravatar Bruce Dawson2017-01-03
| | | | | | | | | | | | | | | | | The BCP47FromLanguageID and UnicodeFromMacRoman arrays are logically const but were not marked as such. Marking them as const lets the compiler/linker store them in the read-only data segment, which is strictly better than being in read/write memory. This change moves about 3,000 bytes from the .data to .rdata segment in both chrome.dll and chrome_child.dll. BUG=677351 Change-Id: I85ff44d61aa232cf29178833fd2bb2e004032b9e Reviewed-on: https://skia-review.googlesource.com/6424 Reviewed-by: Brian Salomon <bsalomon@google.com> Reviewed-by: Bruce Dawson <brucedawson@chromium.org> Commit-Queue: Mike Klein <mtklein@chromium.org>
* Remove SkAutoTDeleteArrayGravatar Ben Wagner2016-11-02
| | | | | | | | | | | | This class is already just an alias for std::unique_ptr<T[]>, so replace all uses with that and delete the class. CQ_INCLUDE_TRYBOTS=master.client.skia:Test-Ubuntu-Clang-GCE-CPU-AVX2-x86_64-Debug-ASAN-Trybot,Test-Ubuntu-Clang-Golo-GPU-GT610-x86_64-Debug-ASAN-Trybot Change-Id: I40668d398356a22da071ee791666c7f728b59266 Reviewed-on: https://skia-review.googlesource.com/4362 Reviewed-by: Mike Reed <reed@google.com> Reviewed-by: Mike Klein <mtklein@chromium.org>
* Simplify embeddability test.Gravatar bungeman2016-08-19
| | | | | | | | | There is no reason to read the whole OS/2 table, and no need to spell out the full names of all the types over and over. GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2256783002 Review-Url: https://codereview.chromium.org/2256783002
* Move FamilyClass and Panose enums to enum class.Gravatar bungeman2016-08-17
| | | | | | | | The IBMFamilyClass and Panose structures are obvious candidates for simplification now that it is no longer necessary to nest enums inside structs to avoid name clashes. Review-Url: https://codereview.chromium.org/2253543004
* Remove SkPreprocessorSeq.h and SkTypedEnum.h.Gravatar bungeman2016-08-16
| | | | | | | | These were added to allow the use of typed enums before typed enums were available on all platforms. Now that typed enums are available, just use them directly. Review-Url: https://codereview.chromium.org/2254513002
* Make SkOTTable_name.cpp UTF-8.Gravatar Ben Wagner2016-07-19
| | | | When editing on Windows this file became iso-8859-1.
* detach -> releaseGravatar mtklein2016-03-16
| | | | | | | | | | | | | The C++ standard library uses the name "release" for the operation we call "detach". Rewriting each "detach(" to "release(" brings us a step closer to using standard library types directly (e.g. std::unique_ptr instead of SkAutoTDelete). This was a fairly blind transformation. There may have been unintentional conversions in here, but it's probably for the best to have everything uniformly say "release". BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1809733002 Review URL: https://codereview.chromium.org/1809733002
* Make sp variants for SkDataGravatar reed2016-03-11
| | | | Review URL: https://codereview.chromium.org/1779263003
* Remove version checks for _MSC_VER < 1800 (msvs2013).Gravatar bungeman2016-03-10
| | | | | | | | | | | | We already actively do not support older versions of the vc++ compiler and runtime, so don't check for them anymore. TBR=reed No API changes. GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1777213003 Review URL: https://codereview.chromium.org/1777213003
* Style Change: NULL->nullptrGravatar halcanary2015-08-27
| | | | | | DOCS_PREVIEW= https://skia.org/?cl=1316233002 Review URL: https://codereview.chromium.org/1316233002
* Use static_assert instead of SK_COMPILE_ASSERT.Gravatar bungeman2015-08-20
| | | | | | | Now that static_assert is allowed, there is no need to use a non- standard compile time assertion Review URL: https://codereview.chromium.org/1306443004
* Move SkTemplates.h to private.Gravatar bungeman2015-08-19
| | | | | | | | SkTemplates.h contains a number of Skia specific utilities which are not designed for external use. In addition to reducing the external support burden, this will allow Skia to freely refactor this file. Review URL: https://codereview.chromium.org/1272293004
* C++11 override should now be supported by all of {bots,Chrome,Android,Mozilla}Gravatar mtklein2015-03-25
| | | | | | | | | NOPRESUBMIT=true BUG=skia: DOCS_PREVIEW= https://skia.org/?cl=1037793002 Review URL: https://codereview.chromium.org/1037793002
* SkTypeface to use SkStreamAsset.Gravatar bungeman2015-01-27
| | | | | | | SkTypeface already requires typeface streams to support SkStreamAsset in practice, and in practice all users are already supplying them. Review URL: https://codereview.chromium.org/869763002
* Make SkStream *not* ref counted.Gravatar scroggo2015-01-21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | SkStream is a stateful object, so it does not make sense for it to have multiple owners. Make SkStream inherit directly from SkNoncopyable. Update methods which previously called SkStream::ref() (e.g. SkImageDecoder::buildTileIndex() and SkFrontBufferedStream::Create(), which required the existing owners to call SkStream::unref()) to take ownership of their SkStream parameters and delete when done (including on failure). Switch all SkAutoTUnref<SkStream>s to SkAutoTDelete<SkStream>s. In some cases this means heap allocating streams that were previously stack allocated. Respect ownership rules of SkTypeface::CreateFromStream() and SkImageDecoder::buildTileIndex(). Update the comments for exceptional methods which do not affect the ownership of their SkStream parameters (e.g. SkPicture::CreateFromStream() and SkTypeface::Deserialize()) to be explicit about ownership. Remove test_stream_life, which tested that buildTileIndex() behaved correctly when SkStream was a ref counted object. The test does not make sense now that it is not. In SkPDFStream, remove the SkMemoryStream member. Instead of using it, create a new SkMemoryStream to pass to fDataStream (which is now an SkAutoTDelete). Make other pdf rasterizers behave like SkPDFDocumentToBitmap. SkPDFDocumentToBitmap delete the SkStream, so do the same in the following pdf rasterizers: SkPopplerRasterizePDF SkNativeRasterizePDF SkNoRasterizePDF Requires a change to Android, which currently treats SkStreams as ref counted objects. Review URL: https://codereview.chromium.org/849103004
* Fix up all the easy virtual ... SK_OVERRIDE cases.Gravatar mtklein2015-01-09
| | | | | | | | | | | | This fixes every case where virtual and SK_OVERRIDE were on the same line, which should be the bulk of cases. We'll have to manually clean up the rest over time unless I level up in regexes. for f in (find . -type f); perl -p -i -e 's/virtual (.*)SK_OVERRIDE/\1SK_OVERRIDE/g' $f; end BUG=skia: Review URL: https://codereview.chromium.org/806653007
* More win64 warning fixesGravatar bsalomon2014-12-12
| | | | Review URL: https://codereview.chromium.org/798723002
* SkData can allocate room for its contents in the same blockGravatar reed2014-09-11
| | | | | | | | | BUG=skia: R=bungeman@google.com, mtklein@google.com Author: reed@google.com Review URL: https://codereview.chromium.org/560653004
* Correct order for alignment in name iterator record.Gravatar bungeman2014-08-18
| | | | | | | | | | | | | | | We must be quite careful about the order of fields in a 'pragma pack(1)'. On Android the order 'uint16_t, void*' will misalign the pointer, potentially leading to a crash. In the future we should move anything which is not strictly part of the table definition outside of the packed region. R=mtklein@google.com Author: bungeman@google.com Review URL: https://codereview.chromium.org/474313002
* Fix some issues with sfnt maxp headers.Gravatar bungeman2014-07-15
| | | | | | | | | | | The TT version was missing the second to last member, and the names of the asserts in the CFF version were wrong. R=mtklein@google.com Author: bungeman@google.com Review URL: https://codereview.chromium.org/390203003
* Better rendering detection with DirectWrite.Gravatar bungeman2014-06-23
| | | | | | | | | | | When requesting embedded bitmaps, all sizes in a gridfit gasp range with a bitmap in that range should be gridfit to the fullest extent possible. R=eae@chromium.org, reed@google.com, mtklein@google.com Author: bungeman@google.com Review URL: https://codereview.chromium.org/341343002
* Add support for kEmbeddedBitmapText_Flag to DirectWrite.Gravatar bungeman@google.com2014-05-01
| | | | | | | | R=reed@google.com Review URL: https://codereview.chromium.org/263503004 git-svn-id: http://skia.googlecode.com/svn/trunk@14518 2bbb7eff-a529-9590-31e7-b0007b416f81
* fix size_t/int warningsGravatar commit-bot@chromium.org2014-04-23
| | | | | | | | | | | BUG=skia: R=mtklein@google.com Author: reed@google.com Review URL: https://codereview.chromium.org/247753003 git-svn-id: http://skia.googlecode.com/svn/trunk@14332 2bbb7eff-a529-9590-31e7-b0007b416f81
* Fold SkTSetBit into SkOTSet*Bit.Gravatar commit-bot@chromium.org2014-04-01
| | | | | | | | | | | BUG=b/13729420 R=bungeman@google.com, mtklein@google.com, bsalomon@google.com, reed@google.com Author: mtklein@chromium.org Review URL: https://codereview.chromium.org/219023011 git-svn-id: http://skia.googlecode.com/svn/trunk@14009 2bbb7eff-a529-9590-31e7-b0007b416f81
* Fix (1 << 31) to (1u << 31) in SkOTTable_OS_2.Gravatar bungeman@google.com2014-03-12
| | | | | | | | | | | | When ints are 32 bits, (1 << 31) is undefined. R=reed@google.com Committed: https://code.google.com/p/skia/source/detail?r=13757 Review URL: https://codereview.chromium.org/189093020 git-svn-id: http://skia.googlecode.com/svn/trunk@13779 2bbb7eff-a529-9590-31e7-b0007b416f81
* Revert the rest of r13757.Gravatar bungeman@google.com2014-03-12
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@13759 2bbb7eff-a529-9590-31e7-b0007b416f81
* Revert 13757.Gravatar bungeman@google.com2014-03-12
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@13758 2bbb7eff-a529-9590-31e7-b0007b416f81
* Fix (1 << 31) to (1u << 31) in SkOTTable_OS_2.Gravatar bungeman@google.com2014-03-12
| | | | | | | | | | When ints are 32 bits, (1 << 31) is undefined. R=reed@google.com Review URL: https://codereview.chromium.org/189093020 git-svn-id: http://skia.googlecode.com/svn/trunk@13757 2bbb7eff-a529-9590-31e7-b0007b416f81
* Remove SK_FONTHOST_USES_FONTMGR.Gravatar bungeman@google.com2013-11-11
| | | | | | Review URL: https://codereview.chromium.org/66783003 git-svn-id: http://skia.googlecode.com/svn/trunk@12217 2bbb7eff-a529-9590-31e7-b0007b416f81
* We always read out of bounds here. Fix that.Gravatar mtklein@google.com2013-11-04
| | | | | | | | | | | Turns out the comment wasn't lying! BUG= R=bungeman@google.com Review URL: https://codereview.chromium.org/58473002 git-svn-id: http://skia.googlecode.com/svn/trunk@12123 2bbb7eff-a529-9590-31e7-b0007b416f81
* Add getFamilyNames to SkTypeface.Gravatar bungeman@google.com2013-08-07
| | | | | | | | Committed: https://code.google.com/p/skia/source/detail?r=10589 Review URL: https://codereview.chromium.org/21716005 git-svn-id: http://skia.googlecode.com/svn/trunk@10592 2bbb7eff-a529-9590-31e7-b0007b416f81
* Reverting r10589: Add getFamilyNames to SkTypefaceGravatar jvanverth@google.com2013-08-06
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@10590 2bbb7eff-a529-9590-31e7-b0007b416f81
* Add getFamilyNames to SkTypeface.Gravatar bungeman@google.com2013-08-06
| | | | | | Review URL: https://codereview.chromium.org/21716005 git-svn-id: http://skia.googlecode.com/svn/trunk@10589 2bbb7eff-a529-9590-31e7-b0007b416f81
* Fix invalid comparison between int16 and int16be in name table code.Gravatar bungeman@google.com2013-07-29
| | | | | | Review URL: https://codereview.chromium.org/21138005 git-svn-id: http://skia.googlecode.com/svn/trunk@10424 2bbb7eff-a529-9590-31e7-b0007b416f81
* One SkTSearch to rule them all. Allow key to be of different type than the ↵Gravatar bsalomon@google.com2013-05-17
| | | | | | | | | | array. R=bungeman@google.com Review URL: https://codereview.chromium.org/15070011 git-svn-id: http://skia.googlecode.com/svn/trunk@9182 2bbb7eff-a529-9590-31e7-b0007b416f81
* Sanitizing source files in Housekeeper-NightlyGravatar skia.committer@gmail.com2013-05-08
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@9051 2bbb7eff-a529-9590-31e7-b0007b416f81
* XPS ttc handling.Gravatar commit-bot@chromium.org2013-05-07
| | | | | | | | | | R=reed@google.com Author: bungeman@google.com Review URL: https://chromiumcodereview.appspot.com/14873006 git-svn-id: http://skia.googlecode.com/svn/trunk@9037 2bbb7eff-a529-9590-31e7-b0007b416f81
* Sanitizing source files in Skia_Periodic_House_KeepingGravatar skia.committer@gmail.com2013-04-03
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@8503 2bbb7eff-a529-9590-31e7-b0007b416f81
* Fix clang warning as error from 8480.Gravatar bungeman@google.com2013-04-02
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@8482 2bbb7eff-a529-9590-31e7-b0007b416f81
* Name table iterator.Gravatar bungeman@google.com2013-04-02
| | | | | | | https://codereview.appspot.com/8180043/ git-svn-id: http://skia.googlecode.com/svn/trunk@8480 2bbb7eff-a529-9590-31e7-b0007b416f81
* fix warning from scalar --> int32 conversionGravatar humper@google.com2013-01-07
| | | | | | | | BUG= Review URL: https://codereview.appspot.com/7065050 git-svn-id: http://skia.googlecode.com/svn/trunk@7061 2bbb7eff-a529-9590-31e7-b0007b416f81
* The short version of the 'loca' table stores offsets divided by 2.Gravatar bungeman@google.com2012-12-03
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@6657 2bbb7eff-a529-9590-31e7-b0007b416f81
* Sanitizing source files in Skia_Periodic_House_KeepingGravatar skia.committer@gmail.com2012-11-21
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@6521 2bbb7eff-a529-9590-31e7-b0007b416f81
* Additional OpenType tables.Gravatar bungeman@google.com2012-11-20
| | | | | | | https://codereview.appspot.com/6850075/ git-svn-id: http://skia.googlecode.com/svn/trunk@6509 2bbb7eff-a529-9590-31e7-b0007b416f81
* When looking for the head table directory entry, compare against the current ↵Gravatar bungeman@google.com2012-11-09
| | | | | | entry and not the name table entry. git-svn-id: http://skia.googlecode.com/svn/trunk@6368 2bbb7eff-a529-9590-31e7-b0007b416f81
* Explicitly cast to uin16_t to avoid an invalid implicit type narrowing.Gravatar george@mozilla.com2012-08-27
| | | | | | | | | | This was causing a build failure on OS X for us: SkOTTable_head.h:124:72: error: non-type template argument evaluates to -2, which cannot be narrowed to type 'uint16_t' (aka 'unsigned short') [-Wc++11-narrowing] Review URL: https://codereview.appspot.com/6482067 git-svn-id: http://skia.googlecode.com/svn/trunk@5290 2bbb7eff-a529-9590-31e7-b0007b416f81
* Result of running tools/sanitize_source_files.py (which was added in ↵Gravatar rmistry@google.com2012-08-23
| | | | | | | | | https://codereview.appspot.com/6465078/) This CL is part II of IV (I broke down the 1280 files into 4 CLs). Review URL: https://codereview.appspot.com/6474054 git-svn-id: http://skia.googlecode.com/svn/trunk@5263 2bbb7eff-a529-9590-31e7-b0007b416f81
* Remove multi-byte character constants.Gravatar bungeman@google.com2012-06-25
| | | | | | | http://codereview.appspot.com/6305117/ git-svn-id: http://skia.googlecode.com/svn/trunk@4317 2bbb7eff-a529-9590-31e7-b0007b416f81