<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<style type="text/css" style="display:none;"> P {margin-top:0;margin-bottom:0;} </style>
</head>
<body dir="ltr">
<div class="elementToProof" style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
Again thanks Andreas for the interesting ideas.  Dick and I discussed such a possibility during today's specification editors teleconference.</div>
<div class="elementToProof" style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
<br>
</div>
<div class="elementToProof" style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
Such a capability is sufficiently distinct from current work on FontLibrary modifications that is does not seem to influence that effort.</div>
<div class="elementToProof" style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
<br>
</div>
<div class="elementToProof" style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
Meanwhile this idea has been captured in the Web3D Mantis Issue Tracker for possible future development as part of X3D 4.1.</div>
<div class="elementToProof" style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
<br>
</div>
<ul data-editing-info="{"applyListStyleFromLevel":false,"unorderedStyleType":1}" style="margin-top: 0px; margin-bottom: 0px; list-style-type: disc;">
<li style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
<div class="elementToProof">Mantis 1491: possible VariableFontStyle node</div>
</li><li style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
<div class="elementToProof"><a href="https://mantis.web3d.org/view.php?id=1491" id="OWA6f92135a-838f-ee17-c987-e22217ecf2dc" class="OWAAutoLink">https://mantis.web3d.org/view.php?id=1491</a></div>
</li></ul>
<div class="elementToProof" style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
<br>
</div>
<div class="elementToProof" style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
Related:</div>
<div class="elementToProof" style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
<br>
* X3D 4.1 Architecture (draft), clause 15 Text Component, 15.4.2 FontStyle<br>
* <span style="color: rgb(51, 122, 183);"><a href="https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4.1-CD//Part01/components/text.html#FontStyle" id="OWAedc06975-fdf4-28dc-87f3-f1566e30ed47" class="OWAAutoLink elementToProof" rel="noopener" style="color: rgb(51, 122, 183); text-align: left;">https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4.1-CD//Part01/components/text.html#FontStyle</a></span><br>
<br>
* X3D 4.1 Architecture (draft), clause 29 Scripting component, 29.4.1 Script</div>
<ul data-editing-info="{"applyListStyleFromLevel":false,"unorderedStyleType":1}" style="margin-top: 0px; margin-bottom: 0px; list-style-type: disc;">
<li style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 11pt; color: rgb(51, 122, 183);">
<div class="elementToProof"><a href="https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4.1-CD//Part01/components/scripting.html#Script" id="OWA7b2694fb-715b-7e87-3f4b-09b8a13c7c7a" class="OWAAutoLink elementToProof" rel="noopener" style="color: rgb(51, 122, 183); text-align: left;">https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4.1-CD//Part01/components/scripting.html#Script</a> </div>
</li></ul>
<div class="elementToProof" style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; color: rgb(0, 0, 0);">
<span style="font-size: 11pt;"><br>
Possible VariableFontStyle node design is a combination of these two node signatures:<br>
<br>
</span><span style="font-family: "Courier New", monospace; font-size: 8pt;"><b>VariableFontStyle
</b>: X3DFontStyleNode {<br>
  SFNode [in,out] metadata NULL [X3DMetadataObject]<br>
  MFString [in,out] family ["SERIF"]<br>
  SFBool [in,out] horizontal TRUE<br>
  MFString [in,out] justify ["BEGIN"]    ["BEGIN"|"END"|"FIRST"|"MIDDLE"|""],["BEGIN"|"END"|"FIRST"|"MIDDLE"|""] TODO look at square bracket conventions<br>
  SFString [in,out] language ""<br>
  SFBool [in,out] leftToRight TRUE<br>
  SFFloat [in,out] size 1.0 (0,infinity)<br>
  SFFloat [in,out] spacing 1.0 [0,infinity)<br>
  SFString [in,out] style "PLAIN" ["PLAIN"|"BOLD"|"ITALIC"|"BOLDITALIC"|""]<br>
  SFBool [in,out] topToBottom TRUE<br>
<br>
  # And any number of:<br>
  fieldType [in] fieldName<br>
  fieldType [in,out] fieldName initialValue<br>
  fieldType [out] fieldName<br>
  fieldType [] fieldName initialValue<br>
}</span></div>
<div class="elementToProof" style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
<br>
</div>
<div class="elementToProof" style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
HaVe FuN wItH X3D!</div>
<div id="Signature" class="elementToProof">
<p style="margin: 0in; font-family: Calibri, sans-serif; font-size: 11pt;"><span style="font-family: "Courier New"; font-size: 9pt;"><br>
</span></p>
<p style="margin: 0in; font-family: Calibri, sans-serif; font-size: 11pt;"><span style="font-family: "Courier New"; font-size: 9pt;">all the best, Don</span></p>
<p style="margin: 0in; font-family: Calibri, sans-serif; font-size: 11pt;"><span style="font-family: "Courier New"; font-size: 9pt;">--</span></p>
<p style="margin: 0in; font-family: Calibri, sans-serif; font-size: 11pt;"><span style="font-family: "Courier New"; font-size: 9pt;">Don Brutzman  Naval Postgraduate School, Code USW/Br        brutzman@nps.edu</span></p>
<p style="margin: 0in; font-family: Calibri, sans-serif; font-size: 11pt;"><span style="font-family: "Courier New"; font-size: 9pt;">Watkins 270,  MOVES Institute, Monterey CA 93943-5000 USA    +1.831.656.2149</span></p>
<p style="margin: 0in; font-family: Calibri, sans-serif; font-size: 11pt;"><span style="font-family: "Courier New"; font-size: 9pt;">X3D graphics, virtual worlds, navy robotics https://faculty.nps.edu/brutzman</span></p>
<p style="margin: 0in; font-family: Calibri, sans-serif; font-size: 11pt;"><span style="font-family: "Courier New"; font-size: 9pt;"> </span></p>
</div>
<div id="appendonsend"></div>
<hr style="display:inline-block;width:98%" tabindex="-1">
<div id="divRplyFwdMsg" dir="ltr"><font face="Calibri, sans-serif" style="font-size:11pt" color="#000000"><b>From:</b> x3d-public <x3d-public-bounces@web3d.org> on behalf of Brutzman, Donald (Don) (CIV) via x3d-public <x3d-public@web3d.org><br>
<b>Sent:</b> Tuesday, March 4, 2025 6:54 AM<br>
<b>To:</b> Andreas Plesch <andreasplesch@gmail.com>; Michalis Kamburelis <michalis.kambi@gmail.com><br>
<b>Cc:</b> Brutzman, Donald (Don) (CIV) <brutzman@nps.edu>; Extensible 3D (X3D) Graphics public discussion <x3d-public@web3d.org><br>
<b>Subject:</b> Re: [x3d-public] draft X3D 4.1 prose for font files and libraries; Variable Fonts</font>
<div> </div>
</div>
<style type="text/css" style="display:none">
<!--
p
        {margin-top:0;
        margin-bottom:0}
