問題タブ [pangocairo]

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 に答える
2791 参照

cairo - Pango Cairo を適切にワードラップするにはどうすればよいですか?

Pango Cairo をワードラップするのに問題があります。以下はデモコードです。レイアウトの幅を赤い四角形と同じに設定しているので、赤い四角形に折り返されると予想されます。そのままでは、幅が非常に小さく設定されているかのように、各行に 1 つの単語を配置するだけです。pango.WRAP_WORD_CHAR を使用すると、1 行に 1 文字しか表示されません。

私は何を間違っていますか?指定した幅にレイアウトを折り返すにはどうすればよいですか?

EDIT幅を100000に設定すると、単語が正しく折り返されます。これは、set_width と構築引数が異なる単位を使用していることを意味します。何か案は?

ワードラップ

0 投票する
1 に答える
2652 参照

android - Android NDK 用の Pango Cairo のビルド

Android NDK 用に Pango Cairo を移植した人を見つけました (ブログ投稿ソース コード)。しかし、私は彼のサンプル プロジェクトのコンパイルに成功していません。誰かがそうすることに成功し、私が間違っていることを教えてくれますか?

これは私がこれまでに試したことです:

  • git clone --recursive http://dev.laptop.org/git/users/cscott/android-libs/
  • git は何らかの理由で pixman を見つけることができなかったので、git clone http://cgit.freedesktop.org/pixman/を実行し、 android-libs/jni/pixmanに移動しました。
  • android-libs/jni/ の内容をandroid - libs/examples/java-bitmap/jniにコピーしました (保持する Android.mk がわからない?)
  • 名前がjava-bitmap/jni/Makefile.develからMakefileに変更されました
  • Java-bitmap/jni/Makefileを次のように編集: NDK=/cygdrive/f/android-ndk-r8b TOOLCHAIN=$(NDK)/toolchains/arm-linux-androideabi-4.4.3/prebuilt/windows/bin
  • java-bitmap/jniでmakeを実行しようとしました

次のエラーが表示されます。

これはconfig.hのスニペットです

0 投票する
4 に答える
3465 参照

python - pygtk または pango を使用してシステムで使用されるデフォルトのフォントを取得するには?

pygtk を使用して fontbutton があります。システムがデフォルトのフォントを使用するため、最初はフォントを設定したくありません。私の質問は、システムで使用されるデフォルトのフォントを取得するためのコード行は何ですか。最初はデフォルトのままにします。後でユーザーがフォントを変更すると、それぞれのフォントが適用されます。誰でも助けることができますか?

0 投票する
4 に答える
2182 参照

c# - CAIRO を使用して 1 つの PDF に複数のページがありますか?

私は c# と Cairo を使用して PDF ファイルを作成しています。複数ページの PDF を作成したいのですが、サンプルが見つかりません。 2008-09/014949.html

どんな助けや提案も大歓迎です。

0 投票する
2 に答える
2492 参照

c++ - C ++でCairo Imageサーフェスをopencv Matに変換する方法

私はcairommライブラリにcairo Imageサーフェスを持っています

Cairo::RefPtr cropSurface = Cairo::ImageSurface::create(Cairo::FORMAT_ARGB32, Width,Height);

c ++でOpencv Matに変換するにはどうすればよいですか?

0 投票する
0 に答える
349 参照

unicode - フォントレンダリングにおけるデフォルトの無視可能なコードポイントの目的は何ですか?

このリンクによると、U+00AD はデフォルトの無視可能なコード ポイントです。

これらのデフォルトの無視可能なコード ポイントの目的は何ですか? U+00AD をレンダリングしたい場合の害は何ですか?

リンクはいくつかの情報を提供しますが、私にはよくわかりません。

"U+00AD SOFT HYPHEN のデフォルトの外観は null です。ther-apist の外観は単に「セラピスト」です。目に見えるグリフはありません。改行処理では、単語内の区切りの可能性を示します。使用される単語内の区切りで改行の場合は、この文字によるものか自動プロセスによるものかにかかわらず、言語と文脈に応じて、ハイフン グリフ (おそらくスペルの変更による) またはその他の表示を表示できます。」

どうか明らかにしてください。

0 投票する
1 に答える
1125 参照

python - AttributeError:「モジュール」オブジェクトには属性「cairo_font_map_get_default」がありません

この例をカイロの Web サイトから実行しようとすると、次のようになります。

