Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

941 dna sequences justified #963

Merged
merged 12 commits into from
Feb 5, 2024
Merged

941 dna sequences justified #963

merged 12 commits into from
Feb 5, 2024

Conversation

rayzhuca
Copy link
Member

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-baseline is 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:
Screenshot 2024-01-27 at 2 23 34 PM
Exported SVG after "export svg text separately" option:
Screenshot 2024-01-27 at 2 23 49 PM
Exported SVG in PowerPoint:
Screenshot 2024-01-27 at 2 24 03 PM

@rayzhuca rayzhuca requested a review from dave-doty as a code owner January 27, 2024 22:35
@rayzhuca rayzhuca merged commit e16239d into dev Feb 5, 2024
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants