fix(lyrics): gate japanese font stack with :lang(ja), fix dead rules
This commit is contained in:
parent
00226e8d63
commit
049c0cf83e
4 changed files with 24 additions and 15 deletions
|
|
@ -633,6 +633,12 @@ export class LyricsManager {
|
|||
attributes: false, // Don't watch attribute changes (highlight, etc)
|
||||
});
|
||||
|
||||
// Detect kana in pre-conversion text so Romaji mode doesn't strip the signal
|
||||
if (amLyricsElement.getAttribute('lang') !== 'ja') {
|
||||
const text = (amLyricsElement.shadowRoot || amLyricsElement).textContent || '';
|
||||
if (containsJapaneseKana(text)) amLyricsElement.setAttribute('lang', 'ja');
|
||||
}
|
||||
|
||||
// Initial conversion if Romaji mode is enabled - single attempt, no periodic polling
|
||||
if (this.isRomajiMode) {
|
||||
await this.convertLyricsContent(amLyricsElement);
|
||||
|
|
|
|||
|
|
@ -2650,7 +2650,7 @@ export const fontSettings = {
|
|||
FONT_LINK_ID: 'monochrome-dynamic-font',
|
||||
FONT_FACE_ID: 'monochrome-dynamic-fontface',
|
||||
NOTO_FALLBACK:
|
||||
"'Noto Sans', 'Hiragino Sans', 'Hiragino Kaku Gothic ProN', 'Yu Gothic', meiryo, 'Noto Sans JP', 'Noto Sans KR', 'Noto Sans SC', 'Noto Sans TC', 'Noto Sans HK', 'Noto Sans Hebrew', 'Noto Sans Arabic', 'Noto Sans Devanagari', 'Noto Sans Bengali', 'Noto Sans Thai', 'Noto Sans Tamil', 'Noto Sans Telugu', 'Noto Sans Gujarati', 'Noto Sans Kannada', 'Noto Sans Malayalam', 'Noto Sans Sinhala', 'Noto Sans Khmer', 'Noto Sans Lao', 'Noto Sans Myanmar', 'Noto Sans Georgian', 'Noto Sans Armenian', 'Noto Sans Ethiopic', system-ui, sans-serif",
|
||||
"'Noto Sans', 'Noto Sans SC', 'Noto Sans TC', 'Noto Sans HK', 'Noto Sans JP', 'Noto Sans KR', 'Noto Sans Hebrew', 'Noto Sans Arabic', 'Noto Sans Devanagari', 'Noto Sans Bengali', 'Noto Sans Thai', 'Noto Sans Tamil', 'Noto Sans Telugu', 'Noto Sans Gujarati', 'Noto Sans Kannada', 'Noto Sans Malayalam', 'Noto Sans Sinhala', 'Noto Sans Khmer', 'Noto Sans Lao', 'Noto Sans Myanmar', 'Noto Sans Georgian', 'Noto Sans Armenian', 'Noto Sans Ethiopic', system-ui, sans-serif",
|
||||
|
||||
getDefaultConfig() {
|
||||
return {
|
||||
|
|
|
|||
|
|
@ -712,7 +712,7 @@ export class ThemeStore {
|
|||
--highlight: #3b82f6;
|
||||
--ring: #3b82f6;
|
||||
--radius: 8px;
|
||||
--font-family: 'Inter', 'Noto Sans', 'Hiragino Sans', 'Hiragino Kaku Gothic ProN', 'Yu Gothic', meiryo, 'Noto Sans JP', 'Noto Sans KR', 'Noto Sans SC', 'Noto Sans TC', 'Noto Sans HK', 'Noto Sans Hebrew', 'Noto Sans Arabic', 'Noto Sans Devanagari', 'Noto Sans Bengali', 'Noto Sans Thai', 'Noto Sans Tamil', 'Noto Sans Telugu', 'Noto Sans Gujarati', 'Noto Sans Kannada', 'Noto Sans Malayalam', 'Noto Sans Sinhala', 'Noto Sans Khmer', 'Noto Sans Lao', 'Noto Sans Myanmar', 'Noto Sans Georgian', 'Noto Sans Armenian', 'Noto Sans Ethiopic', system-ui, sans-serif;
|
||||
--font-family: 'Inter', 'Noto Sans', 'Noto Sans SC', 'Noto Sans TC', 'Noto Sans HK', 'Noto Sans JP', 'Noto Sans KR', 'Noto Sans Hebrew', 'Noto Sans Arabic', 'Noto Sans Devanagari', 'Noto Sans Bengali', 'Noto Sans Thai', 'Noto Sans Tamil', 'Noto Sans Telugu', 'Noto Sans Gujarati', 'Noto Sans Kannada', 'Noto Sans Malayalam', 'Noto Sans Sinhala', 'Noto Sans Khmer', 'Noto Sans Lao', 'Noto Sans Myanmar', 'Noto Sans Georgian', 'Noto Sans Armenian', 'Noto Sans Ethiopic', system-ui, sans-serif;
|
||||
--font-size-scale: 100%;
|
||||
}`;
|
||||
this.updatePreview();
|
||||
|
|
|
|||
29
styles.css
29
styles.css
|
|
@ -2,6 +2,13 @@
|
|||
color-scheme: light dark;
|
||||
|
||||
--font-family:
|
||||
'Inter', 'Noto Sans', 'Noto Sans SC', 'Noto Sans TC', 'Noto Sans HK', 'Noto Sans JP', 'Noto Sans KR',
|
||||
'Noto Sans Hebrew', 'Noto Sans Arabic', 'Noto Sans Devanagari', 'Noto Sans Bengali', 'Noto Sans Thai',
|
||||
'Noto Sans Tamil', 'Noto Sans Telugu', 'Noto Sans Gujarati', 'Noto Sans Kannada', 'Noto Sans Malayalam',
|
||||
'Noto Sans Sinhala', 'Noto Sans Khmer', 'Noto Sans Lao', 'Noto Sans Myanmar', 'Noto Sans Georgian',
|
||||
'Noto Sans Armenian', 'Noto Sans Ethiopic', system-ui, -apple-system, blinkmacsystemfont, 'Segoe UI', roboto,
|
||||
sans-serif;
|
||||
--font-family-ja:
|
||||
'Inter', 'Noto Sans', 'Hiragino Sans', 'Hiragino Kaku Gothic ProN', 'Yu Gothic', meiryo, 'Noto Sans JP',
|
||||
'Noto Sans KR', 'Noto Sans SC', 'Noto Sans TC', 'Noto Sans HK', 'Noto Sans Hebrew', 'Noto Sans Arabic',
|
||||
'Noto Sans Devanagari', 'Noto Sans Bengali', 'Noto Sans Thai', 'Noto Sans Tamil', 'Noto Sans Telugu',
|
||||
|
|
@ -135,6 +142,10 @@
|
|||
--color-info-hover: #2563eb;
|
||||
}
|
||||
|
||||
:lang(ja) {
|
||||
--font-family: var(--font-family-ja);
|
||||
}
|
||||
|
||||
:root[data-theme='monochrome'] {
|
||||
color-scheme: dark;
|
||||
|
||||
|
|
@ -5698,13 +5709,6 @@ input:checked + .slider::before {
|
|||
container-name: sidepanel;
|
||||
}
|
||||
|
||||
am-lyrics[song-title] {
|
||||
font-family:
|
||||
'SF Pro Display', Inter, 'Noto Sans', 'Hiragino Sans', 'Hiragino Kaku Gothic ProN', 'Yu Gothic', meiryo,
|
||||
'Noto Sans JP', 'Noto Sans KR', 'Noto Sans SC', 'Noto Sans TC', 'Noto Sans HK', 'Noto Sans Hebrew',
|
||||
'Noto Sans Arabic', system-ui, sans-serif;
|
||||
}
|
||||
|
||||
@container sidepanel (min-width: 500px) {
|
||||
.panel-content am-lyrics {
|
||||
--lyplus-font-size-base: 36px;
|
||||
|
|
@ -10983,12 +10987,11 @@ body:has(#side-panel.active) #close-fullscreen-cover-btn {
|
|||
height: 100%;
|
||||
width: 100%;
|
||||
font-family:
|
||||
'SF Pro Display', Inter, 'Noto Sans', 'Hiragino Sans', 'Hiragino Kaku Gothic ProN', 'Yu Gothic', meiryo,
|
||||
'Noto Sans JP', 'Noto Sans KR', 'Noto Sans SC', 'Noto Sans TC', 'Noto Sans HK', 'Noto Sans Hebrew',
|
||||
'Noto Sans Arabic', 'Noto Sans Devanagari', 'Noto Sans Bengali', 'Noto Sans Thai', 'Noto Sans Tamil',
|
||||
'Noto Sans Telugu', 'Noto Sans Gujarati', 'Noto Sans Kannada', 'Noto Sans Malayalam', 'Noto Sans Sinhala',
|
||||
'Noto Sans Khmer', 'Noto Sans Lao', 'Noto Sans Myanmar', 'Noto Sans Georgian', 'Noto Sans Armenian',
|
||||
'Noto Sans Ethiopic', system-ui, sans-serif;
|
||||
'SF Pro Display', Inter, 'Noto Sans', 'Noto Sans SC', 'Noto Sans TC', 'Noto Sans HK', 'Noto Sans JP',
|
||||
'Noto Sans KR', 'Noto Sans Hebrew', 'Noto Sans Arabic', 'Noto Sans Devanagari', 'Noto Sans Bengali',
|
||||
'Noto Sans Thai', 'Noto Sans Tamil', 'Noto Sans Telugu', 'Noto Sans Gujarati', 'Noto Sans Kannada',
|
||||
'Noto Sans Malayalam', 'Noto Sans Sinhala', 'Noto Sans Khmer', 'Noto Sans Lao', 'Noto Sans Myanmar',
|
||||
'Noto Sans Georgian', 'Noto Sans Armenian', 'Noto Sans Ethiopic', system-ui, sans-serif;
|
||||
|
||||
--lyplus-font-size-base: clamp(34px, 3vw, 52px);
|
||||
--lyplus-padding-line: 8px;
|
||||
|
|
|
|||
Loading…
Reference in a new issue