私はいくつかのパッケージが不足していると思いますか?(私はUbuntu 14.04を使用しています)

ただし、必要な開発パッケージを見つけようとしましたが、見つけた唯一の答えはこれで、GTK2スタックから何かを推奨していますが、どちらかといえば、2ではなくGTK3に興味があります.

0 投票する
2 に答える
7492 参照

gtk - GtkWindow と GdkWindow の違いは?

Gtk-Gdk-Cairo-Pango アプリの冒頭で、ウィンドウを作成します。

まず、 がありますが、ではGtkWindowなくをgtk_create_window返します。なぜですか?GtkWidgetGtkWindow

次に、gdk_window_process_updates(..)requireなどのいくつかの関数GdkWindow*

gtk_window_set_geometry_hints()一方、 が必要GtkWindow*です。

ドキュメントには、 return もありGdkWindow* gdk_window_new()ますGdkWindow

確かに次のようなドキュメントがあります:

GdkWindow は、画面上の長方形の領域です。これは、GTK+ レベルで GtkWidget や GtkWindow などの高レベル オブジェクトを実装するために使用される低レベル オブジェクトです。GtkWindow はトップレベル ウィンドウであり、ユーザーはタイトルバーなどを備えた「ウィンドウ」と考えるかもしれません。GtkWindow には多くの GdkWindow が含まれる場合があります。

しかし、いつなぜGtkまたはGdkウィンドウを作成する必要があるのか​​ 、まだ教えてくれませんか? ここで従うべきパターンは何ですか?

さて、私が解決しようとしている特定の問題は何ですか?確かに、マウスが動いた直後に、gtk+gdk の上に cairo+pango を使用してテキストを描画しようとします。問題は、実際の描画は高速に実行されているように見えますが、マウスの動きとまったく同じように描画できないことです。私motion_notify_eventはちょうど呼び出しますgtk_widget_queue_draw(GtkWidget)が、実際のマウスが画面上を移動するのには明らかな遅れがあります.1つの文字を描画しても、移動フェーズ中にマウスポインターと整列せず、マウスが停止した後にのみキャッチされます.

私が試したのは、 を呼び出して更新を高速化することです。gdk_window_process_updates(GDK_WINDOW(window), false);コンパイラはそれを食べますが、ランタイム アサーション: を取得しましたGdk-CRITICAL **: gdk_window_process_updates: assertion 'GDK_IS_WINDOW (window)' failed。このマクロと、いつどのように使用するかについての情報が見つかりません。

0 投票する
1 に答える
2337 参照

c - Cでgtk2でcairoを使用するには?

cairo と gtk2 に大きな問題があります。私はこのチュートリアルに従っていました: http://zetcode.com/gfx/cairo/cairobackends/ (GTK ウィンドウ ヘッダー)。残念ながら、ウィンドウには何も表示されません。

チュートリアルのコード:

「draw」の代わりに「expose_event」を使用する必要があることがわかりましたが、まだ問題があります。

私はこのようなものを見つけました:

このコードは機能し、何かを描画します。最初の例のように、描画したいコード (do_drawing など) を配置できる関数を機能させるにはどうすればよいか教えてください。前もって感謝します。

0 投票する
1 に答える
1171 参照

c++ - Pango/Cairo の動的テキスト

Pango で何かが足りない気がします。API のほとんどすべては、テキストを編集するための方法が組み込まれている可能性があることを示唆する、特定の位置でカーソルを描画/移動する 2 つの関数を除いて、静的テキストを表示するように調整されているようです。

たとえば、テキストのブロックをマウスでマークする (つまり、背景色を 2 点間で変更する) には、マウスを 1 回動かすたびにタグを変更してテキストを再生成するか、Cairo で四角形を描画してから、Pango を使用して上部に透明な背景を持つテキスト。画面全体を再生成または再描画せずに範囲に属性を適用する方法はありますか?

同様に、Pango にカーソルを描画させ、キー プレス イベントを自分で処理させる場合、画面全体を再描画する代わりに何か方法はありますか?

GtkTextBuffer はオプションではありません - 私はいつでもすべてのテキストを持っているわけではなく、コンパクトなバイナリ形式からオンザフライで表示する必要があるものを計算し、常に変化するフィルターのセットを使用する方がはるかに効率的です。肥大化し、冗長で洗練されていないだけでなく、非常に遅いです。