Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/258.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# XNA-如何确定已编译XNB文件中使用的字体类型和字体大小_C#_Fonts_Xna_Reverse Engineering_Decompiling - Fatal编程技术网

C# XNA-如何确定已编译XNB文件中使用的字体类型和字体大小

C# XNA-如何确定已编译XNB文件中使用的字体类型和字体大小,c#,fonts,xna,reverse-engineering,decompiling,C#,Fonts,Xna,Reverse Engineering,Decompiling,XNB文件由Microsoft XNA创建,并以多种方式分发 游戏。XNB是一种通用序列化格式,能够表示 任意.NET对象,但纹理有通用定义, 声音样本、3D模型、字体和其他游戏数据。XNB文件可能 使用LZX压缩(称为Xbox XMemCompress格式) 我已经用字体解压了xnb文件,我需要获得使用哪种字体和字体大小的信息。我没有主应用程序的源。我想在其他应用程序中使用相同的字体设计 当前带有字体的xnb文件没有我需要的所有特殊字符。我能够用Unicode字符生成新的spritefont,

XNB文件由Microsoft XNA创建,并以多种方式分发 游戏。XNB是一种通用序列化格式,能够表示 任意.NET对象,但纹理有通用定义, 声音样本、3D模型、字体和其他游戏数据。XNB文件可能 使用LZX压缩(称为Xbox XMemCompress格式)

我已经用字体解压了xnb文件,我需要获得使用哪种字体和字体大小的信息。我没有主应用程序的源。我想在其他应用程序中使用相同的字体设计

当前带有字体的xnb文件没有我需要的所有特殊字符。我能够用Unicode字符生成新的spritefont,并将其编译为xnb文件,但因为我不知道使用了什么字体,所以我的插件设计明显不同

有人知道如何检测XNB文件中使用的字体和字体大小吗? 我也在考虑通过hex Editor更改编码,但是我没有找到任何关于编码信息存储在哪里以及更改它们的容易程度的信息

带有字体的示例文件:

到目前为止,我发现以下有用的资源:

您可以使用msdn中的“已编译(XNB)内容格式”项目

我自己没有尝试过,但据Microsoft称,您可以使用它打开XNB文件,并在屏幕上看到打印的内容:

还包括一个实例,XNB解析器,用原生C++编写, 演示如何通过打印已编译的XNB文件的内容来解析该文件 到屏幕上

看看吧

你可以找到其他的,但我总是喜欢去找产品本身的所有者,这样你就有更好的机会得到有用的东西