问题标签 [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.

0 投票
1 回答
557 浏览

pango - Pango 标记中的变量

我正在使用 Python 2.7 和 PyGObject 3.0。(这非常重要!PyGObject 语法在 3.0 中发生了变化!)

我需要在标记中放置一个变量来代替字符串,以便格式化输出。这是我在标签中格式化标准字符串的代码。

但是,我需要使用变量中的数据。以下内容更改了文本,但删除了格式。

我需要在格式化字符串中用变量“t[0]”代替“W”。我该怎么做呢?

0 投票
1 回答
1387 浏览

c++ - 如何确定 Pango 的后备字体?

我正在使用 pangomm 渲染一些文本,但我使用的字体没有部分文本的字形(在这种情况下,有一些日语与英语混合)。Pango 似乎使用后备字体正确呈现文本。

如何确定使用哪种字体作为后备?

0 投票
1 回答
1086 浏览

haskell - 在 gtk2hs 中使用 Gtk.Printing/cairo/pango 打印 - Haskell 中的打印操作

我目前正在尝试使用 gtk(2hs) Graphics.UI.Gtk.Printing,Cairo 和 Pango 在 Haskell 中打印文件或文本(到打印机,而不是终端等)。

代码如下:

这会打印一个空白页面,因为我将 设置printOperationNPages为 1。问题是 cairo 没有绘制任何内容。我想我必须将cairoContext与 pango 布局连接起来,正确的调用 showLayout实际上是pango_cairo_show_layout (cr, layout);.

我已经在 gtk2hs [1] 的邮件列表中讨论了这个问题。

所以如果有人有这方面的经验,请告诉我。我也将感谢其他更好的平台独立解决方案,用于在 haskell 中打印文件/文本。

对话链接:[1] http://sourceforge.net/mailarchive/message.php?msg_id=27662267

Hackage 中的 GTK(2hs):http: //hackage.haskell.org/package/gtk-0.12.0

0 投票
2 回答
2159 浏览

python - 带有 pygobject 的 pango 属性

我有以下代码,它使用 pygtk:

我正在尝试将其移植到 pygobject,但没有类 Pango.AttrFamily、Pango.AttrWeight 和 Pango.AttrForeground(我无法实例化 Pango.AttrSize)。

问题是:如何使用pango_attr_size_new, pango_attr_weight_new,pango_attr_family_newpango_attr_foreground_new通过自省?

我知道我可以使用标记来做到这一点,但是 1. 使用属性会使事情变得更简单 2. 我想知道这里发生了什么!我已经花了很多时间试图解决它。

0 投票
1 回答
309 浏览

python - 使用 (py) Cairo 创建带有内联图像的 pdf 文件

使用 cairo + pango + python 即内联(不破坏段落)编写图像的方法是什么。图像应该能够放置在段落内。

0 投票
1 回答
666 浏览

svg - 如何在服务器上获取 SVG 文本的单个字符位置

我正在编写服务器端软件,该软件通过在 SVG 中生成单个帧并使用 rsvg-convert 渲染为 PNG 来制作电影。影片需要逐个字符地将效果应用于 SVG 中的文本。使用 SVG 文本元素,我无法对每个字符应用单独的样式,因此我必须为每个字符使用单独的文本元素来呈现文本。

我的问题是:获取每个字符的 x 轴位置的最佳方法是什么,这样当我逐个字符地绘制文本时,它看起来与使用单个文本元素绘制的文本相同。

即.. <text x="100" y="100">aic</text>等同于<text x="?" y="100">a</text> <text x="?" y="100">i</text> <text x="?" y="100">c</text>

这是我的一个解决方案:在浏览器上准备动画时,使用 SVG 文本元素的 getExtentOfChar() 方法并将该元数据传递给服务器。我不喜欢这样,因为它让我对浏览器实现、安装字体、浏览器错误等方面的变化持开放态度。而且它使测试变得困难,并阻止我从脚本自动生成这些电影。

我怀疑我需要直接使用 freetype2 或 Pango 库,但我希望有人已经解决了这个问题。

0 投票
2 回答
1598 浏览

python - 将 pango 标记字符串转换为 GtkTextTag 属性

我有一个gtk.TextView我想添加类似标记的文本。我知道这可以通过使用gtk.TextTag它来实现,您可以使用与 pango 标记字符串类似的属性来创建它。我注意到没有简单的方法可以gtk.TextBuffer像使用多个其他小部件一样说 set_markup。相反,您必须创建一个 TextTag,为其提供属性,然后将其插入到 TextBuffer 的 TagTable 中,指定标签适用的迭代器。

理想情况下,我想创建一个可以将 pango 标记字符串转换为 TextTag 以获得相同效果的函数。但是 gtk 似乎没有内置该功能。我注意到您可以pango.parse_markup()在标记的字符串上使用它,它将创建一个pango.AttributeList包含有关在字符串上设置的属性和它们出现的索引的信息。但是每种类型的属性都有细微的差异,因此很难对每种情况进行概括。有没有更好的方法来解决这个问题?还是 pango 标记只是不打算转换为gtk.TextTag's?

0 投票
1 回答
2791 浏览

cairo - 如何让 Pango Cairo 正确换行?

我在让 Pango Cairo 自动换行时遇到问题。下面是一些演示代码。我将布局的宽度设置为与红色矩形相同,所以我希望它会包裹到红色矩形。实际上,它只是在每一行上放一个单词,就好像宽度设置得非常小一样。如果我使用 pango.WRAP_WORD_CHAR,我只会得到一个字符。

我究竟做错了什么?如何让布局包裹到我指定的宽度?

编辑如果我将宽度设置为 100000,则单词会正确换行。这意味着 set_width 和构造参数使用不同的单位。有任何想法吗?

自动换行

0 投票
1 回答
528 浏览

c# - 如何仅在一个(水平)方向上使用 Pango-Sharp 缩放文本?

我需要用 pango-sharp 写一些文本,但根据字符数来缩放宽度。

这是我目前拥有的:

我无法找到任何提示来实现这一点。我在 Pango 中只找到了一个 XY 刻度,但没有在 X 或 Y 上找到刻度。

0 投票
2 回答
305 浏览

c++ - 是否有任何本机 gtkmm 类可以从小部件的信号处理函数中排队命令/数据?

我已经构建了一个带有各种小部件的 Gtkmm GUI。在调用信号时,每个小部件都旨在使用通过网络发送的用户输入数据构造一个“字符串”。因此我认为,命令必须通过单个排队机制(队列、环形缓冲区等)以避免争用。gtkmm 中是否有执行此功能的本机队列或环形缓冲区类?我在这些方面想得更多

http://www.gtk.org/api/2.6/glib/glib-Asynchronous-Queues.html

PS:

我在这里找不到等效的包装器 http://developer.gnome.org/gtkmm-tutorial/2.22/gtkmm-tutorial.html