맞춤 글꼴은 기본 대상에 넣지 않으면 반영되지 않습니다.
4383 단어 SwiftUIFontEmbeddedFramework
결론
EmbeddedFramework로 타겟을 나누는 프로젝트에서
맞춤 글꼴을 사용하는 경우
메인 타겟에 폰트 파일을 넣어야 합니다.
메인 이외의 타겟 부하에 파일을 넣고,
해당 대상의 info.plist
에 파일을 연결해도
사용할 수 없습니다.
말하고 싶은 것은 이상입니다만, FontBook을 사용한 커스텀 폰트의 도입 방법도 비잊을 위해서 기술합니다.
커스텀 폰트의 도입 방법
이번에는 HiraKakuStdN-W8
를 추가합니다.
FontBook에서 필요한 글꼴 파일 가져오기
Xcode에서 사용자 지정 글꼴을 사용하려면 .ttf
, .otf
형식의 파일을 Xcode에 포함해야 합니다.
기본적으로 Mac에 들어있는 FontBook
를 열고, 목표 HiraKakuStdN-W8은 히라기노 뿔 고의 W8에 해당하므로,
그것을 검색하고 마우스 오른쪽 버튼으로 클릭하면 Finder에서 글꼴 파일의 위치를 확인할 수 있습니다.
FontBook을 통하지 않고 기본적으로 Mac에서 사용할 수있는 글꼴 (예 : BigSur의 경우 여기)/System/Library/Fonts/
아래에 있어야하므로 여기에 액세스하여 글꼴 파일을 가져와도 OK입니다.
.ttc를 .otf로 변환
transfonter 을 사용했습니다.
업로드하고 변환 후 파일을 다운로드하면됩니다.
새 글꼴을 Xcode에 통합
이번에는
HiraKakuStdN-W8
를 추가합니다.FontBook에서 필요한 글꼴 파일 가져오기
Xcode에서 사용자 지정 글꼴을 사용하려면
.ttf
, .otf
형식의 파일을 Xcode에 포함해야 합니다.기본적으로 Mac에 들어있는
FontBook
를 열고, 목표 HiraKakuStdN-W8은 히라기노 뿔 고의 W8에 해당하므로,그것을 검색하고 마우스 오른쪽 버튼으로 클릭하면 Finder에서 글꼴 파일의 위치를 확인할 수 있습니다.
FontBook을 통하지 않고 기본적으로 Mac에서 사용할 수있는 글꼴 (예 : BigSur의 경우 여기)
/System/Library/Fonts/
아래에 있어야하므로 여기에 액세스하여 글꼴 파일을 가져와도 OK입니다..ttc를 .otf로 변환
transfonter 을 사용했습니다.
업로드하고 변환 후 파일을 다운로드하면됩니다.
새 글꼴을 Xcode에 통합
.otf
형식으로 변환 된 글꼴 파일을 기본 대상 아래의 모든 폴더에 저장합니다..otf
파일이 추가되어 있는지 확인합니다.Fonts provided by application
를 추가하여 새로 추가 된 hoge.otf
파일의 파일 이름을 설명합니다.StoryBoard, xib에서 사용
상기까지 문제 없게 되어 있으면 보통으로 사용할 뿐입니다.
before
after
덧붙여서 메인 타겟에 넣지 않으면,
xib에서 글꼴은 변경되었지만 실제 기계 또는 시뮬레이터에서는 반영되지 않습니다.
주의를.
코드에서 사용
Xcode에서 사용할 수 있는 글꼴은
UIFont.familyNames
가 갖고 있으므로 다음 코드에서 print할 수 있습니다.for family: String in UIFont.familyNames {
print(family)
for names: String in UIFont.fontNames(forFamilyName: family) {
print("== \(names)")
}
}
// 出力(抜粋)
// Hiragino Sans
// == HiraginoSans-W3
// == HiraginoSans-W6
// == HiraginoSans-W7
// == HiraKakuStdN-W8
원래 들어 있던
HiraginoSans-W3
, HiraginoSans-W6
, HiraginoSans-W7
이외에HiraKakuStdN-W8
가 추가되었습니다.또, 메인 타겟에 폰트 파일이 들어 있지 않은 경우 이쪽도 출력되지 않습니다.
이 familyName을 사용하여 다음과 같이 코드에서도 설정할 수 있습니다.
let hirakakuStdW8Font = UIFont(name: "HiraKakuStdN-W8", size: 24)!
결론(재게재)
EmbeddedFramework로 타겟을 나누는 프로젝트에서
맞춤 글꼴을 사용하는 경우
메인 타겟에 폰트 파일을 넣어야 합니다.
Reference
이 문제에 관하여(맞춤 글꼴은 기본 대상에 넣지 않으면 반영되지 않습니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/ichikawa7ss/items/2d5c5c70b5035b6c6fff텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)