summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorXisco Fauli <anistenis@gmail.com>2015-11-25 20:26:06 +0100
committerCaolán McNamara <caolanm@redhat.com>2015-11-27 16:13:18 +0000
commit33e49a3b6655c1503dc81b583f5016fc3b2fda19 (patch)
tree2c5d140f629c84ea2d4d94d42989470de7172a3c
parent49a32f4b2f1773df353bfd05af2f81d560025d18 (diff)
tdf#96046 SVG: use the same PPI as in svgio
Change-Id: I211dcc6fb242cfbd05636d42a811523de8e83be6 Reviewed-on: https://gerrit.libreoffice.org/20182 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Armin Le Grand <Armin.Le.Grand@cib.de>
-rw-r--r--filter/source/svg/units.cxx17
-rw-r--r--filter/source/svg/units.hxx4
2 files changed, 13 insertions, 8 deletions
diff --git a/filter/source/svg/units.cxx b/filter/source/svg/units.cxx
index 691305e5bf80..34360ac247ef 100644
--- a/filter/source/svg/units.cxx
+++ b/filter/source/svg/units.cxx
@@ -25,16 +25,17 @@ double convLength( double value, SvgUnit unit, const State& rState, char dir )
double fRet(value);
switch ( unit )
{
- case SVG_LENGTH_UNIT_CM: fRet *= 72.0/2.54; break;
- case SVG_LENGTH_UNIT_IN: fRet *= 72.0; break;
- case SVG_LENGTH_UNIT_MM: fRet *= 72.0/25.4; break;
- case SVG_LENGTH_UNIT_PC: fRet *= 72.0/6.0; break;
- case SVG_LENGTH_UNIT_USER:
- case SVG_LENGTH_UNIT_PX: // no unit defaults to PX in svg,
- // assume display to have 72DPI
- case SVG_LENGTH_UNIT_PT: break;
+ case SVG_LENGTH_UNIT_CM: fRet *= F_SVG_PIXEL_PER_INCH/2.54; break;
+ case SVG_LENGTH_UNIT_IN: fRet *= F_SVG_PIXEL_PER_INCH; break;
+ case SVG_LENGTH_UNIT_MM: fRet *= F_SVG_PIXEL_PER_INCH/25.4; break;
+ case SVG_LENGTH_UNIT_PC: fRet *= F_SVG_PIXEL_PER_INCH/6.0; break;
+ case SVG_LENGTH_UNIT_PT: fRet *= F_SVG_PIXEL_PER_INCH/72.0; break;
case SVG_LENGTH_UNIT_EM: fRet *= rState.mnFontSize; break;
case SVG_LENGTH_UNIT_EX: fRet *= rState.mnFontSize / 2.0; break;
+ case SVG_LENGTH_UNIT_USER:
+ case SVG_LENGTH_UNIT_PX:
+ // no unit defaults to PX in svg, assume display to have 90DPI
+ break;
case SVG_LENGTH_UNIT_PERCENTAGE:
{
double fBoxLen;
diff --git a/filter/source/svg/units.hxx b/filter/source/svg/units.hxx
index 84697e0b1f78..d348104de83c 100644
--- a/filter/source/svg/units.hxx
+++ b/filter/source/svg/units.hxx
@@ -14,6 +14,10 @@
namespace svgi
{
+ // recommended value for this device dependent unit, see CSS2 section 4.3.2 Lengths
+ // Same as in svgio
+ #define F_SVG_PIXEL_PER_INCH 90.0
+
struct State;
enum SvgUnit
{