chore(flutter): 앱 패키지 ID 를 net.wandergo.app 으로 정하고 Pretendard 글꼴 번들

패키지 ID 는 스토어 등록·네이버 지도 Client ID 등록에 쓰이고 출시 후 바꿀 수 없어
템플릿 값(com.example.tma_app)을 보유 도메인(wandergo.net) 기준으로 정했다(2026-11-04 사용자 결정).
Android applicationId·namespace·MainActivity 경로, iOS 번들 ID 를 바꾸고
출시 대상이 아닌 macOS·Linux·웹은 식별자·이름만 맞췄다.

디자인 캔버스의 Pretendard 는 woff2 라 Flutter 가 읽지 못해, 공식 저장소
(github.com/orioncactus/pretendard v1.3.9)의 정적 OTF 중 디자인이 쓰는 400·500·600·700 만 넣었다.
SIL OFL 1.1 원문을 함께 두고 라이선스 화면에 등록했다(고지 조건).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
2026-11-04 14:53:50 +09:00
parent 0f306e71ba
commit 19f3574d97
15 changed files with 134 additions and 20 deletions
+2 -4
View File
@@ -10,11 +10,9 @@ const double kPagePadding = 20;
/// 앱 테마 — 흰 바탕, 그림자 없음, 브랜드색 하나.
///
/// 글꼴은 Pretendard 를 쓰기로 했다. 글꼴 파일을 받기 전까지는 기기 기본 글꼴로 보인다
/// ([kFontFamily] 가 null).
/// 글꼴은 Pretendard(400·500·600·700, pubspec fonts) 하나만 쓴다.
abstract final class AppTheme {
/// Pretendard 를 pubspec fonts 에 등록하면 'Pretendard' 로 바꾼다.
static const String? kFontFamily = null;
static const String kFontFamily = 'Pretendard';
static ThemeData light() {
const colorScheme = ColorScheme.light(
+7
View File
@@ -1,4 +1,6 @@
import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'package:flutter_dotenv/flutter_dotenv.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:shared_preferences/shared_preferences.dart';
@@ -15,6 +17,11 @@ Future<void> main() async {
// .env 파일이 없는 경우 무시 (기본값 사용)
}
final preferences = await SharedPreferences.getInstance();
// 번들한 글꼴의 라이선스 — 패키지 라이선스와 함께 라이선스 화면에 보인다(OFL 고지 의무)
LicenseRegistry.addLicense(() async* {
final text = await rootBundle.loadString('assets/fonts/OFL.txt');
yield LicenseEntryWithLineBreaks(const ['Pretendard'], text);
});
runApp(
ProviderScope(