Fixes exported SVG text being unjustified on PowerPoint.
Description
Every SVGTextContentElement (SVGTextElement, SVGTextPath, etc.) is converted into character separated SVGTextElements
Uses getStartPositionOfChar to get the position of individual characters in any SVGTextContentElement. However,
getStartPositionOfChar does not carry over some specific attributes, such as dominant-baseline and transform
dominant-baselineis calculated via dominant_baseline_matrix and get_text_height
Due to some quirks with dart, matrix_to_map, dom_matrix_to_map, point_to_map is made to call some web API functions
Fixed the Cannot read properties of null (reading 'toString') console error that appears immediately when website loads. (This is actually unrelated to justifying DNA sequences though.)
Fixed export "SVG main view" viewbox bug, where on PowerPoint, for long SVGs, the SVG is cropped significantly.
Related issues
text-shadow does not work on PowerPoint. PowerPoint does support stroke and paint-order for texts but it looks significantly worse and grainy than without it. (Notice the "A" under the modification in the PowerPoint screenshot.)
The viewbox of an exported SVG is slightly off (line 242-248 in export_svg.dart). If you export main view the effect is significant. (Notice the domain circle "2" is cut off slightly after exporting.)
Screenshots
SVG on scadnano:
Exported SVG after "export svg text separately" option:
Fixes exported SVG text being unjustified on PowerPoint.
Description
SVGTextContentElement
(SVGTextElement
,SVGTextPath
, etc.) is converted into character separated SVGTextElementsgetStartPositionOfChar
to get the position of individual characters in anySVGTextContentElement
. However,getStartPositionOfChar
does not carry over some specific attributes, such asdominant-baseline
andtransform
dominant-baseline
is calculated viadominant_baseline_matrix
andget_text_height
matrix_to_map
,dom_matrix_to_map
,point_to_map
is made to call some web API functionsCannot read properties of null (reading 'toString')
console error that appears immediately when website loads. (This is actually unrelated to justifying DNA sequences though.)Related issues
text-shadow
does not work on PowerPoint. PowerPoint does support stroke and paint-order for texts but it looks significantly worse and grainy than without it. (Notice the "A" under the modification in the PowerPoint screenshot.)Screenshots
SVG on scadnano:
Exported SVG after "export svg text separately" option:
Exported SVG in PowerPoint: