关于Register("font 的问题 解决了,lsm裤的函数定义问题
aa= LibStub("LibSharedMedia-3.0")aa:Register("font", "f1", "[url=file://\\ss\\ass.ttf]\\ss\\ass.ttf[/url]")
为何不能加入新内容 f1这个的 [url] [/url] 这个标签不是Discuz代码吗?放到插件里干嘛?
其次,你的字体只能放在魔兽所属目录里,放在别的地方是不行的,所以你放在 \\ss 这里也是不行的 ban板主啊 哪个只是举例而已啊, 还有哪个url 论坛+的
真正要问的事为什么不能给子表font 填加项目而改填加到sound or statusbar等等 就可以 sm = LibStub("LibSharedMedia-3.0")
sm:Register("font", "name", "字体位置(比如 InterFace\\Addons\\xxx\\xx.ttf)") [color=Red][color=Red][color=Black]ss\\ass.ttf 前面没 \\[code]local SM = LibStub("LibSharedMedia-3.0", true)
SM:Register("font", "f1", [[ss\ass.ttf]])[/code][/color][/color][/color] 发现问题所在了 下面是lsm3的register 函数定义前面2行
function lib:Register(mediatype, key, data, langmask)
if mediatype == lib.MediaType.FONT and ((langmask and band(langmask, LOCALE_MASK) == 0) or not (langmask or locale_is_western)) then return false end
***********************************************
MediaType.FONT 值为"font" so ,当我们给font表填加内容时SM:Register("font", "f1", "ss\\ass.ttf")则会直接return 结束
参数langmask为游戏语言版本代码,不过LOCALE_MASK是lm3的局部变量 好象不能访问,so 在插件 里写填加font 项时 要写出语言代码 来填加
SM:Register("font", "f1", "ss\\ass.ttf",2) 就能填加了 "2" 在lsm3里对应 zhcn
麻烦吧,但我们呢可以取巧 填加字体项时 不用小写的font 用大写的"Font" 即可 因为上面哪个判断之后有1个lower()
即SM:Register("Font", "f1", "ss\\ass.ttf")就能填加了
这样 只要修改下clearfont2的Core.lua的
function ClearFont:OnInitialize()
self:RegisterDB("ClearFontDB")
self:RegisterDefaults("profile", defaults)
self:RegisterChatCommand("/clearfont", "/clearfont2", "/cf", "/cf2", menu, "CLEARFONT")
self:RegisterEvent("ADDON_LOADED", "ApplyFont")
if media then
for i, v in ipairs(self.fonts) do
if SM3 then SM3:Register("[color=red]font[/color]", v.name, v.normal) end
if SM2 then SM2:Register("[color=red]font[/color]", v.name, v.normal) end
if SM1 then SM1:Register("[color=red]font[/color]", v.name, v.normal) end
end
menu.args.font.validate = media:List("font")
else
menu.args.font.validate = self:GetFonts()
end
end 红色改改 就能在cf 设置彩旦中选择字体了..
页:
[1]