158190644c30e1c4aa8e527f3503c58f841e0fcf3Derek Sollenbergerlocal canvas
258190644c30e1c4aa8e527f3503c58f841e0fcf3Derek Sollenberger
358190644c30e1c4aa8e527f3503c58f841e0fcf3Derek Sollenbergerfunction sk_scrape_startcanvas(c, fileName)
458190644c30e1c4aa8e527f3503c58f841e0fcf3Derek Sollenberger    canvas = c
558190644c30e1c4aa8e527f3503c58f841e0fcf3Derek Sollenbergerend
658190644c30e1c4aa8e527f3503c58f841e0fcf3Derek Sollenberger
758190644c30e1c4aa8e527f3503c58f841e0fcf3Derek Sollenbergerfunction sk_scrape_endcanvas(c, fileName)
858190644c30e1c4aa8e527f3503c58f841e0fcf3Derek Sollenberger    canvas = nil
958190644c30e1c4aa8e527f3503c58f841e0fcf3Derek Sollenbergerend
1058190644c30e1c4aa8e527f3503c58f841e0fcf3Derek Sollenberger
1158190644c30e1c4aa8e527f3503c58f841e0fcf3Derek Sollenbergerlocal glyph_calls = 0
1258190644c30e1c4aa8e527f3503c58f841e0fcf3Derek Sollenbergerlocal unichar_calls = 0
1358190644c30e1c4aa8e527f3503c58f841e0fcf3Derek Sollenberger
1458190644c30e1c4aa8e527f3503c58f841e0fcf3Derek Sollenbergerlocal isTextVerbs = {
1558190644c30e1c4aa8e527f3503c58f841e0fcf3Derek Sollenberger    drawPosText = true,
1658190644c30e1c4aa8e527f3503c58f841e0fcf3Derek Sollenberger    drawPosTextH = true,
1758190644c30e1c4aa8e527f3503c58f841e0fcf3Derek Sollenberger    drawText = true,
1858190644c30e1c4aa8e527f3503c58f841e0fcf3Derek Sollenberger    drawTextOnPath = true,
1958190644c30e1c4aa8e527f3503c58f841e0fcf3Derek Sollenberger}
2058190644c30e1c4aa8e527f3503c58f841e0fcf3Derek Sollenberger
2158190644c30e1c4aa8e527f3503c58f841e0fcf3Derek Sollenbergerfunction sk_scrape_accumulate(t)
2258190644c30e1c4aa8e527f3503c58f841e0fcf3Derek Sollenberger    if isTextVerbs[t.verb] then
2358190644c30e1c4aa8e527f3503c58f841e0fcf3Derek Sollenberger        if t.glyphs then
2458190644c30e1c4aa8e527f3503c58f841e0fcf3Derek Sollenberger            glyph_calls = glyph_calls + 1
2558190644c30e1c4aa8e527f3503c58f841e0fcf3Derek Sollenberger        else
2658190644c30e1c4aa8e527f3503c58f841e0fcf3Derek Sollenberger            unichar_calls = unichar_calls + 1
2758190644c30e1c4aa8e527f3503c58f841e0fcf3Derek Sollenberger        end
2858190644c30e1c4aa8e527f3503c58f841e0fcf3Derek Sollenberger    end
2958190644c30e1c4aa8e527f3503c58f841e0fcf3Derek Sollenbergerend
3058190644c30e1c4aa8e527f3503c58f841e0fcf3Derek Sollenberger
3158190644c30e1c4aa8e527f3503c58f841e0fcf3Derek Sollenbergerfunction sk_scrape_summarize()
3258190644c30e1c4aa8e527f3503c58f841e0fcf3Derek Sollenberger    io.write("glyph calls = ", glyph_calls,
3358190644c30e1c4aa8e527f3503c58f841e0fcf3Derek Sollenberger             ", unichar calls = ", unichar_calls, "\n");
3458190644c30e1c4aa8e527f3503c58f841e0fcf3Derek Sollenbergerend
3558190644c30e1c4aa8e527f3503c58f841e0fcf3Derek Sollenberger
36