Run rewrite status [2001.02.15 - 12:40 CET]


Subject: Run rewrite status [2001.02.15 - 12:40 CET]
From: Jesper Skov (jskov@redhat.com)
Date: Thu Feb 15 2001 - 05:43:43 CST


Backend Non-Zero-Length Run Rewrite
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Attached is the gzipped patch for the currect code. Status as
described below.

If anyone feels like looking at the code, please do. Even if you don't
care about the implementation details, I'd appreciate testing
feedback. Any kind of (constructivE) feedback appreciated - let me
know if I'm missing special cases, need to add extra test items below,
or anything else you can think of.

Ta,
Jesper

---------------------------------- TODO ----------------------------------

 o Add EOP property in PT to allow for selection of EOP.
   Present code draws the char OK, but the PT has no knowledge of it
   and thus cannot select it.
 o Make Run representing EOD. EOD is like EOP, except it cannot be
   selected.
 o When pressing return, the pilcrow on the new line gets deleted
   after a short delay. Doesn't happen after the paragraph contains
   text.
 o Add BIDI_ENABLED handling of new mapXYToPosition/findPointCoords
   functions.
 o fp_Line::mapXYToPosition has some code to deal with zero-length
   runs. Must rewrite / get rid of as appropriate.
 o Make EOP pilcrow draw in proper typeface.
 o Add Doxygen function comments.
 o Add assertions / self-check functions to ensure we'll never have
   zero-length Runs. [probably need to allow zl FmtMark Runs at first]
 o Sometimes see weird positioning at return (jumps to new page) and
   at forced page break. Need to figure out when and why. May be
   related to:
 o findPointCoords functions just copy'n'paste. Need to review and
   adopt proper encoding as per Paul's suggestion:

      By getting the widths and locations right, people can quickly
      infer what they just selected by noticing the answers to 2
      questions -- Where is it? How wide is it?

         between two words ==> either a space or a tab, so check the width
         at the end of a paragraph ==> obvious
         at the end of a line ==> obvious
         bottom of column, full width ==> obvious
         bottom of page, full width ==> obvious

 o Review use of _insertEndOfParagraphRun calls / logic surrounding
   them.
 o Add show paragraph draw for ForcedLineBreak.
 o Look at any FIXMEs in the code.
 o Test undo / redo works properly.
 o Test save / load / reload [after load first pilcrow is missing]
 o Test copy and paste to and from AbiWord.
 o Test printing.

---------------------------------- DONE ----------------------------------

>>>> 2001.02.15 - 12:40 CET
 o Add PILCROW (backwards P) unicode.
 o Draw end-of-paragraph in show paragraph mode.
 o Rename _insertFakeTextRun to _insertEndOfParagraphRun.
   Rewrite function to use EOP Run instead of zl TextRuns.
 o Proper addition of EOP Run when blocks are split.




This archive was generated by hypermail 2b25 : Thu Feb 15 2001 - 05:44:02 CST