diff --git a/game/engines/default/engine/FontPackage.lua b/game/engines/default/engine/FontPackage.lua index 542b7c9186b556ad235ef66a7b3364f6c46c7d92..52f842d797999c5a21858463cd407ae715465df2 100644 --- a/game/engines/default/engine/FontPackage.lua +++ b/game/engines/default/engine/FontPackage.lua @@ -48,13 +48,24 @@ end --- Default font id, "default" local cur_id = "default" + +--- Forced id, usuly only needed by some translations +local forced_id = nil + --- Set default font to use -- @string id if it can't find it, then the font will be "basic" function _M:setDefaultId(id) + if forced_id then id = forced_id end if not packages[id] then id = "basic" end cur_id = id end +--- Force all fonts to use this package, no matter what is actually requested +function _M:forceId(id) + cur_id = id + forced_id = id +end + --- Resolves a font -- @string name -- @string orname diff --git a/game/engines/default/engine/I18N.lua b/game/engines/default/engine/I18N.lua index 2e3792bb3d2d6474139fe89786d7efd993c6b515..19d4052151e4d5f6c704421165b99fd0d0e82c2c 100644 --- a/game/engines/default/engine/I18N.lua +++ b/game/engines/default/engine/I18N.lua @@ -97,6 +97,10 @@ function _M:loadLocale(file) setFlag = function(flag, data) self.setFlag(lc, flag, data) end, + forceFontPackage = function(id) + local FontPackage = require "engine.FontPackage" + FontPackage:forceId(id) + end, }, {__index=getfenv(2)}) local f, err = util.loadfilemods(file, env) if not f and err then error(err) end @@ -151,7 +155,6 @@ function _M.setFlag(lc, flag, data) end end - function _M:test() self:loadLocale("/data/locales/fr_FR.lua") self:setLocale("fr_FR") diff --git a/game/engines/default/engine/Module.lua b/game/engines/default/engine/Module.lua index 2067360b6ab43be85805502a1b26f289a6f15ff0..0e3cbf2af9d8c22bf27b19e44c8cc334292292b5 100644 --- a/game/engines/default/engine/Module.lua +++ b/game/engines/default/engine/Module.lua @@ -945,9 +945,8 @@ function _M:instanciate(mod, name, new_game, no_reboot, extra_module_info) I18N:loadLocale("/data/i18n/"..locale..".lua") end - -- I18N:loadLocale("/data/locales/zh_hans.lua") - -- I18N:setLocale("zh_hans") - -- config.settings.tome.fonts = {type="chinese", size="big"} + I18N:loadLocale("/data/locales/zh_hans.lua") + I18N:setLocale("zh_hans") -- Load font packages FontPackage:loadDefinition("/data/font/packages/default.lua") diff --git a/game/engines/default/engine/init.lua b/game/engines/default/engine/init.lua index d330e0cb4c8b3f9b04a2239370ffd8c159f590a6..f2399cef300a749ea3a5c40faa9a2c2b6dda3c53 100644 --- a/game/engines/default/engine/init.lua +++ b/game/engines/default/engine/init.lua @@ -127,7 +127,6 @@ end -- I18N:loadLocale("/data/locales/zh_hans.lua") -- I18N:setLocale("zh_hans") --- config.settings.tome.fonts = {type="chinese", size="big"} -- Default resolution as big as possible