mirror of
https://github.com/JFormDesigner/FlatLaf.git
synced 2026-02-10 22:17:13 -06:00
Fonts: added Inter and JetBrains Mono
This commit is contained in:
51
flatlaf-fonts/flatlaf-fonts-jetbrains-mono/README.md
Normal file
51
flatlaf-fonts/flatlaf-fonts-jetbrains-mono/README.md
Normal file
@@ -0,0 +1,51 @@
|
||||
JetBrains Mono font
|
||||
===================
|
||||
|
||||
This sub-project contains fonts from the JetBrains Mono font family and bundles
|
||||
them into an easy-to-use and redistributable JAR.
|
||||
|
||||
Font home page: https://www.jetbrains.com/mono
|
||||
|
||||
GitHub project: https://github.com/JetBrains/JetBrainsMono
|
||||
|
||||
License:
|
||||
[SIL OPEN FONT LICENSE Version 1.1](src/main/resources/com/formdev/flatlaf/fonts/jetbrains_mono/OFL.txt)
|
||||
|
||||
|
||||
How to install?
|
||||
---------------
|
||||
|
||||
Invoke the `install()` method once in your `main()` method (on AWT thread):
|
||||
|
||||
~~~java
|
||||
FlatJetBrainsMonoFont.install();
|
||||
~~~
|
||||
|
||||
|
||||
How to use?
|
||||
-----------
|
||||
|
||||
~~~java
|
||||
// basic styles
|
||||
new Font( FlatJetBrainsMonoFont.FAMILY, Font.PLAIN, 12 );
|
||||
new Font( FlatJetBrainsMonoFont.FAMILY, Font.ITALIC, 12 );
|
||||
new Font( FlatJetBrainsMonoFont.FAMILY, Font.BOLD, 12 );
|
||||
new Font( FlatJetBrainsMonoFont.FAMILY, Font.BOLD | Font.ITALIC, 12 );
|
||||
~~~
|
||||
|
||||
|
||||
Download
|
||||
--------
|
||||
|
||||
FlatLaf Fonts binaries are available on **Maven Central**.
|
||||
|
||||
If you use Maven or Gradle, add a dependency with following coordinates to your
|
||||
build script:
|
||||
|
||||
groupId: com.formdev
|
||||
artifactId: flatlaf-fonts-jetbrains-mono
|
||||
version: (see button below)
|
||||
|
||||
Otherwise download `flatlaf-fonts-jetbrains-mono-<version>.jar` here:
|
||||
|
||||
[](https://maven-badges.herokuapp.com/maven-central/com.formdev/flatlaf-fonts-jetbrains-mono)
|
||||
54
flatlaf-fonts/flatlaf-fonts-jetbrains-mono/build.gradle.kts
Normal file
54
flatlaf-fonts/flatlaf-fonts-jetbrains-mono/build.gradle.kts
Normal file
@@ -0,0 +1,54 @@
|
||||
/*
|
||||
* Copyright 2022 FormDev Software GmbH
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* https://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
// Version format: <font-version>-<build-number>
|
||||
// For maven compatibility, <font-version> should be in format <major>.<minor>[.<micro>].
|
||||
// <build-number> is usually '1' and should be incremented only if a new release is
|
||||
// necessary, but the <font-version> has not changed.
|
||||
version = "2.242-1"
|
||||
|
||||
plugins {
|
||||
`java-library`
|
||||
`flatlaf-module-info`
|
||||
`flatlaf-publish`
|
||||
}
|
||||
|
||||
dependencies {
|
||||
testImplementation( "org.junit.jupiter:junit-jupiter-api:5.7.2" )
|
||||
testImplementation( "org.junit.jupiter:junit-jupiter-params" )
|
||||
testRuntimeOnly( "org.junit.jupiter:junit-jupiter-engine" )
|
||||
}
|
||||
|
||||
java {
|
||||
withSourcesJar()
|
||||
withJavadocJar()
|
||||
}
|
||||
|
||||
tasks {
|
||||
named<Jar>( "sourcesJar" ) {
|
||||
exclude( "**/*.ttf", "**/*.otf" )
|
||||
}
|
||||
|
||||
test {
|
||||
useJUnitPlatform()
|
||||
testLogging.exceptionFormat = org.gradle.api.tasks.testing.logging.TestExceptionFormat.FULL
|
||||
}
|
||||
}
|
||||
|
||||
flatlafPublish {
|
||||
artifactId = "flatlaf-fonts-jetbrains-mono"
|
||||
name = "FlatLaf JetBrains Mono Fonts Pack"
|
||||
}
|
||||
@@ -0,0 +1,87 @@
|
||||
/*
|
||||
* Copyright 2022 FormDev Software GmbH
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* https://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.formdev.flatlaf.fonts.jetbrains_mono;
|
||||
|
||||
import java.awt.Font;
|
||||
import java.awt.FontFormatException;
|
||||
import java.awt.GraphicsEnvironment;
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
|
||||
/**
|
||||
* The JetBrains Mono font family.
|
||||
* <p>
|
||||
* Font home page: <a href="https://www.jetbrains.com/mono">https://www.jetbrains.com/mono</a><br>
|
||||
* GitHub project: <a href="https://github.com/JetBrains/JetBrainsMono">https://github.com/JetBrains/JetBrainsMono</a>
|
||||
*
|
||||
* @author Karl Tauber
|
||||
*/
|
||||
public class FlatJetBrainsMonoFont
|
||||
{
|
||||
/**
|
||||
* Family name for basic styles (regular, italic and bold).
|
||||
* <p>
|
||||
* Usage:
|
||||
* <pre>{@code
|
||||
* new Font( FlatJetBrainsMonoFont.FAMILY, Font.PLAIN, 12 );
|
||||
* new Font( FlatJetBrainsMonoFont.FAMILY, Font.ITALIC, 12 );
|
||||
* new Font( FlatJetBrainsMonoFont.FAMILY, Font.BOLD, 12 );
|
||||
* new Font( FlatJetBrainsMonoFont.FAMILY, Font.BOLD | Font.ITALIC, 12 );
|
||||
* }</pre>
|
||||
*/
|
||||
public static final String FAMILY = "JetBrains Mono";
|
||||
|
||||
/**
|
||||
* Use for {@link #installStyle(String)} to install single font styles.
|
||||
*/
|
||||
public static final String
|
||||
// basic styles
|
||||
STYLE_REGULAR = "JetBrainsMono-Regular.ttf",
|
||||
STYLE_ITALIC = "JetBrainsMono-Italic.ttf",
|
||||
STYLE_BOLD = "JetBrainsMono-Bold.ttf",
|
||||
STYLE_BOLD_ITALIC = "JetBrainsMono-BoldItalic.ttf";
|
||||
|
||||
|
||||
private FlatJetBrainsMonoFont() {}
|
||||
|
||||
/**
|
||||
* Creates and registers the fonts for all styles.
|
||||
*/
|
||||
public static void install() {
|
||||
installStyle( STYLE_REGULAR );
|
||||
installStyle( STYLE_ITALIC );
|
||||
installStyle( STYLE_BOLD );
|
||||
installStyle( STYLE_BOLD_ITALIC );
|
||||
}
|
||||
|
||||
/**
|
||||
* Creates and registers the font for the given style.
|
||||
* See {@code STYLE_} constants.
|
||||
*/
|
||||
public static boolean installStyle( String name ) {
|
||||
try( InputStream in = FlatJetBrainsMonoFont.class.getResourceAsStream( name ) ) {
|
||||
Font font = Font.createFont( Font.TRUETYPE_FONT, in );
|
||||
return GraphicsEnvironment.getLocalGraphicsEnvironment().registerFont( font );
|
||||
} catch( FontFormatException ex ) {
|
||||
ex.printStackTrace();
|
||||
return false;
|
||||
} catch( IOException ex ) {
|
||||
ex.printStackTrace();
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,26 @@
|
||||
/*
|
||||
* Copyright 2022 FormDev Software GmbH
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* https://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
/**
|
||||
* @author Karl Tauber
|
||||
*/
|
||||
module com.formdev.flatlaf.fonts.jetbrains_mono {
|
||||
requires java.desktop;
|
||||
|
||||
exports com.formdev.flatlaf.fonts.jetbrains_mono;
|
||||
|
||||
opens com.formdev.flatlaf.fonts.jetbrains_mono;
|
||||
}
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,93 @@
|
||||
Copyright 2020 The JetBrains Mono Project Authors (https://github.com/JetBrains/JetBrainsMono)
|
||||
|
||||
This Font Software is licensed under the SIL Open Font License, Version 1.1.
|
||||
|
||||
This license is copied below, and is also available with a FAQ at: https://scripts.sil.org/OFL
|
||||
|
||||
|
||||
-----------------------------------------------------------
|
||||
SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
|
||||
-----------------------------------------------------------
|
||||
|
||||
PREAMBLE
|
||||
The goals of the Open Font License (OFL) are to stimulate worldwide
|
||||
development of collaborative font projects, to support the font creation
|
||||
efforts of academic and linguistic communities, and to provide a free and
|
||||
open framework in which fonts may be shared and improved in partnership
|
||||
with others.
|
||||
|
||||
The OFL allows the licensed fonts to be used, studied, modified and
|
||||
redistributed freely as long as they are not sold by themselves. The
|
||||
fonts, including any derivative works, can be bundled, embedded,
|
||||
redistributed and/or sold with any software provided that any reserved
|
||||
names are not used by derivative works. The fonts and derivatives,
|
||||
however, cannot be released under any other type of license. The
|
||||
requirement for fonts to remain under this license does not apply
|
||||
to any document created using the fonts or their derivatives.
|
||||
|
||||
DEFINITIONS
|
||||
"Font Software" refers to the set of files released by the Copyright
|
||||
Holder(s) under this license and clearly marked as such. This may
|
||||
include source files, build scripts and documentation.
|
||||
|
||||
"Reserved Font Name" refers to any names specified as such after the
|
||||
copyright statement(s).
|
||||
|
||||
"Original Version" refers to the collection of Font Software components as
|
||||
distributed by the Copyright Holder(s).
|
||||
|
||||
"Modified Version" refers to any derivative made by adding to, deleting,
|
||||
or substituting -- in part or in whole -- any of the components of the
|
||||
Original Version, by changing formats or by porting the Font Software to a
|
||||
new environment.
|
||||
|
||||
"Author" refers to any designer, engineer, programmer, technical
|
||||
writer or other person who contributed to the Font Software.
|
||||
|
||||
PERMISSION & CONDITIONS
|
||||
Permission is hereby granted, free of charge, to any person obtaining
|
||||
a copy of the Font Software, to use, study, copy, merge, embed, modify,
|
||||
redistribute, and sell modified and unmodified copies of the Font
|
||||
Software, subject to the following conditions:
|
||||
|
||||
1) Neither the Font Software nor any of its individual components,
|
||||
in Original or Modified Versions, may be sold by itself.
|
||||
|
||||
2) Original or Modified Versions of the Font Software may be bundled,
|
||||
redistributed and/or sold with any software, provided that each copy
|
||||
contains the above copyright notice and this license. These can be
|
||||
included either as stand-alone text files, human-readable headers or
|
||||
in the appropriate machine-readable metadata fields within text or
|
||||
binary files as long as those fields can be easily viewed by the user.
|
||||
|
||||
3) No Modified Version of the Font Software may use the Reserved Font
|
||||
Name(s) unless explicit written permission is granted by the corresponding
|
||||
Copyright Holder. This restriction only applies to the primary font name as
|
||||
presented to the users.
|
||||
|
||||
4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
|
||||
Software shall not be used to promote, endorse or advertise any
|
||||
Modified Version, except to acknowledge the contribution(s) of the
|
||||
Copyright Holder(s) and the Author(s) or with their explicit written
|
||||
permission.
|
||||
|
||||
5) The Font Software, modified or unmodified, in part or in whole,
|
||||
must be distributed entirely under this license, and must not be
|
||||
distributed under any other license. The requirement for fonts to
|
||||
remain under this license does not apply to any document created
|
||||
using the Font Software.
|
||||
|
||||
TERMINATION
|
||||
This license becomes null and void if any of the above conditions are
|
||||
not met.
|
||||
|
||||
DISCLAIMER
|
||||
THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
|
||||
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
|
||||
OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
|
||||
COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
|
||||
INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
|
||||
DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
||||
FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
|
||||
OTHER DEALINGS IN THE FONT SOFTWARE.
|
||||
@@ -0,0 +1,44 @@
|
||||
/*
|
||||
* Copyright 2022 FormDev Software GmbH
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* https://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.formdev.flatlaf.fonts.jetbrains_mono;
|
||||
|
||||
import java.awt.Font;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import static org.junit.jupiter.api.Assertions.assertEquals;
|
||||
|
||||
/**
|
||||
* @author Karl Tauber
|
||||
*/
|
||||
class TestFlatJetBrainsMonoFont
|
||||
{
|
||||
@Test
|
||||
void testFont() {
|
||||
FlatJetBrainsMonoFont.install();
|
||||
|
||||
testFont( FlatJetBrainsMonoFont.FAMILY, Font.PLAIN, 13 );
|
||||
testFont( FlatJetBrainsMonoFont.FAMILY, Font.ITALIC, 13 );
|
||||
testFont( FlatJetBrainsMonoFont.FAMILY, Font.BOLD, 13 );
|
||||
testFont( FlatJetBrainsMonoFont.FAMILY, Font.BOLD | Font.ITALIC, 13 );
|
||||
}
|
||||
|
||||
private void testFont( String family, int style, int size ) {
|
||||
Font actual = new Font( family, style, size );
|
||||
assertEquals( family, actual.getFamily() );
|
||||
assertEquals( style, actual.getStyle() );
|
||||
assertEquals( size, actual.getSize() );
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user