我想在UITextview中设置斜体字体样式,但IOS 7上的斜体字体只是不适用于中文/日语/韩语。有人有帮助吗?

有帮助吗?

解决方案

因为IOS上没有斜体风格的中国字体,您需要使用 active转换倾斜正常风格的中国字体。

下面的代码给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文本,表达强调(或报价)的正确方法是使用另一种样式(通常是Serif字体)。对于简体中文,使用Songti,Fangsong或Kaiti而不是强调您的正常文本是否使用Heiti(iOS默认值)。我不是很熟悉韩国和日语,但他们使用类似的方法。

是iOS 7的字体列表: http://支持。 Apple.com/kb/ht5878?viewlocale=en_us& ;locale=en_us 日本Mincho字体“Hiragino Mincho Pron”直接提供。默认情况下未安装额外的中文字体。你需要先下载。请参阅此示例,了解如何安装其他系统提供的字体: https://github.com/fdstevex/ fdsfontdownloader /

我知道它有点复杂,但这真的是我们如何进行斜体。

同意@ AN0,但通过这种方式使变换更好地阅读和理解

CGAffineTransform CGAffineTransformMakeSkew (CGFloat degree) {
    CGAffineTransform t = CGAffineTransformIdentity;
    t.c = (degree * M_PI / 180.0f);
    return t;
}
.

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top