diff --git a/src/imxml2epub.py b/src/imxml2epub.py index b71df10..c4536e1 100755 --- a/src/imxml2epub.py +++ b/src/imxml2epub.py @@ -1599,22 +1599,18 @@ class FootnoteError(Exception): strColumnString = xmlTable.find(".//EOAtablecolumns").text strColumnString = re.sub(r"\|", "", strColumnString) xmlTable.remove(xmlTable.find(".//EOAtablecolumns")) - reMatchObjects = re.findall(r'([L|R|C].*?[c|m]m)', strColumnString) + reMatchObjects = re.findall(r'(([L|R|C])(.*?)([c|m]m))', strColumnString) intTableWidth = 0 listColumnAlignments = [None] listColumnWidths = [None] intNumberOfColumns = 0 for strColumnDefinition in reMatchObjects: - strColumnDefinition = strColumnDefinition.rstrip("cm") - strColumnAlignment = strColumnDefinition[0] - if strColumnAlignment == "L": - strColumnAlignment = "left" - if strColumnAlignment == "C": - strColumnAlignment = "center" - if strColumnAlignment == "R": - strColumnAlignment = "right" - listColumnAlignments.append(strColumnAlignment) - intColumnWidth = int(float(strColumnDefinition.lstrip("LRC")) * 75) + alignment_dict = {"L" : "left", "C" : "center", "R" : "right"} + listColumnAlignments.append(alignment_dict[strColumnDefinition[1]]) + if strColumnDefinition[3] == "mm": + intColumnWidth = int(float(strColumnDefinition[2]) * 6) + else: + intColumnWidth = int(float(strColumnDefinition[2]) * 75) listColumnWidths.append(intColumnWidth) intTableWidth += intColumnWidth intNumberOfColumns += 1