[iOS] Font 추가하기

ungchun·2022년 6월 22일
0

원하는 Font 검색해서 다운하기


저는 눈누 라는 페이지를 자주 사용합니다. 원하는 폰트를 다운해주세요 !

TTF vs OTF

폰트에는 TTF와 OTF 두개의 파일이 있다. 이번 글을 작성하면서 한번 알아봤는데 파고들면 차이점이 분명 존재한다. TTF는 포맷방식이 TrueType Font 이고 문서 작업이나 디자인 작업에 적합한 대신 용량이 크고 OTF는 포맷방식이 OpenType Font 이고 고해상도 출력 작업에 용이하고 용량이 작다. 말고도 많은 차이점이 있지만 사실 TTF나 OTF는 작업 장식, 속도, 파일 크기 등 모든것이 상대적이기 때문에 일반적인 작업을 하는 경우에는 큰 차이가 없다고 한다. 차이가 나더라도 엄청 미세한 차이라고 한다. 고해상도 대형 출력 작업 (300 dpi 이상)을 한다면 OTF 를 권장하고 나머지는 아무거나 사용해도 상관없을 듯 하다.

TTF 보다 OTF 가 조금 더 선명하다고 하니 선택권이 주어진다면 OTF 로 받는게 좋아보인다 !


프로젝트에 다운받은 Font 파일 추가


추가하실 때 타겟 꼭 설정해주셔야 합니다 !

저는 강원교육체를 다운받아 추가했습니다.


info.plist 변경

information Property List -> Fonts provided by application 추가 -> item 에 확장자를 포함한 파일명을 작성


Font 변경

    private lazy var mainTextSubLabel: UILabel = {
        let label = UILabel()
        label.translatesAutoresizingMaskIntoConstraints = false
        label.text = "우리가 만난지"
        label.font = UIFont(name: "GangwonEduAllLight", size: 25)
        label.textColor = .white
        return label
    }()

extension으로 빼서 사용하든 본인이 편한방법으로 사용하시면 될거 같습니다. 간단하게는 요렇게 작성하면 정상적으로 font가 바뀌는 모습을 볼 수 있습니다.

Text("(-\(pricePercentage())%)")
	.fontWeight(.medium)
	.font(.custom("IBMPlexSansKR-Regular", size: 12))
	.foregroundColor(.blue)

SwiftUI 는 이렇게 사용


혹시 모든 과정을 똑같이 따라했는데 정상적으로 폰트가 변경되지 않는다 ?

아마 폰트 파일이 가진 고유한 이름과 세팅한 이름이 달라서 폰트가 출력이 안될 가능성이 큽니다. 사실 저도 처음에는 폰트가 출력이 안돼서 구글링을 통해 해결방법을 찾았습니다.

for fontFamily in UIFont.familyNames {
	for fontName in UIFont.fontNames(forFamilyName: fontFamily) {
		print(fontName)
    }
}

이 코드를 실행하면


이렇게 쭉 Font 파일 이름들이 출력되는데 잘 찾아보시면 본인이 추가한 폰트 파일의 이름이 보일겁니다. 저의 경우에는 GangwonEduAllLight, GangwonEduAllBold 가 파일의 이름이었습니다. 본인의 파일 이름을 찾으셨다면 파일이름을 변경하시고 info.plist 를 수정해주시면 아마 정상적으로 출력될겁니다 !

0개의 댓글