diff --git a/app/src/processing/app/laf/FlatLaf.properties b/app/src/processing/app/laf/FlatLaf.properties index a99dd12de6..f0988360e1 100644 --- a/app/src/processing/app/laf/FlatLaf.properties +++ b/app/src/processing/app/laf/FlatLaf.properties @@ -1,6 +1,6 @@ # TODO sort out how to import this via the language properties # (probably needs to be set programmatically instead) -defaultFont = 14 "Processing Sans Pro", "Open Sans", "Noto Sans", Roboto, Arial +defaultFont = 14 "Processing Sans", "Open Sans", "Noto Sans", Roboto, Arial # The default is 8, which creates tiny nubby scroll bars diff --git a/app/src/processing/app/ui/Toolkit.java b/app/src/processing/app/ui/Toolkit.java index 076dfe2caa..b843607745 100644 --- a/app/src/processing/app/ui/Toolkit.java +++ b/app/src/processing/app/ui/Toolkit.java @@ -1202,6 +1202,8 @@ static public String getMonoFontName() { static public Font getMonoFont(int size, int style) { if (monoFont == null) { try { +// monoFont = createFont("SourceCodePro-Regular.ttf", Font.PLAIN, size); +// monoBoldFont = createFont("SourceCodePro-Bold.ttf", Font.BOLD, size); monoFont = createFont("SourceCodePro-Regular.ttf", size); monoBoldFont = createFont("SourceCodePro-Bold.ttf", size); @@ -1262,8 +1264,33 @@ static public Font getBoldFont() { static public Font getSansFont(int size, int style) { if (sansFont == null) { try { - sansFont = createFont("ProcessingSansPro-Regular.ttf", size); - sansBoldFont = createFont("ProcessingSansPro-Semibold.ttf", size); + sansFont = createFont("ProcessingSans-Regular.ttf", size); + sansBoldFont = createFont("ProcessingSans-Bold.ttf", size); + + /* + // during beta 9, a bit of testing to make sure the right font is used + GraphicsEnvironment ge = + GraphicsEnvironment.getLocalGraphicsEnvironment(); + Font[] fonts = ge.getAllFonts(); + // even though these both come through as 'plain' the styles work + for (Font font : fonts) { + if (font.getName().contains("Processing")) { + System.out.println(font); + } + } + // there are no bold fonts + for (Font font : fonts) { + if (font.getStyle() == Font.BOLD) { + System.out.println("found bold: " + font); + } + } + // these pass, with the current code; even without doing + // deriveFont(Font.BOLD) before the registerFont() call. + Font f = new Font("Processing Sans", Font.BOLD, 12); + System.out.println("hopefully ProcessingSans-Bold: " + f.getPSName()); + f = new Font("Processing Sans", Font.PLAIN, 12); + System.out.println("hopefully ProcessingSans-Regular: " + f.getPSName()); + */ // https://github.com/processing/processing/issues/2886 // https://github.com/processing/processing/issues/4944 @@ -1325,6 +1352,11 @@ static private Font createFont(String filename, int size) throws IOException, Fo Font font = Font.createFont(Font.TRUETYPE_FONT, input); input.close(); + // make sure it's the correct weight (plain or bold) and specify a size +// System.out.println("about to derive " + font); +// font = font.deriveFont(style, size); +// System.out.println("derived to " + font); + GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment(); ge.registerFont(font); diff --git a/build/shared/lib/fonts/ProcessingSans-Bold.ttf b/build/shared/lib/fonts/ProcessingSans-Bold.ttf new file mode 100644 index 0000000000..45ebecc82e Binary files /dev/null and b/build/shared/lib/fonts/ProcessingSans-Bold.ttf differ diff --git a/build/shared/lib/fonts/ProcessingSans-LICENSE.md b/build/shared/lib/fonts/ProcessingSans-LICENSE.md new file mode 100644 index 0000000000..bb8a7c833f --- /dev/null +++ b/build/shared/lib/fonts/ProcessingSans-LICENSE.md @@ -0,0 +1,8 @@ +This is [Source Sans](https://github.com/adobe-fonts/source-sans) from Adobe, but renamed to +prevent conflicts on Windows with other versions of Source Sans. See [issue 4747](https://github.com/processing/processing/issues/4747) in the old Processing repository for details. + +The license for this font can be found [here](https://github.com/adobe-fonts/source-sans/blob/release/LICENSE.md). + +We're using [version 3.046 from 14 July 2021](https://github.com/adobe-fonts/source-sans/releases/tag/3.046R). + +After downloading the TTF, it was opened with [FontForge](https://fontforge.org/). The font and family names were changed using Element → Font Info, followed by File → Generate to create the new `.ttf` files. diff --git a/build/shared/lib/fonts/ProcessingSans-Regular.ttf b/build/shared/lib/fonts/ProcessingSans-Regular.ttf new file mode 100644 index 0000000000..7b0cda50ad Binary files /dev/null and b/build/shared/lib/fonts/ProcessingSans-Regular.ttf differ diff --git a/build/shared/lib/fonts/ProcessingSansPro-LICENSE.txt b/build/shared/lib/fonts/ProcessingSansPro-LICENSE.txt deleted file mode 100644 index caaf349732..0000000000 --- a/build/shared/lib/fonts/ProcessingSansPro-LICENSE.txt +++ /dev/null @@ -1,98 +0,0 @@ -"Processing Sans" fonts are just "Source Sans", but renamed to -prevent conflicts on Windows with other versions of Source Sans. -https://github.com/processing/processing/issues/4747 - - -Copyright 2010, 2012, 2014 Adobe Systems Incorporated (http://www.adobe.com/), with Reserved Font Name 'Source'. All Rights Reserved. Source is a trademark of Adobe Systems Incorporated in the United States and/or other countries. - -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: http://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. diff --git a/build/shared/lib/fonts/ProcessingSansPro-Regular.ttf b/build/shared/lib/fonts/ProcessingSansPro-Regular.ttf deleted file mode 100644 index c7862f39af..0000000000 Binary files a/build/shared/lib/fonts/ProcessingSansPro-Regular.ttf and /dev/null differ diff --git a/build/shared/lib/fonts/ProcessingSansPro-Semibold.ttf b/build/shared/lib/fonts/ProcessingSansPro-Semibold.ttf deleted file mode 100644 index 10465b81a5..0000000000 Binary files a/build/shared/lib/fonts/ProcessingSansPro-Semibold.ttf and /dev/null differ diff --git a/todo.txt b/todo.txt index 7ffd36c2f0..e5f7c5be8c 100755 --- a/todo.txt +++ b/todo.txt @@ -68,6 +68,7 @@ X remove editor.laf preference because it conflicts with FlatLaf X menu crustiness, console background color not getting set, others? X need to check on an actual Linux device, not a VM X this was caused by Nimbus interactions with FlatLaf +X command key symbol missing in pop up menus design/selector X updated 4x4 for themes, foundation svg icon tweaks @@ -195,6 +196,10 @@ X https://github.com/processing/processing4/pull/483 fixes/changes before beta 9 +_ update available icon looks broken (bad winding rule?) +_ fix column widths in 'updates' tab of contrib manager +_ also make them resizable +_ section headings look bad (not capitalized, not plural, no bg color change) _ visual fixes for tab sizes, etc (with Paul) _ weirdness with gaps in tabs (editor too big, manager too small) _ contrib mgr: filter/dropdown vertical centering is too high