[fix, desktop] Use XDG_DATA_HOME to search for fonts (#8521)

Same as <https://github.com/koreader/koreader/pull/8507>.
pull/8528/head
Alberto 3 years ago committed by GitHub
parent 19a607b548
commit 6ebcfd9e79
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -5,34 +5,33 @@ local _ = require("gettext")
--[[ Font settings for systems with multiple font dirs ]]-- --[[ Font settings for systems with multiple font dirs ]]--
local LINUX_FONT_PATH = "share/fonts"
local MACOS_FONT_PATH = "Library/fonts"
local function getDir(isUser) local function getDir(isUser)
local home = Device.home_dir local home = Device.home_dir
local XDG_DATA_HOME = os.getenv("XDG_DATA_HOME")
local LINUX_FONT_PATH = XDG_DATA_HOME and XDG_DATA_HOME .. "/fonts"
or home .. "/.local/share/fonts"
local LINUX_SYS_FONT_PATH = "/usr/share/fonts"
local MACOS_FONT_PATH = "Library/fonts"
if isUser and not home then return end if isUser and not home then return end
if Device:isAndroid() then if Device:isAndroid() then
if isUser then return isUser and home .. "/fonts;" .. home .. "/koreader/fonts"
return home .. "/fonts;" .. home .. "/koreader/fonts" or "/system/fonts"
else
return "/system/fonts"
end
elseif Device:isPocketBook() then elseif Device:isPocketBook() then
if isUser then return isUser and "/mnt/ext1/system/fonts"
return "/mnt/ext1/system/fonts" or "/ebrmain/adobefonts;/ebrmain/fonts"
else
return "/ebrmain/adobefonts;/ebrmain/fonts"
end
elseif Device:isRemarkable() then elseif Device:isRemarkable() then
return isUser and string.format("%s/.local/%s", home, LINUX_FONT_PATH) return isUser and LINUX_FONT_PATH
or string.format("/usr/%s", LINUX_FONT_PATH) or LINUX_SYS_FONT_PATH
elseif Device:isDesktop() or Device:isEmulator() then elseif Device:isDesktop() or Device:isEmulator() then
if jit.os == "OSX" then if jit.os == "OSX" then
return isUser and string.format("%s/%s", home, MACOS_FONT_PATH) return isUser and home .. "/" .. MACOS_FONT_PATH
or string.format("/%s", MACOS_FONT_PATH) or "/" .. MACOS_FONT_PATH
else else
return isUser and string.format("%s/.local/%s", home, LINUX_FONT_PATH) return isUser and LINUX_FONT_PATH
or string.format("/usr/%s", LINUX_FONT_PATH) or LINUX_SYS_FONT_PATH
end end
end end
end end

Loading…
Cancel
Save