On 8/13/2023 12:56 AM, Hamid,Idris wrote: > 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 a little lesson in efficiency attached Hans ----------------------------------------------------------------- Hans Hagen | PRAGMA ADE Ridderstraat 27 | 8061 GH Hasselt | The Netherlands tel: 038 477 53 69 | www.pragma-ade.nl | www.pragma-pod.nl -----------------------------------------------------------------