1 local pluginKey = "bts/p8-font-metrics"
3 local sprite = app.sprite
5 local name = app.fs.fileTitle(sprite.filename)
7 local previousExportFilename = sprite.properties(pluginKey).previousExportFilename
9 if previousExportFilename == nil then
10 local defaultPath = app.fs.filePath(sprite.filename)
11 local defaultFilename = name..".lua"
12 previousExportFilename = app.fs.joinPath(defaultPath, defaultFilename)
16 dlg:file{ id="metrics_filename", label="Metrics output:", filename=previousExportFilename, filetypes=".lua", save=true }
17 dlg:button{ id="confirm", text="Confirm" }
18 dlg:button{ id="cancel", text="Cancel" }
23 name = app.fs.fileTitle(data.metrics_filename)
25 local basePath = app.fs.filePath(data.metrics_filename)
26 local imagePath = app.fs.joinPath(basePath, name)
28 local characterDetails = {}
34 for i, slice in ipairs(sprite.slices) do
35 if slice.bounds.x == x and slice.bounds.y == y then
36 width = slice.bounds.width+1
40 table.insert(characterDetails, width)
45 --local metricsFilename = app.fs.joinPath(metricsPath, data.metrics_filename)
46 local metricsFile = io.open(data.metrics_filename, "w")
48 metricsFile:write(name.."Widths = split[[")
49 for k,v in ipairs(characterDetails) do
50 metricsFile:write(v .. ",")
52 metricsFile:write("]]\n")
53 metricsFile:write("\n")
58 sprite.properties(pluginKey).previousExportFilename = data.metrics_filename