

图就借用下吧友的了,本人才疏学浅,本文内容纯属推测,若有错误还望指出。
首先聊一下文本显示的原理,每一个单字要显示到屏幕上,都会被处理成一张图片,而绝大多数单字都会被反复使用,就效率来说不可能每次用的时候都重新创建一张,这样游戏每帧都会去生成一次文字的图片,对电脑是个负担,所以在一开始就会有一张比较大的空白图片(这里把它称为图集)用来存放生成的文字图片(我们看不见),这样遇到重复文字的时候只要根据起始坐标点和字体大小取出来就是对应的单字。
然而,图集不可能无限大,当字摆满的时候就摆不下了,这种时候有两种选择:1、创建一张新图集;2、尝试在旧图集上继续生成。CK3应该是采用了第二种方式,结果就是原文本没有被更改,但却为新文本记录了这个节点的坐标和大小,所以就出现了如上图所示的情况,截出来的字大小跟其他字是相同的,但不是我们想看到的字。
中文常用字3500左右,算上一些地名里的生僻字应该也不会超过4000,通常情况下图集(只要没有设太小)是可以包含4000及更多文字的,那造成中文会出现这种情况的罪魁祸首就是大地图上的字体大小自适应变化。同样是一个“教”字,在信仰界面上“教”字是正常的,但在大地图上却是错的,这是因为不同字号的同一个字会为所有不同的字号都生成一张对应的新图。字的大小会随着领土疆域变化而变化,每次变化都会有一张新图创建到一开始的空白图片中,这张图片也逐渐被填满,甚至因为各种字体大小不同出现了大量空隙,小字还能找空隙填进去,但是已经没有地方能写下一个“大字”了,所以有时我们也会在地图上看到两个相同的字一个正常一个乱码(图一的两个“教”字字体大小应该相同)。
为什么只有中文有这种情况呢?理论上日文韩文应该也会有相同的问题,只是我们不关注而已,而至于西方语言,英语总共就26个字母,反反复复都是那几张图,自然不会把图集填满。
那怎么解决呢,最简单的解决办法就是把图集设大,但也可能治标不治本,而这个步骤应该也不是mod制作者能办得到的。