<div dir="ltr"><div>Nice, I see the core addition here is adding "url" to the "FontStyle", which can point to a font file (like WOFF, TTF, OTF). This makes perfect sense and should be easy to implement and useful for authors. The prose makes it clear that only *one* item from the "FontStyle.url" list is used, which is standard in X3D usage of "MFString url", good.</div><div><br></div><div>Some feedback:</div><div><br></div><div>1. The text uses new terms: "font definition", "font library". I would advise to clearly define (and give examples) what is meant by each term (and maybe you don't really need all of them?). As always, testcase files would be great :)</div><div><br></div><div> Admittedly, I don't fully understand myself what do you mean by "font definition", "font library". The terms I know, when working with fonts, are :</div><div><br></div><div> A. "font file" (this is a single WOFF, TTF, OTF file). </div><div><br></div><div> B. And "font family" (this is usually using 4 files, regular / italic / bold+italic / bold). </div><div><br></div><div> In CGE, this is TCastleFontFamily component, corresponds to <a href="https://castle-engine.io/apidoc/html/CastleFonts.TCastleFontFamily.html" target="_blank">https://castle-engine.io/apidoc/html/CastleFonts.TCastleFontFamily.html</a> . </div><div><br></div><div> In CSS, this is called font-family. See e.g. <a href="https://stackoverflow.com/questions/12812441/how-do-i-use-woff-fonts-for-my-website" target="_blank">https://stackoverflow.com/questions/12812441/how-do-i-use-woff-fonts-for-my-website</a> how to use 4 WOFF files to define a CSS font-family.</div><div><br></div><div> In X3D itself, the "FontStyle.family" also allows to choose from (system-level or browser-level) font families. So it's all good and consistent so far.</div><div><br></div><div> Admittedly, I'm unsure how/if do my above terms map to "font library" and "font definition" terms that the spec on <a href="https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4.1-CD//Part01/components/text.html#FontStyle" target="_blank">https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4.1-CD//Part01/components/text.html#FontStyle</a> uses. The spec mentions "a font library that contains one or more font definitions". Can you show me (point to concrete testcases) what do you mean? What is a simple file that is "a font library with one font definition"? What is a simple file that is "a font library with multiple font definitions"? <br></div><div><br></div><div>2. It may be worth saying explicitly in the prose that:</div><div><br></div><div> - When some font file indicated by "url" is successfully loaded, then the "FontStyle.family" no longer maters. The font is defined by the given URL.</div><div><br></div><div> - When some font file indicated by "url" is successfully loaded (and it only contains a single font definition?) then the "FontStyle.style" (bold, italic..) also doesn't matter. <br></div><div><br></div><div> That is, consider this:</div><div><br></div><div> FontStyle { url "DejaVuSerif-Italic.ttf" }</div><div><br></div><div> DejaVu is an open-source font, distributed also by Debian, and used by CGE, you can experiment with files on <a href="https://github.com/castle-engine/castle-engine/tree/master/src/fonts/data" target="_blank">https://github.com/castle-engine/castle-engine/tree/master/src/fonts/data</a> .</div><div><br></div><div> ... then the "style" doesn't matter. That is, in this example:</div><div><br></div><div> FontStyle { </div><div> url "DejaVuSerif-Italic.ttf" <br></div><div> style "BOLD"</div><div> }</div><div><br></div><div> ... the style "BOLD" value is ignored. Because you use "DejaVuSerif-Italic.ttf", so this is italic (and not bold) version of DejaVu. If someone wants bold, they should have used "DejaVuSerif-Bold.ttf".</div><div><br></div><div>3. In CGE, it is possible to use a collection of .ttf / .otf to define a font. Speculating, something like this (matching <a href="https://castle-engine.io/apidoc/html/CastleFonts.TCastleFontFamily.html" target="_blank">https://castle-engine.io/apidoc/html/CastleFonts.TCastleFontFamily.html</a> ) could be available to express this in X3D:</div><div><br></div><div>"""</div><div>Shape {</div><div> geometry Text {</div><div> fontStyle FontStyle {</div><div> familyComposed DEF DejaVu FontFamily {</div><div> regularUrl "DejaVuSerif.ttf"</div><div> italicUrl "DejaVuSerif-Italic.ttf"</div><div> boldUrl "DejaVuSerif-Bold.ttf"</div><div> boldItalicUrl "DejaVuSerif-BoldItalic.ttf"</div><div> }</div><div> }</div><div> string "this has regular style"</div><div> }</div><div>}</div><br><div>Shape {</div><div> geometry Text {</div><div> fontStyle FontStyle {</div><div> composedFontFamily USE DejaVu</div><div> style "ITALIC"</div><div> }</div><div> string "this has italic style"</div><div> }</div><div>}</div><div><br></div><div>Shape {</div><div> geometry Text {</div><div> fontStyle FontStyle {</div><div> composedFontFamily USE DejaVu</div><div> style "BOLDITALIC"</div><div> }</div><div> string "this has italic+bold style"</div><div> }</div><div>}</div><div>"""</div><div><br></div><div>4. I wonder whether the FontLibrary that you mentioned will fulfill some of the use-cases I mentioned above and answer some of my questions :) No rush, I understand this is in the design phase, I'll want and see what you propose, maybe when I see FontLibrary -> the above points will no longer matter because everything will be obvious.</div><div><br></div><div>Regards,</div><div>Michalis</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">czw., 27 lut 2025 o 02:40 Brutzman, Donald (Don) (CIV) via x3d-public <<a href="mailto:x3d-public@web3d.org" target="_blank">x3d-public@web3d.org</a>> napisał(a):<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div>
<div dir="ltr">
<div style="font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif;font-size:11pt;color:rgb(0,0,0)">
Dick and I worked on suggested prose for X3D 4.1 with details continuing in Mantis 1490 below.</div>
<div style="font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif;font-size:11pt;color:rgb(0,0,0)">
<br>
</div>
<div style="font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif;font-size:11pt;color:rgb(0,0,0)">
Review request:</div>
<ul 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>X3D 4.1 Architecture (draft), 15 Text component, 15.4.1 FontStyle</div>
</li><li style="font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif;font-size:11pt;color:rgb(0,0,0)">
<div><a href="https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4.1-CD//Part01/components/text.html#FontStyle" id="m_2441348715669165069m_-486801823525789072LPlnk" target="_blank">https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4.1-CD//Part01/components/text.html#FontStyle</a></div>
</li></ul>
<div style="font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif;font-size:11pt;color:rgb(0,0,0)">
Improvements:</div>
<ul 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>Include all <span style="background-color:rgb(255,255,0)">
X3DURLObject </span>fields,</div>
</li></ul>
<div style="margin-left:40px;font-family:"Courier New",monospace;font-size:9pt;color:rgb(0,0,0)">
<span style="background-color:rgb(255,255,0)"> SFTime [in,out] autoRefresh 0.0 [0,∞)</span></div>
<div style="margin-left:40px;font-family:"Courier New",monospace;font-size:9pt;color:rgb(0,0,0)">
<span style="background-color:rgb(255,255,0)"> SFTime [in,out] autoRefreshTimeLimit 3600.0 [0,∞)</span></div>
<div style="margin-left:40px;font-family:"Courier New",monospace;font-size:9pt;color:rgb(0,0,0)">
<span style="background-color:rgb(255,255,0)"> SFString [in,out] description ""</span></div>
<div style="margin-left:40px;font-family:"Courier New",monospace;font-size:9pt;color:rgb(0,0,0)">
<span style="background-color:rgb(255,255,0)"> SFBool [in,out] load TRUE</span></div>
<div style="margin-left:40px;font-family:"Courier New",monospace;font-size:9pt;color:rgb(0,0,0)">
<span style="background-color:rgb(255,255,0)"> MFString [in,out] url [] [URI]</span></div>
<ul 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>Decided to NOT overload functionality of <i>family </i>
field by adding file names (sorry Holger! adjusting your implementation will likely be simple in comparison)</div>
<div style="font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif;font-size:11pt;color:rgb(0,0,0)">
<div><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>New prose:</div>
</li></ul>
<div style="text-align:left;text-indent:0px;margin-top:1em;margin-bottom:1em;margin-left:40px;font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif;font-size:11pt;color:rgb(0,0,0)">
<span style="background-color:rgb(255,255,0)">The <i>url</i> field is optional and can refer to a relative or online address for a font library that contains one or more font definitions. An empty
<i>url</i> list indicates that the default set of fonts provided by the browser are used. If present, only the first active font library retrieved from the
<i>url</i> list shall be used. Individual font library files can be used by multiple FontStyle nodes in a scene. Each font file only needs to be loaded once per session.</span></div>
<div style="text-align:left;text-indent:0px;margin-top:1em;margin-bottom:1em;margin-left:40px;font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif;font-size:11pt;color:rgb(0,0,0)">
<span style="background-color:rgb(255,255,0)">X3D browsers shall support WOFF (MIME type
<code>application/x-font-woff</code>) (see <a href="https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4.1-CD//Part01/references.html#W3C_WOFF" id="m_2441348715669165069m_-486801823525789072OWA4a9800f9-0fbf-770b-de3e-e998733183a7" target="_blank">
W3C WOFF File Format</a>). Support for the OpenType file format (MIME type <code>
application/x-font-opentype</code>) (see <a href="https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4.1-CD//Part01/bibliography.html#OPENTYPE" id="m_2441348715669165069m_-486801823525789072OWA0b6072c9-0900-2aae-fa18-88e909b09c35" target="_blank">
OpenType Specification</a>) and TrueType file format (MIME type <code>application/x-font-truetype</code>) (see
<a href="https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4.1-CD//Part01/references.html#I14496_22" id="m_2441348715669165069m_-486801823525789072OWAd7e5e7c4-348f-7d3a-733c-d900916430a7" target="_blank">
ISO/IEC 14496-22 Open Font Format</a>) is also recommended.</span></div>
<div style="text-align:left;text-indent:0px;margin-top:1em;margin-bottom:1em;margin-left:40px;font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif;font-size:11pt;color:rgb(0,0,0)">
<span style="background-color:rgb(255,255,0)">Security, licensing, and copyright/usage permissions are handled via the exposure of a font file itself.</span></div>
<div style="text-align:left;text-indent:0px;margin-top:1em;margin-bottom:1em;margin-left:40px;font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif;font-size:11pt;color:rgb(0,0,0)">
<span style="background-color:rgb(255,255,0)">Support for the <i>autoRefresh</i>,
<i>autoRefreshTimeLimit</i>, and <i>load</i> fields is optional.</span></div>
<div style="text-align:left;text-indent:0px;margin-top:1em;margin-bottom:1em;margin-left:40px;font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif;font-size:11pt;color:rgb(0,0,0)">
<span style="background-color:rgb(255,255,0)">More details on the <i>autoRefresh</i>,
<i>autoRefreshTimeLimit</i>, <i>description</i>, <i>load</i>, and <i>url</i> fields are contained in
<a href="https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4.1-CD//Part01/components/networking.html#URLs" id="m_2441348715669165069m_-486801823525789072OWAd2386a10-2f86-660e-113b-eba01571f976" target="_blank">
9.2.1 URLs, URNs and URIs</a>.</span></div>
<div style="text-align:left;text-indent:0px;margin-top:1em;margin-bottom:1em;font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif;font-size:11pt;color:rgb(0,0,0)">
Looking it over, adding more functionality to FontStyle node seems to be unwise. Dick has an excellent proposal:</div>
<div style="text-align:left;text-indent:0px;margin-top:1em;margin-bottom:1em;margin-left:40px;font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif;font-size:11pt;color:rgb(0,0,0)">
<span style="background-color:rgb(128,255,255)">TODO alternative approach: move all new functionality into a separate
<b>FontLibrary</b> node to avoid complicating FontStyle further. This also offers the ability to succinctly load multiple font libraries in a given scene. The expense of defining a new node for X3D is offset by clearer distinction between X3D 4.0 and 4.1, also
simplifying model content significantly. </span></div>
<div style="text-align:left;text-indent:0px;margin-top:1em;margin-bottom:1em;margin-left:40px;font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif;font-size:11pt;color:rgb(0,0,0)">
<span style="background-color:rgb(128,255,255)">Feedback is welcome.</span></div>
<div style="font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif;font-size:11pt;color:rgb(0,0,0)">
Leaving existing FontStyle implementations alone probably avoids many unintended side effects. First law of engineering: "If it ain't broke, don't fix it."</div>
<div style="font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif;font-size:11pt;color:rgb(0,0,0)">
<br>
</div>
<div style="font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif;font-size:11pt;color:rgb(0,0,0)">
Thanks for all review. It feels like we are finally converging on a straightforward approach to valuable future capabilities.</div>
<div style="font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif;font-size:11pt;color:rgb(0,0,0)">
<br>
</div>
<div style="font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif;font-size:11pt;color:rgb(0,0,0)">
Have fun with X3D fonts! 😎</div>
<div id="m_2441348715669165069m_-486801823525789072Signature">
<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 <a href="mailto:brutzman@nps.edu" target="_blank">brutzman@nps.edu</a></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 <a href="https://faculty.nps.edu/brutzman" target="_blank">https://faculty.nps.edu/brutzman</a></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="m_2441348715669165069m_-486801823525789072appendonsend"></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 dir="ltr" id="m_2441348715669165069m_-486801823525789072divRplyFwdMsg"><span style="font-family:Calibri,sans-serif;font-size:11pt;color:rgb(0,0,0)"><b>From:</b> Brutzman, Donald (Don) (CIV) <<a href="mailto:brutzman@nps.edu" target="_blank">brutzman@nps.edu</a>><br>
<b>Sent:</b> Monday, February 24, 2025 9:32 AM<br>
<b>To:</b> X3D <<a href="mailto:x3d-public@web3d.org" target="_blank">x3d-public@web3d.org</a>><br>
<b>Cc:</b> Holger Seelig <<a href="mailto:holger.seelig@yahoo.de" target="_blank">holger.seelig@yahoo.de</a>><br>
<b>Subject:</b> Re: [x3d-public] Open dyslexic and/or (unfortunately) comicsans fonts; draft X3D 4.1 prose for font files and libraries</span>
<div> </div>
</div>
<div style="direction:ltr;font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif;font-size:11pt;color:rgb(0,0,0)">
Wow, really super Holger! 🙂</div>
<div style="direction:ltr;font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif;font-size:11pt;color:rgb(0,0,0)">
<br>
</div>
<div style="direction:ltr;font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif;font-size:11pt;color:rgb(0,0,0)">
There was a conversation about this on x3d-public a few years back... We committed to adding it in X3D 4.1 and (if I recall correctly) also noted that adding a url field might enable usage of larger font files.</div>
<div style="direction:ltr;font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif;font-size:11pt;color:rgb(0,0,0)">
<br>
</div>
<div style="direction:ltr;font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif;font-size:11pt;color:rgb(0,0,0)">
I've attempted to capture this candidate specification change in a Mantis issue. All review, feedback, and improvements are always welcome.</div>
<ul style="direction:ltr;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 style="direction:ltr">Mantis 1490 FontStyle handling of font files and font libraries</div>
</li><li style="font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif;font-size:11pt;color:rgb(0,0,0)">
<div style="direction:ltr"><a href="https://mantis.web3d.org/view.php?id=1490" id="m_2441348715669165069m_-486801823525789072OWA0e38a915-dfc6-1b38-c7d2-28e637bbcc1f" target="_blank">https://mantis.web3d.org/view.php?id=1490</a></div>
</li></ul>
<div style="direction:ltr;font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif;font-size:11pt;color:rgb(0,0,0)">
Description.</div>
<table style="direction:ltr;text-align:left;border-radius:0px;margin-bottom:0px;width:2529.4px;max-width:100%;color:rgb(57,57,57);box-sizing:border-box;border-collapse:collapse;border-spacing:0px">
<tbody>
<tr>
<td colspan="5" style="width:789.556px;height:366.95px;direction:ltr;text-align:left;line-height:1.42857;border-top:1px solid rgb(221,221,221);border-bottom:1px solid rgb(221,221,221);border-radius:0px;padding:5px;vertical-align:top;box-sizing:border-box">
<div style="direction:ltr;text-align:left;line-height:1.42857;font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif;font-size:11pt;color:rgb(0,0,0)">
A goal for X3D 4.1 is use of font files in FontStyle (see Mantis <span style="color:rgb(51,122,183)">
<a href="https://mantis.web3d.org/view.php?id=1464" id="m_2441348715669165069m_-486801823525789072OWAeefa40f7-d30b-3559-8237-28f1d1969cc2" title="[assigned] candidate features for X3D 4.1" style="color:rgb(51,122,183)" target="_blank">0001464</a></span>).<br>
<br>
Addition of individual-font files might be accomplished by listing the font file name in the FontStyle 'family' field.<br>
<br>
Referencing different fonts in a single combined font library file may require an additional field, for example 'url'. In general the use of a font library may be preferred, but repeatedly run-time retrieval of a font library is not desirable, since the file
might be quite large and rarely changing. This might be noted in the specification prose, e.g.<br>
<br>
- "MFString [in,out] url [] [URI]"<br>
- "The family field may list a specific font file. A font listed in the family field may be provided by a corresponding font library."<br>
- "The url field may refer to a font library. Font libraries can be used by multiple FontStyle nodes in a scene and need only be loaded once per session."<br>
<br>
Support levels: add "Level 2, FontStyle, support for font files in family field and support for font libraries via url field ."<br>
<br>
Security, licensing, and copyright/usage issues are handled via the exposure of the font file itself. If retrievable (locally or online) then proper access is presumably handled separately.</div>
</td>
</tr>
</tbody>
</table>
<div style="direction:ltr;font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif;font-size:11pt;color:rgb(0,0,0)">
<br>
</div>
<div style="direction:ltr;font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif;font-size:11pt;color:rgb(0,0,0)">
Additional information.</div>
<table style="direction:ltr;text-align:left;border-radius:0px;margin-bottom:0px;width:2529.4px;max-width:100%;color:rgb(57,57,57);box-sizing:border-box;border-collapse:collapse;border-spacing:0px">
<tbody>
<tr>
<td colspan="5" style="width:789.556px;height:199.35px;direction:ltr;text-align:left;line-height:1.42857;border-top:1px solid rgb(221,221,221);border-bottom:1px solid rgb(221,221,221);border-radius:0px;padding:5px;vertical-align:top;box-sizing:border-box">
<div style="direction:ltr;text-align:left;line-height:1.42857;font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif;font-size:11pt;color:rgb(0,0,0)">
- X3D 4.1 (draft) Architecture, 15 Text component, 15.4.1 FontStyle<br>
- <span style="color:rgb(51,122,183)"><a href="https://www.web3d.org/specifications/X3Dv4/ISO-IEC19775-1v4-IS/Part01/components/text.html#FontStyle" id="m_2441348715669165069m_-486801823525789072OWA3e739ff0-86a5-aa34-7783-1aa6f5b4d30c" style="color:rgb(51,122,183)" target="_blank">https://www.web3d.org/specifications/X3Dv4/ISO-IEC19775-1v4-IS/Part01/components/text.html#FontStyle</a></span><br>
<br>
- X3D 4.1 (draft) Architecture, 15 Text component, 15.4.2 Text<br>
- <span style="color:rgb(51,122,183)"><a href="https://www.web3d.org/specifications/X3Dv4/ISO-IEC19775-1v4-IS/Part01/components/text.html#Text" id="m_2441348715669165069m_-486801823525789072OWAd59a3e47-0fa9-a558-08af-f3d3e0d35019" style="color:rgb(51,122,183)" target="_blank">https://www.web3d.org/specifications/X3Dv4/ISO-IEC19775-1v4-IS/Part01/components/text.html#Text</a></span><br>
<br>
- X3D 4.1 (draft) Architecture, 15 Text component, 15.5 Support levels<br>
- <span style="color:rgb(51,122,183)"><a href="https://www.web3d.org/specifications/X3Dv4/ISO-IEC19775-1v4-IS/Part01/components/text.html#SupportlLevels" id="m_2441348715669165069m_-486801823525789072OWAe32c21e2-0d22-9f10-5ab4-f63a9ebbcffe" style="color:rgb(51,122,183)" target="_blank">https://www.web3d.org/specifications/X3Dv4/ISO-IEC19775-1v4-IS/Part01/components/text.html#SupportlLevels</a></span></div>
</td>
</tr>
</tbody>
</table>
<div style="direction:ltr;font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif;font-size:11pt;color:rgb(0,0,0)">
<br>
</div>
<div style="direction:ltr;font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif;font-size:11pt;color:rgb(0,0,0)">
Have fun with X3D Text! :)</div>
<div id="m_2441348715669165069m_-486801823525789072x_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 <a href="mailto:brutzman@nps.edu" target="_blank">brutzman@nps.edu</a></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 <a href="https://faculty.nps.edu/brutzman" target="_blank">https://faculty.nps.edu/brutzman</a></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="m_2441348715669165069m_-486801823525789072x_appendonsend"></div>
<div style="direction:ltr;font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif;font-size:11pt;color:rgb(0,0,0)">
<br>
</div>
<hr style="direction:ltr;display:inline-block;width:98%">
<div dir="ltr" id="m_2441348715669165069m_-486801823525789072x_divRplyFwdMsg"><span style="font-family:Calibri,sans-serif;font-size:11pt;color:rgb(0,0,0)"><b>From:</b> x3d-public <<a href="mailto:x3d-public-bounces@web3d.org" target="_blank">x3d-public-bounces@web3d.org</a>> on behalf of Holger Seelig via x3d-public <<a href="mailto:x3d-public@web3d.org" target="_blank">x3d-public@web3d.org</a>><br>
<b>Sent:</b> Monday, February 24, 2025 2:48 AM<br>
<b>To:</b> X3D <<a href="mailto:x3d-public@web3d.org" target="_blank">x3d-public@web3d.org</a>><br>
<b>Cc:</b> Holger Seelig <<a href="mailto:holger.seelig@yahoo.de" target="_blank">holger.seelig@yahoo.de</a>><br>
<b>Subject:</b> Re: [x3d-public] Open dyslexic and/or (unfortunately) comicsans fonts</span>
<div> </div>
</div>
<div style="direction:ltr">With X_ITE you can use a URL in the family field of a FontStyle node to specify a path to a custom font file. Provided you have one of these fonts, it should be very easy:</div>
<div style="direction:ltr"><br>
</div>
<div style="direction:ltr"><?xml version="1.0" encoding="UTF-8"?></div>
<div style="direction:ltr"><!DOCTYPE X3D PUBLIC "ISO//Web3D//DTD X3D 4.0//EN" "<a href="https://www.web3d.org/specifications/x3d-4.0.dtd" target="_blank">https://www.web3d.org/specifications/x3d-4.0.dtd</a>"></div>
<div style="direction:ltr"><X3D profile='Interchange' version='4.0' xmlns:xsd='<a href="http://www.w3.org/2001/XMLSchema-instance" target="_blank">http://www.w3.org/2001/XMLSchema-instance</a>' xsd:noNamespaceSchemaLocation='<a href="https://www.web3d.org/specifications/x3d-4.0.xsd" target="_blank">https://www.web3d.org/specifications/x3d-4.0.xsd</a>'></div>
<div style="direction:ltr"> <head></div>
<div style="direction:ltr"> <component name='Text' level='1'/></div>
<div style="direction:ltr"> </head></div>
<div style="direction:ltr"> <Scene></div>
<div style="direction:ltr"> <Transform DEF='Text'></div>
<div style="direction:ltr"> <Shape></div>
<div style="direction:ltr"> <Appearance></div>
<div style="direction:ltr"> <Material/></div>
<div style="direction:ltr"> </Appearance></div>
<div style="direction:ltr"> <Text</div>
<div style="direction:ltr"> string='"3D Text"'></div>
<div style="direction:ltr"> <FontStyle</div>
<div style="direction:ltr"> family='"path/to/your/font.otf", "SERIF"'/></div>
<div style="direction:ltr"> </Text></div>
<div style="direction:ltr"> </Shape></div>
<div style="direction:ltr"> </Transform></div>
<div style="direction:ltr"> </Scene></div>
<div style="direction:ltr"></X3D></div>
<div style="direction:ltr"><br>
</div>
<div style="direction:ltr">Supported File Formats:</div>
<div style="direction:ltr"><a href="https://create3000.github.io/x_ite/components/text/fontstyle/#supported-file-formats" id="m_2441348715669165069m_-486801823525789072OWA6db05638-802a-884e-41fd-5de7a9e5a88f" target="_blank">https://create3000.github.io/x_ite/components/text/fontstyle/#supported-file-formats</a></div>
<div style="direction:ltr"><br>
</div>
<div style="direction:ltr">Best regards,</div>
<div style="direction:ltr">Holger</div>
<div style="direction:ltr"><br>
</div>
<div style="direction:ltr;text-align:left;text-indent:0px;color:rgb(0,0,0)">
--</div>
<div style="direction:ltr;text-align:left;text-indent:0px;color:rgb(0,0,0)">
Holger Seelig</div>
<div style="direction:ltr;text-align:left;text-indent:0px;color:rgb(0,0,0)">
Leipzig, Germany</div>
<div style="direction:ltr;text-align:left;text-indent:0px;color:rgb(0,0,0)">
<br>
</div>
<div style="direction:ltr;text-align:left;text-indent:0px;color:rgb(0,0,0)">
<a href="mailto:holger.seelig@yahoo.de" target="_blank">holger.seelig@yahoo.de</a></div>
<div style="direction:ltr;text-align:left;text-indent:0px;color:rgb(0,0,0)">
<a href="https://create3000.github.io/x_ite/" target="_blank">https://create3000.github.io/x_ite/</a></div>
<div style="direction:ltr"><br>
</div>
<blockquote>
<div style="direction:ltr">Am 24.02.2025 um 11:09 schrieb John Carlson via x3d-public <<a href="mailto:x3d-public@web3d.org" target="_blank">x3d-public@web3d.org</a>>:</div>
<div style="direction:ltr"><br>
</div>
<div style="direction:ltr">If someone knows how change the fonts of the standards to OpenDyslexic or ComicSans, that might be a great accessibility experiment. _______________________________________________<br>
x3d-public mailing list<br>
<a href="mailto:x3d-public@web3d.org" target="_blank">x3d-public@web3d.org</a><br>
<a href="http://web3d.org/mailman/listinfo/x3d-public_web3d.org" target="_blank">http://web3d.org/mailman/listinfo/x3d-public_web3d.org</a></div>
</blockquote>
<div style="direction:ltr"><br>
</div>
</div>
_______________________________________________<br>
x3d-public mailing list<br>
<a href="mailto:x3d-public@web3d.org" target="_blank">x3d-public@web3d.org</a><br>
<a href="http://web3d.org/mailman/listinfo/x3d-public_web3d.org" rel="noreferrer" target="_blank">http://web3d.org/mailman/listinfo/x3d-public_web3d.org</a><br>
</div></blockquote></div>