2

私は Perl でPangoを使用し、右から左へのテキストを完全にレンダリングすることに成功しました (このミッションは悪夢です):

コード :

#!/usr/bin/perl -wT

use strict;
use warnings;
use Pango;
use Encode;

my $surface = Cairo::ImageSurface->create('argb32', 400, 100);
my $cr      = Cairo::Context->create($surface);
my $layout  = Pango::Cairo::create_layout($cr);

my $text    = decode('utf8','测试');
$layout->set_text("$text");

my $font    = Pango::FontDescription->from_string ('Serif Bold 50');
$layout->set_font_description($font);

Pango::Cairo::show_layout($cr, $layout);

$surface->write_to_png('pango.png');

ただし、私が抱えていた唯一の問題は、テキストの配置内にありました。テキストを集中化する方法がわかりません。Pango のドキュメントを読みましたが、あまり情報が見つかりませんでした。誰もそれを行う方法を知っていますか?

4

1 に答える 1

2

ドキュメントを読んだことに基づいて私は言います$layout->set_alignment('center');が、私はパンゴを使用したことがなく、試したこともありません。

そして、レイアウトのデフォルトサイズはコンテンツをしっかりとラップしているように見えるので、センタリングを行うには、レイアウトの幅をそれが可能になるように設定する必要があることがわかります。たとえば- $layout->set_width(400)

EDITset_width()段落を追加

于 2011-10-06T16:32:25.353 に答える