Want to Talk to Me?
Martin Sevior wonders how one talks to me.
Well, you come over to my blog, and you leave a comment. I'd have answered Martin's question by leaving a comment there, but his blog doesn't have comments turned on.
Rick
Currently playing in iTunes: Whipping Post by The Allman Brothers Band
Comments
Anonymous
March 12, 2005
Hi Rick,
What a surprise! I never thought I'd be able to talk directly to a genuine MS Word developer.
I have so much to ask. Just a couple of questions to start...
MS Word has a gazillion features. How do you determine what is useful and what is bloat?
What if anything would you remove given your druthers?
Another question would be, how does a feature request filter up to you?
Cheers!
Martin
PS.
My email address is msevior &*&%^ physics #$ unimelb @# edu $% auAnonymous
March 12, 2005
Hi Rick,
Here's another question. We've been reasonably successful at reverse engineering the MS Word binary format.
Is there a source of documentation to the format you know I'm allowed to read and use without signing an NDA?
Thanks!
MartinAnonymous
March 12, 2005
First, if you want an e-mail conversation, you an use the "contact" link on my home page. You don't have to follow any secondary links in order to drum up my e-mail address.
How do we determine what is useful and what is bloat? We ask our customers. As it turns out the "bloat" tends to be rather small. While few individuals use more than 60% of Word's features, well more than 90% of Word's features get used.
What would I remove? Marching red ants, but the code to support animated text is so small, that removing it would be a negligible reduction in Word's size. So, I spend my time working on things that we believe will have a more positive impact on our customers' overall value proposition.
How does a feature request filter up to me? Program managers use a variety of information sources to design how features ought to behave, including individual feature requests. After a program manager has written a draft of a feature specification, then a cross-disciplinary team reviews the spec before I actually sit down and write a design document. Another cross-disciplinary team reviews my design document, and then I start writing code.Anonymous
March 12, 2005
I'd suggest Google. The format spec is on the web. No NDAs required.Anonymous
March 13, 2005
As far as I'm aware, the only spec on the web is for Office 97 not any newer versions and is actually hosted by an AbiWord developer. When I last searched for this information I also came to the conclusion that the format specs had to be licensed for newer versions. The "free" spec (really just grabbed from MSDN when it was up there for a short while) was very hard to read and consisted mostly of code that had clearly been copied/pasted from the Word sources itself.Anonymous
March 13, 2005
Mike, as far as I know, that <em>is</em> the only spec that's been written. Nothing I've seen internally has been updated since then.Anonymous
March 13, 2005
The comment has been removedAnonymous
March 13, 2005
OK here is is a technical question.
I am very impressed with the Scalability of MS Word. Your application generally degrades it's performance gracefully with document size.
At present the fundamental limit of how well AbiWord scales with document size is that our PieceTable (Document Model) is constructed as a linear, doubly linked-list and we fundamentally need to know the position of every fragment of the list.
So when an insertion or deletion happens in the document we need to update the position of every fragment in the document.
This means of course that insertions or deletions will degrade linearly in speed with
the document size.
Does MS Word also need to do this?
One of our developers experimented with implementing the PieceTable as a tree with each fragment of the PieceTable knowing only it's local size and it's relation to it's neighbours. Insertions/deletions into this structure only ever involve updating the links to the fragment and the fragment's own size.
Document positions are determined by navigation through the tree.
Consequently insertions/deletions degrade logorithimically with document size.
See:
http://e98cuenc.free.fr/wordprocessor/piecetable.html
Is this something that MS Word does already?Anonymous
March 13, 2005
Do I think AbiWord getting some favorable reviews against Word is a failure of our process? No. Clearly there are some users who don't want all of what Word offers. There's a difference between satisfying everyone and maximizing the met need over a broad user base. Read through some of the archival posts I've made, in particular with respect to value propositions.
The only thing I'll tell you about Word's piece table is that you guys have been thinking in the wrong direction ;-)Anonymous
March 13, 2005
The comment has been removedAnonymous
March 13, 2005
Well, it turns out that the equation editor is a feature used by a relatively smaller portion of the market. The answer, then, is that, by not spending much time bringing the UI for equations more up-to-date, we've been able to do work that appeals to a broader cross-section of the market.
That doesn't necessarily mean that we won't revamp equations at some point in the future. It does, however, mean that our understanding of the market and broad user base is distinctly different from yours. But, then, that was my point.Anonymous
March 13, 2005
Geez, talk about antagonizing questions.Anonymous
March 13, 2005
The comment has been removedAnonymous
March 13, 2005
The comment has been removedAnonymous
March 13, 2005
OK Rick,
That was an interesting point about "Not enough resources to justify the work". We tend to view MicroSoft has having infinite resources. I would have guessed that the MircoSoft Office profits which I guess run at around $2,000,000,000 per year would be sufficient to hire a few 100k$/year programmer(s) to get a decent equation editor. There are number floating around the Free Software world that are significantly better than yours.
OK Another technical question. How much of the code base of the Mac and Windows versions of MS Word is shared? We in AbiWord are quite proud of clean seperation between our cross platform backend and our various Front Ends. It means every platform gets a native look and feel.
We do this by implementing class structures with a cross platform base class containing abstract virtual methods and derived children which implement the methods in platform-specific methods?
Is this the route that you use? Do you have a more entwined solution ala the Open Office VCL or the Mozilla XUL? Or have you just hacked out the Windows calls and replaced them with OSX? Or something else?
Care to comment on which approach you would prefer if you had the chance to do it again?Anonymous
March 14, 2005
Hi Rick.
Looks like you opened up a can of worms with your invite. :) I just hope you don't give away any trade secrets to the competition. LOL
ClarenceAnonymous
March 14, 2005
Bi, I've already blogged about some of the things we do for market research. As for whether or not this makes a product "better" in the over-all sense, I think you need to look at more than one feature.
Axel, yes, there is some part of chicken-and-egg problem involved, but it's really more a matter of priorities. Given a choice, for example, between reimplementing a better UI for equation editing and implementing the UI for styles I mentioned in the Deaf Developers post, the UI for styles will win every time. Very simply put, the new styles UI will benefit far more users than a new UI for equation editing.
Martin, it might be convenient to think that we have infinite resources, but the fact is that we don't. It doesn't matter what revenues one has, one still faces opportunity costs. Moreover, there's a point of diminishing returns with the number of developers working on a single project.
Win and Mac office "share" quite a bit of source, but the trees have been forked following the release of Office 97. From time-to-time, we'll merge changes accross the two branches, but it's not like we build each others sources on a daily basis.
As for what I'd do differently, see my post on Mac Word 6.0.
Clarence, yes, it is rather amusing that I'm being asked some questions that would constitute a competitive advantage (e.g. regarding the details through which Word's performance degrades gracefully). Despite that, it's good to hear from you, and I hope you're enjoying your retirement. We miss you, and I don't think I need to say why here :-).Anonymous
March 14, 2005
The comment has been removedAnonymous
March 14, 2005
Don't hold it against Martin. His surroundings in terms of developers less old, less wise, and less altruistic tend to diminish the benefits of the rigor of his profession.
As the free software community in general ages (spoken like a true old fogey, I know), I think that the intellectual rigor with which they treat themselves, their projects, and their surroundings will finally come up to match their ability to churn out lines of code.Anonymous
March 14, 2005
The comment has been removedAnonymous
March 14, 2005
The comment has been removedAnonymous
March 14, 2005
Oppenheimer, one wonders what the result is when people churn out many lines of code in the absence of rigor :-).
Jason, Martin might well have given me a backhanded compliment, but I was hoping someone who speaks so eloquently about openness and honesty could be a little bit more careful about the truth.
Martin, you asked how someone talks to me. I answered your question rather openly and honestly. As for limits on the extent to which I'm allowed to be open, a good number of the secrets to which I am privy have little to do with Microsoft. It is part and parcel of life as a professional software developer.
Your image of our feature process is both amusing and telling. I'm most struck by the absence of any understanding of how one might approach the issues more proactively. Market research is not rocket science. They even teach it in business schools :-).
As for not finding resources, why would you ever believe that some level of revenue somehow obviates opportunity cost? I think I'm as baffled by your apparent inability to understand the concept of opportunity cost as you seem baffled by the fact that we are still subject to its operation.
Perhaps rephrasing the point will help to make it clear: it's not a matter of ability to do something. It's a question of choosing what to do based on priorities set through a proactive process of understanding what will be most beneficial users.
For that reason, we aren't going to fix everything we might want to fix in any given product cycle. Why is that so difficult a concept to understand? You do recall me saying that we might fix this at some future date?Anonymous
March 14, 2005
The comment has been removedAnonymous
March 14, 2005
Martin,
Perhaps your understanding of what ought to be fixed, and how, is somewhat limited? Suppose we make the process of inserting an equation, using the current Equation Editor, more direct and simple. Does that really solve some of the more significant issues users have with creating equations in Word?
I'm glad you've found Word to be an inspirational work :-). Out of curiosity, what are your thoughts on how Word's change-tracking features have evolved over time?Anonymous
March 15, 2005
This has been a very interesting read, thanks Rick.
A note on the docs for the binary Word 97 file: they are incomplete even with regards to the 97 features and what's worse, they contain numerous factual errors, but I suppose that's life (and presumably your source code contains all the comments you need).Anonymous
March 15, 2005
The comment has been removedAnonymous
March 15, 2005
The comment has been removedAnonymous
March 15, 2005
The comment has been removedAnonymous
March 15, 2005
The comment has been removedAnonymous
March 15, 2005
Rick,
I implore you to watch your tone in your replies. I found one reply to be somewhat rude, condescending and insulting, especially since you invited the conversation.
Now many of us lurkers already have a somewhat lower opionion of MS and their practices, I'm sure you are not eager to reinforce that those thoughts.
It's a really shame you are unable to get into some of the technical detail. For me that is far more interesting than the process.
Lastly, Martin, I feel much more awe at the achievements of AbiWord. A nimble cross platform wordprocessor written by a disparate bunch on unpaid hobbyists being compared to the cash-cow product of a mega-corp. Quite amazing.
Now that I have shown my bias, I hope the 'softies don't dismiss the comment out-of-hand.Anonymous
March 15, 2005
The comment has been removedAnonymous
March 15, 2005
Rick wrote:
"Tomas, you expect the documentation for something as complex as Word's file format to be entirely accurate? :-). Fundamental principle of all software: the truth is always in the code."
And Rick <a href="http://uwog.net/blog/?p=39#comments">also wrote</a>:
"Now, exactly what benefit do I get by GPL’ing Word source?"
I think that the quote at the top of this comments perfectly answer the question in the second quote....
Opening the source code of Word would open the file format of Word document, and give some respect to your customers.Anonymous
March 15, 2005
Which is the new UI for tracking changes; is it the one in Word 2000, or later? I will try to give you more specific feedback later, but as a user, the main thing for me is to be able to locate and accept/reject changes quickly; I do that by recording an 'accept and find next' and 'reject and find next' macros and assigning keyboard shortcuts to those (I prefer using kbd to the mouse).
On a separate note, could I, on behalf of all the academics and students out there, plead for a bug to be fixed? Since Word went 32 bit many years back, it has the tendency to place footnote text for a footnote that is near the end of page on the page following the reference. The start of a footnote text should always be on the same page as the reference, it can continue on the following page if necessary. I have wasted countless hours tweaking fmt to work around this, not mentioning the irritation this causes me reading through other people's papers. In fact, I have a coleague who insists on using Word 6 for this very reason. Please, would you guys fix this? Or perhaps footnotes do not represent sufficient oportunity to justify the cost?Anonymous
March 15, 2005
Bystander:
Thanks for your support and interest. But really I did do Rick a disservice when I jumped to a conclusion based on a hasty reading his first response and my own preconceptions.
He was right to call me on it and I appologized publically on my blog.
Rick to clear up another mis-conception. The site where I host my blog, Advogato has no comment system. This site pre-date the current craze of blogging by several years and is rather archaic generally. However I like it because of the community feel and support.
Rick I'm not quite sure how to take this sentence.
"Oppenheimer, one wonders what the result is when people churn out many lines of code in the absence of rigor :-)"
Taken in conjunction with Oppenheimer's post it could be either a wry smile and that things are not what they seem, (thanks!) or a sign that you guys actually believe your own marketing (very amusing :-)).
Regarding "Track Changes", well the next time I get the chance to test the latest version of MS Word (I can't afford it) I'll have a look.
Hmm maybe I can scam some time at a retail shop.
OK on to equation editting.
Well firstly it is clear that the UI directing one to the feature is confusing to say the least. As bi has already pointed out "Insert Object=>Create New=>choose... equation" definately makes it hard to find the feature. Just giving maths it's own "insert" catergory would be an enormous help for your cause.
I often receive assignments written by students in MS Word except for the equations which are scribbled in by hand. I would guess that only 30% of Physics students who otherwise use your product know anything about the equation editor.
You have failed to make an easy-to-use facility. I'm saying this as a fact, not casting aspersions on the work that went into it. I know it's hard to make entering maths easy.
Your definition of opportunity cost makes some of your decisions easy for me to understand. Though I would argue that the Mac Business Unit should have complained louder at having one the Mac's strongest market segments, Schools and Universities, ignored by hiding your maths facility.
Next, as you say, equations as out-of-process COM objects was just a bad idea. It's just too slow. You can scroll a page full of equations and stare at blank space for several seconds until they appear. Also you can't edit the equations in place in the document. The fonts are not integrated with the equations either. If you highlight a row text containing maths and change the font size, the maths doesn't change size appropriately.
OK I don't know this for absolute fact but I asserted it point blank to someone who should know and he didn't deny it. Please correct me if I'm wrong.
By far your biggest mistake was doing the deal with the company that supplies your equation editor. I don't why you guys agreed to ship deliberately broken code but it really is infuriating to customers. You know it. It's broken just enough to be annoying without breaking your document. Who wants to get a pop-up add while fighting with a broken piece of code saying "If you give us more money we'll ship you something that works."! I mean come-on! Every single member of any focus group you run would tell you that this is a lousy thing to do. You know it's a lousy thing to do.
I once had a very angry conversation with the CEO of the company that supplies your equation editor. His whole business model appears to be to make your product bad enough for people who use maths to buy his product as well.
It's always a bad idea to ship deliberately broken stuff. People know when they're being used. They hate it. I hated it. I guess you decided the opportunity cost of doing your own product didn't justify it.
OK enough rant. In my next post I'd like to explain what I think is the cool stuff we've done (and still doing it not complete) with Maths in AbiWord.
Cheers!
MartinAnonymous
March 15, 2005
Hi Rick,
as this turned out be a "night of questions and answers", i'd like to find out about one annoying thing about MacWord. Or at least some deeper explanation how Word works internally.
I work in company where I receive lot of latvian & lithuanin texts, written in WinWord. My job is to copy paste them into various layouts, for example Quark. What makes me angry is Word's way of changing characters not present in current font. I open Latvian text and it is shown using _ in the place of such characters. Then I open font from menu and see some strange choices (Times CE, Helvetica CE,...) which are not present in other programs . I change the text into Times CE and after that I see all the characters correctly. C&P into Quark, works well too. But if I do not change the font, all those underscores are copied and pasted and all the text is ruined. Why? On the other hand - if I change the font into something I use in Quark final layout ( some Frutiger CE I have here), then the underscores stay, again c&p and text is ruined. But using the same Frutiger CE in Quark works well ( after times ce in word and c&p).
Why must you use underscores and ruin the original text in such way? And if there's a good explanation to show those characters, then why cannot you copy the original ones to clipboard?Anonymous
March 16, 2005
The comment has been removedAnonymous
March 16, 2005
Rick,
Thanks for hosting an interesting discussion. Figured I'd de-lurk by asking my own questions (from a total non-programmer's stance): what do you think of Xcode? Versus your use of Metrowerks? And how does that choice of build environments affect the end user?
I bookmarked this blog when you first explained your take on Carbon vs. Cocoa, which was elucidating for me. And I'll readily confess that, before that, I'd always ascribed Word X's sluggishness and quirks (esp. its weird visual artifacting) to what I imagined was an especially crufty codebase -- and I also took it as evidence that Carbon didn't compile as well as Cocoa, performance-wise. My experiences with the teensy-download Mellel (which boasts of its Cocoa pedigree, IIRC) also reinforced these beliefs, whether true or not.
Add to that thinking the commonly-reported statement that Mac OS X got faster with each release in large part because the GCC compiler gets better (I've heard claims like 5-10% speed increases), and I've always wondered: well, apart from starting fresh in Cocoa, then why doesn't MS occasionally update old software to take advantage of these new & improved compilers -- just drop the Office v.X source into the latest rev of Xcode, and press some big red 'compile' button and.... presto, 5-10% faster version of old program, right? (Actually, I'm guessing the answer is 'no', but I'd love to understand why.) And, presumably, you'd pass that along to users...
Anyhow. I suppose I find the whole business of compilers and performance rather interesting, if only because it seems (again, to a non-programmer) like such an easy way to squeeze a bit more speed out of the same old code... like old-school disk defragmentation, in a sense. But does it really matter/work?
cheers,
jasonAnonymous
March 16, 2005
Jason,
Personally, I like XCode. It's a nice environment, and I don't have build-tool restrictions that are inherent in Metrowerks' build model. I can, for example, quickly cobble together a simple shell script as a build step to, say, run flex and bison to generate a quick-and-dirty parser.
As for our use of Metrowerks, that's dictated more by legacy code than anything else. Things like the order of allocation of bit fields within a data structure can be really problematic when one moves from one compiler to another. And, not using bitfields is simply not an option (some of these data structures are written to the file).
Do I think there's a significant performance hit because we use Metrowerks and not XCode/GCC? Not really. We've already optimized a number of core bits such that incremental improvements in compiler technology won't really help much. There is the CFM vs Mach-O issue, but we really won't know until we make that transition (which is, itself, independent of the Metrowerks vs. XCode issue).
Will we eventually move to XCode rather than Metrowerks? I can't say with any authority. I'd like to. Apple would certainly like us to. But the decision isn't mine to make.
As far as perfromance is concerned, however, a move from one compiler to another, particularly from one completely different compiler implementation to another, can actually have a negative effect. That's because you have a tendency to learn the quirks of the older compiler, and have written the code in such a way as to take maximum advantage of the old compiler's idiosyncracies.
Word has additional considerations outside of the choice of compiler. Word relies very heavily on the concept of caching. This is a tricky concept to work with, because changes to underlying data require that you invalidate the caches. However, if you are too aggressive at invalidating caches, then you suffer a significant performance hit--might as well not have the cache at all.Anonymous
March 16, 2005
The comment has been removedAnonymous
March 16, 2005
The comment has been removedAnonymous
March 17, 2005
Rick,
I think you (and we all developers) have a problem: given that we hear request, opinions and so on from our customers (we like rather talk about "users"), we have a vision biased by design. Take my case: I am a Math, so I never will use Word for writing maths papers, so you never vill hear from me and you don't improve Eq Editor, etc.
How do you think we could solve this?
CheersAnonymous
March 17, 2005
The comment has been removedAnonymous
March 18, 2005
A note on opportunity cost: I think Rick cannot say every thing, so you have to read between the lines. M$-Word team just add a sufficient number of new features so that people buy the new version. If they improve every thing in one shot, what would be left for the next versions? "Opportunity costs" should be read "opportunity for new incomes".
Rick, your note on cross platform compatibilities is interesting. I personnally think abiword should use more gtk/gnome librairies on all platform to improve the stability AND the compatibility. The native look-and-feel can be made at the toolkit level.Anonymous
March 20, 2005
Alberto,
The "solution" is for us to do precisely what we have been doing: figure out what your pain points are without waiting for you to come to us to tell us about it.
Martin,
First, there's a better solution to device-independent layout than using floating-point math. I'll bet that, if you google a bit on various combinations of words on the subject, you'll find something that discusses how Word does it.
Second, the real reason to be able to do sub-pixel position has to do with anti-aliasing, particularly on the Mac.
Third, one sample document doesn't provide an adequate test of cross-platform layout compatibility.
Lastly, it really is a shame that you don't have OS X around, because that's going to be your real problem child :-).
Frederic,
You assume that we can simply put as many developers on a project as would be required to implement every feature we want to implement. Even if we ignore such issues as ROI, that assumption is false. There is a point of diminishing returns with respect to the number of developers working on a project.Anonymous
March 20, 2005
Rick,
Your are right that there are issues related to the cross-platform design of the layout engine, but they are not unsurmountable, and achieving decent peformance on different platforms is not that big a deal. Our layout engine is entirely in the xp code (the code that is shared between all platforms). We then have an abstract layer for accessing platform specific text-rendering APIs; this layer provides not just virtual functions, but also virtual data structures, which means that when AbiWord runs on Windows, the data stored in the layout engine is such that is suitable for passing directly to the win32 APIs; this gets around the performance problem you describe. (We use Uniscribe on win32, and I love Uniscribe -- the guy who designed the library knew what he was doing, a breath of fresh air in the sometimes convoluted world of Windows programming. I am particularly impressed with support for Syriac, even though that undoubtedly did not make much sense from the oportunity cost point of view; I understand the guy did that in his spare time, is that right?)
As far as the portability of document layout, while not unimportant, IMO this is less of an issue in a wordprocessor than you suggest, and can be only trully achieved if you embed fonts (which I know Word can do, but you pay for that much in the file size). Perhaps more importantly, there are solutions that are specifically designed to achieve document layout portability, and do great job at it. If I really want document layout to be fixed, I produce a pdf, not an AbiWord document (or a Word document, for that matter). The virtual printer PDFCreator, another open source tool, makes this trivial whether I use Word or AbiWord. (There is an additional advantage to doing this even when I use Word: the pdf file is noticeably smaller than the original doc.)Anonymous
March 20, 2005
The comment has been removedAnonymous
March 20, 2005
Martin, one issue we have with running MS Office on Linux via Win32 emulation (I work for Codeweavers) is that the FreeType auto-hinter does not produce metrically compatible glyphs. If you enable the bytecode interpreter then it does so we ship a licensed (from Apple) build of FreeType with Crossover. I suspect AbiWord may encounter similar issues at some point.Anonymous
March 21, 2005
Hi Mike,
I'd better check whether Australia now recognizes Software Patents. We did not use to but we bargained that away with the Free Trade agreement with the US. I've always compiled FreeType with the auto-hinter on.
MartinAnonymous
March 21, 2005
Mike,
Firstly let me say congratulations on a such fine software. Codeweavers wine is truely an awesome piece of of work.I'm very happy to pay $60 per year to you guys!
I've been thinking a bit more about your comment about needing auto-hinting. If I understand how autohinting works, this would actually make no difference to where AbiWord breaks lines for Windows, Linux or OSX builds.
We position text using 1440 dpi fonts for all platforms. At that resolution, the auto-hinting is turned off, right? We then scale down to screen and zoom resolution keeping the each character positioned at the nearest pixel to where it would be at 1440 dpi. As I said this makes the text look a bit funny on-screen especially at zooms where we're close to half-way between font sizes.
However printed text looks fantastic and is gaurenteed to break at the same point as the screen text.
Did I understand you correctly when you said you needed the auto-hint patent to make MS Word break it's lines correctly? If so that is an interesting new fact on how MS Word positions text and is certainly different from the direction we're planning of taking.Anonymous
March 21, 2005
Martin,
On Windows we have encountered the additional problem that when drawing on screen the system intentionally gives you a font which is slightly bigger than what you in fact requested (in the name of readability, the SDK says). This really makes WYSIWYG extremely hard to achieve -- the documentation does not explain the algorithm used to adjust the font size, but it appears non-linear and I have not been able to find a way of turning this behaviour off.
From using Word it is clear to me that this is possible to work around to a major extent. Word occasionally exhibits the signs of mismatch between the positioning of characters and the props of the screen font, but it happens much less frequently than in AbiWord, and they are less pronounced, which makes me think these are more due to rounding errors that actual font selection. Perhaps there is some undocumented API?Anonymous
March 21, 2005
Tomas,
Word does not use any undocumented API for either text measurement or text rendering. You're getting warmer with the rounding error idea, or, more precisely, with how that error is distributed over a run of text.Anonymous
April 03, 2005
זה אמנם קרה בחודש שעבר, אבל רק עכשיו נתקלתי בזה: שיחה מענינת בין מפתח של מיקרוסופט וורד לבין מפתח של אביוורד, שהתקיימה באופן פומבי בבלוג של המיקרוסופטי. מעבר לדיון והמידע הטכני המופיע שם (המעניין כשלעצמו), מענינים היחסים בין שני המפתחים....Anonymous
April 07, 2005
The problem abiword on windows continuously has with glyph positioning is that some letters of words end up by rounding to be a pixel too far apart, and some end up to be a pixel too close together. My guess at how to fix this would be to layout each word as a unit according to the typeface hinting, and then position the word to be centered (or maybe left- or right- justified depending) on the 1440 dpi calculated position. This would make things look nice for typical cases of normal sized words separated by spaces; for very long strings of characters you would need to break this into chunks so as not to get too much sizing error built up in one place...
Out of curiosity, Rick, is this more-or-less what MS Word does?Anonymous
April 08, 2005
Travis,
No, that's not what Word does. While that's not an entirely bad idea, it tends to lead to something called "wysiwiggle," where characters to the right of the insertion point jump a pixel or so in relation to each other as the user types. It can be annoying.Anonymous
April 08, 2005
The comment has been removedAnonymous
April 08, 2005
Travis,
Sorry. You are correct. I meant to say "left," not "right," of the cursor.Anonymous
August 20, 2006
PingBack from http://www.livejournal.com/users/msevior/423.htmlAnonymous
August 20, 2006
PingBack from http://www.ljseek.com/performance-improvements_7313912.htmlAnonymous
September 08, 2006
PingBack from http://www.livejournal.com/users/themoniker/20591.htmlAnonymous
September 08, 2006
PingBack from http://www.ljseek.com/funny-error-messages_13779852.htmlAnonymous
December 24, 2008
PingBack from http://www.baby-parenting.com/baby/babyname/QuerusAnonymous
May 26, 2009
PingBack from http://castironbakeware.info/story.php?title=buggin-my-life-away-want-to-talk-to-meAnonymous
May 29, 2009
PingBack from http://paidsurveyshub.info/story.php?title=buggin-my-life-away-want-to-talk-to-meAnonymous
May 31, 2009
PingBack from http://woodtvstand.info/story.php?id=856Anonymous
June 02, 2009
PingBack from http://woodtvstand.info/story.php?id=42044Anonymous
June 08, 2009
PingBack from http://insomniacuresite.info/story.php?id=8387Anonymous
June 09, 2009
PingBack from http://quickdietsite.info/story.php?id=12715Anonymous
June 12, 2009
PingBack from http://jointpainreliefs.info/story.php?id=2469Anonymous
June 13, 2009
PingBack from http://barstoolsite.info/story.php?id=5694Anonymous
June 18, 2009
PingBack from http://gardenstatuesgalore.info/story.php?id=1617Anonymous
June 19, 2009
PingBack from http://debtsolutionsnow.info/story.php?id=11110