1

テキストのスタイルが異なる 2 つの段落を上下に配置したい。これを説明する最も簡単な方法は次のとおりです。

<p style="font-size: 20pt">Para 1</p><p style="font-size: 10pt">Para 2</p>

両方にラインラップを設定しているので、実行時まで最初の高さがわかりません。段落 1 に多くの行がある場合は、段落 2 を下に移動します。段落 1 に 1 行ある場合、段落 2 を上に移動します。HTML が動作するように。

しかし、を使用してレイアウトごとに 1 つのフォント スタイルしか設定できないようですpango_layout_set_font_description(PangoLayout *, PangoFontDescription *)

  1. これは、2 つのレイアウトを使用する必要があるということですか?
  2. もしそうなら、2番目のレイアウトのすぐ下に2番目のレイアウトを表示するにはどうすればよいですか? pango_layout_get_height(PangoLayout *)それに応じて 2 番目のレイアウトを使用して移動する必要がありますか?
4

1 に答える 1

1

これは可能なはずです。pango_parse_markup() を使用している場合は、「<span font="Sans 12">foo</span><span font="Sans 16">bar</span>」のようなものを使用できます。pango_parse_markup() を使用したくない場合は、PangoAttrType と PangoAttrList を参照してください。しかし、私はそれらの例を持っていません。pango_attr_list_new()、pango_attr_list_insert()、pango_attr_size_new()、pango_layout_set_attributes() が必要なようです。(PangoAttribute で start_index と end_index を設定してください!)

もちろん、複数のレイアウトを使用することもできますが、パンゴに必要な魔法を理解させる方が簡単かもしれません.

于 2012-09-25T06:28:51.940 に答える