-
Notifications
You must be signed in to change notification settings - Fork 23
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[skrifa] Implement an optimized
fill_glyph
operation (#754)
* [skrifa] Implement an optimized fill_glyph operation In COLRv0/v1 drawing clients may gain a performance benefit from filling a shape (with a solid or gradient fill) instead of performing a clip + unbounded fill in sequence. Allow clients to do that using a fill_glyph() operation that combines the two. Implement this using a temporary painter that speculatively traverses the glyph tree down from a `PaintGlyph` operation collecting potential transforms along the way. New behavior shows clearly in new baselines for tests added in #758 that nest `PaintGlyph` tables and cover mixed situations in which the optimization succeeds for a leaf but fails for the `PaintGlyph` at a layer above, and demonstrate recording transforms along the way. Fixes #746.
- Loading branch information
Showing
53 changed files
with
1,055 additions
and
898 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,5 +1,5 @@ | ||
{"glyph_id":156,"ops":[{"PushClipBox":{"clip_box":{"x_min":0.0,"y_min":500.0,"x_max":500.0,"y_max":1000.0}}},{"PushLayer":{"composite_mode":3}},{"PushClipBox":{"clip_box":{"x_min":100.0,"y_min":100.0,"x_max":900.0,"y_max":900.0}}},{"PushClipBox":{"clip_box":{"x_min":0.0,"y_min":0.0,"x_max":1000.0,"y_max":1000.0}}},{"PushClipGlyph":{"gid":2}},{"FillBrush":{"brush":{"RadialGradient":{"c0":{"x":166.0,"y":768.0},"r0":0.0,"c1":{"x":166.0,"y":768.0},"r1":256.0,"color_stops":[{"offset":0.0,"palette_index":3,"alpha":1.0},{"offset":0.5,"palette_index":9,"alpha":1.0},{"offset":1.0,"palette_index":0,"alpha":1.0}],"extend":"Reflect"}}}},"PopClip","PopClip","PopClip",{"PushLayer":{"composite_mode":3}},{"PushClipGlyph":{"gid":161}},{"FillBrush":{"brush":{"Solid":{"palette_index":13,"alpha":0.4000244}}}},"PopClip","PopLayer","PopLayer","PopClip"]} | ||
{"glyph_id":157,"ops":[{"PushClipBox":{"clip_box":{"x_min":0.0,"y_min":0.0,"x_max":500.0,"y_max":500.0}}},{"PushLayer":{"composite_mode":3}},{"PushClipBox":{"clip_box":{"x_min":100.0,"y_min":100.0,"x_max":900.0,"y_max":900.0}}},{"PushClipBox":{"clip_box":{"x_min":0.0,"y_min":0.0,"x_max":1000.0,"y_max":1000.0}}},{"PushClipGlyph":{"gid":2}},{"FillBrush":{"brush":{"RadialGradient":{"c0":{"x":166.0,"y":768.0},"r0":0.0,"c1":{"x":166.0,"y":768.0},"r1":256.0,"color_stops":[{"offset":0.0,"palette_index":3,"alpha":1.0},{"offset":0.5,"palette_index":9,"alpha":1.0},{"offset":1.0,"palette_index":0,"alpha":1.0}],"extend":"Reflect"}}}},"PopClip","PopClip","PopClip",{"PushLayer":{"composite_mode":3}},{"PushClipGlyph":{"gid":162}},{"FillBrush":{"brush":{"Solid":{"palette_index":13,"alpha":0.4000244}}}},"PopClip","PopLayer","PopLayer","PopClip"]} | ||
{"glyph_id":158,"ops":[{"PushClipBox":{"clip_box":{"x_min":500.0,"y_min":0.0,"x_max":1000.0,"y_max":500.0}}},{"PushLayer":{"composite_mode":3}},{"PushClipBox":{"clip_box":{"x_min":100.0,"y_min":100.0,"x_max":900.0,"y_max":900.0}}},{"PushClipBox":{"clip_box":{"x_min":0.0,"y_min":0.0,"x_max":1000.0,"y_max":1000.0}}},{"PushClipGlyph":{"gid":2}},{"FillBrush":{"brush":{"RadialGradient":{"c0":{"x":166.0,"y":768.0},"r0":0.0,"c1":{"x":166.0,"y":768.0},"r1":256.0,"color_stops":[{"offset":0.0,"palette_index":3,"alpha":1.0},{"offset":0.5,"palette_index":9,"alpha":1.0},{"offset":1.0,"palette_index":0,"alpha":1.0}],"extend":"Reflect"}}}},"PopClip","PopClip","PopClip",{"PushLayer":{"composite_mode":3}},{"PushClipGlyph":{"gid":163}},{"FillBrush":{"brush":{"Solid":{"palette_index":13,"alpha":0.4000244}}}},"PopClip","PopLayer","PopLayer","PopClip"]} | ||
{"glyph_id":159,"ops":[{"PushClipBox":{"clip_box":{"x_min":500.0,"y_min":500.0,"x_max":1000.0,"y_max":1000.0}}},{"PushLayer":{"composite_mode":3}},{"PushClipBox":{"clip_box":{"x_min":100.0,"y_min":100.0,"x_max":900.0,"y_max":900.0}}},{"PushClipBox":{"clip_box":{"x_min":0.0,"y_min":0.0,"x_max":1000.0,"y_max":1000.0}}},{"PushClipGlyph":{"gid":2}},{"FillBrush":{"brush":{"RadialGradient":{"c0":{"x":166.0,"y":768.0},"r0":0.0,"c1":{"x":166.0,"y":768.0},"r1":256.0,"color_stops":[{"offset":0.0,"palette_index":3,"alpha":1.0},{"offset":0.5,"palette_index":9,"alpha":1.0},{"offset":1.0,"palette_index":0,"alpha":1.0}],"extend":"Reflect"}}}},"PopClip","PopClip","PopClip",{"PushLayer":{"composite_mode":3}},{"PushClipGlyph":{"gid":164}},{"FillBrush":{"brush":{"Solid":{"palette_index":13,"alpha":0.4000244}}}},"PopClip","PopLayer","PopLayer","PopClip"]} | ||
{"glyph_id":160,"ops":[{"PushClipBox":{"clip_box":{"x_min":250.0,"y_min":250.0,"x_max":750.0,"y_max":750.0}}},{"PushLayer":{"composite_mode":3}},{"PushClipBox":{"clip_box":{"x_min":100.0,"y_min":100.0,"x_max":900.0,"y_max":900.0}}},{"PushClipBox":{"clip_box":{"x_min":0.0,"y_min":0.0,"x_max":1000.0,"y_max":1000.0}}},{"PushClipGlyph":{"gid":2}},{"FillBrush":{"brush":{"RadialGradient":{"c0":{"x":166.0,"y":768.0},"r0":0.0,"c1":{"x":166.0,"y":768.0},"r1":256.0,"color_stops":[{"offset":0.0,"palette_index":3,"alpha":1.0},{"offset":0.5,"palette_index":9,"alpha":1.0},{"offset":1.0,"palette_index":0,"alpha":1.0}],"extend":"Reflect"}}}},"PopClip","PopClip","PopClip",{"PushLayer":{"composite_mode":3}},{"PushClipGlyph":{"gid":165}},{"FillBrush":{"brush":{"Solid":{"palette_index":13,"alpha":0.4000244}}}},"PopClip","PopLayer","PopLayer","PopClip"]} | ||
{"glyph_id":156,"ops":[{"PushClipBox":{"clip_box":{"x_min":0.0,"y_min":500.0,"x_max":500.0,"y_max":1000.0}}},{"PushLayer":{"composite_mode":3}},{"PushClipBox":{"clip_box":{"x_min":100.0,"y_min":100.0,"x_max":900.0,"y_max":900.0}}},{"PushClipBox":{"clip_box":{"x_min":0.0,"y_min":0.0,"x_max":1000.0,"y_max":1000.0}}},{"FillGlyph":{"gid":2,"transform":{"xx":1.0,"yx":0.0,"xy":0.0,"yy":1.0,"dx":0.0,"dy":0.0},"brush":{"RadialGradient":{"c0":{"x":166.0,"y":768.0},"r0":0.0,"c1":{"x":166.0,"y":768.0},"r1":256.0,"color_stops":[{"offset":0.0,"palette_index":3,"alpha":1.0},{"offset":0.5,"palette_index":9,"alpha":1.0},{"offset":1.0,"palette_index":0,"alpha":1.0}],"extend":"Reflect"}}}},"PopClip","PopClip",{"PushLayer":{"composite_mode":3}},{"FillGlyph":{"gid":161,"transform":{"xx":1.0,"yx":0.0,"xy":0.0,"yy":1.0,"dx":0.0,"dy":0.0},"brush":{"Solid":{"palette_index":13,"alpha":0.4000244}}}},"PopLayer","PopLayer","PopClip"]} | ||
{"glyph_id":157,"ops":[{"PushClipBox":{"clip_box":{"x_min":0.0,"y_min":0.0,"x_max":500.0,"y_max":500.0}}},{"PushLayer":{"composite_mode":3}},{"PushClipBox":{"clip_box":{"x_min":100.0,"y_min":100.0,"x_max":900.0,"y_max":900.0}}},{"PushClipBox":{"clip_box":{"x_min":0.0,"y_min":0.0,"x_max":1000.0,"y_max":1000.0}}},{"FillGlyph":{"gid":2,"transform":{"xx":1.0,"yx":0.0,"xy":0.0,"yy":1.0,"dx":0.0,"dy":0.0},"brush":{"RadialGradient":{"c0":{"x":166.0,"y":768.0},"r0":0.0,"c1":{"x":166.0,"y":768.0},"r1":256.0,"color_stops":[{"offset":0.0,"palette_index":3,"alpha":1.0},{"offset":0.5,"palette_index":9,"alpha":1.0},{"offset":1.0,"palette_index":0,"alpha":1.0}],"extend":"Reflect"}}}},"PopClip","PopClip",{"PushLayer":{"composite_mode":3}},{"FillGlyph":{"gid":162,"transform":{"xx":1.0,"yx":0.0,"xy":0.0,"yy":1.0,"dx":0.0,"dy":0.0},"brush":{"Solid":{"palette_index":13,"alpha":0.4000244}}}},"PopLayer","PopLayer","PopClip"]} | ||
{"glyph_id":158,"ops":[{"PushClipBox":{"clip_box":{"x_min":500.0,"y_min":0.0,"x_max":1000.0,"y_max":500.0}}},{"PushLayer":{"composite_mode":3}},{"PushClipBox":{"clip_box":{"x_min":100.0,"y_min":100.0,"x_max":900.0,"y_max":900.0}}},{"PushClipBox":{"clip_box":{"x_min":0.0,"y_min":0.0,"x_max":1000.0,"y_max":1000.0}}},{"FillGlyph":{"gid":2,"transform":{"xx":1.0,"yx":0.0,"xy":0.0,"yy":1.0,"dx":0.0,"dy":0.0},"brush":{"RadialGradient":{"c0":{"x":166.0,"y":768.0},"r0":0.0,"c1":{"x":166.0,"y":768.0},"r1":256.0,"color_stops":[{"offset":0.0,"palette_index":3,"alpha":1.0},{"offset":0.5,"palette_index":9,"alpha":1.0},{"offset":1.0,"palette_index":0,"alpha":1.0}],"extend":"Reflect"}}}},"PopClip","PopClip",{"PushLayer":{"composite_mode":3}},{"FillGlyph":{"gid":163,"transform":{"xx":1.0,"yx":0.0,"xy":0.0,"yy":1.0,"dx":0.0,"dy":0.0},"brush":{"Solid":{"palette_index":13,"alpha":0.4000244}}}},"PopLayer","PopLayer","PopClip"]} | ||
{"glyph_id":159,"ops":[{"PushClipBox":{"clip_box":{"x_min":500.0,"y_min":500.0,"x_max":1000.0,"y_max":1000.0}}},{"PushLayer":{"composite_mode":3}},{"PushClipBox":{"clip_box":{"x_min":100.0,"y_min":100.0,"x_max":900.0,"y_max":900.0}}},{"PushClipBox":{"clip_box":{"x_min":0.0,"y_min":0.0,"x_max":1000.0,"y_max":1000.0}}},{"FillGlyph":{"gid":2,"transform":{"xx":1.0,"yx":0.0,"xy":0.0,"yy":1.0,"dx":0.0,"dy":0.0},"brush":{"RadialGradient":{"c0":{"x":166.0,"y":768.0},"r0":0.0,"c1":{"x":166.0,"y":768.0},"r1":256.0,"color_stops":[{"offset":0.0,"palette_index":3,"alpha":1.0},{"offset":0.5,"palette_index":9,"alpha":1.0},{"offset":1.0,"palette_index":0,"alpha":1.0}],"extend":"Reflect"}}}},"PopClip","PopClip",{"PushLayer":{"composite_mode":3}},{"FillGlyph":{"gid":164,"transform":{"xx":1.0,"yx":0.0,"xy":0.0,"yy":1.0,"dx":0.0,"dy":0.0},"brush":{"Solid":{"palette_index":13,"alpha":0.4000244}}}},"PopLayer","PopLayer","PopClip"]} | ||
{"glyph_id":160,"ops":[{"PushClipBox":{"clip_box":{"x_min":250.0,"y_min":250.0,"x_max":750.0,"y_max":750.0}}},{"PushLayer":{"composite_mode":3}},{"PushClipBox":{"clip_box":{"x_min":100.0,"y_min":100.0,"x_max":900.0,"y_max":900.0}}},{"PushClipBox":{"clip_box":{"x_min":0.0,"y_min":0.0,"x_max":1000.0,"y_max":1000.0}}},{"FillGlyph":{"gid":2,"transform":{"xx":1.0,"yx":0.0,"xy":0.0,"yy":1.0,"dx":0.0,"dy":0.0},"brush":{"RadialGradient":{"c0":{"x":166.0,"y":768.0},"r0":0.0,"c1":{"x":166.0,"y":768.0},"r1":256.0,"color_stops":[{"offset":0.0,"palette_index":3,"alpha":1.0},{"offset":0.5,"palette_index":9,"alpha":1.0},{"offset":1.0,"palette_index":0,"alpha":1.0}],"extend":"Reflect"}}}},"PopClip","PopClip",{"PushLayer":{"composite_mode":3}},{"FillGlyph":{"gid":165,"transform":{"xx":1.0,"yx":0.0,"xy":0.0,"yy":1.0,"dx":0.0,"dy":0.0},"brush":{"Solid":{"palette_index":13,"alpha":0.4000244}}}},"PopLayer","PopLayer","PopClip"]} |
10 changes: 5 additions & 5 deletions
10
font-test-data/test_data/colrv1_json/colrv1_clipbox_CLIO_200
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,5 +1,5 @@ | ||
{"glyph_id":156,"ops":[{"PushClipBox":{"clip_box":{"x_min":0.0,"y_min":500.0,"x_max":500.0,"y_max":1000.0}}},{"PushLayer":{"composite_mode":3}},{"PushClipBox":{"clip_box":{"x_min":300.0122,"y_min":300.0122,"x_max":699.9878,"y_max":699.9878}}},{"PushClipBox":{"clip_box":{"x_min":0.0,"y_min":0.0,"x_max":1000.0,"y_max":1000.0}}},{"PushClipGlyph":{"gid":2}},{"FillBrush":{"brush":{"RadialGradient":{"c0":{"x":166.0,"y":768.0},"r0":0.0,"c1":{"x":166.0,"y":768.0},"r1":256.0,"color_stops":[{"offset":0.0,"palette_index":3,"alpha":1.0},{"offset":0.5,"palette_index":9,"alpha":1.0},{"offset":1.0,"palette_index":0,"alpha":1.0}],"extend":"Reflect"}}}},"PopClip","PopClip","PopClip",{"PushLayer":{"composite_mode":3}},{"PushClipGlyph":{"gid":161}},{"FillBrush":{"brush":{"Solid":{"palette_index":13,"alpha":0.4000244}}}},"PopClip","PopLayer","PopLayer","PopClip"]} | ||
{"glyph_id":157,"ops":[{"PushClipBox":{"clip_box":{"x_min":0.0,"y_min":0.0,"x_max":500.0,"y_max":500.0}}},{"PushLayer":{"composite_mode":3}},{"PushClipBox":{"clip_box":{"x_min":300.0122,"y_min":300.0122,"x_max":699.9878,"y_max":699.9878}}},{"PushClipBox":{"clip_box":{"x_min":0.0,"y_min":0.0,"x_max":1000.0,"y_max":1000.0}}},{"PushClipGlyph":{"gid":2}},{"FillBrush":{"brush":{"RadialGradient":{"c0":{"x":166.0,"y":768.0},"r0":0.0,"c1":{"x":166.0,"y":768.0},"r1":256.0,"color_stops":[{"offset":0.0,"palette_index":3,"alpha":1.0},{"offset":0.5,"palette_index":9,"alpha":1.0},{"offset":1.0,"palette_index":0,"alpha":1.0}],"extend":"Reflect"}}}},"PopClip","PopClip","PopClip",{"PushLayer":{"composite_mode":3}},{"PushClipGlyph":{"gid":162}},{"FillBrush":{"brush":{"Solid":{"palette_index":13,"alpha":0.4000244}}}},"PopClip","PopLayer","PopLayer","PopClip"]} | ||
{"glyph_id":158,"ops":[{"PushClipBox":{"clip_box":{"x_min":500.0,"y_min":0.0,"x_max":1000.0,"y_max":500.0}}},{"PushLayer":{"composite_mode":3}},{"PushClipBox":{"clip_box":{"x_min":300.0122,"y_min":300.0122,"x_max":699.9878,"y_max":699.9878}}},{"PushClipBox":{"clip_box":{"x_min":0.0,"y_min":0.0,"x_max":1000.0,"y_max":1000.0}}},{"PushClipGlyph":{"gid":2}},{"FillBrush":{"brush":{"RadialGradient":{"c0":{"x":166.0,"y":768.0},"r0":0.0,"c1":{"x":166.0,"y":768.0},"r1":256.0,"color_stops":[{"offset":0.0,"palette_index":3,"alpha":1.0},{"offset":0.5,"palette_index":9,"alpha":1.0},{"offset":1.0,"palette_index":0,"alpha":1.0}],"extend":"Reflect"}}}},"PopClip","PopClip","PopClip",{"PushLayer":{"composite_mode":3}},{"PushClipGlyph":{"gid":163}},{"FillBrush":{"brush":{"Solid":{"palette_index":13,"alpha":0.4000244}}}},"PopClip","PopLayer","PopLayer","PopClip"]} | ||
{"glyph_id":159,"ops":[{"PushClipBox":{"clip_box":{"x_min":500.0,"y_min":500.0,"x_max":1000.0,"y_max":1000.0}}},{"PushLayer":{"composite_mode":3}},{"PushClipBox":{"clip_box":{"x_min":300.0122,"y_min":300.0122,"x_max":699.9878,"y_max":699.9878}}},{"PushClipBox":{"clip_box":{"x_min":0.0,"y_min":0.0,"x_max":1000.0,"y_max":1000.0}}},{"PushClipGlyph":{"gid":2}},{"FillBrush":{"brush":{"RadialGradient":{"c0":{"x":166.0,"y":768.0},"r0":0.0,"c1":{"x":166.0,"y":768.0},"r1":256.0,"color_stops":[{"offset":0.0,"palette_index":3,"alpha":1.0},{"offset":0.5,"palette_index":9,"alpha":1.0},{"offset":1.0,"palette_index":0,"alpha":1.0}],"extend":"Reflect"}}}},"PopClip","PopClip","PopClip",{"PushLayer":{"composite_mode":3}},{"PushClipGlyph":{"gid":164}},{"FillBrush":{"brush":{"Solid":{"palette_index":13,"alpha":0.4000244}}}},"PopClip","PopLayer","PopLayer","PopClip"]} | ||
{"glyph_id":160,"ops":[{"PushClipBox":{"clip_box":{"x_min":250.0,"y_min":250.0,"x_max":750.0,"y_max":750.0}}},{"PushLayer":{"composite_mode":3}},{"PushClipBox":{"clip_box":{"x_min":300.0122,"y_min":300.0122,"x_max":699.9878,"y_max":699.9878}}},{"PushClipBox":{"clip_box":{"x_min":0.0,"y_min":0.0,"x_max":1000.0,"y_max":1000.0}}},{"PushClipGlyph":{"gid":2}},{"FillBrush":{"brush":{"RadialGradient":{"c0":{"x":166.0,"y":768.0},"r0":0.0,"c1":{"x":166.0,"y":768.0},"r1":256.0,"color_stops":[{"offset":0.0,"palette_index":3,"alpha":1.0},{"offset":0.5,"palette_index":9,"alpha":1.0},{"offset":1.0,"palette_index":0,"alpha":1.0}],"extend":"Reflect"}}}},"PopClip","PopClip","PopClip",{"PushLayer":{"composite_mode":3}},{"PushClipGlyph":{"gid":165}},{"FillBrush":{"brush":{"Solid":{"palette_index":13,"alpha":0.4000244}}}},"PopClip","PopLayer","PopLayer","PopClip"]} | ||
{"glyph_id":156,"ops":[{"PushClipBox":{"clip_box":{"x_min":0.0,"y_min":500.0,"x_max":500.0,"y_max":1000.0}}},{"PushLayer":{"composite_mode":3}},{"PushClipBox":{"clip_box":{"x_min":300.0122,"y_min":300.0122,"x_max":699.9878,"y_max":699.9878}}},{"PushClipBox":{"clip_box":{"x_min":0.0,"y_min":0.0,"x_max":1000.0,"y_max":1000.0}}},{"FillGlyph":{"gid":2,"transform":{"xx":1.0,"yx":0.0,"xy":0.0,"yy":1.0,"dx":0.0,"dy":0.0},"brush":{"RadialGradient":{"c0":{"x":166.0,"y":768.0},"r0":0.0,"c1":{"x":166.0,"y":768.0},"r1":256.0,"color_stops":[{"offset":0.0,"palette_index":3,"alpha":1.0},{"offset":0.5,"palette_index":9,"alpha":1.0},{"offset":1.0,"palette_index":0,"alpha":1.0}],"extend":"Reflect"}}}},"PopClip","PopClip",{"PushLayer":{"composite_mode":3}},{"FillGlyph":{"gid":161,"transform":{"xx":1.0,"yx":0.0,"xy":0.0,"yy":1.0,"dx":0.0,"dy":0.0},"brush":{"Solid":{"palette_index":13,"alpha":0.4000244}}}},"PopLayer","PopLayer","PopClip"]} | ||
{"glyph_id":157,"ops":[{"PushClipBox":{"clip_box":{"x_min":0.0,"y_min":0.0,"x_max":500.0,"y_max":500.0}}},{"PushLayer":{"composite_mode":3}},{"PushClipBox":{"clip_box":{"x_min":300.0122,"y_min":300.0122,"x_max":699.9878,"y_max":699.9878}}},{"PushClipBox":{"clip_box":{"x_min":0.0,"y_min":0.0,"x_max":1000.0,"y_max":1000.0}}},{"FillGlyph":{"gid":2,"transform":{"xx":1.0,"yx":0.0,"xy":0.0,"yy":1.0,"dx":0.0,"dy":0.0},"brush":{"RadialGradient":{"c0":{"x":166.0,"y":768.0},"r0":0.0,"c1":{"x":166.0,"y":768.0},"r1":256.0,"color_stops":[{"offset":0.0,"palette_index":3,"alpha":1.0},{"offset":0.5,"palette_index":9,"alpha":1.0},{"offset":1.0,"palette_index":0,"alpha":1.0}],"extend":"Reflect"}}}},"PopClip","PopClip",{"PushLayer":{"composite_mode":3}},{"FillGlyph":{"gid":162,"transform":{"xx":1.0,"yx":0.0,"xy":0.0,"yy":1.0,"dx":0.0,"dy":0.0},"brush":{"Solid":{"palette_index":13,"alpha":0.4000244}}}},"PopLayer","PopLayer","PopClip"]} | ||
{"glyph_id":158,"ops":[{"PushClipBox":{"clip_box":{"x_min":500.0,"y_min":0.0,"x_max":1000.0,"y_max":500.0}}},{"PushLayer":{"composite_mode":3}},{"PushClipBox":{"clip_box":{"x_min":300.0122,"y_min":300.0122,"x_max":699.9878,"y_max":699.9878}}},{"PushClipBox":{"clip_box":{"x_min":0.0,"y_min":0.0,"x_max":1000.0,"y_max":1000.0}}},{"FillGlyph":{"gid":2,"transform":{"xx":1.0,"yx":0.0,"xy":0.0,"yy":1.0,"dx":0.0,"dy":0.0},"brush":{"RadialGradient":{"c0":{"x":166.0,"y":768.0},"r0":0.0,"c1":{"x":166.0,"y":768.0},"r1":256.0,"color_stops":[{"offset":0.0,"palette_index":3,"alpha":1.0},{"offset":0.5,"palette_index":9,"alpha":1.0},{"offset":1.0,"palette_index":0,"alpha":1.0}],"extend":"Reflect"}}}},"PopClip","PopClip",{"PushLayer":{"composite_mode":3}},{"FillGlyph":{"gid":163,"transform":{"xx":1.0,"yx":0.0,"xy":0.0,"yy":1.0,"dx":0.0,"dy":0.0},"brush":{"Solid":{"palette_index":13,"alpha":0.4000244}}}},"PopLayer","PopLayer","PopClip"]} | ||
{"glyph_id":159,"ops":[{"PushClipBox":{"clip_box":{"x_min":500.0,"y_min":500.0,"x_max":1000.0,"y_max":1000.0}}},{"PushLayer":{"composite_mode":3}},{"PushClipBox":{"clip_box":{"x_min":300.0122,"y_min":300.0122,"x_max":699.9878,"y_max":699.9878}}},{"PushClipBox":{"clip_box":{"x_min":0.0,"y_min":0.0,"x_max":1000.0,"y_max":1000.0}}},{"FillGlyph":{"gid":2,"transform":{"xx":1.0,"yx":0.0,"xy":0.0,"yy":1.0,"dx":0.0,"dy":0.0},"brush":{"RadialGradient":{"c0":{"x":166.0,"y":768.0},"r0":0.0,"c1":{"x":166.0,"y":768.0},"r1":256.0,"color_stops":[{"offset":0.0,"palette_index":3,"alpha":1.0},{"offset":0.5,"palette_index":9,"alpha":1.0},{"offset":1.0,"palette_index":0,"alpha":1.0}],"extend":"Reflect"}}}},"PopClip","PopClip",{"PushLayer":{"composite_mode":3}},{"FillGlyph":{"gid":164,"transform":{"xx":1.0,"yx":0.0,"xy":0.0,"yy":1.0,"dx":0.0,"dy":0.0},"brush":{"Solid":{"palette_index":13,"alpha":0.4000244}}}},"PopLayer","PopLayer","PopClip"]} | ||
{"glyph_id":160,"ops":[{"PushClipBox":{"clip_box":{"x_min":250.0,"y_min":250.0,"x_max":750.0,"y_max":750.0}}},{"PushLayer":{"composite_mode":3}},{"PushClipBox":{"clip_box":{"x_min":300.0122,"y_min":300.0122,"x_max":699.9878,"y_max":699.9878}}},{"PushClipBox":{"clip_box":{"x_min":0.0,"y_min":0.0,"x_max":1000.0,"y_max":1000.0}}},{"FillGlyph":{"gid":2,"transform":{"xx":1.0,"yx":0.0,"xy":0.0,"yy":1.0,"dx":0.0,"dy":0.0},"brush":{"RadialGradient":{"c0":{"x":166.0,"y":768.0},"r0":0.0,"c1":{"x":166.0,"y":768.0},"r1":256.0,"color_stops":[{"offset":0.0,"palette_index":3,"alpha":1.0},{"offset":0.5,"palette_index":9,"alpha":1.0},{"offset":1.0,"palette_index":0,"alpha":1.0}],"extend":"Reflect"}}}},"PopClip","PopClip",{"PushLayer":{"composite_mode":3}},{"FillGlyph":{"gid":165,"transform":{"xx":1.0,"yx":0.0,"xy":0.0,"yy":1.0,"dx":0.0,"dy":0.0},"brush":{"Solid":{"palette_index":13,"alpha":0.4000244}}}},"PopLayer","PopLayer","PopClip"]} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1 +1 @@ | ||
{"glyph_id":168,"ops":[{"PushClipGlyph":{"gid":176}},{"FillBrush":{"brush":{"Solid":{"palette_index":0,"alpha":1.0}}}},"PopClip",{"PushClipGlyph":{"gid":175}},{"FillBrush":{"brush":{"Solid":{"palette_index":1,"alpha":1.0}}}},"PopClip",{"PushClipGlyph":{"gid":174}},{"FillBrush":{"brush":{"Solid":{"palette_index":2,"alpha":1.0}}}},"PopClip",{"PushClipGlyph":{"gid":173}},{"FillBrush":{"brush":{"Solid":{"palette_index":3,"alpha":1.0}}}},"PopClip",{"PushClipGlyph":{"gid":172}},{"FillBrush":{"brush":{"Solid":{"palette_index":4,"alpha":1.0}}}},"PopClip",{"PushClipGlyph":{"gid":171}},{"FillBrush":{"brush":{"Solid":{"palette_index":5,"alpha":1.0}}}},"PopClip",{"PushClipGlyph":{"gid":170}},{"FillBrush":{"brush":{"Solid":{"palette_index":6,"alpha":1.0}}}},"PopClip",{"PushClipGlyph":{"gid":5}},{"FillBrush":{"brush":{"Solid":{"palette_index":10,"alpha":1.0}}}},"PopClip"]} | ||
{"glyph_id":168,"ops":[{"FillGlyph":{"gid":176,"transform":{"xx":1.0,"yx":0.0,"xy":0.0,"yy":1.0,"dx":0.0,"dy":0.0},"brush":{"Solid":{"palette_index":0,"alpha":1.0}}}},{"FillGlyph":{"gid":175,"transform":{"xx":1.0,"yx":0.0,"xy":0.0,"yy":1.0,"dx":0.0,"dy":0.0},"brush":{"Solid":{"palette_index":1,"alpha":1.0}}}},{"FillGlyph":{"gid":174,"transform":{"xx":1.0,"yx":0.0,"xy":0.0,"yy":1.0,"dx":0.0,"dy":0.0},"brush":{"Solid":{"palette_index":2,"alpha":1.0}}}},{"FillGlyph":{"gid":173,"transform":{"xx":1.0,"yx":0.0,"xy":0.0,"yy":1.0,"dx":0.0,"dy":0.0},"brush":{"Solid":{"palette_index":3,"alpha":1.0}}}},{"FillGlyph":{"gid":172,"transform":{"xx":1.0,"yx":0.0,"xy":0.0,"yy":1.0,"dx":0.0,"dy":0.0},"brush":{"Solid":{"palette_index":4,"alpha":1.0}}}},{"FillGlyph":{"gid":171,"transform":{"xx":1.0,"yx":0.0,"xy":0.0,"yy":1.0,"dx":0.0,"dy":0.0},"brush":{"Solid":{"palette_index":5,"alpha":1.0}}}},{"FillGlyph":{"gid":170,"transform":{"xx":1.0,"yx":0.0,"xy":0.0,"yy":1.0,"dx":0.0,"dy":0.0},"brush":{"Solid":{"palette_index":6,"alpha":1.0}}}},{"FillGlyph":{"gid":5,"transform":{"xx":1.0,"yx":0.0,"xy":0.0,"yy":1.0,"dx":0.0,"dy":0.0},"brush":{"Solid":{"palette_index":10,"alpha":1.0}}}}]} |
Oops, something went wrong.