From 82763f3c323184713b2aa8900c13d8889881bcfa Mon Sep 17 00:00:00 2001 From: huanghongxun Date: Tue, 16 Jun 2020 14:35:21 +0800 Subject: [PATCH] feat: font family override --- HMCL/src/main/java/org/jackhuang/hmcl/setting/Theme.java | 7 ++++--- HMCL/src/main/resources/assets/css/custom.css | 2 ++ README.md | 1 + 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/HMCL/src/main/java/org/jackhuang/hmcl/setting/Theme.java b/HMCL/src/main/java/org/jackhuang/hmcl/setting/Theme.java index ce8a1af0c..66a4cf112 100644 --- a/HMCL/src/main/java/org/jackhuang/hmcl/setting/Theme.java +++ b/HMCL/src/main/java/org/jackhuang/hmcl/setting/Theme.java @@ -87,9 +87,10 @@ public class Theme { File temp = File.createTempFile("hmcl", ".css"); FileUtils.writeText(temp, IOUtils.readFullyAsString(ResourceNotFoundError.getResourceAsStream("/assets/css/custom.css")) .replace("%base-color%", color) - .replace("%base-rippler-color%", String.format("rgba(%d, %d, %d, 0.3)", (int)Math.ceil(paint.getRed() * 256), (int)Math.ceil(paint.getGreen() * 256), (int)Math.ceil(paint.getBlue() * 256))) - .replace("%disabled-font-color%", String.format("rgba(%d, %d, %d, 0.7)", (int)Math.ceil(textFill.getRed() * 256), (int)Math.ceil(textFill.getGreen() * 256), (int)Math.ceil(textFill.getBlue() * 256))) - .replace("%font-color%", getColorDisplayName(getForegroundColor()))); + .replace("%base-rippler-color%", String.format("rgba(%d, %d, %d, 0.3)", (int) Math.ceil(paint.getRed() * 256), (int) Math.ceil(paint.getGreen() * 256), (int) Math.ceil(paint.getBlue() * 256))) + .replace("%disabled-font-color%", String.format("rgba(%d, %d, %d, 0.7)", (int) Math.ceil(textFill.getRed() * 256), (int) Math.ceil(textFill.getGreen() * 256), (int) Math.ceil(textFill.getBlue() * 256))) + .replace("%font-color%", getColorDisplayName(getForegroundColor())) + .replace("%font%", Optional.ofNullable(System.getProperty("hmcl.font.override")).map(fontFamily -> "-fx-font-family: " + fontFamily + ";").orElse(""))); css = temp.toURI().toString(); } catch (IOException | NullPointerException e) { Logging.LOG.log(Level.SEVERE, "Unable to create theme stylesheet. Fallback to blue theme.", e); diff --git a/HMCL/src/main/resources/assets/css/custom.css b/HMCL/src/main/resources/assets/css/custom.css index 5636c8728..fea9fbeba 100644 --- a/HMCL/src/main/resources/assets/css/custom.css +++ b/HMCL/src/main/resources/assets/css/custom.css @@ -22,4 +22,6 @@ -fx-base-rippler-color: %base-rippler-color%; -fx-base-disabled-text-fill: %disabled-font-color%; -fx-base-text-fill: %font-color%; + + %font% } \ No newline at end of file diff --git a/README.md b/README.md index cece0897c..f767276ed 100644 --- a/README.md +++ b/README.md @@ -48,6 +48,7 @@ Make sure you have Java installed with Pack200 and JavaFX 8 at least. Liberica f |Parameter|Description| |---------|-----------| |`-Dhmcl.self_integrity_check.disable=true`|Bypass the self integrity check when checking for update.| +|`-Dhmcl.font.override=`|Override font family.| |`-Dhmcl.version.override=`|Override the version number.| |`-Dhmcl.update_source.override=`|Override the update source.| |`-Dhmcl.authlibinjector.location=`|Use specified authlib-injector (instead of downloading one).|