diff --git a/svglib/svglib.py b/svglib/svglib.py index a771e01..88dac27 100755 --- a/svglib/svglib.py +++ b/svglib/svglib.py @@ -320,11 +320,11 @@ def convertLength(self, svgAttr, em_base=DEFAULT_FONT_SIZE, attr_name=None, defa elif text.endswith("pc"): return float(text[:-2]) * pica elif text.endswith("pt"): - return float(text[:-2]) * 1.25 + return float(text[:-2]) elif text.endswith("em"): return float(text[:-2]) * em_base elif text.endswith("px"): - return float(text[:-2]) + return float(text[:-2]) * 0.75 elif text.endswith("ex"): # The x-height of the text must be assumed to be 0.5em tall when the # text cannot be measured. diff --git a/tests/test_basic.py b/tests/test_basic.py index bc3d319..3eb5685 100755 --- a/tests/test_basic.py +++ b/tests/test_basic.py @@ -313,12 +313,12 @@ def test_length_conversion(self): ("1e1cm", 10*cm), ("1e1in", 10*inch), ("-8e-2cm", (-8e-2)*cm), - ("20px", 20), - ("20pt", 20 * 1.25), + ("20px", 20 * 0.75), + ("20pt", 20), ("1.5em", 12 * 1.5), ("10.5mm", 10.5*(cm*0.1)), ("3, 5 -7", [3, 5, -7]), - ("2pt 12pt", [2 * 1.25, 12 * 1.25]), + ("2pt 12pt", [2, 12]), ) ac = svglib.Svg2RlgAttributeConverter() failed = _testit(ac.convertLength, mapping) diff --git a/tests/test_samples.py b/tests/test_samples.py index 0a2f1b0..1eee637 100755 --- a/tests/test_samples.py +++ b/tests/test_samples.py @@ -442,7 +442,7 @@ def test_units_svg(self): assert unit_widths == sorted(unit_widths) unit_names = ["px", "pt", "mm", "ex", "ch", "em", "pc", "cm"] lengths_by_name = dict(zip(unit_names, unit_widths)) - assert lengths_by_name["px"] == 1 # 1px == 1px + assert lengths_by_name["px"] == lengths_by_name["pt"] * 0.75 assert lengths_by_name["em"] == svglib.DEFAULT_FONT_SIZE # 1 em == font size assert lengths_by_name["ex"] == lengths_by_name["em"] / 2 assert lengths_by_name["ch"] == lengths_by_name["ex"]