問題タブ [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.
c++ - Unicode 文字のフォントとレイアウトの情報を確認するにはどうすればよいですか?
アプリケーションで Unicode 文字をレンダリングしたいのですが、freetype を使用して標準のラテン文字をレンダリングする方法について大まかな考えがあります。ただし、レイアウトとシェーピングが異なる他の言語の場合、UTF-8 でエンコードされた文字列で取得した一連の文字から次のようにする方法がわかりません。
文字の表示に適したフォントの選択
文字の適切なレイアウトの選択 (LTR、RTL、TTB)
このデータは Unicode 文字自体に含まれていますか?
特定の Unicode 文字について、ポイント 1 とポイント 2 を決定するにはどうすればよいですか? Freetype には優れたドキュメントがいくつかあり、さまざまなレイアウトの使用についてかなり詳しく説明されていますが、文字自体からその情報を抽出する方法がわかりませんでした。
また、Halfbuzz もざっと見ましたが、ドキュメントはまったく見つかりませんでした。Harfbuzz をセットアップして使用し、グリフをレンダリングする Freetype を使用して一部の言語をレイアウトする方法を示す例が浮かんでいますが、この例では、レイアウト、フォント、および言語情報を明示的に Harfbuzz に渡しています。
それらのことを前もって知らないとき、あなたはどうしますか?
これはモバイル アプリケーション用であり、理想的には、使用されるライブラリ/ソリューションには寛容なライセンスが必要です。
cairo - オープンタイプのフォントの問題
基本的に、これは少数言語の表示の問題です。
簡単に説明しましょう。
Opentype フォント (いくつかの機能を備えている) を、Windows 以外の (Windows では問題なく動作する) プラットフォーム (Android 、iOS など) で正しく動作させようとしています。
私が本当に扱っているのは、アラビア語を表示するのと同じくらい複雑な問題です (グリフの置換、シェーピングなどを含む)。
システム全体のサポートを達成するのはさらに複雑になる可能性があるため、自分のソフトウェアで文字を適切に表示したいだけです。
ICU、Pango、Harfbuzz などをチェックして、最終的に Pango に取り組むことにしました。Pango ScriptGallery を参照してください。
それで、ここに質問があります:
1. プロジェクトで pango をサポート モジュールとして使用して、その言語を表示できますか? Pangoをubuntuにインストールしようとしましたが、成功しませんでした.Pangoはインストール時にharfbuzz、cairo、freetype、fontconfig blablaに関連しているため、かなり混乱しています。2.できない場合、それを達成するための他の軽量な方法はありますか?
どんな助けでも大歓迎です。
text-editor - Harfbuzz と FreeType を介してテキスト エディターで混合複雑なスクリプトを表示する
背景:この例を ダウンロードして、Ubuntu で実行できるようにしました。すべて順調。独自の OpenType フォントをプロジェクトに入れましたが、これも問題なく動作します。HarfBuzz が自分のフォントと言語をサポートしていることを確認しました。さらに先に進む必要があります。
ここでガイドが必要です:
上記の例では、3 種類の言語にそれぞれ独自のフォントがあり、表示をサポートしています。つまり、これら 3 つの言語は別々にレンダリングされます (私のコードの理解に関して)。
では、多くの種類の言語が混在しているときに、HarfBuzz が正しいフォントを選択して一度にレンダリングできるようにするにはどうすればよいでしょうか。つまり、世界中のすべての言語をサポートするフォント ファイルを作成しなくても。
この例では、中国語のスクリプトが縦に表示されています (これは私が望むとおりです)
HB_DIRECTION_TTB
。「LATIN」という単語全体を 90 度回転させたい。
それで、どうすればそれを達成できますか?中国のレイアウトについて何も壊さずにそれを実現する方法は?
3.最後に、上記の問題を解決した後、同じ場所で同時に多くの言語を表示および編集するテキスト エディターを作成したいと考えています。HarfBuzz や FreeType で何らかの作業を行う必要があるのか、それともこの複雑なテキスト レイアウトをサポートするテキスト エディターを実装する必要があるのかわかりません。私が参照できる例はありますか?
助けてくれてありがとう。
c++ - Windows、Cygwin での「hb_ft_font_create」への未定義の参照
Windows で Cygwin と Eclipse CDT を使用してプログラムをコンパイルしようとしたときに、次のエラーが発生しました。
`hb_ft_font_create' への未定義の参照
これは -l パラメータの順番が原因だと思います。基本的にこの関数は Freetype2 に依存していますが、Freetype2 の autohinter も Harfbuzz に依存しています。これは、循環依存の問題になります。
-lharfbuzz と -lfreetype の順序を逆にすると、他の一連の harfbuzz 関数 (hb_ft_font_create を除く) への未定義の参照を含む他の一連のエラーが表示されます。
では、未定義の参照の問題を解決するにはどうすればよいでしょうか?
freetype - Linux での「hb_ft_font_create」への未定義の参照
pango をコンパイルすると、次のエラーが発生します。
freetype と harfbuzz をコンパイルしました。-lfreetype
また、変数-lharfbuzz
に渡します。LIBS
centos - CentOS 5 に harfbuzz 1.0.1 をインストールする
sudo アクセス権がない CentOS 5 マシンに harfbuzz-1.0.1 をインストールしようとしているため、標準以外の場所にインストールする必要があります。ソースコードをダウンロードして解凍し、関連する依存関係と思われるものを$PKG_CONFIG_PATH
. これらのパッケージには以下が含まれます。
- フリータイプ2
- icu-uc
「$PKG_CONFIG_PATH」が正しいことを確認する:
解凍したソース ディレクトリ内で、次のコマンドを実行しました。
ただし、make
次のエラーで失敗します。
ファイルから何も判断できませんconfig.log
が、何を探すべきか正確にはわかりません。おそらくどこかに満たされていない依存関係があると思いますが、現時点では途方に暮れています。必要に応じてさらに情報を提供させていただきます。どうもありがとう。
参考になれば、ここに完全な config.logがあります。
python-2.7 - osx yosemite に Matplotlib、freetype、および Harfbuzz をインストールできない
matplotlib をインストールしようとしていますが、そのためには freetype が必要です。しかし、harfbuzz が必要なため、freetype はインストールされません。./configure --with-glib=no
しかし、続いてharfbuzz を実行するmake
と、リストの最後に表示されます。
sudo make install
そのため、後で実行すると、リストの最後に次のように表示されます。
最後に欲しいのはIDLEの行だけです
import matplotlib.pyplot as plt
グラフィックインターフェイスを開発できるように動作します。
クレイジーな部分は、freetype をインストールするには harfbuzz が必要だということです。