問題タブ [ctfontref]
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 - CTFontCopyNamekCTFontSampleTextNameKeyに対してnullを返します
フォントのサンプルテキストを取得しようとしています。これが私のコーディングです。
結果としてnullを返します。ただしkCTFontCopyrightNameKey
、kCTFontLicenseURLNameKey
などの場合は、正しい値を返します。それだけのためkCTFontSampleTextNameKey
にそれは戻りますnull
。指定されたフォントのサンプルテキストを取得する方法を教えてください。
iphone - CTFontRef からの FontName
CTFontRef 変数があります。
CTFontRef aFontRef;
フォントのサイズを取得するのは簡単でした:
FontName の取得を手伝ってください。FontName がMarkerFelt-Wide のようなものになることを期待しています。
しかし、次のような方法を使用すると
マーカーフェルトワイドを入手
乾杯ロシット
objective-c - Objective-C - CTFontはフォントスタイルを変更しますか?
フォント スタイルとサンボリック特性を含む CTFont があります。
最初のフォントの記号特性を継承する新しいスタイルの新しいフォントを作成したいと考えています。どうすればこれを達成できますか?
4th
新しいフォントはここでは null です。 のパラメーターに何を渡せばよいかわかりませんCTFontCreateCopyWithSymbolicTraits
。
ios - Framesetter に正しい行間調整を与える
いくつかの投稿では、CTFramesetterSuggestFrameSizeWithConstraints から正確な高さを取得することの難しさを指摘しており、ここ(framesetter 投稿)では、@Chris DeSalvo が決定的な修正のように見えるものを示しています: 正しい行間調整で段落スタイル設定を追加します。
DeSalvo は、UIFont のアセンダーとディセンダーを lineHeight から削除することで、「リード」を取得します。と比べてどうだろうと思いましたCTFontGetLeading
。
次のように作成されたフォントを使用しました。
値はかなり異なっていました。
- 0.448 CTFontGetLeading
- 2.360 DeSalvo の式: UIFont lineHeight - アセンダー + ディセンダー
その他の UIFont 値は次のとおりです。
- 21.000 UIFont の lineHeight
- 15.232 UIFont のアセンダー (ベースラインからの Y 座標)
- -3.408 UIFont のディセンダー (ベースラインからの Y 座標)
- 08.368 UIFont の xHeight
Ken Thomases が問い合わせた CTFont 値は次のとおりです。
- 11.568001 CTFontGetCapHeight
- 08.368 CTFontGetXHeight
- -15.216001、-7.696001、38.352001、24.928001 CTFontGetBoundingBox
- 15.232 CTFontGetAscent
- 03.408 CTFontGetDescent (クラス ref は、「フォント参照のポイント サイズとマトリックスに従ってスケーリングされた、スケーリングされた font-descent メトリック」と述べています。これは明らかに、ベースラインからの Y 座標の絶対値であることを意味しますか?)
UIFont には以前は「リーディング」専用のプロパティがありましたが、廃止されたため、lineHeight
代わりに使用することをお勧めします。UIFontは、同じフォントに対してLeading が21であり、CTFontRef .448であると見なしますか? 何かがおかしい。
3 つの質問:
- kCTParagraphStyleSpecifierLineSpacingAdjustment が意味するのは本当に「先頭」ですか?
- もしそうなら、それを得るためにどの方法/式を使用すればよいですか?
- そうでない場合、行間調整には何を使用すればよいですか?
iphone - iPhone iOS UIFont を CTFontRef に変換すると、サイズのずれが発生する
UIFont と CTFont が別物であることは知っていますが、何とか動作させることができました。
PDF を生成して UIView をテンプレートとして使用しようとしていますが、編集可能な PDF を描画するには、特定のフレームで CTFontRef をレンダリングする必要があります。以下は、PDF コンテキストで UILabel を描画する私のメソッドです。メソッドは UILabel をフォント名、フォント サイズ、位置のテンプレートとして使用し、 CTFontRef は文字を PDF にレンダリングします。
この方法は機能しますが、癖があります。
以下のコードは、UIFont で書かれたテキストを収めるのに十分な大きさのフレームではレンダリングに失敗する可能性があることに気付きました。たとえば、特定のフォントに合う 80x21 の UILabel があります。そのフォントを CTFontRef でレンダリングしようとすると、ラベルの高さを 80x30 などに増やさない限り、空白が表示されます。簡単に言うと、CTFontRef は、フレームを水平または垂直にクリップしないテキストをレンダリングしません。
さらに、一部のフォントは幅が異なることに気付きました。そのため、UIFont の 20 文字に収まる 80x21 のラベルは、CTFontRef の 15 文字のようにしか収まらない場合があります。私の推測では、これは CTFontRef がテキストを切り捨てず、フレームからどちらの方向にも突き出ている単語を単純にレンダリングしないためです。
いくつかの質問: フォント サイズがずれている原因は何ですか? 他のプロパティをコピーする必要がありますか? ラベルの末尾にある長い単語を切り捨てるように CTFontRef に依頼する方法はありますか?
アップデート:
私はコードをリファクタリングし、現在この方法を使用して、フル機能の PDF テキストを生成しています。
objective-c - CTFontRef と UIFont の違い
そのため、CoreText プロジェクトが適切に機能していなかったので、数時間頭を壁にぶつけました。私は問題を見つけました、そしてそれは奇妙でした。同じサイズの同じフォントのフォント特性が CTFontRef と UIFont で異なる理由を誰かが理解するのを手伝ってくれることを願っています。
テストするために、次の 4 行を使用しました。
そして、この出力を受け取りました:
何???
ios - (NSCFType セット) - iOS 6 で認識されないセレクター
iOS 5 で正常に動作する優れた TTTAttributedLabel ( https://github.com/mattt/TTTAttributedLabel ) を使用しています。ただし、iOS 6 では次のエラーが表示されます。
この問題を少し調べたところ、設定されたメッセージが解放されたオブジェクトに送信されているようです。デバッガーを使用して、CTFontRef のように見える 0x200020e0 を po しました。
}
これにより、すぐに TTTAttributedLabel を設定するコードにたどり着きました。
ここでの使用例のように:
https://github.com/mattt/TTTAttributedLabel
そのコードは ARC 化されていないため、ブリッジ キャストを追加しました (上記を参照)。私はいたるところで保持を試みましたが、CTFontRef があまりにも早くリリースされているという問題 (と思われる) を解決していないようです (私は思う - 他の提案を歓迎します)。
これを解決する方法と、これが iOS 6 シミュレーターでのみ発生する理由についてのアイデアはありますか? 前もって感謝します。
ios - CTFontRefによるメモリリーク
以下の詳細を使用してPDFを生成していますが、Instrumentでメモリリークが発生していますが、InstrumentがCTFontRef
100percリークを指している理由を誰かが理解できますか?
ios - CTFontRefによるメモリリーク
以下のコードを使用してPDFを生成していますが、メモリリークが発生します。コードを以下に示します。
生成中にこの関数を数回呼び出しています
PDFと、これがメモリリークにつながるたびに。