8273358: macOS Monterey does not have the font Times needed by Serif
Reviewed-by: kizune, aivanov
This commit is contained in:
parent
e58c12e618
commit
efe3ed1e70
src/java.desktop/macosx/classes/sun/font
test/jdk/java/awt/FontClass
@ -225,7 +225,7 @@ public final class CFontManager extends SunFontManager {
|
||||
String defaultFallback = "Lucida Grande";
|
||||
|
||||
setupLogicalFonts("Dialog", defaultFont, defaultFallback);
|
||||
setupLogicalFonts("Serif", "Times", "Times");
|
||||
setupLogicalFonts("Serif", "Times", "Times New Roman");
|
||||
setupLogicalFonts("SansSerif", defaultFont, defaultFallback);
|
||||
setupLogicalFonts("Monospaced", "Menlo", "Courier");
|
||||
setupLogicalFonts("DialogInput", defaultFont, defaultFallback);
|
||||
@ -251,7 +251,13 @@ public final class CFontManager extends SunFontManager {
|
||||
family = getFontFamily(realName, fallbackName);
|
||||
if (family != null) return family;
|
||||
|
||||
System.err.println("Warning: the fonts \"" + realName + "\" and \"" + fallbackName + "\" are not available for the Java logical font \"" + logicalName + "\", which may have unexpected appearance or behavior. Re-enable the \""+ realName +"\" font to remove this warning.");
|
||||
if (FontUtilities.debugFonts()) {
|
||||
FontUtilities.logSevere(
|
||||
"The fonts \"" + realName + "\" and \"" + fallbackName +
|
||||
"\" are not available for the Java logical font \"" + logicalName +
|
||||
"\", which may have unexpected appearance or behavior. Re-enable the \""+
|
||||
realName +"\" font to remove this warning.");
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
@ -261,7 +267,12 @@ public final class CFontManager extends SunFontManager {
|
||||
|
||||
family = FontFamily.getFamily(fallbackName);
|
||||
if (family != null){
|
||||
System.err.println("Warning: the font \"" + realName + "\" is not available, so \"" + fallbackName + "\" has been substituted, but may have unexpected appearance or behavor. Re-enable the \""+ realName +"\" font to remove this warning.");
|
||||
if (FontUtilities.debugFonts()) {
|
||||
FontUtilities.logWarning(
|
||||
"The font \"" + realName + "\" is not available, so \"" + fallbackName +
|
||||
"\" has been substituted, but may have unexpected appearance or behavor. Re-enable the \"" +
|
||||
realName +"\" font to remove this warning.");
|
||||
}
|
||||
return family;
|
||||
}
|
||||
|
||||
|
51
test/jdk/java/awt/FontClass/LogicalFontsTest.java
Normal file
51
test/jdk/java/awt/FontClass/LogicalFontsTest.java
Normal file
@ -0,0 +1,51 @@
|
||||
/*
|
||||
* Copyright (c) 2021, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License version 2 only, as
|
||||
* published by the Free Software Foundation.
|
||||
*
|
||||
* This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
* version 2 for more details (a copy is included in the LICENSE file that
|
||||
* accompanied this code).
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License version
|
||||
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*
|
||||
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
* or visit www.oracle.com if you need additional information or have any
|
||||
* questions.
|
||||
*/
|
||||
|
||||
/*
|
||||
* @test
|
||||
* @bug 8273358
|
||||
* @summary Verify logical fonts are as expected.
|
||||
* @run main/othervm LogicalFontsTest
|
||||
*/
|
||||
|
||||
import java.awt.Font;
|
||||
|
||||
public class LogicalFontsTest {
|
||||
|
||||
public static void main(String[] args) {
|
||||
test(Font.SANS_SERIF);
|
||||
test(Font.SERIF);
|
||||
test(Font.MONOSPACED);
|
||||
test(Font.DIALOG);
|
||||
test(Font.DIALOG_INPUT);
|
||||
}
|
||||
|
||||
static void test(String fontName) {
|
||||
System.out.println("name="+fontName);
|
||||
Font font = new Font(fontName, Font.PLAIN, 12);
|
||||
System.out.println("font = " + font);
|
||||
if (!fontName.equalsIgnoreCase(font.getFamily())) {
|
||||
throw new RuntimeException("Requested " + fontName + " but got " + font);
|
||||
}
|
||||
}
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user