問題タブ [harfbuzz]

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

unicode - フォント ファイル内の Harfbuzz 選択ローカル スラッシュ文字

MyriadHebrew-Regular.otf というシステム フォントがあります。

「スラッシュ」文字 (コード 47) を使用していましたが、Adobe After Effects で使用されているものとは少し異なることに気付きました。その後、FontCreator プログラムでフォントを調べたところ、デフォルトの文字 (コード 47) を使用できることがわかりました。 47)、またはそれのローカライズ版 (slash.1 として表示されます) で、フォント グリフ マップの末尾にあります。そのグリフ インデックスは 587 です。そのため、Halfbuzz でローカライズされたグリフにアクセスしようとしています。

このコードでは、glyph_index = 587 (Adobe aftereffect のようなローカルのもの) であると予想していましたが、代わりに 400 (標準のもの) のままです。

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

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

freetype - HarfBuzz による GPOS カーニング テーブルのサポート

HarfBuzz は GPOS カーニングをどのようにサポートできますか? 私のタスクでは、フォント Myriad.otf を使用します。関数を通じてカーニング情報を取得しようとしていますhb_font_get_glyph_kerning_for_direction(....)。TTF フォントの場合は TrueTypekernテーブルを使用するため機能しますが、Myriad.otf の場合は機能しません。

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

android - Android ndk:dlopenに失敗しました:「hb_ft_face_create」が見つかりません

Android 4.0 では問題なく動作しますが、Android 4.4 および 5.0 ではエラー: java.lang.UnsatisfiedLinkError: dlopen に失敗しました: 「libHelloWorld.so」によって参照されるシンボル「hb_ft_face_create」が見つかりません...

共有ライブラリ(harfbuzz-ng.so)をビルドし、hb_ft_face_create は harfbuzz-ng.so にあり、HelloWorld.so は関数 hb_ft_face_create() と hb_ft_font_create() を使用します。</p>

しかし、他の機能はうまく機能します。私はndk10とndk11でテストします。

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

mingw - Cairo/Harfbuzz をビルドするにはどうすればよいですか?

Cairo は FontConfig に依存しています。FontConfig は Freetype に依存しています。FreeType をビルドしましたが、FontConfig をビルドしようとすると、FreeType には HarfBuzz が必要なため、リンク エラーが発生します。

Harfbuzz をビルドしようとすると、FreeType に依存します。したがって、循環依存関係があります。この時点でメイクファイルは壊れています。テストをビルドしようとすると、Harbuzz 自体からのシンボルが必要なため、リンクに失敗します。これは、リンク行で HarfBuzz を 2 回使用することで解決できます。または、私が行ったすべてのテストを削除することによって。それで、その問題は解決しました。

Harfbuzz には「helper-cairo.cc」というファイルがあります。これをコンパイルしようとすると、FontConfig ヘッダー ファイルが見つからないというメッセージが表示されるため、FontConfig に依存していることは明らかです。ただし、最初に HarfBuzz をビルドしないと、FontConfig をビルドできません!

この依存関係を解決する方法がわかりません。HarfBuzz をビルドするときに Cairo ヘルパーを無効にし、結果のライブラリを使用して FontConfig をビルドし、結果の FontConfig で HarfBuzz を再ビルドしてから、FontConfig を再ビルドできますか? それはすべて大きな迷惑に思えます。

私は MinGW でビルドしていますが、Windows DLL は未解決のシンボルを好まないため、共有ライブラリでこれを解決できるとは思いません。FontConfig をリンクするときに HarfBuzz が必要な理由がよくわかりません - おそらく DLL を構築しようとしているのでしょう :(

重要な機能を失わずにこれを解決する方法はありますか?

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

harfbuzz - HarfBuzz の hb_position_t で使用される単位

私はこのページこのコード例x_advanceを見てきましたが、 の、y_advancex_offsetおよびy_offsetフィールドが のエイリアスであるhb_glyph_position_tタイプであることに気付きました。これらのフィールドに使用される単位に関するドキュメントは見つかりませんでした。上記の例は、それらが何かの 64 分の 1 であることを示唆していますが、私が推測できるのはそれだけです。hb_position_tint32_t

によって暗示される正確な単位を他の誰かが知っていますhb_position_tか?