Modify

Opened 3 years ago

#8973 new defect

Size calculation extracted from SVG goes wrong

Reported by: markus.kohler@… Owned by: richard
Priority: normal Component: TracImageSvgMacro
Severity: normal Keywords: size, units
Cc: Trac Release: 0.11

Description

The size is extracted from the svg file with regular expressions: w = re.search(width=["']([0-9]+\.?[0-9]?)(.*?)["'], svg) h = re.search(height=["']([0-9]+\.?[0-9]?)(.*?)["'], svg) resulting in a split (w_val, w_unit) = (8.2, 663in) instead of (w_val, w_unit) = (8.2663, in). The following change in the regexp repairs that defect: w = re.search(width=["']([0-9]+\.?[0-9]*)(.*?)["'], svg) h = re.search(height=["']([0-9]+\.?[0-9]*)(.*?)["'], svg)

Also there is a small bug which could make a difference if the horizontal and vertical units differ. Current code contains: w_val = int(math.ceil(float(w_val) * unitMapping[w_unit])) h_val = int(math.ceil(float(h_val) * unitMapping[w_unit])) while the second line should really be h_val = int(math.ceil(float(h_val) * unitMapping[h_unit]))

Attachments (0)

Change History (0)

Add Comment

Modify Ticket

Action
as new The owner will remain richard.
Author


E-mail address and user name can be saved in the Preferences.

 
Note: See TracTickets for help on using tickets.