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

Store rich text as an immutable rich text #2116

Merged
merged 2 commits into from Jul 2, 2023
Merged

Store rich text as an immutable rich text #2116

merged 2 commits into from Jul 2, 2023

Conversation

jahav
Copy link
Member

@jahav jahav commented Jul 1, 2023

This is a step 3 of shared string table (followup of #2115).

It introduces a new type (internal for now) XLImmutableRichText and the new type is now used to store rich text in a value slice (rich text was moved from misc slice). The immutable rich text in a cell is updated when the mutable rich text is changed.

The immutable rich text is necessary for a reverse dictionary of shared string table. Mutable types are highly unsuitable for dictionary due hashcode.

I am not very happy with API of XLRichText (for the second time) and will likely replace it with the immutable type, but not now.

…l be stored in shared string table and thus belongs to sst.
@jahav jahav added this to the v0.103 milestone Jul 1, 2023
…bleRichText. The XLRichText transparently updates immutable rich text, whenever it changes (run, pohonetic runs or phonetic properties). This is required for shared string table, because items stored in a reverse dictionary must be immutable.
@jahav jahav merged commit 55d8cc6 into develop Jul 2, 2023
4 checks passed
@jahav jahav deleted the sst-rich-text branch July 2, 2023 15:46
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.

None yet

1 participant