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

feat(src/renderer): stream fonts with SDL_RWops on all platforms #1555

Merged
merged 4 commits into from
Jul 11, 2023

Conversation

takase1121
Copy link
Member

This PR loads the font file with SDL_RWops on all platforms. This will support UTF-8 filename on Windows without loading the entire file into memory, which partially causes #1529. The other part of the issue is with too much glyphsets loaded at once (and slow load), but this will reduce the memory used.

Partially fixes #1529.

Copy link
Member

@Guldoman Guldoman left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This simplifies a lot of Windows-specific code and there are no more #ifdefs in this file, so I'm happy.

src/renderer.c Outdated Show resolved Hide resolved
src/renderer.c Show resolved Hide resolved
@Guldoman
Copy link
Member

Guldoman commented Jul 9, 2023

@adamharrison IIRC you said you wanted to use something like this in the AIO version, so I'll leave you the last review.

This fixes lite-xl#1529 where the font itself carries the font file, which gets copied around.
This commit streams the file, so the file is not entirely in memory.
@takase1121 takase1121 force-pushed the renderer/stream-font branch from 4aee539 to c5ff184 Compare July 10, 2023 14:14
@adamharrison adamharrison merged commit 76f23a2 into lite-xl:master Jul 11, 2023
takase1121 added a commit to takase1121/lite-xl that referenced this pull request Aug 19, 2023
…e-xl#1555)

* feat(src/renderer): stream fonts with SDL_RWops on all platforms

This fixes lite-xl#1529 where the font itself carries the font file, which gets copied around.
This commit streams the file, so the file is not entirely in memory.

* style(src/renderer): use standard C types

* refactor(src/renderer): implement FT_Stream.close

* fix(src/renderer): fix SDL_RWops double free
takase1121 added a commit to takase1121/lite-xl that referenced this pull request Aug 19, 2023
…e-xl#1555)

* feat(src/renderer): stream fonts with SDL_RWops on all platforms

This fixes lite-xl#1529 where the font itself carries the font file, which gets copied around.
This commit streams the file, so the file is not entirely in memory.

* style(src/renderer): use standard C types

* refactor(src/renderer): implement FT_Stream.close

* fix(src/renderer): fix SDL_RWops double free
takase1121 added a commit to takase1121/lite-xl that referenced this pull request Aug 19, 2023
…e-xl#1555)

* feat(src/renderer): stream fonts with SDL_RWops on all platforms

This fixes lite-xl#1529 where the font itself carries the font file, which gets copied around.
This commit streams the file, so the file is not entirely in memory.

* style(src/renderer): use standard C types

* refactor(src/renderer): implement FT_Stream.close

* fix(src/renderer): fix SDL_RWops double free
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

CJK fonts use abnormal more memory
3 participants