aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/ports/SkFontHost_win.cpp
Commit message (Collapse)AuthorAge
...
* BUG=skia:Gravatar herb2015-02-25
| | | | | | | | | | (mtklein from here on) No public API changes. TBR=reed@google.com Committed: https://skia.googlesource.com/skia/+/f8d24e2c0c7b44b7ccf20e40890514db4cde7b15 Review URL: https://codereview.chromium.org/939123002
* Revert of Make fID and MixedID calculations private (patchset #5 id:80001 of ↵Gravatar scroggo2015-02-24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | https://codereview.chromium.org/939123002/) Reason for revert: This actually *does* change the public API - fID is now private, and it was being used on Android. See https://android-build.storage.googleapis.com/builds/git_master-skia-linux-volantis-userdebug/1751533/5242b865d3e9bebc650c9b326dfa9d68c8bd1f59562bf32b85301fb984dc8b26/logs/build.log?Signature=Q0el9M4kTu1KQ8u02KX9TH1Pa22y9BkDK1IW%2B9OeJJNfrDEVzLXAz0XQ%2BHHQM8xVjft06jZJva1V8InZmgjcOk6PdZQbQW6XwwsHLKsbpbAE48iTWH3AlJAAoTtj9cifzgeHW8g80IcVxwHXmINRER%2BLPz3eHGisgfTTFUoWYCc%3D&GoogleAccessId=701025073339-mqn0q2nvir9iurm6q5d00tdv7blbgvjr%40developer.gserviceaccount.com&Expires=1424786471 : In file included from frameworks/base/libs/hwui/tests/../font/Font.cpp:26:0: external/skia/src/core/SkGlyph.h: In member function 'android::uirenderer::CachedGlyphInfo* android::uirenderer::Font::cacheGlyph(const SkPaint*, glyph_t, bool)': external/skia/src/core/SkGlyph.h:157:17: error: 'uint32_t SkGlyph::fID' is private uint32_t fID; ^ frameworks/base/libs/hwui/tests/../font/Font.cpp:482:39: error: within this context newGlyph->mGlyphIndex = skiaGlyph.fID; We need to update Android in order to hide fID. Original issue's description: > BUG=skia: > > (mtklein from here on) > No public API changes. > TBR=reed@google.com > > Committed: https://skia.googlesource.com/skia/+/f8d24e2c0c7b44b7ccf20e40890514db4cde7b15 TBR=mtklein@google.com,herb@google.com NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=skia: Review URL: https://codereview.chromium.org/951353002
* BUG=skia:Gravatar herb2015-02-24
| | | | | | | | (mtklein from here on) No public API changes. TBR=reed@google.com Review URL: https://codereview.chromium.org/939123002
* Remove SkFontHost includes and friends.Gravatar bungeman2015-02-23
| | | | | | | SkFontHost no longer exists as a class, so remove the includes and stop making it a friend. Review URL: https://codereview.chromium.org/943333004
* 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
* remove dead SkPersp macrosGravatar reed2015-01-20
| | | | | | | BUG=skia: TBR= Review URL: https://codereview.chromium.org/864713002
* 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
* Factor text size device mapping in SkScalerContext.Gravatar bungeman2014-12-05
| | | | | | | | | | | | | All of our font back-ends use the text size in some way other than simple concatentation with the current matrix. The code here finds the full device matrix and then decomposes it to extract the text size. FreeType, GDI, and DirectWrite use the text size as the pre-hint scale. CoreText will not scale color emoji above the requested text size, and certain features like 'trak' are performed on the text size. Review URL: https://codereview.chromium.org/748883005
* change roundOut() to take a dst, so we can use that signature to return IRectGravatar reed2014-11-18
| | | | | | | BUG=skia: TBR=robertphilips Review URL: https://codereview.chromium.org/731373003
* Enforce pure virtual behavior for onMatchFamilyStyleCharacterGravatar djsollen2014-11-14
| | | | | | | | | All impls that previously did not define the functions have been updated to return NULL. NOTRY=true Review URL: https://codereview.chromium.org/728873002
* remove unused kLCD_MaskFormatGravatar reed2014-11-13
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/728673002
* Remove a pointless use of SkWeakRefCnt.Gravatar mtklein2014-10-24
| | | | | | | | | Can't quite get rid of SkWeakRefCnt yet... SkFontMgr_indirect uses it to cache SkTypefaces, and I don't quite understand it enough yet to cut out the weak refs. BUG=skia:3065 Review URL: https://codereview.chromium.org/664173003
* Replace SkTypeface::Style with SkFontStyle.Gravatar bungeman2014-10-20
| | | | | | Committed: https://skia.googlesource.com/skia/+/43b8b36b20ae00e2d78421c4cda1f3f922983a20 Review URL: https://codereview.chromium.org/488143002
* Revert of Replace SkTypeface::Style with SkFontStyle. (patchset #9 id:160001 ↵Gravatar mtklein2014-10-20
| | | | | | | | | | | | | | | | | | | | of https://codereview.chromium.org/488143002/) Reason for revert: CrOS GM failures: [*] 2 ExpectationsMismatch: fontmgr_iter_565.png fontmgr_iter_8888.png Original issue's description: > Replace SkTypeface::Style with SkFontStyle. > > Committed: https://skia.googlesource.com/skia/+/43b8b36b20ae00e2d78421c4cda1f3f922983a20 TBR=reed@google.com,bungeman@google.com NOTREECHECKS=true NOTRY=true Review URL: https://codereview.chromium.org/667023002
* Replace SkTypeface::Style with SkFontStyle.Gravatar bungeman2014-10-20
| | | | Review URL: https://codereview.chromium.org/488143002
* Add onGetFamilyName to SkTypeface.Gravatar bungeman2014-09-17
| | | | | | | | | | | This speeds up and documents this particular feature of SkTypeface and also frees up SkFontDescriptor to be used only in serialization. R=reed@google.com Author: bungeman@google.com Review URL: https://codereview.chromium.org/574873002
* Remove ALL font fallback logic from Skia.Gravatar djsollen2014-08-06
| | | | | | | | R=reed@google.com, bungeman@google.com, caryclark@google.com Author: djsollen@google.com Review URL: https://codereview.chromium.org/434623002
* Remove vertical/horizontal metrics selection.Gravatar bungeman2014-07-07
| | | | | | | | R=reed@google.com Author: bungeman@google.com Review URL: https://codereview.chromium.org/370463002
* Implement text rendering with NVPRGravatar kkinnunen2014-06-24
| | | | | | | | | | | | | | | | | | | | | | | | Use path rendering to render the text from outlines if supported by the GPU. Implement this in GrStencilAndCoverTextContext by copying chunks of code from GrBitmapTextContext. The drawing is implemented with "instanced" path drawing functions. Moves the creation of the "main" text context from SkGpuDevice to the GrContext::createTextContext. This is done because the decision of which text renderer is optimal can be made only with the internal implementation-specific information of the context. Remove a windows assertion from SkScalerContext_GDI::getGDIGlyphPath. The GetGlyphOutlineW fails in fontmgr_match for the initial space char in the string " [700] ...". According to MSDN, this is a known problem. Just return that the glyph has no path data in these cases. R=jvanverth@google.com, bsalomon@google.com, mtklein@google.com Author: kkinnunen@nvidia.com Review URL: https://codereview.chromium.org/196133014
* [PDF] Fix font embedding restrictions.Gravatar vandebo2014-06-19
| | | | | | | | | | | | Stop using restricted font outlines and honor don't subset restriction. Resubmit of r12600. R=halcanary@google.com, bungeman@google.com, reed@google.com Author: vandebo@chromium.org Review URL: https://codereview.chromium.org/334443002
* Remove SK_IGNORE_UNDERLINE_POSITION_FIX now that it is no longer used.Gravatar bungeman@google.com2014-05-22
| | | | | | | | R=reed@google.com Review URL: https://codereview.chromium.org/294663016 git-svn-id: http://skia.googlecode.com/svn/trunk@14849 2bbb7eff-a529-9590-31e7-b0007b416f81
* Stage fixes for underline position.Gravatar commit-bot@chromium.org2014-05-14
| | | | | | | | | | R=reed@google.com Author: bungeman@google.com Review URL: https://codereview.chromium.org/271333002 git-svn-id: http://skia.googlecode.com/svn/trunk@14726 2bbb7eff-a529-9590-31e7-b0007b416f81
* Fix typo in SkFontHost_win.cpp in comment.Gravatar bungeman@google.com2014-05-09
| | | | | | | We want the 'size', not the 'side'. git-svn-id: http://skia.googlecode.com/svn/trunk@14667 2bbb7eff-a529-9590-31e7-b0007b416f81
* Fix size of rotated text with FreeType.Gravatar bungeman@google.com2014-04-15
| | | | | | | | | | | | | This generalizes and shares the solution found for a similar issue with GDI. The issue is that the text size is applied early, and the rest of the transformation late. This allows us to isolate and independently control the text size from the rest of the transformation. R=reed@google.com Review URL: https://codereview.chromium.org/213153006 git-svn-id: http://skia.googlecode.com/svn/trunk@14201 2bbb7eff-a529-9590-31e7-b0007b416f81
* A remotable font management interface and DirectWrite implementation.Gravatar bungeman@google.com2014-03-21
| | | | | | | | | | | | The introduced SkRemotableFontMgr is a font management interface designed for simple and fast proxy support. SkFontMgr_Indirect bridges a SkRemotableFontMgr and a local SkFontMgr to present a SkFontMgr interface. This change is to be followed by https://codereview.chromium.org/132113015/ and https://codereview.chromium.org/206693003 . R=reed@google.com Review URL: https://codereview.chromium.org/206683002 git-svn-id: http://skia.googlecode.com/svn/trunk@13897 2bbb7eff-a529-9590-31e7-b0007b416f81
* Adding code to calculate Underline Thickness from Font Metrics, this will be ↵Gravatar commit-bot@chromium.org2014-03-01
| | | | | | | | | | | | | useful when Skia is used with Blink/Chrome. Blink changes are uploaded with code change in patch https://codereview.chromium.org/147703002/ BUG=skia: R=reed@android.com, edisonn@google.com, reed@google.com, mtklein@google.com, mtklein@chromium.org, bungeman@google.com Author: h.joshi@samsung.com Review URL: https://codereview.chromium.org/152073003 git-svn-id: http://skia.googlecode.com/svn/trunk@13635 2bbb7eff-a529-9590-31e7-b0007b416f81
* Make SkFontMgr interface const.Gravatar commit-bot@chromium.org2014-02-04
| | | | | | | | | | | | COLLABORATOR=mtklein@chromium.org BUG=skia: R=reed@google.com, bungeman@google.com, mtklein@chromium.org Author: mtklein@google.com Review URL: https://codereview.chromium.org/134643028 git-svn-id: http://skia.googlecode.com/svn/trunk@13314 2bbb7eff-a529-9590-31e7-b0007b416f81
* Clarify kAutohinting is kForceAutohinting.Gravatar bungeman@google.com2014-01-23
| | | | | | | | | BUG=skia:2047 R=reed@google.com Review URL: https://codereview.chromium.org/139943004 git-svn-id: http://skia.googlecode.com/svn/trunk@13156 2bbb7eff-a529-9590-31e7-b0007b416f81
* Basic support for vector FON. Gravatar bungeman@google.com2014-01-23
| | | | | | | | | | | | This change gives vector FON fonts slightly better support than bitmap FON fonts which we already have some support for. This also fixes the calculation of the y component of advances for bitmap and vector FON glyphs. git-svn-id: http://skia.googlecode.com/svn/trunk@13150 2bbb7eff-a529-9590-31e7-b0007b416f81
* deprecate SkScalarRound (and its ilk), use SkScalarRound[ToInt,ToScalar]. ↵Gravatar reed@google.com2013-12-17
| | | | | | | | | | | #define SK_SUPPORT_DEPRECATED_SCALARROUND for legacy clients BUG= R=robertphillips@google.com Review URL: https://codereview.chromium.org/111353003 git-svn-id: http://skia.googlecode.com/svn/trunk@12719 2bbb7eff-a529-9590-31e7-b0007b416f81
* Revert "[PDF] Fix font embedding restrictions."Gravatar vandebo@chromium.org2013-12-10
| | | | | | | | This reverts r12600 and r12601, likely causing crash on Mac. Review URL: https://codereview.chromium.org/111893002 git-svn-id: http://skia.googlecode.com/svn/trunk@12604 2bbb7eff-a529-9590-31e7-b0007b416f81
* Fix missing ; in win code.Gravatar vandebo@chromium.org2013-12-10
| | | | | | Review URL: https://codereview.chromium.org/104533005 git-svn-id: http://skia.googlecode.com/svn/trunk@12601 2bbb7eff-a529-9590-31e7-b0007b416f81
* [PDF] Fix font embedding restrictions.Gravatar commit-bot@chromium.org2013-12-10
| | | | | | | | | | | | Stop using restricted font outlines and honor don't subset restriction. R=reed@google.com, bungeman@google.com Author: vandebo@chromium.org Review URL: https://codereview.chromium.org/107863002 git-svn-id: http://skia.googlecode.com/svn/trunk@12600 2bbb7eff-a529-9590-31e7-b0007b416f81
* remove SkFloatToScalar macroGravatar commit-bot@chromium.org2013-11-25
| | | | | | | | | | | BUG= R=reed@google.com, djsollen@google.com Author: caryclark@google.com Review URL: https://codereview.chromium.org/85463005 git-svn-id: http://skia.googlecode.com/svn/trunk@12385 2bbb7eff-a529-9590-31e7-b0007b416f81
* De-generalize create_typeface on Windows.Gravatar bungeman@google.com2013-11-20
| | | | | | | | | | | | The gdi and dw backends have a local create_typeface function. This function is now called in only one place, onLegacyCreateTypeface. Move the implementation into the caller. R=caryclark@google.com Review URL: https://codereview.chromium.org/76763002 git-svn-id: http://skia.googlecode.com/svn/trunk@12313 2bbb7eff-a529-9590-31e7-b0007b416f81
* Guard against most unintentionally ephemeral SkAutoFoo instantiations.Gravatar commit-bot@chromium.org2013-11-18
| | | | | | | | | | | | | | | | | | | I think I applied the trick everywhere possible. Limitations: - can't be used with templated classes - all constructors and destructors must be defined inline A couple of the SkAutoFoo were unused in Skia, Chromium, and Android, so I deleted them. This change caught the same bugs Cary found in SkPath, plus one more in SampleApp. BUG= R=reed@google.com, caryclark@google.com Author: mtklein@google.com Review URL: https://codereview.chromium.org/72603005 git-svn-id: http://skia.googlecode.com/svn/trunk@12301 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
* Implement charToGlyph on remaining ports.Gravatar bungeman@google.com2013-10-24
| | | | | | | | R=reed@google.com Review URL: https://codereview.chromium.org/22859070 git-svn-id: http://skia.googlecode.com/svn/trunk@11955 2bbb7eff-a529-9590-31e7-b0007b416f81
* Second wave of Win64 warning cleanupGravatar robertphillips@google.com2013-10-15
| | | | | | | | https://codereview.chromium.org/27343002/ git-svn-id: http://skia.googlecode.com/svn/trunk@11778 2bbb7eff-a529-9590-31e7-b0007b416f81
* Improve SkScalerContext_GDI::generateCharToGlyph for non-BMP code points.Gravatar bungeman@google.com2013-10-08
| | | | | | | | | | Sometimes, when ScriptShape is presented with a surrogate pair which does not map to a glyph, it returns two space glyphs instead of .notdef (0). Detect this class of issues and handle appropriately. git-svn-id: http://skia.googlecode.com/svn/trunk@11660 2bbb7eff-a529-9590-31e7-b0007b416f81
* Snap GDI matrix when snapping height.Gravatar bungeman@google.com2013-10-03
| | | | | | | | | | | | | When using GDI to render, ensure that the GDI matrix does not attempt to add subpixel height. This ensures that rotated text is always the same height as axis aligned text and prevents subpixel drift metrics when they are unwanted. R=reed@google.com Review URL: https://codereview.chromium.org/25739002 git-svn-id: http://skia.googlecode.com/svn/trunk@11592 2bbb7eff-a529-9590-31e7-b0007b416f81
* Fix slight hinting with GDI.Gravatar bungeman@google.com2013-09-20
| | | | | | | | | | | Sometimes GDI manages to return a different number of points for hinted and non-hinted outlines. This change handles that case and falls back to non-hinted. This does not re-enable slight hinting, so there should be no observable difference in tests. There are still issues with 'D' in some font/size combinations where 'flips' are used. git-svn-id: http://skia.googlecode.com/svn/trunk@11417 2bbb7eff-a529-9590-31e7-b0007b416f81
* Return canonical logfont size to 64.Gravatar bungeman@google.com2013-09-08
| | | | | | | | | | | | This is to fix crbug/277301. With skia:r9057 the canonical logfont size was set to 2048 in an attempt to get better font metrics. The font size is now being handled in a cleaner way, so this motivation no longer exists. However, when the logfont size is large GDI will substitute a vector font for a bitmap font. This results in incorrect results for bitmap fonts as they are no longer properly detected by the typeface. git-svn-id: http://skia.googlecode.com/svn/trunk@11145 2bbb7eff-a529-9590-31e7-b0007b416f81
* export SkFontMgr_New_... experimental functions for testing in chromeGravatar reed@google.com2013-08-28
| | | | | | | | | BUG= R=eae@chromium.org Review URL: https://codereview.chromium.org/23555004 git-svn-id: http://skia.googlecode.com/svn/trunk@10991 2bbb7eff-a529-9590-31e7-b0007b416f81
* Sanitizing source files in Housekeeper-NightlyGravatar skia.committer@gmail.com2013-08-28
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@10968 2bbb7eff-a529-9590-31e7-b0007b416f81
* Fix _GDI::generateCharToGlyph to properly handle missing glyphs.Gravatar bungeman@google.com2013-08-27
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@10945 2bbb7eff-a529-9590-31e7-b0007b416f81
* allow both GDI and DW fontmgrs at the same timeGravatar bungeman@google.com2013-08-21
| | | | | | | | | | | | | BUG= R=bungeman@google.com Committed: https://code.google.com/p/skia/source/detail?r=10718 Committed: https://code.google.com/p/skia/source/detail?r=10788 Review URL: https://codereview.chromium.org/23058002 git-svn-id: http://skia.googlecode.com/svn/trunk@10851 2bbb7eff-a529-9590-31e7-b0007b416f81
* Revert r10788 (allow both GDI and DW fontmgrs at the same time) due to ↵Gravatar robertphillips@google.com2013-08-20
| | | | | | Chromium XP bot failures git-svn-id: http://skia.googlecode.com/svn/trunk@10813 2bbb7eff-a529-9590-31e7-b0007b416f81
* allow both GDI and DW fontmgrs at the same timeGravatar bungeman@google.com2013-08-16
| | | | | | | | | | | BUG= R=bungeman@google.com Committed: https://code.google.com/p/skia/source/detail?r=10718 Review URL: https://codereview.chromium.org/23058002 git-svn-id: http://skia.googlecode.com/svn/trunk@10788 2bbb7eff-a529-9590-31e7-b0007b416f81