From b4639e5222ce475c9f4c4e3f3ccf485c81b69ea5 Mon Sep 17 00:00:00 2001 From: vrroom Date: Thu, 13 May 2021 16:12:12 +0530 Subject: [PATCH] Added matplotlib.colors to parse named colors The svg parser will incorrectly parse colors such as 'green' and 'red' to black. This commit fixes that by using the code already written in matplotlib.colors module --- pydiffvg/parse_svg.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/pydiffvg/parse_svg.py b/pydiffvg/parse_svg.py index 17d91b3..fb1f3fc 100644 --- a/pydiffvg/parse_svg.py +++ b/pydiffvg/parse_svg.py @@ -10,6 +10,7 @@ import re import warnings import cssutils import logging +import matplotlib.colors cssutils.log.setLevel(logging.ERROR) def remove_namespaces(s): @@ -70,7 +71,11 @@ def parse_color(s, defs): elif s == 'none': return None else: - warnings.warn('Unknown color command ' + s) + try : + rgba = matplotlib.colors.to_rgba(s) + color = torch.tensor(rgba) + except ValueError : + warnings.warn('Unknown color command ' + s) return color # https://github.com/mathandy/svgpathtools/blob/7ebc56a831357379ff22216bec07e2c12e8c5bc6/svgpathtools/parser.py