Modify

Opened 3 years ago

Closed 3 years ago

#8974 closed defect (duplicate)

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 (1)

comment:1 Changed 3 years ago by kohler

  • Resolution set to duplicate
  • Status changed from new to closed

Add Comment

Modify Ticket

Action
as closed .
as The resolution will be set. Next status will be 'closed'.
to The owner will be changed from richard. Next status will be 'closed'.
The resolution will be deleted. Next status will be 'reopened'.
Author


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

 
Note: See TracTickets for help on using tickets.