[x3d-public] draft X3D 4.1 prose for font files and libraries; Variable Fonts

Brutzman, Donald (Don) (CIV) brutzman at nps.edu
Wed Mar 12 21:00:10 PDT 2025


Again thanks Andreas for the interesting ideas.  Dick and I discussed such a possibility during today's specification editors teleconference.

Such a capability is sufficiently distinct from current work on FontLibrary modifications that is does not seem to influence that effort.

Meanwhile this idea has been captured in the Web3D Mantis Issue Tracker for possible future development as part of X3D 4.1.


  *
Mantis 1491: possible VariableFontStyle node
  *
https://mantis.web3d.org/view.php?id=1491

Related:

* X3D 4.1 Architecture (draft), clause 15 Text Component, 15.4.2 FontStyle
* https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4.1-CD//Part01/components/text.html#FontStyle

* X3D 4.1 Architecture (draft), clause 29 Scripting component, 29.4.1 Script

  *
https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4.1-CD//Part01/components/scripting.html#Script

Possible VariableFontStyle node design is a combination of these two node signatures:

VariableFontStyle : X3DFontStyleNode {
  SFNode [in,out] metadata NULL [X3DMetadataObject]
  MFString [in,out] family ["SERIF"]
  SFBool [in,out] horizontal TRUE
  MFString [in,out] justify ["BEGIN"]    ["BEGIN"|"END"|"FIRST"|"MIDDLE"|""],["BEGIN"|"END"|"FIRST"|"MIDDLE"|""] TODO look at square bracket conventions
  SFString [in,out] language ""
  SFBool [in,out] leftToRight TRUE
  SFFloat [in,out] size 1.0 (0,infinity)
  SFFloat [in,out] spacing 1.0 [0,infinity)
  SFString [in,out] style "PLAIN" ["PLAIN"|"BOLD"|"ITALIC"|"BOLDITALIC"|""]
  SFBool [in,out] topToBottom TRUE

  # And any number of:
  fieldType [in] fieldName
  fieldType [in,out] fieldName initialValue
  fieldType [out] fieldName
  fieldType [] fieldName initialValue
}

HaVe FuN wItH X3D!


all the best, Don

--

Don Brutzman  Naval Postgraduate School, Code USW/Br        brutzman at nps.edu

Watkins 270,  MOVES Institute, Monterey CA 93943-5000 USA    +1.831.656.2149

X3D graphics, virtual worlds, navy robotics https://faculty.nps.edu/brutzman



________________________________
From: x3d-public <x3d-public-bounces at web3d.org> on behalf of Brutzman, Donald (Don) (CIV) via x3d-public <x3d-public at web3d.org>
Sent: Tuesday, March 4, 2025 6:54 AM
To: Andreas Plesch <andreasplesch at gmail.com>; Michalis Kamburelis <michalis.kambi at gmail.com>
Cc: Brutzman, Donald (Don) (CIV) <brutzman at nps.edu>; Extensible 3D (X3D) Graphics public discussion <x3d-public at web3d.org>
Subject: Re: [x3d-public] draft X3D 4.1 prose for font files and libraries; Variable Fonts

Interesting possibility - it is good to have worthy goals!

Additional references for context:

  *
Wikipedia: Variable font
  *
https://en.wikipedia.org/wiki/Variable_font

  *
Google Fonts: Introducing variable fonts
  *
https://fonts.google.com/knowledge/introducing_type/introducing_variable_fonts

  *
Mozilla developer network (MDN) Variable Fonts Guide
  *
https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_fonts/Variable_fonts_guide

Looks like a number of parameters might get passed into the font library, often customized.

Given that, a possible path forward might be to define a VariableFontStyle node that is similar to FontStyle that also includes field definitions.

Once again, CSS provides plenty of inspiration on how this might work.


all the best, Don

--

Don Brutzman  Naval Postgraduate School, Code USW/Br        brutzman at nps.edu

Watkins 270,  MOVES Institute, Monterey CA 93943-5000 USA    +1.831.656.2149

X3D graphics, virtual worlds, navy robotics https://faculty.nps.edu/brutzman



________________________________
From: Andreas Plesch <andreasplesch at gmail.com>
Sent: Tuesday, March 4, 2025 5:18 AM
To: Michalis Kamburelis <michalis.kambi at gmail.com>
Cc: Brutzman, Donald (Don) (CIV) <brutzman at nps.edu>; Holger Seelig <holger.seelig at yahoo.de>; Extensible 3D (X3D) Graphics public discussion <x3d-public at web3d.org>
Subject: Re: [x3d-public] draft X3D 4.1 prose for font files and libraries

During this design stage it would be the time to consider variable fonts.

https://stackoverflow.com/questions/57111097/does-freetype-support-variable-fonts

They are pretty common now.

They would require in effect an n-dimensional style.

They may be not too hard to support. The difficulty may be mostly in designing fields for n axes and axes values.

Andreas

Andreas Plesch
Waltham, MA 02453

[... Snipped prior unrelated email to start new thread ...]
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://web3d.org/pipermail/x3d-public_web3d.org/attachments/20250313/0b6f6254/attachment-0001.html>


More information about the x3d-public mailing list