Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(46)

Unified Diff: tools/lua/glyph-counts.lua

Issue 574493002: add lua to histogram text lengths (Closed) Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: Created 6 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: tools/lua/glyph-counts.lua
diff --git a/tools/lua/scrape.lua b/tools/lua/glyph-counts.lua
similarity index 55%
copy from tools/lua/scrape.lua
copy to tools/lua/glyph-counts.lua
index 627018800acb2839f2b6be47dc63c4a1e2391bc7..553e9e38e415ed7a8771983e2e4dfe416011bb22 100644
--- a/tools/lua/scrape.lua
+++ b/tools/lua/glyph-counts.lua
@@ -18,7 +18,6 @@ function tostr(t)
return str
end
-local total = {} -- accumulate() stores its data in here
local canvas -- holds the current canvas (from startcanvas())
--[[
@@ -47,25 +46,43 @@ end
Called with the parameters to each canvas.draw call, where canvas is the
current canvas as set by startcanvas()
]]
-function sk_scrape_accumulate(t)
- local n = total[t.verb] or 0
- total[t.verb] = n + 1
- if false and t.verb == "drawRect" and t.paint:isAntiAlias() then
- local r = t.rect;
- local p = t.paint;
- local c = p:getColor();
- print("drawRect ", tostr(r), tostr(c), "\n")
+local gCounts = {} -- [fontID_pointsize] = [] unique glyphs
+local gFirstGlyphs = {}
+local gTotalCount = 0
+
+function array_count(array)
+ local n = 0
+ for k in next, array do
+ n = n + 1
end
+ return n
+end
- if false and t.verb == "drawPath" then
- local pred, r1, r2, d1, d2 = t.path:isNestedRects()
-
- if pred then
- print("drawRect_Nested", tostr(r1), tostr(r2), d1, d2)
- else
- print("drawPath", "isEmpty", tostring(t.path:isEmpty()),
- "isRect", tostring(t.path:isRect()), tostr(t.path:getBounds()))
+function sk_scrape_accumulate(t)
+ verb = t.verb;
+ if verb == "drawPosText" or verb == "drawPosTextH" then
+ if t.glyphs then
+ local key = array_count(t.glyphs)
+ local n = gCounts[key]
+ if n then
+ gCounts[key] = n + 1
+ else
+ gCounts[key] = 1
+ end
+
+ if key == 1 then
+ local first = t.glyphs[1];
+ local n = gFirstGlyphs[first]
+ if n then
+ n = n + 1
+ else
+ n = 0
+ end
+ gFirstGlyphs[first] = n
+ end
+
+ gTotalCount = gTotalCount + 1
end
end
end
@@ -75,6 +92,19 @@ end
"accumulated".
]]
function sk_scrape_summarize()
- io.write("\n{ ", tostr(total), " }\n")
+ for k, v in next, gCounts do
+ io.write("glyph_count ", k, ",frequency ", v * 100 / gTotalCount, "\n")
+ end
+
+--[[
+ io.write("\n\nFirst glyph spread\n\n")
+ for k, v in next, gFirstGlyphs do
+ io.write("glyph, ", k, ",count, ", v, "\n")
+ end
+]]
+end
+
+function test_summary()
+ io.write("just testing test_summary\n")
end
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698