問題タブ [kerning]
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.
objective-c - iOS UITextView でのカーニング
明らかに「バグ」と思われるものについては、UITextView は他の UIKit 要素のようにカーニングをサポートしていないようです。カーニングを機能させるための回避策はありますか?
明確にするために、すべての文字間の一般的な間隔ではなく、フォント ファイルで定義されている文字のペア間の間隔について話しているのです。を とともに使用するNSAttributedString
と、NSKernAttributeName
すべての文字間の間隔が調整されますが、組み込みの文字ペアはまだ機能しません。
例えば:
これを修正する回避策はありますか?
私が見つけた簡単な回避策の 1 つは、カーニングを有効にする CSS スタイルを UITextView に追加することです。文書化されていない方法を使用するとsetContentToHTMLString:
、css をテキスト ビュー内の秘密の Web ビューに挿入できます。
これにより、問題はすぐに修正されます。ただし、これによりアプリが拒否される可能性が非常に高いようです。css をテキストビューに忍び込ませる安全な方法はありますか?
私が実験した他の回避策には、次のものがあります。
webview と contenteditable プロパティを使用します。これは理想的ではありません。webview は、簡単に非表示にできない入力アクセサリ ビューなど、邪魔になる余分なものをたくさん処理するからです。
a をサブクラス化し、UITextView
コア テキストを使用してテキストを手動でレンダリングします。すべての選択項目も再構成する必要があるため、これは私が望んでいたよりも複雑です。UITextView
の とのプライベート サブクラスのため、完全に不可能ではないにしても、これはお尻の大きな痛みですUITextPosition
。UITextRange
javascript - 見栄えの良いアークテキスト?
数年前、私はAPNGedit用のJavascriptスクリプトを作成して、LaughingManのロゴを描画しました。現在は機能していないmozTextAlongPathを使用しました
最近、このスクリプトを再発見し、translations、rotations、fillText()を使用して再作成しました。ただし、これは文字幅を尊重せず、カーニングもされません(ひどいように見えます)。
2009年頃のオリジナル(完璧ではありませんが、大丈夫です):
現行版:
HTML5キャンバス上に円弧状にテキストを描画して見栄えを良くするにはどうすればよいですか?
Kolinkの回答に基づくソリューションコード:
android - Android 4.2.1 の間違った文字カーニング (間隔)
Canvas
andメソッドを使用するとdrawText()
、Android 4.2.1 で別のレンダリングが表示されます。
4.2未満:
Android 4.2.1 (Nexux 7) の場合:
ご覧のとおり、消費は非常にタイトです。4.2.1 で導入されたカーニングの問題のようです。テキストの描画に使用される Paint は特別なものではありません。
使用しないtitlePaint.setLinearText(true)
と、4.2.1 で奇妙な結果が得られます。
Nexus 7 上の Android 4.2: canvas.drawText() が正しく機能しない
編集:
この奇妙な動作は Android チーム ( http://code.google.com/p/android/issues/detail?id=39755 )に報告されていますが、まだ「公式」の問題ではありません。
編集 (2):
一部の噂では、問題は textSize < 1.0f であると主張しています...
.net - WPF RichTextBox の文字間隔の違い
作成したカスタム コントロールがあります。RichTextBox を拡張します。
文字数が制限されるようにドキュメントの幅を設定するコードがあります。(Courier New を使用しているため、等幅フォントを使用しています。)
これはすべてうまくいきます。
しかし、アプリケーションにコントロールを配置すると、制限が失敗し始めます。2 つを比較した後、テスト アプリケーションと実際のアプリケーションの間隔が異なることに気付きました。
次に例を示します。
ご覧のとおり、テスト アプリの間隔は、実際のアプリの間隔よりも大きくなっています。
どちらのアプリにも、スペーシング、カーニング、タイポグラフィ、またはグリフ設定 (見つけることができます) はありません。また、「フォント」(FontSpacing、FontSize ...)で始まるすべての設定を確認しましたが、それらはすべてまったく同じです。
あるアプリと別のアプリでテキストに異なる間隔が適用される原因として、他に何が考えられるでしょうか?
ノート:
関連する場合、テスト アプリにコントロールを挿入する xaml は、実際のアプリにコントロールを挿入する xaml と同じです。見たい人いたら載せます。
android - Android フォントのカーニング: Nexus 7 と Galaxy Tab 2 の比較
私は現在、Nexus 7 と Android 4.2 でのみ実行することを意図したアプリケーションを開発しています。ただし、計画の変更があり、現在は代わりに Galaxy Tab 2、Android 4.1.1 で実行することを意図しています。
Nexus 7 できれいにレンダリングされたカスタム フォントを使用しています。ただし、Android のバージョンをダウングレードして Galaxy Tab 2 に切り替えると、フォントのカーニングが完全にめちゃくちゃになり、見栄えが悪くなります。間隔は本来あるべきものからかけ離れています。
この問題を解決するための正しい方向を示すためのヒントはありますか? 理想的とは言えない別のフォントに切り替えることを除いて、これを修正する方法がまったくわかりません。
wpf - Windows 7 と Windows 8 の WPF の TextBlock の違い
私のマシンでのみ失敗するいくつかの単体テストを調査しているときに、TextBlock が Windows 7 マシンと Windows 8 マシンで異なるテキストを表示することに気付きました。この問題を調べるために、TextBlock を 1 つだけ含むサンプル アプリケーションを作成しました。
Windows 7 のテキストは 1 ピクセル長いことがわかります (少なくとも私はそうなることを願っています)。実際には、「y」と「o」の間のカーニングは 1 ピクセル太くなっています。
フォント リーダー ソフトウェアを使用して両方のマシンの Verdana.ttf フォント ファイルを調べたところ、そこにリストされている「y」と「o」の間のカーニングはまったく同じで、-18 でした。
.NET Framework のバージョンも確認しましたが、これも同じです: 4.5.50709。
...そして、この違いの原因は何なのか、まだ疑問に思っています。
css - fontface を使用したカスタム スクリプト フォントのカーニングと文字間隔
サイトで使用している Thirsty Script Bold というスクリプト フォントに問題があります。一部の文字では文字間隔が正しく表示されますが、他の文字では正しくないように見えます。ただし、文字間隔には触れていません。ここで例を見ることができます: http://oi40.tinypic.com/2wpikgw.jpg。ご覧のとおり、「e」の末尾は「b」と完全に結合しておらず、「b」は右すぎて「s」と結合できません。
文字間隔をいじってみましたが、問題が悪化しているようです。
これがページのCSSです-
ページのHTMLは次のとおりです-
fontface の CSS は次のとおりです。
ios - iOS でフォントがカーニングされない
iOS アプリで使用するために、FontForge を使用してカスタム フォントを作成しました。アプリでフォントを使用すると、カーニングが適用されません。UITextView にカーニングが適用されないという既知のバグがあります。私はこれを UILabel と UITextField で使用しているので、それは問題ではありません。iOS 5.0 をターゲットにしています。
Font Book と Pages でフォントを表示し、カーニングが機能していることを確認できます。ただし、カーニングは Word for Mac では機能しません。Word でカーニングを有効にしましたが、Word で機能しません。Wordについては、あまり気にしていません。私は主にこれを iOS で動作させたいと考えています。
フォント セットを生成するためのさまざまな FontForge オプションを使用して、フォントを .otf フォントと .ttf フォントの両方として作成しました。私が試したオプションは、Apple、OpenType、OT/Old Style、および OT/DSIG です。ページは、OpenType のみがチェックされている場合を除き、フォント生成オプションのすべての組み合わせに対して適切にカーニングを適用します。Font Book は、Apple がチェックされている場合にのみカーニングを表示し、それ以外は何も表示しません。フォントを Word で動作させることに関する他のフォーラムのコメントを読んだことがありますが、カーニングと iOS に関する具体的なコメントはありません。
経験のある方:
1) iOS アプリ用の FontForge を使用して、OS X でカーニングされたフォントを作成することに成功しましたか?
また
2) Word で動作する FontForge を使用して、OS X でカーニングされたフォントを作成することに成功しましたか? iOS でフォントを使用した経験がない場合でも、これにより親しみを感じることができます。
Glyphs の試用版を使って遊んでいますが、これを行うために別のフォント プログラムに移動する必要はありません。
どんな助けでも大歓迎です。
c# - GDI+ にはない Windows GDI メソッドを .NET でどのように使用しますか?
.NET アプリの GDI+ で見つからない GDI メソッドを呼び出したいです。
特に、指定されたフォントのカーニング ペアを取得するこのメソッド。現在サポートされていない HTML5 キャンバスにカーニング (文字間隔) を実装したいのですが、サーバー上でカーニング ペアを取り出し、カーニング テーブルをクライアントに返すことが最善の方法であると考えました。
このような Windows ライブラリ関数を .NET からどのように使用しますか?