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