问题标签 [pango]
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.
c - Pango 和 FreeType——不渲染文本,只是奇怪的像素
我试图让 Pango 控制 FreeType。我已经成功地将 FreeType 渲染为位图,但 Pango 似乎不知道发生了什么,我显然没有正确地做某事。
这是我目前正在使用的代码:
drawBitmap
只是我的助手类,我知道这很有效,因为我可以用随机颜色填充它并且它们会出现。
这是渲染的内容:
我想尝试让该文本正确显示。
编辑:在修复图像的位深度并使用 FreeType 引擎从裸 Pango FreeType 切换到 Pango Cairo 之后,问题已经得到了更清晰的解决。
使用这条线:
生产
当我运行时pango_font_map_list_families
,我会得到一长串安装在我的系统上的字体。
但是,如果我将其更改为此,使用 FreeType:
它产生
然后我的系统上突然只有 3 种字体Sans
,Serif
和Monospace
.
c++ - C++ pango 文本方向
我正在尝试在使用 pango 构建的图中标记 y 轴。
我无法将文本定向为沿 y 轴垂直向上运行。
代码的相关部分是:
我怀疑这个问题与我从 x 轴标签检索的上下文有关,并且预期的复制行为没有表现出来。
internationalization - 将 fribidi 与 Tk 源代码集成
我在 Tkbind.c、TkEvent.c 和 TkEntry.c 中的 tk 源代码中看到,有一组指针,eventPtr、dispPtr、bindPtr 以及更多指向不同 C 结构的指针。
有 eventPtr 存储与按下哪个键有关的信息。然后 bindPtr 从 hashtable 中获取一个适当的 glyph,对应于 eventPtr 中的 keySym,并将结果存储到 patPtr(模式指针)指向的结构中。
我想一个例子会有所帮助。
所以,我按下键“A”。这就是 eventPtr 中的内容。如果我关闭了 CAPS LOCK,那么实际文本将是“a”,因此 bindPtr 从哈希表中选择相应的字形“a”。这个“a”被传递到 patPtr。
如果我想写阿拉伯语,再次按“A”,在 eventPtr 中给出相同的 keySym。从哈希表中,bindPtr 将选择适当的字形“ش”。在阿拉伯语中,由于字母的连接,即使是同一个字母,字形也会有所不同。适当的字形被传递到 patPtr。
然后将其传递给 dispPtr。我知道(或者至少我认为)这些指向结构的指针用于形成一个链表,然后将其移交给系统/平台资源以在小部件上呈现文本。
到目前为止,我是在正确的轨道上还是...?我最终打算使用 fribidi(二进制或如果不是二进制,则使用带有相应头文件的动态链接库)来使 tk 能够处理阿拉伯语。如果 fribidi 不是合适的选择,那么我会去 pango/cairo 或其他地方。
谢谢 !ps 我知道这个问题有点具体,只有 Tcl/Tk 维护人员/开发人员才能回答。我希望这是问这个问题的正确地方!
fonts - 如何将 pango.FontDescription 翻译成 Reportlab 可以理解的内容?
在基于 PyGTK+ 的程序中,我使用 Reportlab 生成 PDF 输出。我想让用户为该 PDF 输出选择一种字体(部分原因是这个问题)。(Py)GTK+ 中的规范方法是使用 gtk.FontChooser 来执行此类任务,这似乎返回pango.FontDescription。
对我来说,重要的部分似乎是如何将这样一个对象转换为 reportlab 理解的东西,即我可以用作pdfmetrics.registerFont()
. 任何帮助表示赞赏。
(主要问题可能是 Pango FontDescription 似乎旨在为不同类型的字体提供统一的接口,例如 TrueType、Type1、OpenType 等,而对于 ReportLab,通常会使用不同的类来构造这些类型中的每一种,诸如此类reportlab.pdfbase.ttfonts.TTFont
)
(是的,从长远来看,我想切换到 cairo 进行 PDF 制作。但是在 cairo 和 pango 中为所有那些漂亮的高级鸭嘴兽布局功能实现等价物也需要做一些事情......)
python - 如何在pygtk中使用日文字符?
我在使用 python-gtk 的图形用户界面中使用日文字符。但是,我看到的不是日文字符,而是里面有字母和数字的正方形。我想我应该使用 pango 来解决这个问题。在阅读了 pango 文档http://people.redhat.com/otaylor/pango-mirror/xfonts.shtml之后,我知道我应该使用 xfonts,它与通常的字体不同,它以位图的形式出现。pango 对于 xfonts 似乎有不同的规则,但不清楚应该做什么。
这是我的代码(我实际上是想在屏幕上用日语打印“japanese”这个词):
在网站http://people.redhat.com/otaylor/pango-mirror/design.shtml我读到 Pango 提供了透明地支持 Unicode 和多语言文本的标签小部件。gtk 标签是否也支持 Unicode,因为 gtk 使用 Pango?还是我们应该使用明确的 Pango 标签?
ps 我一开始以为我的电脑不支持日文字体,但即使安装了模块 xfonts-intl-japanese(在 Linux 上使用 apt-get),屏幕上显示的字符也不是日文。
ps2。当我写:
显示的字符不是日文 unicode 字符,而是 promille 字符。所以它适用于普通字体(而不是 xfonts)
gtk3 - 如何在 Vala 的 Gtk3 标签/条目小部件中为字体着色?
我真的很喜欢用 Vala 做实验,并且已经设法解决了我迄今为止遇到的大部分问题。但是现在让我有点浪费时间的是 Gtk3 标签和条目小部件中字体的着色(和一般修改)。理论上有以下三种方法:
(1) 使用 PANGO 标记。
(2) 使用 modify_base 和 modify_bg。
(3) 使用 CSS。
CSS 路线似乎是 Gtk3 想要遵循的路线;从程序员的角度来看,它肯定是最吸引人的。但似乎它还没有在 Vala 中完全(或什至非常)实施。我是对的吗?
所以 modify_base 和 modify_bg 现在是可以接受的;除了 modify_bg 似乎有效。在 Vala 中还没有实现 modify_base 吗?
PANGO 是少数。但鉴于上述情况,我想知道它在 Vala 的覆盖程度如何......
(下面的一些示例代码。)
windows - 在 Windows 上使用 cabal 安装 pango 和 GIO 时不可见 CULlong 类型的构造函数
我正在尝试在 Windows 8 上安装 Threadscope,以便遵循 Haskell 中的并行和并发编程 – 书。
我成功安装了 GTK+ –bundle,随后尝试通过 cabal 安装 threadscope。安装终止并显示以下信息:
所以 GIO 和 pango 出了点问题。
进一步回顾发生的事情,控制台充满了这样的消息:
编译 GIO 和 pango 时会出现这些消息,如下所示:
和,
我已经尝试过努力搜索,但找不到与此相关的任何内容。帮助将不胜感激!
linux - 在开罗的支持下构建 Pango
我正在尝试在 RHEL5 机器上构建新版本的 wireshark 1.10,目的是制作 RPM,以便我支持的客户可以安装它。如果我能找到举办它的地方,可能还有其他人。
WS1.10 依赖于 GTK+ 以及其他几个不受可用 rpm 包支持的库。因此,我必须手动构建它们。GTK+ 需要 pango(1.24.5) 和 cairo(1.8.8) 支持。
从源代码构建并安装更新版本的 cairo 后,pango 的 ./configure 会出现以下错误
然后在最后 ./configure 显示
我可以通过查看 /usr/local/lib 中的 pkg_config 来验证是否安装了 Cairo。
我什至查看了 pango config.log。但我没有看到任何与我在上面复制粘贴的消息有任何不同的地方。
我应该在哪些地方找出不太简洁的错误消息?我有点不知所措。
cairo - gtk 字体渲染使用本机窗口句柄
我制作了一个使用 gtk+2 渲染文本的小型 gui 应用程序。在 win32 上处理可怕的字体。我正在使用本机 Windows 句柄 (HDC) 创建一个 cairo 表面。现在字体在 Windows 中看起来很漂亮,但除非我调整窗口大小,否则在绘图操作后画布似乎无法正确更新。这只发生在win32上。
下面的代码在 linux 和 win32 上编译
我也在寻找您认为合适的任何其他建议。
c++ - 更新 pango 破 gtkmm (Arch)
我刚刚更新了pango
包(运行 Arch Linux),现在我无法链接我的任何 gtkmm 代码。这是错误:
/usr/lib/gcc/x86_64-unknown-linux-gnu/4.8.1/../../../../lib/libpangocairo-1.0.so:未定义对“g_type_class_adjust_private_offset”collect2的引用:错误: ld 返回 1 个退出状态`
可能是什么问题?我对 gtkmm 很陌生,而且我刚刚解决了大部分最初的问题——这让我有点失望。网上也找不到解决办法。
我没有使用 makefile,我只是在运行标准的.g++
`pkg-config --cflags --libs gtkmm-3.0`
file.cc
我会很感激任何帮助。
我还应该提到我也更新了cairo
软件包,看看它是否能解决任何问题。没运气。