2
0
mirror of https://github.com/koreader/koreader synced 2024-11-10 01:10:34 +00:00

Merge pull request #1544 from chrox/android-external-fonts

add external font dir option for Android
This commit is contained in:
Qingping Hou 2015-06-06 15:39:12 -04:00
commit 63fb8af937
3 changed files with 15 additions and 3 deletions

2
base

@ -1 +1 @@
Subproject commit cd68f482e00f26402ea8116ef813df08162a39cb Subproject commit 12ed264734bfad1b34620877cd2753e63436356c

View File

@ -186,6 +186,9 @@ NETWORK_PROXY = nil
-- Use turbo library to handle async HTTP request -- Use turbo library to handle async HTTP request
DUSE_TURBO_LIB = false DUSE_TURBO_LIB = false
-- Custom font dir for Android
ANDROID_FONT_DIR = "/system/fonts;/sdcard/koreader/fonts"
-- #################################################################### -- ####################################################################
-- following features are not supported right now -- following features are not supported right now
-- #################################################################### -- ####################################################################

View File

@ -1,6 +1,7 @@
local lfs = require("libs/libkoreader-lfs") local lfs = require("libs/libkoreader-lfs")
local Freetype = require("ffi/freetype") local Freetype = require("ffi/freetype")
local Screen = require("device").screen local Screen = require("device").screen
local Device = require("device")
local DEBUG = require("dbg") local DEBUG = require("dbg")
local Font = { local Font = {
@ -94,11 +95,19 @@ function Font:_readList(target, dir)
end end
end end
function Font:_getExternalFontDir()
if Device:isAndroid() then
return ANDROID_FONT_DIR
else
return os.getenv("EXT_FONT_DIR")
end
end
function Font:getFontList() function Font:getFontList()
local fontlist = {} local fontlist = {}
self:_readList(fontlist, self.fontdir) self:_readList(fontlist, self.fontdir)
-- multiple path should be joined with semicolon in FONTDIR env variable -- multiple paths should be joined with semicolon
for dir in string.gmatch(os.getenv("EXT_FONT_DIR") or "", "([^;]+)") do for dir in string.gmatch(self:_getExternalFontDir() or "", "([^;]+)") do
self:_readList(fontlist, dir) self:_readList(fontlist, dir)
end end
table.sort(fontlist) table.sort(fontlist)