skia2/include
halcanary 4871f22777 SkPDF: Glyph validation change
Instead of mapping invaid glyphIDs to zero or maxGlyphID,
don't draw them at all.

Validate glyphs when glyph is written, not ahead of time.

Don't allocate array to copy user-provided glyphs.

Easy early exit from SkPDFDevice::internalDrawText()
    GlyphPositioner::flush() called ~GlyphPositioner()
    SkScopeExit class now exists.

Assume SkTypeface* pointers are now never null in more
places.

precalculate alignmentFactor to clean up code.

SkPDFDevice::updateFont must be called with validated
glyphID.  Skip bad glyphs to make this true.

SkPDFDevice::updateFont always succeeds.

SkPDFFont::GetFontResource always succeeds (preconditions are
asserted).  If GetMetrics fails, don't call GetFontResource.

SkPDFFont::glyphsToPDFFontEncodingCount() becomes
SkPDFFont::countStretch() and is inlined.

SkPDFFont::glyphsToPDFFontEncoding now works one Glyph at a
time and is inlined.

SkPDFFont::noteGlyphUsage() operates one glyph at a time.

Add SkScopeExit.h; also a unit test for it.

SkPostConfig: Fix SK_UNUSED for Win32.

No public API changes.
TBR=reed@google.com

BUG=625995

GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2278703002

Review-Url: https://codereview.chromium.org/2278703002
2016-08-26 13:17:44 -07:00
..
android Delete SkBitmapRegionCanvas 2016-05-18 06:23:57 -07:00
animator Change SkTime::GetMSecs to double; ensure values stored in SkMSec do not overflow. 2016-03-25 12:59:53 -07:00
c spin off easy stuff from Herb's windows GN CL 2016-08-04 06:19:33 -07:00
codec Modify SkPngCodec to recognize 565 images from the sBIT chunk 2016-08-17 08:54:08 -07:00
config gyp/sfntly: set SK_SFNTLY_SUBSETTER uniformly 2016-08-24 12:28:38 -07:00
core SkPDF: Glyph validation change 2016-08-26 13:17:44 -07:00
effects Moving SkBlurImageFilter into core 2016-08-23 11:13:14 -07:00
gpu Converts a drawPaint through a rrect clip to a drawRRect in GrDrawContext. 2016-08-26 10:48:19 -07:00
images gn: fix fiddle 2016-08-02 11:13:49 -07:00
pathops Move SkTDArray to private. 2016-02-18 08:53:33 -08:00
ports Remove no longer existing friend. 2016-08-10 09:23:43 -07:00
private Add drawRegion() API to SkCanvas 2016-08-25 13:54:30 -07:00
svg Delete the legacy SVG parser 2016-07-19 06:12:54 -07:00
utils Plumb drawArc to SkDevice. 2016-08-19 11:25:20 -07:00
views Remove use of MakeRenderTargetDirect from view system 2016-07-28 15:17:34 -07:00
xml Initial SVG model 2016-07-26 18:46:34 -07:00