공지사항

  • 안녕하세요, 오뜨입니다 !
ohtt
오뜨네
ohtt
  • 분류 전체보기 (36)
    • iOS (17)
      • iOS (8)
      • swift (4)
      • Reactive (1)
      • swiftUI (4)
    • Algorithm (0)
      • 자료구조 (0)
      • 알고리즘 (0)
      • 문제 (0)
    • 기타 (3)
      • Git (1)
      • Design (1)
      • ETC. (1)
    • 끄적끄적 (9)
      • 회고 (2)
      • 일상 (6)
      • 폰으로끄적임 (0)
    • Books (7)
전체 방문자
오늘
어제

태그

  • 회고
  • isHidden
  • 책
  • autorenewal
  • discardableResult
  • SWIFT
  • ios
  • 힙주비
  • iOS16
  • swiftUI

블로그 메뉴

  • 홈
  • 태그
  • 방명록

최근 댓글

hELLO · Designed By 정상우.
ohtt

오뜨네

[iOS] 커스텀 폰트, 다국어 폰트 적용하기
iOS/iOS

[iOS] 커스텀 폰트, 다국어 폰트 적용하기

2022. 9. 4. 22:09

오늘 글은 프로젝트에 커스텀 폰트 적용해보기 편입니다 :) 

간단하지만 은근히 헷갈리고, 잘한 것 같은데 왜 안되지? 하는 지점이 있다면
이 글을 참고하시고 빠진 부분들이 있는지 체크해보시면 좋을 것 같습니다.

더해서 언어별로 폰트를 다르게 세팅해보는 것까지 정리해보았습니다 ! 

그럼 시작할게요 :) 

 

 

폰트 파일 추가하기

 

 

폰트 파일을 추가해줍니다.
Add to targets가 잘 체크되어있는지 확인합니다.


 

Info.plist 파일에 폰트 추가하기

key로 Fonts provided by application을 추가해주고,

하위에 아이템들을 추가해줍니다.

 

 

이렇게 폰트 파일을 눌렀을 때 Name 부분에 적혀있는 string 값을 넣어주시면 됩니다.

사용될 custom font가 여러개라면 여러 개 추가해주시면 됩니다.

 

 

사용해보기

label.font = UIFont(name: customFontName, size: 14.0)

 

이런식으로 사용하면 되는데 여기서 이름을 설정해주는데 안 되는 경우가 있을 수 있습니다.

저도 초반에 가장 헷갈렸던 부분이 여기인데요.

 

아래 코드를 App 실행부나 아무 곳에 넣어 font 이름들을 프린트해줍니다. :) 

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

 

이렇게 위에서 제가 추가해줬던 폰트 이름들이 나옵니다.

GmakretSansMedium 같은 경우에는 파일에 적힌 이름과 같지만

XiaolaiSC 같은 경우에는 다른 것을 확인하실 수 있습니다.
이렇게 여기서 프린트 된 이름을 font name 부분에 적어주셔야 제대로 커스텀 폰트가 적용되는 것을 확인하실 수 있습니다 :) 

 

 

 

다국어 폰트 적용하기

우선 언어 별로 폰트를 설정하려면 다국어 세팅이 먼저 필요합니다.

https://ohttios.tistory.com/32 < 요 글을 먼저 확인해주세요 :) 

 

 

그다음 이렇게 폰트를 위한 key - value를 하나 만들어줍니다.

value 에는 언어 별 폰트 이름을 넣어주면 됩니다 :) 

 

extension UIFont {
  static var mojitoFont: UIFont {
    let fontText = "mojitoFont".localized
    return UIFont(name: fontText, size: 14.0) ?? .systemFont(ofSize: 14)
  }
}
label.font = .mojitoFont


그리고 UIFont의 extension으로 해당 폰트 정적 변수를 만들어줍니다 :) 
그럼 이렇게 해주었을 때 언어별로 맞는 font가 설정되게 됩니다 ! 👍🏻

 

 

 

마치며

애플은 워낙 시스템 폰트가 깔끔하고 언어별로 가장 좋은 폰트가 적용되어 있지만

앱의 이미지에 맞는 폰트가 필요할 때가 있습니다 :) 
그럴 때 커스텀 폰트 하나만으로도 앱의 분위기를 확 바꿀 수 있어서
여러분의 앱에 맞는 멋진 폰트를 선정해서 사용해보시길 추천드립니다 :) 

저처럼 헤매는 분들이 많지 않으시길 바라며 ... 글 마칩니다 

 

'iOS > iOS' 카테고리의 다른 글

[iOS] custom 확장자 - 우리 앱 제안 영역에 뜨게하기  (1) 2022.10.02
[iOS] iOS 16 enable Developer Mode  (2) 2022.09.24
[iOS] 번역 꿀팁 정리  (0) 2022.08.15
[iOS] Xcode에서 쓰는 주석 정리하기  (1) 2022.06.11
[iOS] isHidden에 대하여  (0) 2022.04.02
    'iOS/iOS' 카테고리의 다른 글
    • [iOS] custom 확장자 - 우리 앱 제안 영역에 뜨게하기
    • [iOS] iOS 16 enable Developer Mode
    • [iOS] 번역 꿀팁 정리
    • [iOS] Xcode에서 쓰는 주석 정리하기
    ohtt
    ohtt
    iOS Developer

    티스토리툴바