skia2/samplecode
Ben Wagner 1ca50524c4 Allow better font fallback.
The intent is to allow the creation of a MakeFontMgrRunIterator which
uses the passed font's typeface as the primary typeface, but uses a
given family name and style as for the request for fallback fonts. This
allows the user to provide the actual request for the primary typeface
as opposed to making a request based on the resolved primary typeface
(which may not be the right thing to do).

To support this, the selection of language for fallback is also added.
Since this information is already in the language iterator, this change
makes the font iterator the lowest priority iterator for consume,
allowing the font iterator to rely on the current value of the language
iterator to provide the language.

In order to allow these changes to be exercised, this also adds a few
generic 'Make' methods for bidi and script. These new methods will use
the best available implementation. These are needed since the most
capable implementations may not always be available (such as on our
testing ios builds).

Change-Id: I1b8d9c9007058adcb2a26e0581d903b835a6118f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/245460
Commit-Queue: Ben Wagner <bungeman@google.com>
Reviewed-by: Herb Derby <herb@google.com>
2019-10-02 22:19:13 +00:00
..
DecodeFile.h Sample/Filter2View: make it work without /skimages 2019-07-08 17:05:23 +00:00
PerlinPatch.cpp tools/skui: put all enums in a common namespace 2019-08-29 15:39:32 +00:00
Sample2PtRadial.cpp Samples: add name() virtual 2019-07-03 17:41:16 +00:00
Sample.cpp Hook up pinch-zoom and swipe gestures. 2019-09-10 13:34:47 +00:00
Sample.h tools/skui: put all enums in a common namespace 2019-08-29 15:39:32 +00:00
SampleAAClip.cpp Revert "add guard to switch to SkPathTypes" 2019-09-14 19:13:44 +00:00
SampleAAGeometry.cpp tools/skui: put all enums in a common namespace 2019-08-29 15:39:32 +00:00
SampleAARectModes.cpp Samples: clean up cruft 2019-07-17 18:29:50 +00:00
SampleAARects.cpp more rect api simplifications 2019-08-25 10:12:57 +00:00
SampleAndroidShadows.cpp Revert "add guard to switch to SkPathTypes" 2019-09-14 19:13:44 +00:00
SampleAnimatedImage.cpp Samples: clean up cruft 2019-07-17 18:29:50 +00:00
SampleAnimatedText.cpp Samples: clean up cruft 2019-07-17 18:29:50 +00:00
SampleAnimBlur.cpp Samples: clean up cruft 2019-07-17 18:29:50 +00:00
SampleArc.cpp more rect api simplifications 2019-08-25 10:12:57 +00:00
SampleAtlas.cpp tools: separate TimeUtils from AnimTimer 2019-07-12 15:05:01 +00:00
SampleBackdropBounds.cpp Clean up prior backdrop-filter CL 2019-09-05 19:59:46 +00:00
SampleBitmapRect.cpp Samples: clean up cruft 2019-07-17 18:29:50 +00:00
SampleCamera.cpp tools: separate TimeUtils from AnimTimer 2019-07-12 15:05:01 +00:00
SampleCCPRGeometry.cpp More bounds fixes for StrokeRect and DefaultPath when using MSAA for non-aa. 2019-10-01 19:49:15 +00:00
SampleChart.cpp Samples: clean up cruft 2019-07-17 18:29:50 +00:00
SampleChineseFling.cpp Samples: clean up cruft 2019-07-17 18:29:50 +00:00
SampleCircle.cpp Samples: clean up cruft 2019-07-17 18:29:50 +00:00
SampleClip.cpp Revert "add guard to switch to SkPathTypes" 2019-09-14 19:13:44 +00:00
SampleClipDrawMatch.cpp Samples: clean up cruft 2019-07-17 18:29:50 +00:00
SampleClock.cpp Revert "add guard to switch to SkPathTypes" 2019-09-14 19:13:44 +00:00
SampleColorFilter.cpp more rect api simplifications 2019-08-25 10:12:57 +00:00
SampleComplexClip.cpp Revert "add guard to switch to SkPathTypes" 2019-09-14 19:13:44 +00:00
SampleCowboy.cpp Samples: clean up cruft 2019-07-17 18:29:50 +00:00
SampleCusp.cpp tools: separate TimeUtils from AnimTimer 2019-07-12 15:05:01 +00:00
SampleDegenerateQuads.cpp tools/skui: put all enums in a common namespace 2019-08-29 15:39:32 +00:00
SampleDegenerateTwoPtRadials.cpp tools: separate TimeUtils from AnimTimer 2019-07-12 15:05:01 +00:00
SampleEffects.cpp Samples: add name() virtual 2019-07-03 17:41:16 +00:00
SampleEmboss.cpp Samples: add name() virtual 2019-07-03 17:41:16 +00:00
SampleFatBits.cpp tools/skui: put all enums in a common namespace 2019-08-29 15:39:32 +00:00
SampleFillType.cpp Revert "add guard to switch to SkPathTypes" 2019-09-14 19:13:44 +00:00
SampleFilter2.cpp Sample/Filter2View: make it work without /skimages 2019-07-08 17:05:23 +00:00
SampleFilterQuality.cpp Revert "add guard to switch to SkPathTypes" 2019-09-14 19:13:44 +00:00
SampleFlutterAnimate.cpp tools: separate TimeUtils from AnimTimer 2019-07-12 15:05:01 +00:00
SampleFontCache.cpp Samples: add name() virtual 2019-07-03 17:41:16 +00:00
SampleGlyphTransform.cpp tools: separate TimeUtils from AnimTimer 2019-07-12 15:05:01 +00:00
SampleGradients.cpp more rect api simplifications 2019-08-25 10:12:57 +00:00
SampleHairCurves.cpp Samples: add name() virtual 2019-07-03 17:41:16 +00:00
SampleHairline.cpp tools/skui: put all enums in a common namespace 2019-08-29 15:39:32 +00:00
SampleHairModes.cpp Samples: add name() virtual 2019-07-03 17:41:16 +00:00
SampleHT.cpp tools/skui: put all enums in a common namespace 2019-08-29 15:39:32 +00:00
SampleIdentityScale.cpp Revert "add guard to switch to SkPathTypes" 2019-09-14 19:13:44 +00:00
SampleImageFilterDAG.cpp SkSurface asynchronous read APIs allow client to extend pixel lifetime 2019-10-02 19:20:08 +00:00
SampleLayerMask.cpp Revert "add guard to switch to SkPathTypes" 2019-09-14 19:13:44 +00:00
SampleLayers.cpp tools/skui: put all enums in a common namespace 2019-08-29 15:39:32 +00:00
SampleLCD.cpp Samples: add name() virtual 2019-07-03 17:41:16 +00:00
SampleLighting.cpp tools/skui: put all enums in a common namespace 2019-08-29 15:39:32 +00:00
SampleLitAtlas.cpp tools: separate TimeUtils from AnimTimer 2019-07-12 15:05:01 +00:00
SampleLua.cpp tools/skui: put all enums in a common namespace 2019-08-29 15:39:32 +00:00
SampleManyRects.cpp Samples: add name() virtual 2019-07-03 17:41:16 +00:00
SampleMegaStroke.cpp more rect api simplifications 2019-08-25 10:12:57 +00:00
SampleMixer.cpp tools/skui: put all enums in a common namespace 2019-08-29 15:39:32 +00:00
SampleParagraph.cpp [SkParagraph] Require len if using addText(const char*) 2019-09-29 11:39:34 +00:00
SamplePatch.cpp tools/skui: put all enums in a common namespace 2019-08-29 15:39:32 +00:00
SamplePath.cpp tools/skui: put all enums in a common namespace 2019-08-29 15:39:32 +00:00
SamplePathClip.cpp tools/skui: put all enums in a common namespace 2019-08-29 15:39:32 +00:00
SamplePathEffects.cpp Revert "add guard to switch to SkPathTypes" 2019-09-14 19:13:44 +00:00
SamplePathOverstroke.cpp Samples: simplify Sample::Event 2019-07-08 19:09:42 +00:00
SamplePathText.cpp tools: separate TimeUtils from AnimTimer 2019-07-12 15:05:01 +00:00
SamplePolyToPoly.cpp Samples: add name() virtual 2019-07-03 17:41:16 +00:00
SampleQuadStroker.cpp Revert "add guard to switch to SkPathTypes" 2019-09-14 19:13:44 +00:00
SampleRectanizer.cpp Samples: simplify Sample::Event 2019-07-08 19:09:42 +00:00
SampleRegion.cpp Revert "add guard to switch to SkPathTypes" 2019-09-14 19:13:44 +00:00
SampleRepeatTile.cpp Samples: add name() virtual 2019-07-03 17:41:16 +00:00
SampleSG.cpp tools/skui: put all enums in a common namespace 2019-08-29 15:39:32 +00:00
SampleShaders.cpp re-run tools/rewrite_includes.py 2019-07-25 15:40:33 +00:00
SampleShadowColor.cpp Samples: simplify Sample::Event 2019-07-08 19:09:42 +00:00
SampleShadowReference.cpp Samples: simplify Sample::Event 2019-07-08 19:09:42 +00:00
SampleShadowUtils.cpp Revert "add guard to switch to SkPathTypes" 2019-09-14 19:13:44 +00:00
SampleShip.cpp Remove WallTimer class. 2019-07-15 16:06:11 +00:00
SampleSlides.cpp Revert "add guard to switch to SkPathTypes" 2019-09-14 19:13:44 +00:00
SampleStringArt.cpp tools/skui: put all enums in a common namespace 2019-08-29 15:39:32 +00:00
SampleStrokePath.cpp Revert "add guard to switch to SkPathTypes" 2019-09-14 19:13:44 +00:00
SampleStrokeRect.cpp Samples: add name() virtual 2019-07-03 17:41:16 +00:00
SampleSubpixelTranslate.cpp Samples: add name() virtual 2019-07-03 17:41:16 +00:00
SampleSVGFile.cpp Samples: add name() virtual 2019-07-03 17:41:16 +00:00
SampleTextBox.cpp Allow better font fallback. 2019-10-02 22:19:13 +00:00
SampleTextEffects.cpp Revert "add guard to switch to SkPathTypes" 2019-09-14 19:13:44 +00:00
SampleTextureDomain.cpp Samples: add name() virtual 2019-07-03 17:41:16 +00:00
SampleTextureUpload.cpp Add adjustable max size for Metal dynamic allocation ring buffer. 2019-08-07 15:59:42 +00:00
SampleThinAA.cpp tools: separate TimeUtils from AnimTimer 2019-07-12 15:05:01 +00:00
SampleUnpremul.cpp remove code now that loopers are dead (w.r.t. canvas and paint) 2019-07-30 12:49:28 +00:00
SampleVertices.cpp tools/skui: put all enums in a common namespace 2019-08-29 15:39:32 +00:00
SampleWritePixels.cpp Samples: add name() virtual 2019-07-03 17:41:16 +00:00
SampleXfer.cpp tools/skui: put all enums in a common namespace 2019-08-29 15:39:32 +00:00
SampleXfermodesBlur.cpp more rect api simplifications 2019-08-25 10:12:57 +00:00
vertexdump.cpp rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00