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

Use BaseDirs for locating font directories #82

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

tecosaur
Copy link

@tecosaur tecosaur commented Dec 30, 2023

Identifying the correct platform-specific font directories can be done mostly correctly most of the time just with a hardcoded list of places to look (particularly on Apple systems). However, on Windows and XDG-following (i.e. Linux and friends) systems the user and system font directories can end up in other places, and accommodating these edge cases takes some effort.

This effort has already been put in with the BaseDirs package, which is a small zero-dependency package whose entire purpose is to find the correct directories for different types of content on various platforms. So, we can remove the current font-folder-finding code entirely and just call BaseDirs.fonts() for a reduction in code here and an improvement in compatibility.

Copy link

codecov bot commented Dec 30, 2023

Codecov Report

Attention: 1 lines in your changes are missing coverage. Please review.

Comparison is base (077003e) 95.26% compared to head (166378c) 96.07%.

Files Patch % Lines
src/FreeTypeAbstraction.jl 90.90% 1 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##           master      #82      +/-   ##
==========================================
+ Coverage   95.26%   96.07%   +0.81%     
==========================================
  Files           6        6              
  Lines         317      306      -11     
==========================================
- Hits          302      294       -8     
+ Misses         15       12       -3     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

@tecosaur
Copy link
Author

It seems like codecov is complaining about the line @static if Sys.isunix() && !Sys.isapple() not being tested (I don't think it can be hit at runtime while @static applies).

Identifying the correct platform-specific font directories can be done
mostly correctly most of the time just with a hardcoded list of places
to look (particularly on Apple systems). However, on Windows and
XDG-following (i.e. Linux and friends) systems the user and system font
directories can end up in other places, and accommodating these edge
cases takes some effort.

This effort has already been put in with the BaseDirs package, which is
a small zero-dependency package whose entire purpose is to find the
correct directories for different types of content on various platforms.
So, we can remove the current font-folder-finding code entirely and just
call BaseDirs.fonts() for a reduction in code here and an improvement in
compatibility.
@tecosaur
Copy link
Author

tecosaur commented Oct 4, 2024

Just rebased and benchmarked latency (with Julia 1.10):

julia> @time using FreeTypeAbstraction # current release
  0.459916 seconds (858.54 k allocations: 87.634 MiB, 6.14% gc time, 1.33% compilation time)
  
julia> @time using FreeTypeAbstraction # this PR
  0.463937 seconds (878.13 k allocations: 90.774 MiB, 3.77% gc time, 1.26% compilation time)

Seems like this makes a negligible difference to loading time 🙂

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.

1 participant