JDK-8230889 : Allow a physical font to act as the "final fallback" for any logical font
  • Type: Enhancement
  • Component: client-libs
  • Sub-Component: 2d
  • Affected Version: 11.0.4-oracle
  • Priority: P4
  • Status: Open
  • Resolution: Unresolved
  • OS: linux
  • CPU: x86
  • Submitted: 2019-08-24
  • Updated: 2019-09-12
Related Reports
Relates :  
JDK-8039273 considers the "lib/font/fallbacks" a mis-feature and removed it while performing the move from ${java_home}/lib to ${java_home}/conf.

The problem is that applications that the feature helped did not disappear and their users are now struggling with font-portability issues when they move to new platforms. Yes, the applications may be badly written and probably deserve some slapping or even some editing after decompilation for its use of explicitly-named fonts, but breaking a not-so-bad (even *great* as GNU freefont/unifont is a thing) solution to this problem is Orcale's fault.

Please, just bring {lib,conf}/font/fallbacks, or to say in the terms of your internals, getInstalledFallbackFonts, back. 

We are caught between a rock and a hard place. Referring to JEP 220 : https://openjdk.java.net/jeps/220 1) Regarding "lib" it considers certain content there to be accessible, but otherwise the contents, and the location itself is JDK internal, and nothing is to be modified or added 2) The closest replacement, "conf" is only for plain text files The actual text is : "The conf directory contains the .properties, .policy, and other kinds of files intended to be edited by developers, deployers, and end users, which were formerly found in the lib directory or subdirectories thereof." "Intended to be edited" is meant to imply they are plain text. So there is nothing we can do until one of these is relaxed or a new solution / location is provided for non-text files that are are not linked into a modular image, but are included as part of the JDK, directory structure not external to it.

OK, so now we know. People do use this.

This is a request to bring back {lib,conf}/font/fallbacks, referred to JDK-8039273.