colineckert / obsidian-things

An Obsidian theme inspired by the beautifully-designed app, Things.
MIT License
739 stars 62 forks source link

Text is Backwards if Exported to PDF and Copied to Clipboard #43

Open 1activegeek opened 2 years ago

1activegeek commented 2 years ago

Bear with me on this one, but it's a few steps to reproduce and maybe someone can fully verify. It's possible something else is the culprit - but I know that by switching to the base theme instead, this behavior goes away - so I'm inclined to believe it's something about the theme.

Enable Things theme. Take a note and choose to export it to PDF. The note exports fine and text looks good. But if you then try to copy text from inside that PDF, and paste it to something else - it will come out backwards.

This is with the latest version of Obsidian currently (0.13.23) and have updated this Theme as well just in case of changes. Operating on macOS Monterey on M1 MBP 14. I am using the standard Preview app as well for viewing the PDF. If someone else could kindly try to replicate this and see if the same thing happens, that would be great to confirm it's not just me or rule out (potentially) that it's the theme if someone else does NOT have this issue.

switowski commented 1 year ago

This issue has been bugging me to and finally I found a workaround. Maybe someone will find it useful, cause this theme is awesome and I don't want to switch to something else over such a small inconvenience as export to PDFs.

But first, some background. The "reversed copied text" seems to be a problem with Obsidian some time ago and there was a workaround: https://forum.obsidian.md/t/exported-pdf-on-macos-produces-backward-text-with-copy-paste/50998/5 that eventually was incorporated to 1.1.14. And copying text from PDFs seems to work fine with other themes, but not this one.

So I tried to add the workaround to a custom CSS snippet:

@media print {
  body {
    --font-text: 'Inter' !important;
  }
}

But it didn't work - Things theme was ignoring this. After a lot of debugging, I found out that a workaround that actually works is to overwrite a different variable!

So this custom CSS snippet will fix it:

@media print {
  body {
    --font-text-override: 'Inter';
  }
}

You can also use a different font, I think it's the default, -apple-system used by this font that does something funky with copying text.