Implementing SVG attribute "stroke-miterlimit" ( tdf#48066)

Armin Le Grand armin_le_grand at
Thu Mar 24 08:45:17 UTC 2016

Hi Regina,

AFAIK it is partially used, but not completely. I know of some cases in 
renderers where today a fixed default of 15.0 is used. Various 
GraphicSystems use various definitions for it, take care. It would be 
necessary to define a definition for it for LO, import where available 
and use where available. Some sub-systems can use it, e.g. Gdiplus or 
cairo, export to SVG, but no tMetafile (at least not ours). There is 
definitely no UI for it.


Am 24.03.2016 um 01:39 schrieb Regina Henschel:
> Hi all,
> the following is, what I have found so far, but it might have errors. 
> So please correct me.
> If two lines build a corner, the corner-style can be None, Rounded, 
> Beveled or Mitered. That is the property "draw:stroke-linejoin" in ODF 
> and "stroke-linejoin" in SVG. But SVG has the additional property 
> "stroke-miterlimit". Using it, the author can determine how sharp the 
> corner can be before it is turned into kind Beveled. I see no such 
> property in ODF. LibreOffice turns automatically to kind Bevel using 
> the default value of svg:stroke-miterlimit.
> The API has the struct "StrokeAttributes" in css::rendering. It has 
> the element "MiterLimit". I do not know any UI for it and don't know, 
> if and how it is usable at all. The service "LineProperties" in 
> css::drawing does not provide such property.
> In OOXML it is the attribute "lim" in element a:miter (
> This svg-attribute is read on SVG import. And it could be evaluated by 
> the method basegfx::tools::createAreaGeometry(), if it got a value 
> into the already prepared parameter. But between these two ends there 
> is currently no way to transport the information. The line properties 
> Width, Color, LineCap and LineJoin are transported via class 
> "LineAttribute".
> So my question is, how to transport the "Miterlimit"-information?
> Add a member to class LineAttribute?
> Add a member to PolygonStrokePrimitive2D and an additional new 
> parameter into the chain of calls and constructions?
> Only fix svg-import or care for other things too? What would I have to 
> consider?
> Kind regards
> Regina
> _______________________________________________
> LibreOffice mailing list
> LibreOffice at

ALG (PGP Key: EE1C 4B3F E751 D8BC C485 DEC1 3C59 F953 D81C F4A2)

More information about the LibreOffice mailing list