애플 시스템의 기본 글꼴은 애플 네모난 글꼴입니까?

16066 단어 발포
현재 UI 디자이너들은 PingFangSC 글씨체에 따라 효과를 디자인하고 매번 긴 코드를 쓴다. 다음과 같다.
UIFont *font = [UIFont fontWithName:@"PingFangSC-Regular" size:16.0];
UIFont *font = [UIFont fontWithName:@"PingFangSC-Medium" size:16];

특히 중간 문자열은 잘못 쓰기 쉬우며 Xcode 프롬프트가 표시되지 않습니다.so, 잘못 쓰는 것을 방지하기 위해 분류를 써서 이 문제를 해결했다.
typedef NS_ENUM(NSUInteger, CMJPingFangSCType) {
    CMJPingFangSCTypeThin,
    CMJPingFangSCTypeUltralight,
    CMJPingFangSCTypeLight,
    CMJPingFangSCTypeRegular,
    CMJPingFangSCTypeMedium,
    CMJPingFangSCTypeSemibold,
};

@interface UIFont (CMJFont)
+ (UIFont *)cmj_PingFangSCFontWithType:(CMJPingFangSCType)type fontSize:(CGFloat)size;
@end

@implementation UIFont (CMJFont)
+ (UIFont *)cmj_PingFangSCFontWithType:(CMJPingFangSCType)type fontSize:(CGFloat)size
{
    UIFont *font = nil;
    switch (type) {
        case CMJPingFangSCTypeThin:
            font = [UIFont fontWithName:@"PingFangSC-Thin" size:size];
            break;
            
        case CMJPingFangSCTypeUltralight:
            font = [UIFont fontWithName:@"PingFangSC-Ultralight" size:size];
            break;
            
        case CMJPingFangSCTypeLight:
            font = [UIFont fontWithName:@"PingFangSC-Light" size:size];
            break;
            
        case CMJPingFangSCTypeRegular:
            font = [UIFont fontWithName:@"PingFangSC-Regular" size:size];
            break;
            
        case CMJPingFangSCTypeMedium:
            font = [UIFont fontWithName:@"PingFangSC-Medium" size:size];
            break;
            
        case CMJPingFangSCTypeSemibold:
            font = [UIFont fontWithName:@"PingFangSC-Semibold" size:size];
            break;
            
        default:
            break;
    }
    return font;
}

@end

오랜만에, 그러던 어느 날, UI 디자이너와 이야기를 나누며 "애플의 기본 글씨체는 애플 네모난 글씨체 아닙니까?"라고 말했다.“What?” 우리도 몰라, 나도 감히 물어볼 수가 없어. 어떡해, 돌아가서 프린트해 봐.
<UICTFont: 0x14dd21b90> font-family: ".SFUI-Regular"; font-weight: normal; font-style: normal; font-size: 16.00pt
<UICTFont: 0x14de58bb0> font-family: "PingFangSC-Regular"; font-weight: normal; font-style: normal; font-size: 16.00pt

시스템의 기본 글꼴인 font-family는'.SFUI-Regular'(.SF는 San Francisco의 약자)이고, 사과방 글꼴의 font-family는'PingFangSC-Regular'이다.이렇게 뚜렷한 증거가 앞에 놓여 있는데 왜 디자이너가 기본 시스템 글씨체가 사과방 글씨체라고 말할까?"어떻게 말하면 핸드폰의 한 글씨체는 중국어와 영어를 포함한다. 그렇지? 문제적으로 산프란시스코는 사과의 영문 부분이고, 중국어 부분은 사과의 흑체라고 한다."

보태다


San Francisco는 사과방 글씨체의 영문 부분으로 중국어 부분은 사과방 흑체라고 부른다.그러나 둘 사이에는 차이가 있다.예를 들어 숫자의 표시에 대해 제곱 글씨체가 나타내는 숫자는 앞뒤 한자와 더욱 치밀하지만 산 프랑시스코와 앞뒤 한자 사이에는 일정한 간격이 있다.

부록:

    UIFont *font1 = [UIFont systemFontOfSize:16];
    UIFont *font2 = [UIFont boldSystemFontOfSize:16];
    UIFont *font3 = [UIFont italicSystemFontOfSize:16];

    UIFont *font4 = [UIFont systemFontOfSize:16 weight:UIFontWeightRegular];
    UIFont *font5 = [UIFont systemFontOfSize:16 weight:UIFontWeightMedium];
    UIFont *font6 = [UIFont systemFontOfSize:16 weight:UIFontWeightSemibold];<UICTFont: 0x10a91cbe0> font-family: ".SFUI-Regular"; font-weight: normal; font-style: normal; font-size: 16.00pt
<UICTFont: 0x10a930de0> font-family: ".SFUI-Semibold"; font-weight: bold; font-style: normal; font-size: 16.00pt
<UICTFont: 0x10a92f650> font-family: ".SFUI-RegularItalic"; font-weight: normal; font-style: italic; font-size: 16.00pt

<UICTFont: 0x105a01f80> font-family: ".SFUI-Regular"; font-weight: normal; font-style: normal; font-size: 16.00pt
<UICTFont: 0x105943960> font-family: ".SFUI-Medium"; font-weight: normal; font-style: normal; font-size: 16.00pt
<UICTFont: 0x1059443c0> font-family: ".SFUI-Semibold"; font-weight: bold; font-style: normal; font-size: 16.00pt

좋은 웹페이지 즐겨찾기