問題タブ [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.
unicode - フォント ファイル内の Harfbuzz 選択ローカル スラッシュ文字
MyriadHebrew-Regular.otf というシステム フォントがあります。
「スラッシュ」文字 (コード 47) を使用していましたが、Adobe After Effects で使用されているものとは少し異なることに気付きました。その後、FontCreator プログラムでフォントを調べたところ、デフォルトの文字 (コード 47) を使用できることがわかりました。 47)、またはそれのローカライズ版 (slash.1 として表示されます) で、フォント グリフ マップの末尾にあります。そのグリフ インデックスは 587 です。そのため、Halfbuzz でローカライズされたグリフにアクセスしようとしています。
このコードでは、glyph_index = 587 (Adobe aftereffect のようなローカルのもの) であると予想していましたが、代わりに 400 (標準のもの) のままです。
どんな助けでも大歓迎です。
freetype - HarfBuzz による GPOS カーニング テーブルのサポート
HarfBuzz は GPOS カーニングをどのようにサポートできますか? 私のタスクでは、フォント Myriad.otf を使用します。関数を通じてカーニング情報を取得しようとしていますhb_font_get_glyph_kerning_for_direction(....)
。TTF フォントの場合は TrueTypekern
テーブルを使用するため機能しますが、Myriad.otf の場合は機能しません。
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でテストします。
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 を構築しようとしているのでしょう :(
重要な機能を失わずにこれを解決する方法はありますか?