Many of the items below (meaning excluding the caret features and app control of line spacing) are on my list of
things to work on.

phil

On 1/26/23 12:33 PM, Scott Palmer wrote:
[dupe of private message, now including the mailing list]

I've been using RichTextFX to make my own code editor/IDE.  I see that you have asked that project specifically on GitHub, excellent. One thing that I wanted to do was to use a font like Fira Code that combines characters such as != or >= into a single glyph, but there are no APIs to request that JavaFX render those optional ligatures. Swing APIs automatically do. In fact just implementing some basic font selection has been tedious.  Getting the font family from a Font object and trying to use it in CSS to specify -fx-font-family simply doesn't work sometimes.  Trying to filter the list of available fonts to show only those that are fixed-width is tedious.  I tried to hack something by measuring a couple different characters from the font that would normally be different widths, but this is an unreliable hack. Allowing the user to choose a preferred font and then configuring components to use it via a CSS stylesheet is simply more difficult than it should be. A few years ago I contributed the changes to make the tab-width configurable, which helped with my project a little bit.  Other APIs are needed to better control line spacing and measure font baseline offsets and that sort of thing.  I see there is an issue for caretBlinkRate, what about changing the caret shape? E.g. block, underscore, vertical bar, etc.   Should the block be solid or an outline? Why is caretShape read-only? Why does it return an array of PathElements instead of simply a Shape which by default would be a Path?  More control of kerning and general spacing might be nice. I've wanted that in the past, not for a rich text control, but for doing video titles.  I can see how the two needs overlap though.  I recently asked here about rendering emojis.  That's currently very unreliable and broken.  Getting something to work consistently cross-platform is not easy.  Sometimes emojis are rendered in color, other times not.  Mac renders color emojis in gray and at the wrong size (since  the sub-pixel rendering was turned off to match macOS).  On Windows the emojis are never in color.

Regards,

Scott

On Wed, Jan 25, 2023 at 10:41 PM Scott Palmer <[email protected]> wrote:

    I've been using RichTextFX to make my own code editor/IDE.  I see
    that you have asked that project specifically on GitHub, excellent.
    One thing that I wanted to do was to use a font like Fira Code
    that combines characters such as != or >= into a single glyph, but
    there are no APIs to request that JavaFX render those optional
    ligatures. Swing APIs automatically do.  In fact just implementing
    some basic font selection has been tedious.  Getting the font
    family from a Font object and trying to use it in CSS to specify
    -fx-font-family simply doesn't work sometimes.  Trying to filter
    the list of available fonts to show only those that are
    fixed-width is tedious.  I tried to hack something by measuring a
    couple different characters from the font that would normally be
    different widths, but this is an unreliable hack. Allowing the
    user to choose a preferred font and then configuring components to
    use it via a CSS stylesheet is simply more difficult than it
    should be.
    A few years ago I contributed the changes to make the tab-width
    configurable, which helped with my project a little bit.  Other
    APIs are needed to better control line spacing and measure font
    baseline offsets and that sort of thing.  I see there is an issue
    for caretBlinkRate, what about changing the caret shape? E.g.
    block, underscore, vertical bar, etc.   Should the block be solid
    or an outline? Why is caretShape read-only? Why does it return an
    array of PathElements instead of simply a Shape which by
    default would be a Path?  More control of kerning and general
    spacing might be nice. I've wanted that in the past, not for a
    rich text control, but for doing video title.  I can see how the
    two needs overlap though.  I recently asked here about rendering
    emojis.  That's currently very unreliable and broken.  Getting
    something to work consistently cross-platform is not easy. 
    Sometimes emojis are rendered in color, other times not.  Mac
    renders color emojis in gray and at the wrong size (since  the
    sub-pixel rendering was turned off to match macOS).  On Windows
    the emojis are never in color.

    Regards,

    Scott

    On Wed, Jan 25, 2023 at 5:38 PM Andy Goryachev
    <[email protected]> wrote:

        Dear colleagues:

        I am trying to identify missing public APIs needed to support
        a rich text control.  There is a number of tickets created
        already against various parts of JavaFX, collected in
        https://bugs.openjdk.org/browse/JDK-8300569 , though I suspect
        this list may not be complete.

        If anyone has any suggestions or requests related to the new
        APIs, I would be very interested to learn the context, the
        reason these APIs are needed, and whether a workaround exists.

        Thank you in advance.

        Cheers,

        -andy

Reply via email to