新增桌面歌词设置字体加粗设置&优化歌词字体显示
This commit is contained in:
@@ -48,18 +48,156 @@
|
||||
text-shadow+: 0 0 0 @color;
|
||||
}
|
||||
|
||||
.stroke4(@color) {
|
||||
text-shadow:
|
||||
0.02em -0.02em 0 var(--color-lyric-shadow),
|
||||
// -0.02em 0.02em 0 var(--color-lyric-shadow),
|
||||
// 0.02em 0.02em 0 var(--color-lyric-shadow),
|
||||
// 0.02em -0.02em 0 var(--color-lyric-shadow),
|
||||
-0.02em -1px 0 var(--color-lyric-shadow),
|
||||
-0.02em 1px 0 var(--color-lyric-shadow),
|
||||
0.02em 1px 0 var(--color-lyric-shadow),
|
||||
0.02em -1px 0 var(--color-lyric-shadow),
|
||||
-0.02em 0px 0 var(--color-lyric-shadow),
|
||||
-0.02em 0px 0 var(--color-lyric-shadow),
|
||||
0.02em 0px 0 var(--color-lyric-shadow),
|
||||
0.02em 0px 0 var(--color-lyric-shadow),
|
||||
// -1px -0.02em 0 var(--color-lyric-shadow),
|
||||
// -1px 0.02em 0 var(--color-lyric-shadow),
|
||||
// 1px 0.02em 0 var(--color-lyric-shadow),
|
||||
// 1px -0.02em 0 var(--color-lyric-shadow),
|
||||
-1px -1px 0 var(--color-lyric-shadow),
|
||||
-1px 1px 0 var(--color-lyric-shadow),
|
||||
1px 1px 0 var(--color-lyric-shadow),
|
||||
1px -1px 0 var(--color-lyric-shadow),
|
||||
-1px 0px 0 var(--color-lyric-shadow),
|
||||
-1px 0px 0 var(--color-lyric-shadow),
|
||||
1px 0px 0 var(--color-lyric-shadow),
|
||||
1px 0px 0 var(--color-lyric-shadow)
|
||||
// 0px -0.02em 0 var(--color-lyric-shadow),
|
||||
// 0px 0.02em 0 var(--color-lyric-shadow),
|
||||
// 0px 0.02em 0 var(--color-lyric-shadow),
|
||||
// 0px -0.02em 0 var(--color-lyric-shadow),
|
||||
// 0px -1px 0 var(--color-lyric-shadow),
|
||||
// 0px 1px 0 var(--color-lyric-shadow),
|
||||
// 0px 1px 0 var(--color-lyric-shadow),
|
||||
// 0px -1px 0 var(--color-lyric-shadow)
|
||||
;
|
||||
// text-shadow:
|
||||
// -0.04em -0.04em 0 var(--color-lyric-shadow),
|
||||
// // -0.04em 0.04em 0 var(--color-lyric-shadow),
|
||||
// 0.04em 0.04em 0 var(--color-lyric-shadow),
|
||||
// 0.04em -0.04em 0 var(--color-lyric-shadow),
|
||||
// -0.04em 0px 0 var(--color-lyric-shadow),
|
||||
// -0.04em 0px 0 var(--color-lyric-shadow),
|
||||
// 0.04em 0px 0 var(--color-lyric-shadow),
|
||||
// 0.04em 0px 0 var(--color-lyric-shadow),
|
||||
// // 0px -0.03em 0 var(--color-lyric-shadow),
|
||||
// 0px 0.04em 0 var(--color-lyric-shadow),
|
||||
// // 0px 0.03em 0 var(--color-lyric-shadow),
|
||||
// 0px -0.04em 0 var(--color-lyric-shadow);
|
||||
|
||||
// @maxi: 2 + 1;
|
||||
// .i-loop (@i) when (@i > 0) {
|
||||
// @maxj: 2 + 1;
|
||||
// .j-loop (@j) when (@j > 0) {
|
||||
// text-shadow+: (@i - 1)*(-1px) (@j - 1)*(-1px) 0 @color;
|
||||
// text-shadow+: (@i - 1)*(-1px) (@j - 1)*(1px) 0 @color;
|
||||
// text-shadow+: (@i - 1)*(1px) (@j - 1)*(1px) 0 @color;
|
||||
// text-shadow+: (@i - 1)*(1px) (@j - 1)*(-1px) 0 @color;
|
||||
// .j-loop(@j - 1);
|
||||
// }
|
||||
// .j-loop (0) {}
|
||||
// .j-loop(@maxj);
|
||||
// .i-loop(@i - 1);
|
||||
// }
|
||||
// .i-loop (0) {}
|
||||
// .i-loop(@maxi);
|
||||
// text-shadow+: 0 0 0 @color;
|
||||
}
|
||||
|
||||
.stroke3(@color) {
|
||||
text-shadow: 0.04em 0.04em 0 var(--color-lyric-shadow-font-mode),
|
||||
0.04em -0.03em 0 var(--color-lyric-shadow-font-mode),
|
||||
-0.04em -0.03em 0 var(--color-lyric-shadow-font-mode),
|
||||
-0.04em 0.04em 0 var(--color-lyric-shadow-font-mode),
|
||||
0.04em 0.01em 0 var(--color-lyric-shadow-font-mode),
|
||||
0.04em -0.01em 0 var(--color-lyric-shadow-font-mode),
|
||||
-0.04em -0.01em 0 var(--color-lyric-shadow-font-mode),
|
||||
-0.04em 0.01em 0 var(--color-lyric-shadow-font-mode),
|
||||
0.04em 0px 0 var(--color-lyric-shadow-font-mode),
|
||||
0.04em 0px 0 var(--color-lyric-shadow-font-mode),
|
||||
-0.04em 0px 0 var(--color-lyric-shadow-font-mode),
|
||||
-0.04em 0px 0 var(--color-lyric-shadow-font-mode),
|
||||
0.01em 0.04em 0 var(--color-lyric-shadow-font-mode),
|
||||
0.01em -0.03em 0 var(--color-lyric-shadow-font-mode),
|
||||
-0.01em -0.03em 0 var(--color-lyric-shadow-font-mode),
|
||||
-0.01em 0.04em 0 var(--color-lyric-shadow-font-mode),
|
||||
0.01em 0.01em 0 var(--color-lyric-shadow-font-mode),
|
||||
0.01em -0.01em 0 var(--color-lyric-shadow-font-mode),
|
||||
-0.01em -0.01em 0 var(--color-lyric-shadow-font-mode),
|
||||
-0.01em 0.01em 0 var(--color-lyric-shadow-font-mode),
|
||||
0.01em 0px 0 var(--color-lyric-shadow-font-mode),
|
||||
0.01em 0px 0 var(--color-lyric-shadow-font-mode),
|
||||
-0.01em 0px 0 var(--color-lyric-shadow-font-mode),
|
||||
-0.01em 0px 0 var(--color-lyric-shadow-font-mode),
|
||||
0px 0.04em 0 var(--color-lyric-shadow-font-mode),
|
||||
0px -0.03em 0 var(--color-lyric-shadow-font-mode),
|
||||
0px -0.03em 0 var(--color-lyric-shadow-font-mode),
|
||||
0px 0.04em 0 var(--color-lyric-shadow-font-mode),
|
||||
0px 0.01em 0 var(--color-lyric-shadow-font-mode),
|
||||
0px -0.01em 0 var(--color-lyric-shadow-font-mode),
|
||||
0px -0.01em 0 var(--color-lyric-shadow-font-mode),
|
||||
0px 0.01em 0 var(--color-lyric-shadow-font-mode);
|
||||
// text-shadow: 0.04em 0.04em 0 var(--color-lyric-shadow-font-mode),
|
||||
// 0.04em -0.03em 0 var(--color-lyric-shadow-font-mode),
|
||||
// -0.04em -0.03em 0 var(--color-lyric-shadow-font-mode),
|
||||
// -0.04em 0.04em 0 var(--color-lyric-shadow-font-mode),
|
||||
// 0.04em 0.01em 0 var(--color-lyric-shadow-font-mode),
|
||||
// 0.04em -0.02em 0 var(--color-lyric-shadow-font-mode),
|
||||
// -0.04em -0.02em 0 var(--color-lyric-shadow-font-mode),
|
||||
// -0.04em 0.01em 0 var(--color-lyric-shadow-font-mode),
|
||||
// 0.04em 0px 0 var(--color-lyric-shadow-font-mode),
|
||||
// 0.04em 0px 0 var(--color-lyric-shadow-font-mode),
|
||||
// -0.04em 0px 0 var(--color-lyric-shadow-font-mode),
|
||||
// -0.04em 0px 0 var(--color-lyric-shadow-font-mode),
|
||||
// 0.01em 0.04em 0 var(--color-lyric-shadow-font-mode),
|
||||
// 0.01em -0.03em 0 var(--color-lyric-shadow-font-mode),
|
||||
// -0.02em -0.03em 0 var(--color-lyric-shadow-font-mode),
|
||||
// -0.02em 0.04em 0 var(--color-lyric-shadow-font-mode),
|
||||
// 0.01em 0.01em 0 var(--color-lyric-shadow-font-mode),
|
||||
// 0.01em -0.02em 0 var(--color-lyric-shadow-font-mode),
|
||||
// -0.02em -0.02em 0 var(--color-lyric-shadow-font-mode),
|
||||
// -0.02em 0.01em 0 var(--color-lyric-shadow-font-mode),
|
||||
// 0.01em 0px 0 var(--color-lyric-shadow-font-mode),
|
||||
// 0.01em 0px 0 var(--color-lyric-shadow-font-mode),
|
||||
// -0.02em 0px 0 var(--color-lyric-shadow-font-mode),
|
||||
// -0.02em 0px 0 var(--color-lyric-shadow-font-mode),
|
||||
// 0px 0.04em 0 var(--color-lyric-shadow-font-mode),
|
||||
// 0px -0.03em 0 var(--color-lyric-shadow-font-mode),
|
||||
// 0px -0.03em 0 var(--color-lyric-shadow-font-mode),
|
||||
// 0px 0.04em 0 var(--color-lyric-shadow-font-mode),
|
||||
// 0px 0.01em 0 var(--color-lyric-shadow-font-mode),
|
||||
// 0px -0.02em 0 var(--color-lyric-shadow-font-mode),
|
||||
// 0px -0.02em 0 var(--color-lyric-shadow-font-mode),
|
||||
// 0px 0.01em 0 var(--color-lyric-shadow-font-mode);
|
||||
}
|
||||
|
||||
.stroke2(@color) {
|
||||
text-shadow: 2px 0 @color, -2px 0 @color, 0 2px @color, 0 -2px @color,
|
||||
1px 1px @color, -1px -1px @color, 1px -1px @color, -1px 1px @color;
|
||||
}
|
||||
// .stroke2(@color) {
|
||||
// text-shadow:
|
||||
// -1px -1px 0px @color,
|
||||
// 0px -1px 0px @color,
|
||||
// 1px -1px 0px @color,
|
||||
// -1px 0px 0px @color,
|
||||
// 1px 0px 0px @color,
|
||||
// -1px 1px 0px @color,
|
||||
// 0px 1px 0px @color,
|
||||
// 1px 1px 0px @color;
|
||||
// // text-shadow: 1px 1px 2px @color;
|
||||
// // text-shadow:
|
||||
// // -1px -1px 0px @color,
|
||||
// // 0px -1px 0px @color,
|
||||
// // 1px -1px 0px @color,
|
||||
// // -1px 0px 0px @color,
|
||||
// // 1px 0px 0px @color,
|
||||
// // -1px 1px 0px @color,
|
||||
// // 0px 1px 0px @color,
|
||||
// // 1px 1px 0px @color;
|
||||
// // -webkit-text-stroke: 0.03em black;
|
||||
// // -webkit-text-fill-color: @color;
|
||||
// }
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<template>
|
||||
<div
|
||||
ref="dom_lyric"
|
||||
:class="[$style.lyric, { [$style.draging]: isMsDown }, { [$style.lrcActiveZoom]: isZoomActiveLrc }, { [$style.ellipsis]: ellipsis } ]"
|
||||
:class="[$style.lyric, { [$style.draging]: isMsDown }, { [$style.lrcActiveZoom]: isZoomActiveLrc }, { [$style.ellipsis]: ellipsis }, { [$style.fontWeightFont]: isFontWeightFont }, { [$style.fontWeightLine]: isFontWeightLine } ]"
|
||||
:style="lrcStyles" @wheel="handleWheel" @mousedown="handleLyricMouseDown" @touchstart="handleLyricTouchStart"
|
||||
>
|
||||
<div :class="$style.lyricSpace" />
|
||||
@@ -19,7 +19,8 @@ export default {
|
||||
setup() {
|
||||
const isZoomActiveLrc = computed(() => setting['desktopLyric.style.isZoomActiveLrc'])
|
||||
const ellipsis = computed(() => setting['desktopLyric.style.ellipsis'])
|
||||
// const fontWeight = computed(() => setting['desktopLyric.style.fontWeight'])
|
||||
const isFontWeightFont = computed(() => setting['desktopLyric.style.isFontWeightFont'])
|
||||
const isFontWeightLine = computed(() => setting['desktopLyric.style.isFontWeightLine'])
|
||||
const lrcStyles = computed(() => ({
|
||||
fontFamily: setting['desktopLyric.style.font'],
|
||||
fontSize: Math.trunc(setting['desktopLyric.style.fontSize']) + 'px',
|
||||
@@ -41,7 +42,8 @@ export default {
|
||||
isZoomActiveLrc,
|
||||
lrcStyles,
|
||||
ellipsis,
|
||||
// fontWeight,
|
||||
isFontWeightFont,
|
||||
isFontWeightLine,
|
||||
|
||||
dom_lyric,
|
||||
dom_lyric_text,
|
||||
@@ -70,6 +72,7 @@ export default {
|
||||
:global {
|
||||
.font-lrc, .shadow {
|
||||
padding: 0.08em 0.14em;
|
||||
margin: -0.08em -0.14em;
|
||||
}
|
||||
.font-lrc {
|
||||
color: var(--color-lyric-unplay);
|
||||
@@ -104,9 +107,9 @@ export default {
|
||||
transition: @transition-slow;
|
||||
transition-property: font-size, color;
|
||||
}
|
||||
&.font-mode > .line {
|
||||
font-weight: bold;
|
||||
}
|
||||
// &.font-mode > .line {
|
||||
// font-weight: bold;
|
||||
// }
|
||||
|
||||
&.font-mode > .line > .font-lrc {
|
||||
> span {
|
||||
@@ -119,15 +122,21 @@ export default {
|
||||
-webkit-text-fill-color: transparent;
|
||||
-webkit-background-clip: text;
|
||||
background-size: 0 100%;
|
||||
padding-left: 1px;
|
||||
padding-right: 1px;
|
||||
padding-bottom: 1px;
|
||||
padding-left: 0.12em;
|
||||
padding-right: 0.12em;
|
||||
padding-bottom: 0.12em;
|
||||
margin-left: -0.11em;
|
||||
margin-right: -0.11em;
|
||||
margin-bottom: -0.12em;
|
||||
}
|
||||
}
|
||||
.line .shadow span {
|
||||
padding-left: 1px;
|
||||
padding-right: 1px;
|
||||
padding-bottom: 1px;
|
||||
padding-left: 0.12em;
|
||||
padding-right: 0.12em;
|
||||
padding-bottom: 0.12em;
|
||||
margin-left: -0.11em;
|
||||
margin-right: -0.11em;
|
||||
margin-bottom: -0.12em;
|
||||
}
|
||||
// &.line-mode {
|
||||
// .shadow {
|
||||
@@ -140,7 +149,7 @@ export default {
|
||||
}
|
||||
.line-mode .font-lrc, .extended .font-lrc {
|
||||
// text-shadow: 0 0 2px rgba(0, 0, 0, 0.7), 0 0 2px rgba(0, 0, 0, 0.3), 0 0 1px rgba(0, 0, 0, 0.3);
|
||||
.stroke2(var(--color-lyric-shadow));
|
||||
.stroke3(var(--color-lyric-shadow));
|
||||
// .stroke2(rgba(0, 0, 0, 0.18));
|
||||
// .stroke(1px, rgba(0, 0, 0, 0.08));
|
||||
// .stroke(2px, rgba(0, 0, 0, 0.025));
|
||||
@@ -228,13 +237,20 @@ export default {
|
||||
}
|
||||
}
|
||||
}
|
||||
// .font-weight {
|
||||
// :global {
|
||||
// .font-mode > .line {
|
||||
// font-weight: bold;
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
.font-weight-font {
|
||||
:global {
|
||||
.font-mode > .line {
|
||||
font-weight: bold;
|
||||
}
|
||||
}
|
||||
}
|
||||
.font-weight-line {
|
||||
:global {
|
||||
.line-mode > .line {
|
||||
font-weight: bold;
|
||||
}
|
||||
}
|
||||
}
|
||||
// .footer {
|
||||
// flex: 0 0 100px;
|
||||
// overflow: hidden;
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<template>
|
||||
<div
|
||||
ref="dom_lyric"
|
||||
:class="[$style.lyric, { [$style.draging]: isMsDown }, { [$style.lrcActiveZoom]: isZoomActiveLrc }, { [$style.ellipsis]: ellipsis } ]"
|
||||
:class="[$style.lyric, { [$style.draging]: isMsDown }, { [$style.lrcActiveZoom]: isZoomActiveLrc }, { [$style.ellipsis]: ellipsis }, { [$style.fontWeightFont]: isFontWeightFont }, { [$style.fontWeightLine]: isFontWeightLine } ]"
|
||||
:style="lrcStyles" @wheel="handleWheel" @mousedown="handleLyricMouseDown" @touchstart="handleLyricTouchStart"
|
||||
>
|
||||
<div :class="$style.lyricSpace" />
|
||||
@@ -19,6 +19,8 @@ export default {
|
||||
setup() {
|
||||
const isZoomActiveLrc = computed(() => setting['desktopLyric.style.isZoomActiveLrc'])
|
||||
const ellipsis = computed(() => setting['desktopLyric.style.ellipsis'])
|
||||
const isFontWeightFont = computed(() => setting['desktopLyric.style.isFontWeightFont'])
|
||||
const isFontWeightLine = computed(() => setting['desktopLyric.style.isFontWeightLine'])
|
||||
// const fontWeight = computed(() => setting['desktopLyric.style.fontWeight'])
|
||||
const lrcStyles = computed(() => ({
|
||||
fontFamily: setting['desktopLyric.style.font'],
|
||||
@@ -41,7 +43,8 @@ export default {
|
||||
isZoomActiveLrc,
|
||||
lrcStyles,
|
||||
ellipsis,
|
||||
// fontWeight,
|
||||
isFontWeightFont,
|
||||
isFontWeightLine,
|
||||
|
||||
dom_lyric,
|
||||
dom_lyric_text,
|
||||
@@ -74,13 +77,14 @@ export default {
|
||||
:global {
|
||||
.font-lrc, .shadow {
|
||||
padding: 0.14em 0.07em;
|
||||
margin: -0.14em -0.07em;
|
||||
}
|
||||
.font-lrc {
|
||||
color: var(--color-lyric-unplay);
|
||||
}
|
||||
.shadow {
|
||||
color: transparent;
|
||||
margin-left: -0.14em;
|
||||
// margin-left: -0.14em;
|
||||
}
|
||||
.line-content {
|
||||
line-height: 1.2;
|
||||
@@ -124,12 +128,14 @@ export default {
|
||||
-webkit-text-fill-color: transparent;
|
||||
-webkit-background-clip: text;
|
||||
background-size: 0 100%;
|
||||
padding: 2px;
|
||||
padding: 0.14em;
|
||||
margin: -0.08em;
|
||||
}
|
||||
}
|
||||
|
||||
&.font-mode .line .shadow span {
|
||||
padding: 2px;
|
||||
padding: 0.14em;
|
||||
margin: -0.08em;
|
||||
}
|
||||
}
|
||||
// .shadow {
|
||||
@@ -143,7 +149,7 @@ export default {
|
||||
.line-mode .font-lrc, .extended .font-lrc {
|
||||
// text-shadow: 0 0 2px rgba(0, 0, 0, 0.7), 0 0 2px rgba(0, 0, 0, 0.3), 0 0 1px rgba(0, 0, 0, 0.3);
|
||||
// .stroke2(rgba(0, 0, 0, 0.14));
|
||||
.stroke2(var(--color-lyric-shadow));
|
||||
.stroke4(var(--color-lyric-shadow));
|
||||
// .stroke(1px, rgba(0, 0, 0, 0.08));
|
||||
// .stroke(2px, rgba(0, 0, 0, 0.025));
|
||||
transition: font-size @transition-slow;
|
||||
|
||||
@@ -26,6 +26,8 @@ export const setting = shallowReactive<LX.DesktopLyric.Config>({
|
||||
// 'desktopLyric.style.fontWeight': true,
|
||||
'desktopLyric.style.opacity': 95,
|
||||
'desktopLyric.style.ellipsis': false,
|
||||
'desktopLyric.style.isFontWeightFont': false,
|
||||
'desktopLyric.style.isFontWeightLine': false,
|
||||
'desktopLyric.style.isZoomActiveLrc': true,
|
||||
'common.langId': 'zh-cn',
|
||||
'player.isShowLyricTranslation': false,
|
||||
|
||||
Reference in New Issue
Block a user