問題タブ [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.

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

objective-c - CTFontCopyNamekCTFontSampleTextNameKeyに対してnullを返します

フォントのサンプルテキストを取得しようとしています。これが私のコーディングです。

結果としてnullを返します。ただしkCTFontCopyrightNameKeykCTFontLicenseURLNameKeyなどの場合は、正しい値を返します。それだけのためkCTFontSampleTextNameKeyにそれは戻りますnull。指定されたフォントのサンプルテキストを取得する方法を教えてください。

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

iphone - CTFontRef からの FontName

CTFontRef 変数があります。

CTFontRef aFontRef;

フォントのサイズを取得するのは簡単でした:

FontName の取得を手伝ってください。FontName がMarkerFelt-Wide のようなものになることを期待しています。

しかし、次のような方法を使用すると

マーカーフェルトワイドを入手

乾杯ロシット

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

objective-c - Objective-C - CTFontはフォントスタイルを変更しますか?

フォント スタイルとサンボリック特性を含む CTFont があります。

最初のフォントの記号特性を継承する新しいスタイルの新しいフォントを作成したいと考えています。どうすればこれを達成できますか?

4th新しいフォントはここでは null です。 のパラメーターに何を渡せばよいかわかりませんCTFontCreateCopyWithSymbolicTraits

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

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 つの質問:

  1. kCTParagraphStyleSpecifierLineSpacingAdjustment が意味するのは本当に「先頭」ですか?
  2. もしそうなら、それを得るためにどの方法/式を使用すればよいですか?
  3. そうでない場合、行間調整には何を使用すればよいですか?
0 投票する
1 に答える
3444 参照

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 テキストを生成しています。

0 投票する
0 に答える
1354 参照

objective-c - CTFontRef と UIFont の違い

そのため、CoreText プロジェクトが適切に機能していなかったので、数時間頭を壁にぶつけました。私は問題を見つけました、そしてそれは奇妙でした。同じサイズの同じフォントのフォント特性が CTFontRef と UIFont で異なる理由を誰かが理解するのを手伝ってくれることを願っています。

テストするために、次の 4 行を使用しました。

そして、この出力を受け取りました:

何???

0 投票する
4 に答える
12590 参照

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 シミュレーターでのみ発生する理由についてのアイデアはありますか? 前もって感謝します。

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

ios - CTFontRefによるメモリリーク

以下の詳細を使用してPDFを生成していますが、Instrumentでメモリリークが発生していますが、InstrumentがCTFontRef100percリークを指している理由を誰かが理解できますか?

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

ios - CTFontRefによるメモリリーク

以下のコードを使用してPDFを生成していますが、メモリリークが発生します。コードを以下に示します。

生成中にこの関数を数回呼び出しています

PDFと、これがメモリリークにつながるたびに。