Text classes
javafx at use.startmail.com
javafx at use.startmail.com
Tue Dec 5 23:55:10 UTC 2017
No Oracle plans !!!
My one sentence rant:
Interactive infographics are a cool way to represent complex
information and actgually represent a genuinely new way to communicate
information which in some cases is also the best way or all possible
ways, but there are at least two other ways that are also the best way
under some circumstances- mathematics and the printed word. You can't
possibly think you're going to release a GUI toolkit that doesn't fully
support the written word. The vast bulk of civilization goes forward on
the written word.
I would gladly do it or join an effort but I can't get JavFX to build
and after a real, full week or trying, gave up for-ev-vah and moved on
to other stuff. I am going to leverage Swing for my Fontly needs and am
brushing of my C++ in case it JavaFX never does it and Oracle
(foolishly!!!) deprecates Swing ....at which point it's abandon Java
for me.
(Really, it's not seen as practical to use the existing implementation
under the hood in FX ? Not even as a jumping off point? )
At the end of my WeekFromHellTryingToBuildJavaFX I had a couple of what
I considered to be insights, based on my limited knowledge of JavaFX ,
which I'm going to pretend I don't realize are likely of sub-zero
interest to readers of this forum and consequently share with you.
One was-
Yeah.... large, possibly huge, text documents are not the best fit for
the particular scene graph implementation that is JavaFX.
In short, JavaFX is *almost* a physics engine in the sense that a
change in the size of THAT Node a way over yonder could crerdibly cause
a repositioning of any or all Nodes in the scene graph as a result of
resizing and the reactions of layout managers to that resizing. What
that means for Big Text documents with LOts Of Text Nodes is a change
in any of the CSS property values (or mutation of the words themselves)
could kick off quite a process or recalculating where the CPU sucking
methods that show up in my profiler, mostly reclaculating Rectangular
bounds, are going to bring your program down.
I can get about 20k nodes to step lively in a program but 200k Nodes
makes the scene never render at all, much less be usable. That's the
scene graph. But documents have more than 200k words in them, If a
change in font or style delineates the boundaries of a (causes the
creation of a new) Text Node (it is) then it's just waaaay too easy to
generate waaay too many Nodes and, looking intothe future of Text
where whole chunks of it will be created by computers (AI) but consumed
by humans (analysis, digestion) TooManyNodes is only going to get
worse.
So there's that.
Another was:
We devs have made quite a little problem for ourselves with respect to
being able to communicate to others of our kind the necessary and
siffcient conditions a machine must be in in order to build a pierce of
software.
We really have no way to put an alien computer into a build-ready state
or even communicate the conditions it needs to be in in real actionable
detail. Talk about versions of this and defining system variables to be
that are at best partial, ad-hoc efforts doomed to fail for a large
number of people and ultimately backed by ignorance about the ACTUAL
state of our own machines and chock-o-block woth unwarranted
assumptions about the state of the would-be builder's machine. Variable
are defined randomly in build scripts and those variables are often
literally stitched together over widely separated statements from
variables' values assumed to be present on the machine and assumed to
hold certain values.
Build scripts are necessarily dependent on assumptions about the
specific internal state of third party software they have no control
over and that state is often temporary, en passant, shortly to become
literally unavailable to future devs.
Organizations can mothball the required versions of software, create
identical machines and have build vetrans available to troubleshoot the
build but even those savants have no way of communicating to others
what the magic is in their witches brew and they themselves are not
aware of everything that goes into a successful build.
It's as I said, a wicked problem.
On Tuesday, December 5, 2017 3:41 PM, Phil Race
<philip.race at oracle.com> wrote:
> This is a gap it would be nice to fill.
> Since it is not a small effort to do right there'd be a design side
> as
> well as implementation so it can't be just 'slid in'.
> And I don't think just moving internal APIs to public is the way to
> approach it.
> There are no current plans to allocate Oracle resources to do that
> work.
> But this is an open source project, so if someone on this list is
> willing to design & contribute it - and of course
> fix the issues and long term maintain it - then that would be great.
>
>
> -phil.
>
> On 11/25/2017 03:40 PM, javafx at use.startmail.com wrote:
>> Hi, This is a question about the future of Text under Javafx.
>>
>> Very briefly, Swing provided access to everything a dev could need
>> in
>> order to write a rich text editor from scratch. LineBreakMeasurers
>> and
>> HitTesting and everything.
>>
>> In JavaFX these things are not directly available to the dev and
>> anyway, to the extent that they are, they cannot be used to write a
>> rich text editor..
>>
>> There are many classes needed involving the measuring of glyphs and
>> text lines etc etc etc which would be needed for anyone who wanted
>> to
>> write their own rich text editor. They exist, but are under sun.com
>> and given the modularization of Java 9 are truly inaccessible to
>> developers.
>>
>> I am aware of the existing Javafx controls. I am also aware of the
>> efforts available at GitHub and elsewhere to create a rich text
>> editor
>> and all of them without exception are handicapped by this same lack
>> of
>> API.
>>
>> I am also aware of HTMLEditor in JavaFX but that 1) commits the dev
>> to
>> WebRenderer and 2) still doesn't provide access to the needed
>> classes
>> and methods. It's not sufficient to suppose that HTML 5 or whatever
>> follows is the answer to all text layout challenges.
>>
>> Formerly, Swing had all these missing features available as API and
>> many good text editors were created using those APIs.
>>
>> For the sake of future planning, we really need to know- is there
>> any
>> recognition within Oracle that this is something which has to be
>> addressed? Is it on any hypothetical roadmap? Or is HTMLEditor as
>> much as JavaFX is going to provide ?
>>
>> Thank you.
More information about the openjfx-dev
mailing list