Skip to content

fix(lyric): 翻译/音译副行字号可配置,对齐旧版 SPlayer 显示 - #279

Open
29ktsNelson wants to merge 1 commit into
SPlayer-Dev:devfrom
29ktsNelson:fix/lyric-translation-font-size
Open

29ktsNelson wants to merge 1 commit into
SPlayer-Dev:devfrom
29ktsNelson:fix/lyric-translation-font-size

Conversation

@29ktsNelson

Copy link
Copy Markdown

fixes #278

## 根因
- 翻译/音译副行字号被渲染库硬编码为主行的一半:默认 physics 引擎(lyric-dom)为 `.lp-sub { font-size: max(.5em, 10px) }`,amll 引擎(AMLL 
core)同样硬编码;应用侧无对应设置、也从未覆盖
- 副行透明度激活仅 0.35、非激活 0.2,再乘行级 inactiveAlpha 后非激活翻译实际 ≈0.04,几乎不可见
- 主字号滑块下限 30 高于旧版用户实际使用的值(旧版为无界限数字输入,最小 12),旧的小字号无法复现

## 改动
- 新增 `translationFontSize` 设置(默认 22,与旧版 SPlayer 一致),按与主字号相同的自适应公式(`calc(S/1080*100vh)` / 固定 px)注入 
`--lp-sub-font-size`:
  - lyric-dom:`.lp-sub`(逐行翻译与逐行音译)改用该变量
  - AMLL:以 `:deep([class*="lyricSubLine"])` 覆盖硬编码副行字号,复用同一变量,两引擎行为一致
- 副行透明度恢复旧版合成方式:`--lp-sub-active-opacity` / `--lp-sub-inactive-opacity` = 0.6,明暗由行级透明度负责
- 主字号滑块下限 30 放宽至 12;两个字号滑块范围与挡位统一为 12/24/36/48/64
- i18n(zh-CN / en-US)补充新设置项文案

## 测试
- [x] Fedora `pnpm dev` 实测:翻译行字号与清晰度恢复旧版 SPlayer 观感(对比截图见 issue)
- [x] `pnpm typecheck`(tsc + vue-tsc)通过
- [x] lint-staged 预提交校验通过
- [x] 默认值无回归:默认 22/48 ≈ 0.46,接近原库默认 0.5em 观感

- 新增 translationFontSize 设置,按与主字号相同的自适应公式注入
  --lp-sub-font-size,lyric-dom 与 AMLL 两引擎统一生效
- 副行透明度恢复旧版合成方式(恒定 0.6,明暗由行级透明度负责)
- 主字号滑块下限 30 放宽至 12,两个字号滑块范围与挡位统一为
  12/24/36/48/64

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

歌词翻译/音译副行字号过小且不可配置(与旧版 SPlayer 表现不一致)

1 participant