Is there a word processor that handles files like scrivener?

I have heard from several sources that the Pages text engine is actually built on the WebKit, which is also what Mail uses (and both programs do render some fonts much better than the regular text engine - look at “Z” in a Zapfino font, for instance). Aaron Hillegass - a Cocoa programming guru from whose book many of us self-taught programmers have learned the basics of Cocoa - has speculated that a WebKit-based text engine may eventually replace the NSText engine (the current standard one that we third party devs rely on) in OS X. Apple must have customised it a lot, though, as the WebKit isn’t capable of things like indents or line spacing in its raw form, because obviously it is intended for rendering web pages and HTML. They must have enhanced its rendering capabilities and built a rich text editing layer on top of it or alongside it. But of course it’s much easier for the people who coded WebKit - Apple - to branch off some of its code and alter it for use as a text engine than it is for third party to try to hack it to such a purpose. I believe that this is why Pages on the iPad is capable of rich text, too - because it is built on the WebKit (whereas third-party developers aren’t allowed to try to hack an HTML solution for rich text editing as it involves private APIs).

All the best,
Keith

I’ve heard that too (but nothing beyond speculation), and I’ve heard that Pages on iPad almost certainly uses a WebKit engine—that seems to be much more of a certainty, especially considering the state of UIKit’s limitations—and yes, nobody else is allowed to use that as an editable engine. Apps have been rejected for trying. Though I have to disagree on what WebKit is capable of. Line-spacing and indents would not be a problem for the CSS parsing aspect of it to handle. CSS can be set up to operate on a base font size, and then operating off of that, you can specify unit measurements relative to the font size. So a line spacing of 1.2 factor would be defined in CSS as “line-height: 1.2em”, which would proportionally increase according to the base font size. It is also capable of absolute sizing in pixel and point units bases. As for indenting, there is the text-indent CSS rule. By itself, it will indent the first line of a block (usually a paragraph) by absolute or ‘em’ unit. As a negative float, you can specify hanging indents; and with padding-left/right, it is possible to do full indents—blockquote style narrower margin sections (not intuitively, CSS margin rules are usually not the best solution here for various box model reasons). Meanwhile inter-paragraph spacing can be handled with block padding and/or margins as well. The whole RTF Spacing ruler would be trivial to implement in CSS.

CSS 2.1 is capable of nearly every typographic convention used in word processors, what it definitely is weak in is text flow. Columns, for instance, are very difficult to handle correctly. True columns are height restrained and flow from one to another; virtually impossible with raw HTML/CSS2 as there is no good way to say, “content from container W should flow into container X and when W+X overflows, build containers Y & Z”. However, with WebKit using CSS 3 (which I’m relative sure it is nearly fully capable of by now), there are better techniques than the old hacks for doing this.

Isn’t WebKit heavily based upon the Open Source Konqueror HTML rendering engine though? I always understood it that Apple was basically using the OSS engine nearly verbatim, and I suppose I reinforced that notion when WebKit and Konqueror both came out with CSS3 support nearly simultaneously. That was years ago though, it could be that by now Apple has forked it far enough that it is no longer recogniseable from its roots.

All of that aside, the ability to manipulate it as one would an RTF editor is definitely Apple. Whatever OSS rendering engine is going on in the base of it, they’ve done all of the wiring between Cocoa and it, making it possible to real-time edit. If they’d just let everyone else in on the game, that would be fantastic.

One further thing: I wouldn’t be shocked if Pages (for the desktop) uses a more robust XML than XHTML, but is something based on XHTML and CSS. Thus they needn’t re-invent the wheel, but can build off of a fairly solid text rendering environment.

I stand corrected - as you can tell, I’m no CSS expert. :slight_smile: What about tabs, though? Is it possible to have tabs between words to set tab stops in CSS?

There have been several proposals to add tabs to CSS in the past, but nothing has come out of this AFAIK. Normally, you would use tables or the element to achieve a tab-like effect. I’m pretty sure that a hypothetical webkit-based word-processor could handle that.

Using a combination of DIV elements set to “display: inline”, floats, width, and text alignment methods you could replicated tab stops within what appears to be a paragraph. What would be tricky is decimal tabs. I’ll have to think about that one. :slight_smile:

Perhaps I should sleep on it, given the time of… morning here. Ha.

I think it would be good to note here that most modern word processors are in fact using some form of XML+CSS these days, from what I understand. Even Word and OpenOffice.org.

Decimal tabs, if you can trap the float separator (and if you are Apple, why not?), could just be two cells with opposing alignment.

Sorry to dredge this out of the archives, but devonthink can merge documents into one. The Data>merge command will merge multiple selected documents into one. It’s been able to do this for a long time

Actually, I was first thinking that devonthink can be used just like scrivener in workflow, because you can easily rearrange documents between groups and sequentially. Then merge them into one rtf.

In theory it’s right, but scrivener provides such a nicer UI for this task that I have both. DT doesn’t have index cards. Apart from that, it can actually do all that scrivener can as far as front end writing can. But it’s sort of like using a semi truck to cart a case of eggs when it comes to visualizing document organization.

Scrivener gives the elegant workspace focused in writing that makes the middle work of writing so nice. The organization and rewrites. For this, it is like driving those eggs around in a bentley.

That’s why some many dt users use scrivener, IMHO.

But, devonthink can not only merge docs, it can do something scrivener can’t in early writing process, which is help me analyze and verify data and ideas against my research sets.

Not as important in fiction, but for legal work and some academic theses, as an open/global learner type myself, devonthink can’t be beat, period. For the middle work and idea development and basic synthesis work, scrivener is a Godsend. Too nice!

True, I wasn’t really thinking of merging though when I said that, merging is okay, but has a number of weaknesses when applied to this context. All it does is combine files, and destroy their meta-data in the process. It doesn’t give the final document a uniform look and feel, or assemble the document from various bits and pieces like Scrivener can. Merge can be a useful tool, Scrivener has a merging function as well, but for turning 300 pieces of outline into a book, that’s probably going to be way more headache than plunking down $40 bucks for Scrivener. :slight_smile:

What looks more promising to me, now that I’ve played with it a bit, is DT2’s ability to save out a folder as a single file of some chosen format. That’s going to be a lot closer to being “Scrivener” like in what you are actually doing. It still requires you to work in a WYSIWYG mentality, unlike Scrivener, but at least the original outline isn’t destroyed.

Right, for those that need that, sure. That is why there are so many Scrivener writers who also use DEVONthink. I really don’t think the two compete much at all. You can hack massive databasing into Scrivener but it really isn’t made for it. You can hack massive writing into DT, but it isn’t really made for it.

The two make a nice pair for those that need both of those in extremes. Everyone else can probably get away with one or the other.

Imagine being able to make one or several DT groups appear as folders in Scrivener’s Binder, staying in sync…
Just dreaming.

Oh now that’d be Dee-luxe. I could spend more time looking at my scotch instead of figuring out what needs to be synced.

No doubt. :wink:

Nice dream, though.