Bug Report: Copying text from Zotero splits combining diacritics, causing spell-check failures...
Bug Report: Copying text from Zotero splits combining diacritics, causing spell-check failures in Firefox and LibreOffice Writer
Note from the reporter: This report was written with the assistance of generative AI to help with translation, grammar, and formatting, as I am not a native English speaker. The issue described here is 100% real and was encountered manually during my regular workflow—this is not an automated or bot-generated report. I simply needed help articulating the technical details clearly.
Summary
When copying text while reading PDFs, EPUBs, and possibly HTML or other documents within Zotero's built-in reader (or from annotations/notes derived from that content), precomposed Unicode characters like ã (U+00E3) are incorrectly copied as a base character followed by a separate combining mark: U+0061, a + U+0303, combining tilde).
Crucially, while this combination looks visually identical to ã in most fonts, it is technically a different sequence of characters. Because of this technical difference, text-processing software such as LibreOffice Writer and the Firefox browser flag these words as spelling/grammar errors, wrongly flagging them. While this is a minor issue on its own, for languages like Portuguese it adds an unnecessary layer of work, requiring manual correction or normalization of every copied passage.
Steps to Reproduce
Open Zotero (desktop client).
Open a PDF, EPUB, or HTML file in Zotero's built-in reader and select text while reading it.
Select and copy any piece of text containing the character ã (e.g., "Educação") from this content.
Paste the copied text into LibreOffice Writer (or into a text field in Firefox, such as a web form or search bar).
Observe the spell-checker behavior.
Expected Behavior
The pasted text should contain the precomposed character ã (U+00E3).
Spell-checkers in LibreOffice Writer and Firefox should recognize words like "Educação" as correctly spelled.
Actual Behavior
The pasted text contains a + ̃ (U+0061 + U+0303).
To the naked eye, it appears exactly as Educação (because the combining tilde renders over the 'a'). However, the underlying Unicode is different.
Consequence: Because the underlying bytes are different, the spell-checking engines in LibreOffice Writer and Firefox do not recognize the word. They wrongly flag "Educação" (with the combining tilde) as a misspelling or invalid word, forcing the user to either ignore the false positives or manually retype/normalize the text.
Affected Characters (examples)
ã → ã (renders as "ã" but is technically invalid for spell-check)
õ → õ (renders as "õ" but is technically invalid for spell-check)
Possibly other characters that use combining diacritics (e.g., ñ → ñ).
Environment
Zotero Version: 9.0.6
Operating System: Ubuntu 26.04
Applications where the issue is observed: LibreOffice Writer 26.2.4.2, Mozilla Firefox 153.0
Zotero Connector/Browser: 5.0.211
Additional Context
This is not merely an aesthetic or rendering issue. Although the combination a + combining tilde looks visually identical to the standard ã in many fonts, text-processing engines rely on the actual Unicode codepoints to match dictionary entries.
This issue is particularly problematic when users copy text while reading academic papers (PDFs), e-books (EPUBs), or web articles (HTML) via Zotero's reader to use in their own writing. When pasted into LibreOffice or web forms, the copied text is wrongly flagged by spell-checkers. This disrupts workflows, as users must either manually retype the accented characters in every copied passage, ignore the persistent red underlines, or use an external normalization tool to convert the text back to NFC (Normalization Form C) format.
Suggested Fix
Ensure that text copied from Zotero's built-in reader (while viewing PDFs, EPUBs, HTML, and their associated annotations) to the system clipboard is normalized to Unicode Normalization Form C (NFC) before being placed on the clipboard. This would convert the decomposed sequence (a + combining tilde) back into the precomposed character (ã), allowing all downstream applications (including LO Writer and Firefox) to recognize and validate the text correctly.
Thanks for your time and effort mantaining the project
Note: due to some obscure error with the webpage here had to change arround some charcaters in order to post {"Code":256,"Exception":"","Class":"Gdn_ErrorException"}. But the bug IS REAL, please believe me ;-;
Note from the reporter: This report was written with the assistance of generative AI to help with translation, grammar, and formatting, as I am not a native English speaker. The issue described here is 100% real and was encountered manually during my regular workflow—this is not an automated or bot-generated report. I simply needed help articulating the technical details clearly.
Summary
When copying text while reading PDFs, EPUBs, and possibly HTML or other documents within Zotero's built-in reader (or from annotations/notes derived from that content), precomposed Unicode characters like ã (U+00E3) are incorrectly copied as a base character followed by a separate combining mark: U+0061, a + U+0303, combining tilde).
Crucially, while this combination looks visually identical to ã in most fonts, it is technically a different sequence of characters. Because of this technical difference, text-processing software such as LibreOffice Writer and the Firefox browser flag these words as spelling/grammar errors, wrongly flagging them. While this is a minor issue on its own, for languages like Portuguese it adds an unnecessary layer of work, requiring manual correction or normalization of every copied passage.
Steps to Reproduce
Open Zotero (desktop client).
Open a PDF, EPUB, or HTML file in Zotero's built-in reader and select text while reading it.
Select and copy any piece of text containing the character ã (e.g., "Educação") from this content.
Paste the copied text into LibreOffice Writer (or into a text field in Firefox, such as a web form or search bar).
Observe the spell-checker behavior.
Expected Behavior
The pasted text should contain the precomposed character ã (U+00E3).
Spell-checkers in LibreOffice Writer and Firefox should recognize words like "Educação" as correctly spelled.
Actual Behavior
The pasted text contains a + ̃ (U+0061 + U+0303).
To the naked eye, it appears exactly as Educação (because the combining tilde renders over the 'a'). However, the underlying Unicode is different.
Consequence: Because the underlying bytes are different, the spell-checking engines in LibreOffice Writer and Firefox do not recognize the word. They wrongly flag "Educação" (with the combining tilde) as a misspelling or invalid word, forcing the user to either ignore the false positives or manually retype/normalize the text.
Affected Characters (examples)
ã → ã (renders as "ã" but is technically invalid for spell-check)
õ → õ (renders as "õ" but is technically invalid for spell-check)
Possibly other characters that use combining diacritics (e.g., ñ → ñ).
Environment
Zotero Version: 9.0.6
Operating System: Ubuntu 26.04
Applications where the issue is observed: LibreOffice Writer 26.2.4.2, Mozilla Firefox 153.0
Zotero Connector/Browser: 5.0.211
Additional Context
This is not merely an aesthetic or rendering issue. Although the combination a + combining tilde looks visually identical to the standard ã in many fonts, text-processing engines rely on the actual Unicode codepoints to match dictionary entries.
This issue is particularly problematic when users copy text while reading academic papers (PDFs), e-books (EPUBs), or web articles (HTML) via Zotero's reader to use in their own writing. When pasted into LibreOffice or web forms, the copied text is wrongly flagged by spell-checkers. This disrupts workflows, as users must either manually retype the accented characters in every copied passage, ignore the persistent red underlines, or use an external normalization tool to convert the text back to NFC (Normalization Form C) format.
Suggested Fix
Ensure that text copied from Zotero's built-in reader (while viewing PDFs, EPUBs, HTML, and their associated annotations) to the system clipboard is normalized to Unicode Normalization Form C (NFC) before being placed on the clipboard. This would convert the decomposed sequence (a + combining tilde) back into the precomposed character (ã), allowing all downstream applications (including LO Writer and Firefox) to recognize and validate the text correctly.
Thanks for your time and effort mantaining the project
Note: due to some obscure error with the webpage here had to change arround some charcaters in order to post {"Code":256,"Exception":"","Class":"Gdn_ErrorException"}. But the bug IS REAL, please believe me ;-;
-
beto_rebonatto(I also know my post may be flagged as spam, but the {"Code":256,"Exception":"","Class":"Gdn_ErrorException"} error did not let me post, yet it flagged my atemmps...)
Upgrade Storage