-->
</style>
<div dir="ltr">
<div class="x_elementToProof" style="font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif; font-size:11pt; color:rgb(0,0,0)">
Interesting possibility - it is good to have worthy goals!</div>
<div class="x_elementToProof" style="font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif; font-size:11pt; color:rgb(0,0,0)">
<br>
</div>
<div class="x_elementToProof" style="font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif; font-size:11pt; color:rgb(0,0,0)">
Additional references for context:</div>
<ul data-editing-info="{"applyListStyleFromLevel":false,"unorderedStyleType":1}" style="list-style-type:disc">
<li style="font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif; font-size:11pt; color:rgb(0,0,0)">
<div class="x_elementToProof">Wikipedia: Variable font</div>
</li><li style="font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif; font-size:11pt; color:rgb(0,0,0)">
<div class="x_elementToProof"><a href="https://en.wikipedia.org/wiki/Variable_font" originalsrc="https://en.wikipedia.org/wiki/Variable_font" id="OWA63e0b17f-9d82-804e-f6d7-8eacded5e293" class="x_OWAAutoLink">https://en.wikipedia.org/wiki/Variable_font</a></div>
<div style="font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif; font-size:11pt; color:rgb(0,0,0)">
<div class="x_elementToProof"><br>
</div>
</div>
</li><li style="font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif; font-size:11pt; color:rgb(0,0,0)">
<div class="x_elementToProof">Google Fonts: Introducing variable fonts</div>
</li><li style="font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif; font-size:11pt; color:rgb(0,0,0)">
<div class="x_elementToProof"><a href="https://fonts.google.com/knowledge/introducing_type/introducing_variable_fonts" originalsrc="https://fonts.google.com/knowledge/introducing_type/introducing_variable_fonts" id="OWAabad10cb-cda8-030b-4982-ddd190603373" class="x_OWAAutoLink">https://fonts.google.com/knowledge/introducing_type/introducing_variable_fonts</a></div>
<div style="font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif; font-size:11pt; color:rgb(0,0,0)">
<div class="x_elementToProof"><br>
</div>
</div>
</li><li style="font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif; font-size:11pt; color:rgb(0,0,0)">
<div class="x_elementToProof">Mozilla developer network (MDN) Variable Fonts Guide</div>
</li><li style="font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif; font-size:11pt; color:rgb(0,0,0)">
<div class="x_elementToProof"><a href="https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_fonts/Variable_fonts_guide" originalsrc="https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_fonts/Variable_fonts_guide" id="LPlnk203192" class="x_OWAAutoLink">https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_fonts/Variable_fonts_guide</a></div>
</li></ul>
<div class="x_elementToProof" style="font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif; font-size:11pt; color:rgb(0,0,0)">
Looks like a number of parameters might get passed into the font library, often customized.</div>
<div class="x_elementToProof" style="font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif; font-size:11pt; color:rgb(0,0,0)">
<br>
</div>
<div class="x_elementToProof" style="font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif; font-size:11pt; color:rgb(0,0,0)">
Given that, a possible path forward might be to define a VariableFontStyle node that is similar to FontStyle that also includes field definitions.</div>
<div class="x_elementToProof" style="font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif; font-size:11pt; color:rgb(0,0,0)">
<br>
</div>
<div class="x_elementToProof" style="font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif; font-size:11pt; color:rgb(0,0,0)">
Once again, CSS provides plenty of inspiration on how this might work.</div>
<div class="x_elementToProof" id="x_Signature">
<p style="margin:0in; font-family:Calibri,sans-serif; font-size:11pt"><span style="font-family:"Courier New"; font-size:9pt"><br>
</span></p>
<p style="margin:0in; font-family:Calibri,sans-serif; font-size:11pt"><span style="font-family:"Courier New"; font-size:9pt">all the best, Don</span></p>
<p style="margin:0in; font-family:Calibri,sans-serif; font-size:11pt"><span style="font-family:"Courier New"; font-size:9pt">--</span></p>
<p style="margin:0in; font-family:Calibri,sans-serif; font-size:11pt"><span style="font-family:"Courier New"; font-size:9pt">Don Brutzman  Naval Postgraduate School, Code USW/Br        brutzman@nps.edu</span></p>
<p style="margin:0in; font-family:Calibri,sans-serif; font-size:11pt"><span style="font-family:"Courier New"; font-size:9pt">Watkins 270,  MOVES Institute, Monterey CA 93943-5000 USA    +1.831.656.2149</span></p>
<p style="margin:0in; font-family:Calibri,sans-serif; font-size:11pt"><span style="font-family:"Courier New"; font-size:9pt">X3D graphics, virtual worlds, navy robotics https://faculty.nps.edu/brutzman</span></p>
<p style="margin:0in; font-family:Calibri,sans-serif; font-size:11pt"><span style="font-family:"Courier New"; font-size:9pt"> </span></p>
</div>
<div id="x_appendonsend"></div>
<div style="font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif; font-size:11pt; color:rgb(0,0,0)">
<br>
</div>
<hr style="display:inline-block; width:98%">
<div id="x_divRplyFwdMsg" dir="ltr"><span style="font-family:Calibri,sans-serif; font-size:11pt; color:rgb(0,0,0)"><b>From:</b> Andreas Plesch <andreasplesch@gmail.com><br>
<b>Sent:</b> Tuesday, March 4, 2025 5:18 AM<br>
<b>To:</b> Michalis Kamburelis <michalis.kambi@gmail.com><br>
<b>Cc:</b> Brutzman, Donald (Don) (CIV) <brutzman@nps.edu>; Holger Seelig <holger.seelig@yahoo.de>; Extensible 3D (X3D) Graphics public discussion <x3d-public@web3d.org><br>
<b>Subject:</b> Re: [x3d-public] draft X3D 4.1 prose for font files and libraries</span></div>
<br>
<div style="direction:ltr">During this design stage it would be the time to consider variable fonts.</div>
<div style="direction:ltr"><br>
</div>
<div style="direction:ltr"><a href="https://stackoverflow.com/questions/57111097/does-freetype-support-variable-fonts" originalsrc="https://stackoverflow.com/questions/57111097/does-freetype-support-variable-fonts" id="OWA8c74e037-e4e8-1726-ad4a-3bd6989e1645" class="x_OWAAutoLink" originalsrc="https://stackoverflow.com/questions/57111097/does-freetype-support-variable-fonts" data-auth="NotApplicable">https://stackoverflow.com/questions/57111097/does-freetype-support-variable-fonts</a></div>
<div style="direction:ltr"><br>
</div>
<div style="direction:ltr">They are pretty common now.</div>
<div style="direction:ltr"><br>
</div>
<div style="direction:ltr">They would require in effect an n-dimensional style.</div>
<div style="direction:ltr"><br>
</div>
<div style="direction:ltr">They may be not too hard to support. The difficulty may be mostly in designing fields for n axes and axes values.</div>
<div style="direction:ltr"><br>
</div>
<div style="direction:ltr">Andreas</div>
<div class="x_elementToProof" style="direction:ltr"><br>
</div>
<div class="x_elementToProof" style="direction:ltr">Andreas Plesch<br>
Waltham, MA 02453</div>
<div class="x_elementToProof" style="direction:ltr"><br>
</div>
<div class="x_elementToProof" style="direction:ltr; font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif; font-size:11pt; color:rgb(0,0,0)">
[... Snipped prior unrelated email to start new thread ...]</div>
</div>
</body>
</html>