mirror of
https://github.com/jeffvli/feishin.git
synced 2026-06-10 22:32:17 +02:00
[feature]: Support using system fonts (#304)
* [feature]: Support using system fonts Uses the **experimental** queryLocalFonts API, when prompted, to get the fonts and do CSS. Resolves #270 and #288 (by proxy) Caveats/notes: - This is experimental, and is only supported by Chrome/Chromium/Edgeium (see https://caniuse.com/?search=querylocalfonts) - As far as I can tell, the only way to dynamically change the font (shown in https://wicg.github.io/local-font-access/#example-style-with-local-fonts) was by DOM manipulation; css variables did not seem to work - This shows **all** fonts, including their variants (bold/italic/etc); given that the style names could be localized, not sure of a way to parse this (on my system, for instance, I had 859 different combinations) - I made fonts a separate top-level setting because it was easier to manipulate without causing as many rerenders; feel free to put that back * add permission chec * add electron magic to support custom font * restrict content types
This commit is contained in:
Vendored
+2
-1
@@ -1,6 +1,6 @@
|
||||
import { IpcRendererEvent } from 'electron';
|
||||
import { PlayerData, PlayerState } from './store';
|
||||
import { InternetProviderLyricResponse, QueueSong } from '/@/renderer/api/types';
|
||||
import { FontData, InternetProviderLyricResponse, QueueSong } from '/@/renderer/api/types';
|
||||
import { Remote } from '/@/main/preload/remote';
|
||||
import { Mpris } from '/@/main/preload/mpris';
|
||||
import { MpvPLayer, MpvPlayerListener } from '/@/main/preload/mpv-player';
|
||||
@@ -76,6 +76,7 @@ declare global {
|
||||
remote?: Remote;
|
||||
utils?: Utils;
|
||||
};
|
||||
queryLocalFonts?: () => Promise<FontData[]>;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user