On Aug 12, 2023, 4:20 PM -0600, Hans Hagen , wrote: > btw, no need for squeezine as there are virtual commands for scaling; not for rotating From your original CLD template: local function topthing(characters,target,base,accent) -- if not characters[target] then local data1 = characters[base] local data2 = characters[accent] if data1 and data2 then characters[target] = { -- "Ḥ" height = (data1.height or 0) + 0.5*(data2.height or 0), depth = data1.depth, width = data1.width, unicode = target, commands = { { "slot", 0, 0x048 }, { "left", 0.5*(data2.width or 0) + 0.5*(data1.width or 0) }, { "up", 0.5*(data2.height or 0) }, { "slot", 0, 0x2D9, }, }, } end -- end end What are the virtual commands for scaling? Can they be added under "commands =" in the above? Or will that have to go under another local function? Of course, we may still have to insert the \symbol's for rotation, so perhaps better to stick with \symbol's for scaling as well (you know best). Now that the \symbol's for the glottals have been defined with your second template, I need to figure out where/how to plug them into the CLD based on your first template. Best wishes Idris -- Professor Idris Samawi Hamid Department of Philosophy Colorado State University Fort Collins, CO 80523