pubspec.yaml에서 font를 추가하면서 weight 값을 지정하는 것이 의미가 있는 것인지 문의
43
작성한 질문수 5
안녕하세요. 좋은 강의 만들어 주셔서 감사합니다.
pubspec.yaml 에서 font를 추가하면서 weight 값도 추가해주는데요.
이 값일 빼거나, 다른 값으로 변경해서 테스트를 해도 변화가 없는것 같던데요. 그래서 의미가 없는 코드처럼 보여서요.
제가 맞게 파악하고 있는 것일까요?
아래 내용은 강사님께서 수업하시면서 말씀하신 내용을 주석으로 남겼던 부분입니다.
# 패밀리는 폰트의 종류를 의미한다.(철자는 마음대로 지정해도 된다) fonts: - family: parisienne fonts: #fonts는 실제 적용될 폰트를 의미한다. - asset: asset/font/Parisienne-Regular.ttf #asset에 실제로 사용될 폰트를 선택해준다. - family: sunflower fonts: #Medium, Bold는 더 굵은것이라는 것을 구분하기 위해서 명시해줘야 한다. - asset: asset/font/Sunflower-Light.ttf - asset: asset/font/Sunflower-Medium.ttf weight: 700 # 숫자는 마음대로 넣을 수 있다. 코드에서 weight500를 사용하면 Medium 폰트를 사용할 것이라는 뜻이다. - asset: asset/font/Sunflower-Bold.ttf weight: 500 # 숫자는 마음대로 넣을 수 있다. 코드에서 weight500를 사용하면 Medium 폰트를 사용할 것이라는 뜻이다.
답변 1
0
안녕하세요, 인프런 AI 인턴입니다. Myoungsu Park님!
pubspec.yaml 파일에서 폰트의 weight 값을 지정하는 것은 Flutter 앱에서 폰트의 다양한 굵기를 활용할 수 있게 해주는 중요한 설정입니다. Flutter에서는 동일한 폰트 내에서 여러 굵기를 지원하는 경우, 각 굵기별로 asset과 weight를 정의하여 폰트의 일관성을 유지할 수 있습니다.
왜 weight 값을 설정할까요?
일관된 스타일 보장: Flutter 앱 내에서 다양한 텍스트 스타일을 적용하기 위해 각 폰트의 굵기를 명시적으로 설정합니다. 예를 들어, 표제글에 Bold체, 본문에 Regular체 등을 사용하여 디자인 일관성을 제공합니다.
여러 굵기의 폰트 지원: 하나의 폰트 패밀리에서 Light, Medium, Bold와 같은 여러 굵기를 사용할 수 있습니다. 이러한 다양한 굵기를 지원하려면 각 굵기에 맞는 weight 값을 지정해야 합니다.
명확한 매핑: weight 값을 통해 코드에서 특정 굵기의 폰트를 쉽게 식별하고 사용할 수 있게 됩니다. 예를 들어, 코드에서
weight: 500을 호출하면 Medium 폰트가 사용되도록 매핑할 수 있습니다.
테스트 결과 변화가 없는 이유
폰트를 추가한 이후에 weight 값을 다른 숫자로 변경했지만 변화가 없었다고 느끼신 이유는 다음과 같습니다:
- 폰트 파일에 따른 제한: 실제로 사용한 폰트 파일이 그 굵기의 여러 변종을 포함하고 있지 않다면, weight를 변경해도 렌더링 결과에 변화가 없을 수 있습니다.
- 잘못된 매핑: pubspec.yaml 파일에서 정의한 weight 값과 사용하는 코드 내 정의가 정확히 매핑되지 않는 경우 폰트 변경이 반영되지 않을 수 있습니다.
관련된 질문과 해결 방법은 다음의 링크를 통해 자세히 살펴보실 수 있습니다:
- 다른 폰트를 다운받아서 추가하려니 오류가 발생합니다. - 이 게시물에서는 pubspec.yaml의 세팅 문제가 어떻게 에러를 일으키는지를 설명하고 있습니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
198강 (){onTap(e);}의 이해 돕기
0
28
1
video_call 플러그인 설치후 에러 발생
0
45
1
SDK 안드로이드 설치 질문!
0
60
1
코드팩토리 디스코드 링크 다시 부탁드려요~
0
92
1
Webview를 이용해서 URL 상의 페이지 출력 불가
0
70
1
홈스크린 함수를 함축해서 main.dart에 옮기는 문제
0
55
1
플레이스토어
0
59
1
아고라 엔진 init 함수의 반환타입이 Future<void> 이것의 의미는 무엇인가요?
0
55
1
가이드라인 질문
0
57
0
emulator 에러 환경설정 뭐가 문제 일까요??
0
77
1
emulator 실행 오류
0
93
3
Column을 가로방향 최대 사이즈를 차지하도록 하는 방법에 관련
0
71
1
setState()를 호출하지 않으면 build가 실행 안되는 건가요?
0
53
1
video_call 플러그인 설치시 에러문제
0
64
1
children 안의 if 문에서 { } 못쓰는 이유?
0
48
1
이렇게 오류가 떠요
0
64
1
AppBar 사용했는데
0
61
2
[문제해결] '오늘도 출첵!' 의 171번 강의에서 중요한 문제를 발견했습니다
0
56
1
StatefulWidget 실습 에러가 발생합니다.[해결완료]
0
63
1
Video Player 프로젝트에 대한 추가 질문
0
53
0
Row위젯이나 column위젯의 위치는 누가 정하나요??
0
42
1
geolocator 오류때문에 개발진행이 불가능입니다
0
63
1
API 관련 이슈
0
86
2
VoidCallback 뒤에 null 연산자 표기에 관한 질문
0
47
1





