On Thu, 12 Dec 2013 23:07:19 -0800, Keith OHara <k-ohara5...@oco.net> wrote:
I am happy to say that I was wrong here. Open_type_font:: and Pango_font::name_to_index() each call FT_Get_Name_Index(). Inserting print statements to trace those calls I find that FT_Get_Name_Index is called: 7 times for each character in a Tempo
I had failed to notice how the 'pure' calls to vertical-skylines are implemented. Most properties, if directed to a callback function, have result of the callback function replace the pointer to that function. This way the function does its job just once. Sizes of spanners, that do depend on layout but are needed to evaluate potential layouts, are cached in Spanner::get_cached_pure_property() for each combination of 'start' & 'end' columns that define the line of music on which they might appear. If the property-lookup is 'pure' (tentative) then usually callback functions are not called. Previously, functions providing stencils of objects whose shape does not depend on page-layout were on a pure-print-callback list, so their shapes could be used during layout decisions. At the moment, there is an unpure-pure-container wrapper around the (expensive) function that builds skylines for text. For some reason this allows repeated function calls to re-compute the property, even when the 'pure' and 'unpure' versions are the same. Somewhere there should be a way to mark the skylines as "independent of layout" and the method should be used for vertical-skylines of text. _______________________________________________ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel