汉化galgame字体乱码,galgame语言文字乱码

  汉化galgame字体乱码,galgame语言文字乱码

  最初制作弗拉皮鸟小游戏时,遇到了中文乱码显示的问题。如下所示。

  最初以为是python(python语言)编码的问题,但是Python3自动解决了中文显示的问题。最简单的例子是用列印)语句打印。于是我想起了皮尤游戏界面上显示中文的问题。

  用网上找的方法,总结了三种方式。在此列举自己探索的过程。并不是所有的方式都能正常解决,主要展示了解决问题的方式。请作为参考。

  1 .使用font.get_fonts)函数显示系统字体。

  在这里贴上系统字体。每个字体都代表什么意思,请大家自己调查一下。大部分是微软提供的字体。

  [arial , arialblack , rail font , calibri , cambrimbramadaath , cambria , candara , comics 和“franklingothicmmedia”、“Gabriella”、“gaduguguig”、“Georgia”、“impact”、“inkfree”、“lelawadeeeesese”发出“malgungothicsemilight”、“microsofthimicic”、“microsofthenghhome microsoftjhingheibold”、“microsoftjhengheirguibold”、“sitkasmallstitkate xtsicikasibehasingitalytaliskabannalic”、“sylfaen”、“trebuchetms”、“verdana”、“webdings”、“wingdings”、“yugothicyugothiboldyugothicuibold”、“yugothigothigulgiugothigimilitory”、“邓县"、"方松”、“凯体”、“思明”numeronly”、“acaslonprobonproboboly”、“acaslonproentype”、“acaslonproentype”和“阿卡斯隆效应”

  aslonprosemibolditalicopentype 、" adoptionadvisoftregular oportype "、" adobegothicstdboldopentype "、" adobearabicregularopentype "、" adobeedataregular prop type "、" adobenaskhmediumopentype "、" agaramondprobolditalicopentype "、" agaramondproitalicopentype "、" agaramondproboldopentype "、" birchstdopentype "、" blackoakstdopentype "、" brushscriptstdopentype "、" chaparralproboldopentype "等等" kozgopr 6 nextralightopentype "、" kozgopr 6 nheavyopentype "、" kozgopr6nlightopentype "、" kozgopr 6 nmediumopentype "、" koz minpr 6 rnoportype "、" kozminpr 6 nextralightopentype "、" kozminpr 6 nheavyopentype "、" kozminpr 6 nmediumopentype "、" kozminpr 6 nregularopentype "、" lettergothicstdboldopentype "、" lettergothicstdopentype "

  当然,在这些字体中,用户也可以自己从网上下载字体,其实都在C:\Windows\Fonts路径下,只是这些字体的名称显示不同。

  然后我们从列表中选择任一字体进行测试【中文】还是用我们一开始用的拍打鸟

  这里我们选择列表中的唯一中文字体进行设置,也是成功的显示中文字体。结果如下:

  我们同样采取一样的方式换成任意其它字体进行测试:控制台为例

  然后我们选择丽思]也就是隶书【注:

  也可以正常显示,其他就不一一测试了。有些字体支持中文,有些不支持。当然也和每个字体的意思有关。比如微软字体中的新罗马字体就是我们最常用的英文和特殊符号的格式。有兴趣的可以测试一下其他字体及其含义。

  2.绝对路径的使用方法

  上面我们已经介绍过了,因为这些字体的来源都是C:\Windows\Fonts路径下的字体文件,所以我们也可以用绝对路径的形式来传递参数。

  我们将用斜体测试它。

  记住这里的文件名不叫楷书,是我们通过查看属性得到的文件名!

  我们复制路径并粘贴到pycharm的代码中,

  我们发现在这里不能正常显示,但是不能直接否认在这里不能直接显示。所以为了验证这种方法的可行性,我们使用了只有文本的pygame窗口来显示,发现结果可以正常显示。这里补充一下路径URL的斜杠问题。我们复制的路径是\ slash,但是我们使用/slash,正则表达式文章中已经介绍过了。如果用\ slash,就需要转义,否则Python解释器不知道。解决方案是要么使用/slash,要么使用\ slash,但是需要在路径前面添加字母U来表示原生字符。如下所示:

  结果如上图,中文也能正常显示。在我们Flappy Bird节目中,可能是我水平有限,暂时还没找到不能展示的原因。

  这里需要注意的是,如果使用系统字体Arial,这种字体在Word中最为常见,但是很多初学者并不知道这种字体。最简单的来说,在微软字体中常用来设置数字字体,对于特殊符号和中文不起作用。把百科贴在这里简单了解一下,有兴趣的可以自行搜索。

  我们在pycharm中验证了这一点。

  很明显,这个字体不能用来设置中文字体,但是英文还是可以正常显示的。

  这是Word中的Arial字体。如果设置了中文和标点符号,则无法设置。只有数字可以设置为这种字体。这里需要注意。

  3.使用相对路径

  类似于第二种方法,除了URL使用相对路径。至于相对路径和绝对路径,这里就不介绍了。大部分人都知道,不知道的可以自己百度搜。

  下面介绍一下这种方法的应用场景。一般可以用相对路径,绝对路径绝对不用,因为绝对路径是固定的。一旦文件的位置改变,绝对路径将无效,但相对路径不会。因此,它具有良好的可移植性。还有一个常见的应用场景,就是我们可以自己设置下载的字体文件。比如我们下载的字体文件保存到桌面,我们可以把这个文件复制到我们写代码的Python文件的路径。它可以是相同的路径,也可以创建一个文件夹成为子路径。这可以根据需要进行设置。

  好了,以上是我解决pygame界面显示中文乱码的流程。希望大家可以参考各种方法,找到适合自己的。

  是的,最后我想补充一点,如果使用默认的字体设置代码,中文将无法正常显示。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: