问题标签 [freetype]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
12870 浏览

c++ - 从 ASCII 到 Unicode 字符代码的转换 (FreeType2)

我在我的一个项目中使用 FreeType2。为了呈现一个字母,我需要提供一个 Unicode 两字节字符代码。程序读取的字符代码是 ASCII 单字节格式。128以下的字符码没有问题(字符码相同),但其他128不匹配。例如:

ASCII 中的 'a' 是 0x61,Unicode 中的 'a' 是 0x0061 - 没关系
ASCII 中的 'ą' 是 0xB9,Unicode 中的 'ą' 是 0x0105 - 完全不同

我试图在那里使用 WinAPI 函数,但我一定做错了什么。这是一个示例:

我期望创建一个新的宽字符串,最后没有 NULL。但是,大小变量始终等于 0。知道我做错了什么吗?或者也许有更简单的方法来解决问题?

0 投票
3 回答
2082 浏览

c++ - 商业游戏如何处理动态字体加载?

这就是我在伪代码(简化)中处理字体渲染的方式:

所以我可以缓存一些最常用的字体,甚至所有曾经在游戏中使用过的字体。但在某些应用程序中,用户可以即时选择应用程序从未见过的另一种字体/大小/样式,并立即应用。或者例如,在某些游戏中,用户可以替换游戏文件夹中的“font.tff”文件,游戏将在启动时以多种尺寸/样式和数千个 Unicode 字符中的每一个使用它,而无需额外耗时的预加载。奇迹!

我需要这样的东西 - 即时字体加载。

当然,我可以根据需要单独加载字形,并逐个地渲染字形,但这意味着没有批处理,每帧有数千个 Draw 调用和巨大的 GPU 带宽。不确定它是否适用于 OpenGL,但它不适用于 D3D11。

他们如何在游戏工作室中做到这一点?也许您知道另一种方法?我听说过将字体渲染为几何图形、GPU 处理和复杂曲线算法,但在 google 中找不到有用的信息。

任何帮助将不胜感激!

0 投票
1 回答
1042 浏览

php - 使用 WHM 在 Apache 中将 PHP FreeType 版本从 2.2.1 升级到 2.4.4

我已经在我的本地服务器(MAMP)上使用 GD 创建了一个 PHP 应用程序,一切正常,现在我把它放到网上它显示不同......

通过比较phpinfo()本地服务器和实时服务器,我可以看到唯一的区别是 FreeFont 版本(2.2.1 和 2.4.4)。我可以在专用服务器上访问 WHM,但看不到我如何更新这个版本,所以一切都恢复正常了!

我的 Apache 和 WHM 技能有限,但必须有一个半简单的方法来做到这一点?

0 投票
1 回答
2825 浏览

c++ - FreeType“通用”与 c++/cx 关键字冲突

我在将 c++ 和 c++/cx 放在一起时遇到问题。我需要使用 FreeType 库,但他们对某些变量使用“通用”名称。我还需要启用 VC++ 扩展,因为 WinRT 应用程序会导致名称冲突(通用是 c++/cx 中的关键字)

我只在我的项目属性中添加了 freetype 引用和附加的包含目录。

有什么办法可以解决这种情况吗?谢谢你的帮助:) 托马斯

0 投票
2 回答
842 浏览

c++ - Freetype 和 OpenGL 的访问冲突

当我运行我的程序时,窗口显示大约 3 秒(如预期的那样,背景为白色,但没有文本)然后中断,说在 FreeType 代码中存在访问冲突。我很确定这是加载字体,因为我的调试文本打印它找不到它,而且它也不能使用面部的宽度和高度,所以它返回一个错误。我试过将 arial.ttf 放在 .exe 目录、项目目录、任何地方。没有骰子。这是我的 main.cpp:

这是我的Text.h:

这是我的 Text.cpp:

0 投票
1 回答
1272 浏览

php - 在 centos 5.8 - 64 位上构建 freetype

我正在尝试为 PHP 的 GD 模块构建 FreeType。好吧,我能够为 32 位 centos 成功构建它,但我在 x86_64 上遇到错误。

自由类型:

压缩包:

编译freetype时出错:

/usr/bin/ld: /usr/local/lib/libbz2.a(bzlib.o): 重定位 R_X86_64_32S 反对 `a local symbol' 在制作共享对象时不能使用;使用 -fPIC 重新编译

/usr/local/lib/libbz2.a:无法读取符号:错误值 collect2:ld 返回 1 退出状态

制作:* [/setups/freetype-2.4.10/objs/libfreetype.la] 错误 1

0 投票
1 回答
3628 浏览

java - 将 libGdx freetype 库添加到 Android 项目时出错

我正在尝试使用 LibGDX 附带的 libgdx-freetype 库。对于桌面,我只是将libgdx-freetype.jar和添加到主项目libgdx-natives.jar/libs文件夹(并添加到构建路径),它就可以工作了。但是,当尝试将相同的库添加到/libs文件夹并将libgdx-freetype.so文件添加到/libs/armeabi/libs/armeabi-v7a文件夹时,我收到构建错误:

在 Eclipse 控制台中,我有:

有人可以指出我做错了什么吗?

0 投票
2 回答
258 浏览

c++ - 在命名空间中定义结构的成员

我正在使用 NeHe 的关于 FreeType 和 OpenGL 的教程,并且在命名空间 freetype 中定义 struct font_data 的成员时遇到问题。当我在命名空间中定义其成员时,它不会将 font_data 识别为结构。

CE_Text.h:

CE_Text.cpp(我的问题是在 void font_data::init):

0 投票
0 回答
394 浏览

c++ - 使用 TrueType 的 OpenGL 分割错误

我一直在尝试在我的引擎中采用TrueType OpenGL 教程。当我编译并运行他们的示例时,一切正常,但是当我尝试将代码重写到我的引擎中时,我不断遇到分段错误。然后我尝试将他们的代码复制粘贴到我的 Utils 头文件中,但它不起作用。我已经用 cout 进行了一些调试,似乎错误发生在我的渲染方法中。我将首先发布渲染方法,然后是所有其他与 TrueType 相关的函数。如果你需要问我什么,请随意。

渲染方法

字体初始化

Utils.h 中的字体头

0 投票
2 回答
2024 浏览

windows - 如何使用 GDI 渲染 8 位索引位图?

我正在尝试使用 windows GDI 将 freetype 的字形渲染到窗口。貌似freetype生成的位图是8bit索引位图什么的,因为在它的官方教程example4.cpp中,它使用Qt来渲染字形如下:

所以我尝试使用 gdi 渲染它,如下所示:

然后我尝试使用 GDI+ 进行渲染,但也失败了。

您能否告诉我,如何使用 GDI/GDI+ 在 Windows 中呈现每像素 8 位索引位图。谢谢。