local dimensions, kerns if CONTEXTLMTXMODE == 0 then -- local kern_250 = { bottomright = { { kern = -250 } }, force = true } -- kerns = { -- [0x1D449] = kern_250, -- -- [0x1D44A] = kern_250, -- 𝑊 -- } dimensions = { default = { -- experimental values -- [0x02044] = { xoffset = 275, width = 600 }, -- primes [0xFE932] = { width = 200 }, [0xFE933] = { width = 500 }, [0xFE934] = { width = 800 }, [0xFE935] = { width = 1100 }, -- reverse primes [0xFE935] = { width = 200 }, [0xFE936] = { width = 500 }, [0xFE937] = { width = 800 }, }, } end return { name = "lucida-opentype-math", version = "1.00", comment = "Goodies that complement lucida opentype.", author = "Hans Hagen & Mikael Sundqvist", copyright = "ConTeXt development team", mathematics = { parameters = { RadicalDisplayStyleVerticalGap = 100, NoLimitSupFactor = 0, NoLimitSubFactor = 900, FractionRuleThickness = 55, AccentBaseHeight = 650, AccentBaseDepth = 150, }, tweaks = { aftercopying = { { tweak = "version", expected = "Version 1.802", }, { tweak = "dimensions", list = { -- these we fix here ["0x23DC.parts.1"] = { xoffset = -0.075, height = .4, yoffset = -0.6 }, ["0x23DC.parts.2"] = { height = .4, yoffset = -0.6 }, ["0x23DC.parts.3"] = { xoffset = 0.075, height = .4, yoffset = -0.6 }, ["0x23DD.parts.1"] = { xoffset = -0.075, depth = .8, yoffset = 0.2 }, ["0x23DD.parts.2"] = { depth = .8, yoffset = 0.2 }, ["0x23DD.parts.3"] = { xoffset = 0.075, depth = .8, yoffset = 0.2 }, -- these are done later using the AccentBase* parameters -- [0x23DC] = { height = .2, yoffset = -0.8 }, -- [0x23DD] = { depth = .6, yoffset = 0.4 }, }, }, { tweak = "fixprimes", factor = 0.9, -- accent base height -- smaller = true, -- replace multiples scale = 1, -- glyph scale -- fake = 0.65, -- replace multiples with this width proportion -- keep = true, -- keep the text size prime (aka minute) }, { tweak = "checkspacing", }, { tweak = "addscripts", }, { tweak = "accentdimensions", }, { tweak = "addrules", }, }, }, alternates = { italic = { feature = 'ss01', value = 1, comment = "Mathematical Alternative Lowercase Italic" }, arrow = { feature = 'ss02', value = 1, comment = "Mathematical Alternative Smaller Arrows" }, operator = { feature = 'ss03', value = 1, comment = "Mathematical Alternative Smaller Operators" }, calligraphic = { feature = 'ss04', value = 1, comment = "Mathematical Alternative Calligraphic Characters" }, zero = { feature = 'ss05', value = 1, comment = "Mathematical Alternative Zero" }, partial = { feature = 'ss20', value = 1, comment = "Mathematical Alternative Upright Partial Differential" }, }, bigslots = { 1, 2, 3, 4 }, -- -- experimental fixes for mkiv: -- dimensions = dimensions, kerns = kerns, }, }