Files
admin 7f6e35908c 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 双端、用户确认
2026-07-07 20:49:06 +08:00
..

品牌字标字体 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 入库作说明。

如何备齐

just ios-fonts

幂等(已存在则跳过)。just ios-device / just ios-sim-build 构建前已自动 chain 本步,正常无需手动跑。 前置curl;造 Fredoka 静态实例需 python3 + fonttoolspython3 -m pip install --user fonttools)。

接入方式(代码)

Fredoka 是 ttf,经 UIAppFonts(各 target 的 Info.plist)注册;WordmarkShared/Brand.swift)用 .font(.custom("Fredoka-SemiBold", size:))。主 app、Share 扩展、控件扩展均可用(字标体积小,无 CJK)。

历史:早先曾为 UI 引入 Orbit GothicSans+ Maple MonoMono)自定义字体栈,后统一回退系统原生字体 移除(仅保留 Fredoka 字标)。故不再有 Sources/Fonts/ 与运行期 CTFontManagerRegisterFontsForURL 注册。