8

medieval numbers이 있으므로 iOS 7 프로젝트에서 특정 글꼴을 사용하라는 고객의 요청이 있습니다.중세 (소문자, 라이닝 제외) 번호 사용

NSAttributedString에 대해 이러한 번호를 활성화 할 수있는 방법이 있습니까? 기본 라이닝 번호가 사용되므로 글꼴에도 잘 포함됩니다.


다음은 예입니다. 두 줄 모두 변종이없는 글꼴 (Regular)을 사용하고, 한 번 중세 숫자를 활성화하면 두 번째 줄은 기본 안감 번호를 사용합니다. 질문 오히려 라이닝 VS 텍스트보다 [비례 대] 표 수치를 언급하지만

enter image description here

+1

UIFont *font = [UIFont fontWithName:@"DIN Next LT Pro" size:12]; if (font) label.font = font; 

두 번째 줄에 생성 된? 글꼴 작동을 변경하지 않습니까? – Sulthan

+0

글꼴에는 2 개의 숫자 스타일이 있습니다. 안감 스타일이 기본 스타일입니다. @ 술탄 – vikingosegundo

+1

@ 설탕, 어쩌면 내가 추가 한 이미지가 더 명확 해집니다. – vikingosegundo

답변

11

이들을 소문자이라고하며, UIFontDescriptor을 사용하여 켤 수 있습니다.

첫째, 당신은 몇 가지 상수 CoreText를 가져와야 :

#import <CoreText/SFNTLayoutTypes.h> 
or 
@import CoreText.SFNTLayoutTypes; 

그런 다음 글꼴 디스크립터를 사용하여 글꼴을 만들 수 있습니다.

NSDictionary *lowercaseNumbers = @{ 
            UIFontFeatureTypeIdentifierKey: @(kNumberCaseType), 
            UIFontFeatureSelectorIdentifierKey: @(kLowerCaseNumbersSelector), 
            }; 
UIFontDescriptor *descriptor = [[UIFontDescriptor alloc] initWithFontAttributes: 
           @{ 
            UIFontDescriptorFamilyAttribute: @"Georgia", 
            UIFontDescriptorFeatureSettingsAttribute:@[ lowercaseNumbers ], 
            }]; 
UIFont *font = [UIFont fontWithDescriptor:descriptor size:15]; 

결과 : : 여기 조지아 제품군을 사용
enter image description here

편집 : 지적 Random832 @으로 조지아는 소문자 숫자를 가지고, 그래서 결과는 무관하다. 그러나 @vikingosegundo이 코드는 지원되는 글꼴에서 작동합니다. 감사.

enter image description here

상단 라인은 활성화가 무슨 소리

NSDictionary *lowercaseNumbers = @{ UIFontFeatureTypeIdentifierKey:@(kNumberCaseType), UIFontFeatureSelectorIdentifierKey: @(kLowerCaseNumbersSelector)}; 
UIFontDescriptor *descriptor = [[UIFontDescriptor alloc] initWithFontAttributes: 
           @{UIFontDescriptorFamilyAttribute: @"DIN Next LT Pro",UIFontDescriptorFeatureSettingsAttribute:@[ lowercaseNumbers ]}]; 
UIFont *font = [UIFont fontWithDescriptor:descriptor size:12]; 
if (font) 
    label.font = font; 
+0

위대한! 고마워요! – vikingosegundo

+0

문제 없습니다. _SFNTLayoutTypes.h_를 살펴볼 가치가 있습니다. 비례식 숫자 나 다른 구두점과 같은 흥미로운 기능을 찾을 수 있습니다. – Tricertops

+2

가장 큰 문제는 문언이라고 생각합니다. 타이포 그라피에는 내가 모르는 어휘가 너무 많습니다. 나 자신의 모국어로도. – vikingosegundo