aboutsummaryrefslogtreecommitdiff
path: root/skin.py
diff options
context:
space:
mode:
Diffstat (limited to 'skin.py')
-rw-r--r--skin.py11
1 files changed, 9 insertions, 2 deletions
diff --git a/skin.py b/skin.py
index 26c08207..2c84afb7 100644
--- a/skin.py
+++ b/skin.py
@@ -11,7 +11,7 @@ from enigma import eSize, ePoint, gFont, eWindow, eLabel, ePixmap, eWindowStyleM
from Components.config import ConfigSubsection, ConfigText, config
from Components.Converter.Converter import Converter
from Components.Sources.Source import Source, ObsoleteSource
-from Tools.Directories import resolveFilename, SCOPE_SKIN, SCOPE_SKIN_IMAGE, SCOPE_FONTS
+from Tools.Directories import resolveFilename, SCOPE_SKIN, SCOPE_SKIN_IMAGE, SCOPE_FONTS, fileExists
from Tools.Import import my_import
from Tools.LoadPixmap import LoadPixmap
@@ -265,7 +265,14 @@ def loadSingleSkinData(desktop, dom_skin, path_prefix):
name = str(font.getAttribute("name") or "Regular")
scale = int(font.getAttribute("scale") or "100")
is_replacement = font.getAttribute("replacement") != ""
- addFont(resolveFilename(SCOPE_FONTS, filename, path_prefix=path_prefix), name, scale, is_replacement)
+ resolved_font = resolveFilename(SCOPE_FONTS, filename, path_prefix=path_prefix)
+ if not fileExists(resolved_font): #when font is not available look at current skin path
+ pos = config.skin.primary_skin.value.rfind('/')
+ if pos != -1:
+ skin_path = resolveFilename(SCOPE_SKIN, config.skin.primary_skin.value[:pos+1]+filename, path_prefix=path_prefix)
+ if fileExists(skin_path):
+ resolved_font = skin_path
+ addFont(resolved_font, name, scale, is_replacement)
for windowstyle in elementsWithTag(skin.childNodes, "windowstyle"):
style = eWindowStyleSkinned()