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

John Carlson yottzumm at gmail.com
Wed Feb 26 18:04:04 PST 2025


Looks great,  The yellow will be applied to the cyan. Is the new node an
alternative to the old FontStyle, or can both be used together?

On Wed, Feb 26, 2025 at 7:40 PM Brutzman, Donald (Don) (CIV) via x3d-public
<x3d-public at web3d.org> wrote:

> Dick and I worked on suggested prose for X3D 4.1 with details continuing
> in Mantis 1490 below.
>
> Review request:
>
>    - X3D 4.1 Architecture (draft), 15 Text component, 15.4.1 FontStyle
>    -
>    https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4.1-CD//Part01/components/text.html#FontStyle
>
> Improvements:
>
>    - Include all X3DURLObject fields,
>
>   SFTime   [in,out] autoRefresh          0.0    [0,∞)
>   SFTime   [in,out] autoRefreshTimeLimit 3600.0 [0,∞)
>   SFString [in,out] description          ""
>   SFBool   [in,out] load                 TRUE
>   MFString [in,out] url                  []     [URI]
>
>    - Decided to NOT overload functionality of *family * field by adding
>    file names (sorry Holger!  adjusting your implementation will likely be
>    simple in comparison)
>
>    - New prose:
>
> The *url* 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
> *url* 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 *url* 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.
> X3D browsers shall support WOFF (MIME type application/x-font-woff) (see W3C
> WOFF File Format
> <https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4.1-CD//Part01/references.html#W3C_WOFF>).
> Support for the OpenType file format (MIME type
> application/x-font-opentype) (see OpenType Specification
> <https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4.1-CD//Part01/bibliography.html#OPENTYPE>)
> and TrueType file format (MIME type application/x-font-truetype) (see ISO/IEC
> 14496-22 Open Font Format
> <https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4.1-CD//Part01/references.html#I14496_22>)
> is also recommended.
> Security, licensing, and copyright/usage permissions are handled via the
> exposure of a font file itself.
> Support for the *autoRefresh*, *autoRefreshTimeLimit*, and *load* fields is
> optional.
> More details on the *autoRefresh*, *autoRefreshTimeLimit*, *description*,
> *load*, and *url* fields are contained in 9.2.1 URLs, URNs and URIs
> <https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4.1-CD//Part01/components/networking.html#URLs>
> .
> Looking it over, adding more functionality to FontStyle node seems to be
> unwise.  Dick has an excellent proposal:
> TODO alternative approach: move all new functionality into a separate
> *FontLibrary* 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.
> Feedback is welcome.
> Leaving existing FontStyle implementations alone probably avoids many
> unintended side effects.  First law of engineering:  "If it ain't broke,
> don't fix it."
>
> Thanks for all review.  It feels like we are finally converging on a
> straightforward approach to valuable future capabilities.
>
> Have fun with X3D fonts!  😎
>
>
> 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:* Brutzman, Donald (Don) (CIV) <brutzman at nps.edu>
> *Sent:* Monday, February 24, 2025 9:32 AM
> *To:* X3D <x3d-public at web3d.org>
> *Cc:* Holger Seelig <holger.seelig at yahoo.de>
> *Subject:* Re: [x3d-public] Open dyslexic and/or (unfortunately)
> comicsans fonts; draft X3D 4.1 prose for font files and libraries
>
> Wow, really super Holger!  🙂
>
> 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.
>
> I've attempted to capture this candidate specification change in a Mantis
> issue.  All review, feedback, and improvements are always welcome.
>
>    - Mantis 1490 FontStyle handling of font files and font libraries
>    - https://mantis.web3d.org/view.php?id=1490
>
> Description.
> A goal for X3D 4.1 is use of font files in FontStyle (see Mantis 0001464
> <https://mantis.web3d.org/view.php?id=1464>).
>
> Addition of individual-font files might be accomplished by listing the
> font file name in the FontStyle 'family' field.
>
> 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.
>
> - "MFString [in,out] url [] [URI]"
> - "The family field may list a specific font file. A font listed in the
> family field may be provided by a corresponding font library."
> - "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."
>
> Support levels: add "Level 2, FontStyle, support for font files in family
> field and support for font libraries via url field ."
>
> 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.
>
> Additional information.
> - X3D 4.1 (draft) Architecture, 15 Text component, 15.4.1 FontStyle
> -
> https://www.web3d.org/specifications/X3Dv4/ISO-IEC19775-1v4-IS/Part01/components/text.html#FontStyle
>
> - X3D 4.1 (draft) Architecture, 15 Text component, 15.4.2 Text
> -
> https://www.web3d.org/specifications/X3Dv4/ISO-IEC19775-1v4-IS/Part01/components/text.html#Text
>
> - X3D 4.1 (draft) Architecture, 15 Text component, 15.5 Support levels
> -
> https://www.web3d.org/specifications/X3Dv4/ISO-IEC19775-1v4-IS/Part01/components/text.html#SupportlLevels
>
> Have fun with X3D Text!   :)
>
>
> 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 Holger
> Seelig via x3d-public <x3d-public at web3d.org>
> *Sent:* Monday, February 24, 2025 2:48 AM
> *To:* X3D <x3d-public at web3d.org>
> *Cc:* Holger Seelig <holger.seelig at yahoo.de>
> *Subject:* Re: [x3d-public] Open dyslexic and/or (unfortunately)
> comicsans fonts
>
> 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:
>
> <?xml version="1.0" encoding="UTF-8"?>
> <!DOCTYPE X3D PUBLIC "ISO//Web3D//DTD X3D 4.0//EN" "
> https://www.web3d.org/specifications/x3d-4.0.dtd">
> <X3D profile='Interchange' version='4.0' xmlns:xsd='
> http://www.w3.org/2001/XMLSchema-instance' xsd:noNamespaceSchemaLocation='
> https://www.web3d.org/specifications/x3d-4.0.xsd'>
>   <head>
>     <component name='Text' level='1'/>
>   </head>
>   <Scene>
>     <Transform DEF='Text'>
>       <Shape>
>         <Appearance>
>           <Material/>
>         </Appearance>
>         <Text
>             string='"3D Text"'>
>           <FontStyle
>               family='"path/to/your/font.otf", "SERIF"'/>
>         </Text>
>       </Shape>
>     </Transform>
>   </Scene>
> </X3D>
>
> Supported File Formats:
>
> https://create3000.github.io/x_ite/components/text/fontstyle/#supported-file-formats
>
> Best regards,
> Holger
>
> --
> Holger Seelig
> Leipzig, Germany
>
> holger.seelig at yahoo.de
> https://create3000.github.io/x_ite/
>
> Am 24.02.2025 um 11:09 schrieb John Carlson via x3d-public <
> x3d-public at web3d.org>:
>
> If someone knows how change the fonts of the standards to OpenDyslexic or
> ComicSans, that might be a great accessibility experiment.
> _______________________________________________
> x3d-public mailing list
> x3d-public at web3d.org
> http://web3d.org/mailman/listinfo/x3d-public_web3d.org
>
>
> _______________________________________________
> x3d-public mailing list
> x3d-public at web3d.org
> http://web3d.org/mailman/listinfo/x3d-public_web3d.org
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://web3d.org/pipermail/x3d-public_web3d.org/attachments/20250226/74f74579/attachment-0001.html>


More information about the x3d-public mailing list