Project1

标题: 如何更改电脑没有安装的字体 [打印本页]

作者: 懒虫起床    时间: 2010-6-20 20:25
标题: 如何更改电脑没有安装的字体
本帖最后由 凌辰 于 2010-6-21 17:46 编辑

如题,谢谢
已将字体放在Fonts下,还要什么脚本吗?
作者: 懒虫起床    时间: 2010-6-21 06:11
没人回答下吗?
作者: 奶油Da蛋糕    时间: 2010-6-21 07:06
本帖最后由 奶油Da蛋糕 于 2010-6-21 07:08 编辑

在Main里面把字体修改。看到那一排的["黑体","宋体"]什么的了吗?改成字体名字

然后,貌似有个bitmap.font.name = ["字体名"]

具体的很久没用了忘了,你去试试看?
数组里按从先到后,比如说["黑体","宋体"],默认是黑体,但是如果某人的电脑里没有黑体,就显示宋体。
作者: 天帝·隳    时间: 2010-6-21 09:28
本帖最后由 天帝·隳 于 2010-6-22 09:19 编辑

LZ的意思是使用Fonts文件里面的字体,只要打开游戏就能够使用,不需要玩家手动安装字体么?

建议先在最开始定义一个模块,内容如下(假设有三个字体,分别为"迷你简黑体", "华文琥珀", "方正卡通简体",而三个字体文件分别对应Fonts中的字体文件名:"mljht.ttf", "hwhp.ttf","fzktjt.ttf"):
  1. module System_Fonts
  2.   Font_Type = {"迷你简黑体" => "mljht.ttf",
  3.              "华文琥珀" => "hwhp.ttf",
  4.              "方正卡通简体" => "fzktjt.ttf"}
  5.   def self.font_use(font_name, font_chn_name)
  6.     $font_input = 0
  7.     font = Win32API.new('gdi32','AddFontResourceA','p','L')
  8.     sendmsg = Win32API.new('user32','SendMessageA','l,l,l,l','L')
  9.     unless Font.exist?("#{font_chn_name}")
  10.       $font_input += 1
  11.       font.call("Fonts/#{font_name}")
  12.       sendmsg.call(65535,29,0,0)
  13.     end
  14.   end
  15. end
复制代码
然后把最后的Main脚本段变成:
  1. begin
  2.    for font in System_Fonts::Font_Type.keys
  3.      System_Fonts.font_use(System_Fonts::Font_Type[font] ,font)
  4.    end
  5.    exit if $font_input != 0
  6.    Font.default_name = (["迷你简黑体"])
  7.    Graphics.freeze
  8.    $scene = Scene_Title.new
  9.    while $scene != nil
  10.      $scene.main
  11.    end
  12.    Graphics.transition(20)
  13. rescue Errno::ENOENT
  14.    filename = $!.message.sub("No such file or directory - ", "")
  15.    print("找不到文件 #{filename}。 ")
  16. end
复制代码
不过这里有一个小小的问题,就是第一次点开游戏的时候,只会黑一下就消失了(因为刚初始化了字体),第二次就正常了。
作者: 精灵使者    时间: 2010-6-21 10:36
精灵表示以前有人做过这个脚本(亿万星辰),但是发现此脚本容易出错
作者: 懒虫起床    时间: 2010-6-21 17:14
LZ的意思是使用Fonts文件里面的字体,只要打开游戏就能够使用,不需要玩家手动安装字体么?

建议先在最开 ...
天帝·隳 发表于 2010-6-21 09:28

直接出现第三行出错



作者: 天帝·隳    时间: 2010-6-22 09:19
回复 懒虫起床 的帖子

orz……没看见还有个System_Need……

刚才把它修正了……
   
作者: 天使喝可乐    时间: 2010-6-22 09:37
“更改电脑没有安装的字体”是什么意思
作者: 懒虫起床    时间: 2010-6-22 12:08
天帝·隳   非常感谢
作者: 飛影    时间: 2010-6-23 14:27
我好像有......
作者: 无心孤云    时间: 2010-6-23 14:32
想请教下这个脚本的话是否可以用来解决繁体系统和英文系统或vt系统不兼容XP某些字体的问题?
作者: xiaoji66    时间: 2010-8-25 18:23
楷体应该是楷体_GB2312




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1