IOS 7の中華/日本語/韓国語のためのイタリック人フォント
質問
uitextviewでイタリック体フォントスタイルを設定したいのですが、イタリック体フォントはiOS 7.
解決
iOSに斜体の様式の中国のフォントがないため、アフィン変換を使用する必要があります。通常のスタイルの中国のフォントを傾けます。
以下のコードは、Heiti SC Medium
に15°の傾斜を与えます:
CGAffineTransform matrix = CGAffineTransformMake(1, 0, tanf(15 * (CGFloat)M_PI / 180), 1, 0, 0);
UIFontDescriptor *desc = [UIFontDescriptor fontDescriptorWithName:@"Heiti SC Medium" matrix:matrix];
textView.font = [UIFont fontWithDescriptor:desc size:17];
.
実際の効果:
他のヒント
あなたの問題を解決していませんが、このような「プログラム的なイタリック体のフォント」は本当に不適切な読みやすさを持っていることをあなたに思い出させる。
CJKテキストでは、強調(または引用)を表現する正しい方法は、別のスタイル(通常はセリフフォント)を使用することです。単純化された中国語のために、通常のテキストがHeIti(iOSのデフォルト)を使用している場合は、強調のために斜めの代わりにSongti、Fangsong、またはKaitiを使用してください。私は韓国語と日本語にはあまり慣れていませんが、同様のアプローチを使用しています。
これはiOS 7のフォントリストです。 http://サポート。 Apple.com/kb/ht5878?LiveLocale=en_us&通り;ロコール=en_us 日本のMINCHOフォント「ひらみ野みしん」は直接入手できます。追加の中国語フォントはデフォルトではインストールされていません。最初にダウンロードする必要があります。追加のシステム提供のフォントのインストール方法については、この例を参照してください。 https://github.com/fdstevex/ fdsfontdownloader /
私はそれが少し複雑であることを知っていますが、これは実際に私たちがイタリック体をする方法です。
@ an0に同意しますが、このようにして変換することは読み書きのためのより良いです
CGAffineTransform CGAffineTransformMakeSkew (CGFloat degree) {
CGAffineTransform t = CGAffineTransformIdentity;
t.c = (degree * M_PI / 180.0f);
return t;
}
.