iOS 界面字体回退系统原生 + iPad 适配 + 登录列宽

- 移除自定义 UI 字体,界面统一系统原生:删 BrandFonts.swift(Orbit/Maple woff2 运行期 CTFontManager 注册 + UIKit 外观代理)+ AppDelegate 的 register 调用 + CDropApp 全局 .environment(\.font, .oBody);9 视图 .font(.o语义) → .font(.语义) 系统语义(日志 LogView 消息行本就 .caption.monospaced() 原生等宽);删 Sources/Fonts/(Orbit/Maple woff2 ~20MB)。仅留品牌字标 Fredoka(logo Wordmark),Justfile ios-fonts 改 Fredoka-only、.gitignore 收窄、新增 Shared/Fonts/README.md
- iPad 适配:RootView TabView 加 .tabViewStyle(.sidebarAdaptable)(iPad 常规宽度侧边栏 / iPhone 底部标签栏)+ ConversationView 消息线程 maxWidth 680 居中;project.yml 补方向键 UISupportedInterfaceOrientations(iPhone 竖 + 横)/ ~ipad(全 4 向),消除 iPad 多任务方向构建告警
- 登录页内容约束 maxWidth 420 居中,避免 iPad 宽屏主登录按钮 / 二维码区横向拉满(iPhone 不受影响)
- 文档:ios/PLAN.md §11.2 改系统原生字体 + 新增 §13 iPad;ios/PARITY.md 字体分叉条目回退 + 导航条目加 iPad + 2026-07-07 漂移行
- 已装 iPhone 15 Pro C + iPad Pro 13" M4 双端、用户确认
This commit is contained in:
2026-07-07 20:49:06 +08:00
parent adfd2912a5
commit 7f6e35908c
18 changed files with 123 additions and 174 deletions
+30
View File
@@ -0,0 +1,30 @@
# 品牌字标字体 Fredoka(不入库,构建前拉取)
iOS App 的 **UI 界面字体已统一用系统原生字体**`.font(.body)` / `.headline` / … 语义样式随 Dynamic Type
缩放;日志等宽处用 `.system(…, design: .monospaced)` 原生等宽字体)。**唯一保留的自定义字体是品牌字标
Fredoka**——仅用于 logo 的 Wordmark(「Commilitia Drop」,见 `Shared/Brand.swift`),与 web 品牌资产一致。
| 角色 | 字体 | 落地 | 来源 |
|---|---|---|---|
| 字标(Wordmark,仅 logo | **Fredoka SemiBold** | `Shared/Fonts/Fredoka-SemiBold.ttf` | Google Fonts 变量字体实例化(OFL |
## 为什么不提交进仓库
Fredoka 虽为开源(OFL),仍统一走拉取以保持仓库精简;经 `.gitignore` 排除,本 README 入库作说明。
## 如何备齐
```sh
just ios-fonts
```
幂等(已存在则跳过)。`just ios-device` / `just ios-sim-build` 构建前已自动 chain 本步,正常无需手动跑。
**前置**`curl`;造 Fredoka 静态实例需 `python3` + `fonttools``python3 -m pip install --user fonttools`)。
## 接入方式(代码)
Fredoka 是 ttf,经 `UIAppFonts`(各 target 的 Info.plist)注册;`Wordmark``Shared/Brand.swift`)用
`.font(.custom("Fredoka-SemiBold", size:))`。主 app、Share 扩展、控件扩展均可用(字标体积小,无 CJK)。
> 历史:早先曾为 UI 引入 Orbit GothicSans+ Maple MonoMono)自定义字体栈,后统一回退系统原生字体
> 移除(仅保留 Fredoka 字标)。故不再有 `Sources/Fonts/` 与运行期 `CTFontManagerRegisterFontsForURL` 注册。